Ir para conteúdo

Featured Replies

Postado

Bom estou precisando de ajuda para refazer o calculo de um DamageCondition.

 

 

Esta é a spell ela é bem simples, mas quero adicionar esta formula de calculo:

dano = math.ceil((getPlayerLevel(cid) + getPlayerMagLevel(cid))/5)
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_CARNIPHILA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -1, -10, 5, 5, 0.7, 1.05)

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 5, 3000, -5)
setCombatCondition(combat, condition)


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

Se alguem conseguir REP+ o certo era ficar assim só que sem dar BUGS:

addDamageCondition(condition, 5, 3000, -(dano))

Editado por Ka zuza (veja o histórico de edições)

z_WL63_Tt.png

  • Respostas 6
  • Visualizações 649
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • tentei de tudo mas não consegui.. Acho q função certa seria essa daqui setConditionFormula(combat, mina, minb, maxa, maxb) mas não consegui utilizar ela. na melhor das hipóteses consegui deixar assi

Postado

tentei de tudo mas não consegui..
Acho q função certa seria essa daqui setConditionFormula(combat, mina, minb, maxa, maxb) mas não consegui utilizar ela.
na melhor das hipóteses consegui deixar assim
addDamageCondition(condition, 1, 100, -math.random(390,1100))
mas como a condition obrigatoriamente tem que ficar fora do script o math.random é sempre o mesmo até o script ser recarregado novamente.
Esse fds vou procurar melhor e tento te dar uma resposta mais satisfadora

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado

pensei numa solução aqui e vou tentar testar amanhã a noite. Até agora o script de ignite ficou assim:
 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 5)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 3)


local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
setCombatCondition(combat, condition)
addDamageCondition(condition, 1, 100, -math.random(390,1100))


local cooldown = 300


function onCastSpell(cid, var)
if os.time() - getPlayerStorageValue(cid, 19329) >= cooldown then
doPlayerSetStorageValue(cid, 19329, os.time())
doCombat(cid, combat, var)
 local target = getCreatureTarget(cid)
for i = 1,5  do
addEvent(function()
 if target ~= 0 and isCreature(target) and isCreature(cid) then
doTargetCombatCondition(cid, target, condition, 15)
end
end, 1000*i)
end
else
doPlayerSendCancel(cid, "Your ignite is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, 19329))).." seconds.")
end
return false
end

to pensando se faço por ataque normal e faço parecer que é uma condition ou se crio várias outras conditions e dependendo do (level + ml) /5 ele retorna uma condition diferente

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo