Ir para conteúdo
  • 0

Formula Exura Vita


gabrielhenriquecardoso

Pergunta

Não sei se isso é dúvida ou pedido mais vai os 2.

 

Galera, quero colocar a magia exura vita pra comandar no ot, para que os players não usem utamo vita e sim o exura vita.

Então tava querendo o seguinte que do level 8 ao 2400 healasse de acordo com o magiclevel e a partir dai healasse 10k.

 

Ta aí o script:

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 6, 6, 11, 13)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

-----------------------------------------------

 

Tipo do script: Exura Vita Healando Mais

Protocolo (versão do Tibia):8.6

Servidor utilizado:TFS 0.4.1

Nível de experiência: Sei não.

Adicionais/Informações: Ta aí emcima.

 

E me desculpem se tiver algo errado com o tópico

 

Vlw -.-

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Usei a que tava no tópico que me mandou como exura vita mesmo mais ta healando 322k em um char level 2220 ml 69

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

 

function onGetFormulaValues(cid, level, maglevel)

min = (level * 7 + maglevel * 8) * 20

max = (level * 7 + maglevel * 8) * 20.1

 

return min, max

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

function onCastSpell(cid, var)

doSendAnimatedText(getPlayerPosition(cid), "HP", math.random(1, 255))

return doCombat(cid, combat, var)

end

Link para o comentário
Compartilhar em outros sites

  • 0

Brun123...

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.5, 2)

 

function getValues(cid, level, magic)

local min = level * 1.5 + magic * 7.5

local max = min * math.random(105, 120) / 100

return min, max

end

 

setCombatCallBack(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getValues")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

Link para o comentário
Compartilhar em outros sites

  • 0

Essa ai que me passou não heala, você fala exura vita e não sai heal:

 

 

[11/10/2012 11:30:29] [Error - Spell Interface]

[11/10/2012 11:30:29] data/spells/scripts/healing/ultimate healing.lua

[11/10/2012 11:30:29] Description:

[11/10/2012 11:30:29] data/spells/scripts/healing/ultimate healing.lua:14: attempt to call global 'setCombatCallBack' (a nil value)

[11/10/2012 11:30:29] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/healing/ultimate healing.lua)

Link para o comentário
Compartilhar em outros sites

  • 0
Usei a que tava no tópico que me mandou como exura vita mesmo mais ta healando 322k em um char level 2220 ml 69

 

Vai aumentando os números na Spells

 

min = (level * 7 + maglevel * 8) * 20

max = (level * 7 + maglevel * 8) * 20.1

Link para o comentário
Compartilhar em outros sites

  • 0

a script que o Overloker postou está dando, porque a função setCombatCallback foi escrito errado, na script está "setCombatCallBack", enquanto o certo era um b minúsculo.

 

tenta assim amigo:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, magic)
if level > 2400 then
return 10000, 10000
end
local value = level * 3.45 + magic * 20 + 45
return value, value
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

Alguns test que eu fiz com essa fórmula:

 

 

Level 1, magiclevel 0: 48.45
Level 500, magiclevel 0: 1770
Level 1000, magiclevel 0: 3495
Level 1500, magiclevel 0: 5220
Level 2000, magiclevel 0: 6945
Level 2500, magiclevel 0: 10000
Level 1, magiclevel 25: 548.45
Level 500, magiclevel 25: 2270
Level 1000, magiclevel 25: 3995
Level 1500, magiclevel 25: 5720
Level 2000, magiclevel 25: 7445
Level 2500, magiclevel 25: 10000
Level 1, magiclevel 50: 1048.45
Level 500, magiclevel 50: 2770
Level 1000, magiclevel 50: 4495
Level 1500, magiclevel 50: 6220
Level 2000, magiclevel 50: 7945
Level 2500, magiclevel 50: 10000
Level 1, magiclevel 75: 1548.45
Level 500, magiclevel 75: 3270
Level 1000, magiclevel 75: 4995
Level 1500, magiclevel 75: 6720
Level 2000, magiclevel 75: 8445
Level 2500, magiclevel 75: 10000
Level 1, magiclevel 100: 2048.45
Level 500, magiclevel 100: 3770
Level 1000, magiclevel 100: 5495
Level 1500, magiclevel 100: 7220
Level 2000, magiclevel 100: 8945
Level 2500, magiclevel 100: 10000

 

 

como você disse que a partir do level 2400, o player iria healar 10k, todos os level 2400 para cima, independente de magic level irão healar 10k, se você quis dizer que queria apenas um limite de heal (não ultrapassar 10k para não ficar exagerado), use esse script aqui:

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, magic)
local value = math.min(level * 3.45 + magic * 20 + 45, 10000)
return value, value
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

Editado por brun123
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...