Postado Junho 8, 2016 8 anos fala pessoal, eu precisava de ajuda com essa spells pra colocar uma chance em % do condition Exhasted combat acertar o outro player sem que interfira no local combat local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) combat:setParameter(COMBAT_PARAM_USECHARGES, 1) function onGetFormulaValues(player, skill, attack, factor) local skillTotal = skill * attack local levelTotal = player:getLevel() / 5 return -(((skillTotal * 0.01) + 1) + (levelTotal)), -(((skillTotal * 0.03) + 6) + (levelTotal)) end local exhaust = Condition(CONDITION_EXHAUST_COMBAT) exhaust:setParameter(CONDITION_PARAM_TICKS, 1000) combat:setCondition(exhaust) local exhaustAttackGroup = Condition(CONDITION_SPELLGROUPCOOLDOWN) exhaustAttackGroup:setParameter(CONDITION_PARAM_SUBID, 1) exhaustAttackGroup:setParameter(CONDITION_PARAM_TICKS, 1000) combat:setCondition(exhaustAttackGroup) combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(creature, var) return combat:execute(creature, var) end Editado Junho 8, 2016 8 anos por Luccan Medeiros (veja o histórico de edições)
Postado Junho 8, 2016 8 anos local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) combat:setParameter(COMBAT_PARAM_USECHARGES, 1) function onGetFormulaValues(player, skill, attack, factor) local skillTotal = skill * attack local levelTotal = player:getLevel() / 5 return -(((skillTotal * 0.01) + 1) + (levelTotal)), -(((skillTotal * 0.03) + 6) + (levelTotal)) end local exhaust = Condition(CONDITION_EXHAUST_COMBAT) exhaust:setParameter(CONDITION_PARAM_TICKS, 1000) chance = math.random(1,100) if chance > 80 then combat:setCondition(exhaust) end local exhaustAttackGroup = Condition(CONDITION_SPELLGROUPCOOLDOWN) exhaustAttackGroup:setParameter(CONDITION_PARAM_SUBID, 1) exhaustAttackGroup:setParameter(CONDITION_PARAM_TICKS, 1000) combat:setCondition(exhaustAttackGroup) combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(creature, var) return combat:execute(creature, var) end Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Postado Junho 9, 2016 8 anos ^ isso vai dar errado porque a função math.random está fora do callback (function onCastSpell), logo, ela será chamada uma única vez ao abrir o servidor e isso implica q ela será sempre o valor até que seja dado reload ou que o servidor feche e abra novamente. O jeito de fazer isso é criar dois combats iguais e controlar dentro do escopo do callback qual dos dois combats vc irá utilizar na spell, se a chance for <= X então usa o segundo (que estará vinculado com a condition) 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 Junho 9, 2016 8 anos eu como sou acostumado a usar as funçoes dentro do castspell nem me liguei do erro Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Postado Junho 9, 2016 8 anos Autor xWhiteWolf como eu faço isso criar dois combat:setCallback da uma maozinha eu ainda n testei do jeito do Reds
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.