Oi povo.
Seguinte, tem uns 2 meses que tô tentando desenvolver um sistema, mas tô apanhando pra ele. Não, eu não vou falar que sistema é esse, apenas quero ajuda. Sério, tô entalado num trecho do script há tempos e não importa o que eu tente, nunca consigo resolver.
O que ele faz: Quando um summon ataca um monstro, o ataque é aumentado em 30% e eu recebo uma mensagem dizendo quanto foi o dano. Simples, não?
Script:
function onStatsChange(cid, attacker, type, combat, value) if isSummon(attacker) and isMonster(cid) and getPlayerStorageValue(getCreatureMaster(attacker), 17823) >= 1 then if type == STATSCHANGE_HEALTHLOSS and value >= 1 then local dmg = math.floor(value*1.3) doTargetCombatHealth(attacker, cid, COMBAT_PHYSICALDAMAGE, -dmg, -dmg, CONST_ME_NONE) doPlayerSendTextMessage(getCreatureMaster(attacker), MESSAGE_STATUS_CONSOLE_ORANGE, "Your "..getCreatureName(attacker).." deals "..dmg.." damage.") end end return true end
OBS: Sim, eu tenho a função isSummon. Caso precise dela, tó:
function isSummon(sid) for i, pid in ipairs(getPlayersOnline()) do for c, cid in pairs(getCreatureSummons(pid)) do if (cid == sid) then return true end end end return false end
O que acontece é o seguinte: quando meu summon ataca o monstro, dá a mensagem:
[Error - CreatureEvent::executeStatsChange] Call stack overflow.
E ingame, o summon ranca uns 7k de dano, sendo que o attacker é um rat, e recebo a mensagem várias vezes:
21:54 Your Rat deals 104 damage. 21:54 Your Rat deals 80 damage. 21:54 Your Rat deals 62 damage. 21:54 Your Rat deals 48 damage. 21:54 Your Rat deals 37 damage. 21:54 Your Rat deals 29 damage. 21:54 Your Rat deals 23 damage. 21:54 Your Rat deals 18 damage. 21:54 Your Rat deals 14 damage. 21:54 Your Rat deals 1090 damage. 21:54 Your Rat deals 839 damage. 21:54 Your Rat deals 646 damage. 21:54 Your Rat deals 497 damage. 21:54 Your Rat deals 383 damage. 21:54 Your Rat deals 295 damage. 21:54 Your Rat deals 227 damage. 21:54 Your Rat deals 175 damage. 21:54 Your Rat deals 135 damage. 21:54 Your Rat deals 104 damage. 21:54 Your Rat deals 80 damage. 21:54 Your Rat deals 62 damage. 21:54 Your Rat deals 48 damage. 21:54 Your Rat deals 37 damage. 21:54 Your Rat deals 29 damage. 21:54 Your Rat deals 23 damage. 21:54 Your Rat deals 18 damage. 21:54 Your Rat deals 14 damage. 21:54 Your Rat deals 11 damage. 21:54 Your Rat deals 9 damage. 21:54 Your Rat deals 7 damage.
Então, quem vai me salvar?