Postado Maio 20, 2014 11 anos então assim estaria correto? function onUse(cid, item, frompos, item2, topos) doSendMagicEffect(frompos,13) return true end function doSendMagicEffect(frompos, cid) if isCreature(cid) and getPlayerStorageValue(cid, limitedeuso) > 0 then doSendMagicEffect(getThingPos(cid), 13) addEvent(doSendMagicEffect, tempo1, cid) end return true end Obs: se não tiver aponte oque eu fiz de errado ty. Não está certo porque você usou o nome de uma função que já existe. Você sobreescreveu a antiga doSendMagicEffect por essa sua, e isso é horrível em vários sentidos, além que tem uma recursion desnecessária alí. O ideal seria algo como: function doSendMagicEffectRepeat(cid) if isCreature(cid) and getPlayerStorageValue(cid, limitedeuso) > 0 then doSendMagicEffect(getThingPos(cid), 13) addEvent(doSendMagicEffectRepeat, tempo1, cid) end return true end function onUse(cid, item, frompos, item2, topos) doSendMagicEffectRepeat(cid) return true end
Postado Maio 20, 2014 11 anos Max agora no seu caso, não precisa por o parametro frompos quando chama a funçao pois vc retirou o parametro pos da funçao. E esse 13 tb n deveria estar ai, pq a funçao n tem nenhum parametro nunérico. O correto seria chamar a funçao assim: doSendMagicEffectRepeat(cid) Editado Maio 20, 2014 11 anos por Killua (veja o histórico de edições)
Postado Maio 20, 2014 11 anos Usa como base : function effect() local pos = getCreaturePosition(cid) doSendMagicEffect(pos, 35) end i = 1 j = 1 while i ~= 31 do addEvent(effect, j * 1000) i = i + 1 j = j + 1 end
Postado Maio 20, 2014 11 anos Du, vc n colocou parametro na function effect(), tirou aquele cid de onde? E ele quer que nunca pare de enviar o efeito enquanto o player esta on, nesse seu loop só vai mandar o efeito 31 vezes. E pq vc usou variáveis i e j se elas vão ter sempre o mesmo valor até mesmo dentro do loop? Bastava usar uma só
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.