O erro que você está vendo acontece porque o sistema não está encontrando um combate (ou seja, a variável combat) quando a função doCombat() é chamada dentro do evento temporizado.
Isso ocorre porque o evento temporizado é executado após o término do efeito da guarda, e nesse momento, o combate associado à habilidade pode ter sido encerrado.
Para corrigir isso, você pode verificar se o jogador ainda está sob o efeito da habilidade antes de executar o combate dentro do evento temporizado. Aqui está como você pode fazer isso:
function onCastSpell(cid, var) local waittime = 20 -- Tempo de exhaustion local storage = 696002 if exhaustion.check(cid, storage) then local remainingTime = exhaustion.get(cid, storage) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) -- Efeito visual quando o jogador está cansado doPlayerSendTextMessage(cid, 20, "Voce esta cansado. Tempo restante: " .. remainingTime .. " segundos.") return false end exhaustion.set(cid, storage, waittime) local condition = createConditionObject(CONDITION_MANASHIELD) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) doAddCondition(cid, condition) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) -- Efeito visual quando a guarda está alta doPlayerSendTextMessage(cid, 20, "Guarda alta!") addEvent(function() if isCreature(cid) then if getCreatureCondition(cid, CONDITION_MANASHIELD) then -- Verifica se a condição ainda está ativa local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 12) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) doCombat(cid, combat, var) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) -- Efeito visual quando a guarda está aberta doPlayerSendTextMessage(cid, 20, "Sua guarda esta aberta") end end end, 10000) -- Este valor deve ser igual ao valor definido em setConditionParam para a duração do efeito return true end
Com esta modificação, a função doCombat() só será chamada se o jogador ainda estiver sob o efeito da habilidade. Isso deve resolver o erro que você está enfrentando.


info
Grupo: Campones
Registrado: 11/12/17
Posts: 24
Reputação: +1
Gênero: Masculino
Fiz um aqui que esta pegando certinho, o problema e que e toda vez que acontece
Aparece o seguinte erro na distro
Mas ele pega normal, tudo esta pegando certinho "não a erro na spell em si".
Spell:
Editado Setembro 20 por BrunoBrilha