Bom dia,
Testa isso:
function onUse(cid, item, frompos, item2, topos) local store = 23562 -- storage que salva o delay local delay = 10 -- tempo em segundos de delay (agora 10 segundos) local storage = 23563 local cidade = getPlayerTown(cid) local pos = getTownTemplePosition(cidade) if getPlayerStorageValue(cid, store) - os.time() >= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("Aguarde %.2f minutos para usar novamente.", (getPlayerStorageValue(cid, store) - os.time()) / 60)) return true end if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendCancel(cid, 'Você não pode teleportar se estiver em uma batalha.') return true } doPlayerSendCancel(cid, "Teleportando!") doSendMagicEffect(getPlayerPosition(cid), 1004) -- Animacao de efeito (alterei para 1004) addEvent(function() doTeleportThing(cid, pos) if getPlayerStorageValue(cid, 84929) >= 1 then -- torneio viktor setPlayerStorageValue(cid, 84929, -1) end doRegainSpeed(cid) end, delay * 1000) -- O atraso é em milissegundos, por isso multiplicamos por 1000 para 10 segundos. doPlayerRemoveItem(cid, 2458, 1) setPlayerStorageValue(cid, store, os.time() + delay) return true end
Utilizei a função addEvent para agendar a execução da função doTeleportThing após o atraso de 10 segundos, e executei a animação de efeito imediatamente após a mensagem de "Teleportando".
Certifique-se de que o valor passado para doSendMagicEffect seja o correto para a animação que você deseja.
Certifique-se também de que sua implementação do doSendMagicEffect funcione corretamente com o valor 1004.
Outro detalhe, o teleportando está no doPlayerSendCancel mesmo? Achei o nome meio estranho para o que faz.


info
Grupo: Campones
Registrado: 31/08/18
Posts: 7
Reputação: 0
to com um sistema de item teleport, queria por para ao usar o item levar 10 segundos usando apos isso executa o doteleport e enquanto passa os 10 segundos executar uma animação effeito num = 1004.
alguem pode me ajudar ?