Postado Maio 21, 2014 11 anos 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 Maio 22, 2014 11 anos por Ka zuza (veja o histórico de edições)
Postado Maio 22, 2014 11 anos 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 (obg ao @Beeny por fazer essa linda sign <3)
Postado Maio 22, 2014 11 anos Autor Bem, de qualquer forma te reputei por ter tantado me ajudar, não só aqui como no face. É sempre bom poder contar com algum membro do forum!
Postado Maio 22, 2014 11 anos 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 (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.