Postado Maio 1, 2016 9 anos Cara, eu testei aqui e deu certo. Tenta assim: local config = { newPos = {x = 1049, y = 1558, z = 7}, -- posição para onde os jogadores irão. tpPos = {x = 1050, y = 1558, z = 7}, -- posição onde será criado o teleporte. exhaust = 5, -- tempo em segundos para poder usar a skill novamente. Recomendo ser maior que o backTime. backTime = 4, -- tempo em segundos para voltar para de onde usou a skill. target = getCreatureTarget(cid), storage = 115820, } function doMarkPos(cid, posx, posy, posz) setPlayerStorageValue(cid, 19000, posx) setPlayerStorageValue(cid, 19001, posy) setPlayerStorageValue(cid, 19002, posz) end function getMarkPos(cid) return {x=getPlayerStorageValue(cid, 19000), y=getPlayerStorageValue(cid, 19001), z=getPlayerStorageValue(cid, 19002)} end function tpBack() doTeleportThing (cid, getMarkPos(cid)) doTeleportThing (target, getMarkPos(cid)) end local pos = getCreaturePosition(cid) doMarkPos(cid, pos.x, pos.y, pos.z) function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) < os.time() then if isPlayer(target) then return true end -- Teste para ver se some o bug caso tente usar a skill sem target, se der erro no código, remova essa linha. if getMarkPos(cid).x > 0 then doTeleportThing(cid, config.newPos) doTeleportThing(target, config.newPos) setPlayerStorageValue(cid, config.storage, config.exhaust + os.time()) addEvent(tpBack, config.backTime * 1000) end else doPlayerSendCancel(cid, "You are exhausted") end return true end Não dou suporte via PM, crie um tópico caso tenha dúvidas. Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.
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.