Postado Abril 30, 2016 9 anos Autor Em 30/04/2016 em 02:32, Talesigorvr disse: O que acontece se ele não conseguir entrar no portal em 20 segundos? ele pode ficar la quando quiser sair entra teleport
Postado Abril 30, 2016 9 anos local config = { newPos = {x = 1019, y = 1555, z = 7}, -- posição para onde os jogadores irão. tpPos = {x = 1050, y = 1560, z = 7}, -- posição onde será criado o teleporte. tptoPos = {x = 1000, y = 2000, z = 7}, -- posição para onde o jogador será levado ao entrar no teleport. exahaust = 0.8, -- em segundos. storage = 115820, target = getCreatureTarget(cid), } function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.exhaust) < os.time() then doTeleportThing(cid, config.newPos) doTeleportThing(config.target, config.newPos) doCreateTeleport(1387, config.tptoPos, config.tpPos) setPlayerStorageValue(cid, config.exhaust, config.time + os.time()) else doPlayerSendCancel(cid, "You are exhausted") end return true end
Postado Abril 30, 2016 9 anos Autor tipo nao sei se vc consegue + assim quando o player teleporta pro KAMUI (Dimensao) la vai ter o teleport e quando ele entrar ele volta onde estava se nao os cara vao bugar bom tipo um exemplo os kara ta numa city e ussa o Kamui e ele vai pra outra city sendo q Kamui quando ele volta ele volta no lugar q estava. Nao tou falando q ficou ruim ficou muito top vc e muito bom. tirando outra duvida de dimensao vc pode criar tipo uma script igual kamui mas tipo quando o player ussar essa magia vai os 2 player e os sumons do player que usso e o player que recebeu ele fica paralizado e nao consegue ataca o player
Postado Abril 30, 2016 9 anos 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 local config = { newPos = {x = 1019, y = 1555, z = 7}, -- posição para onde os jogadores irão. tpPos = {x = 1050, y = 1560, z = 7}, -- posição onde será criado o teleporte. exhaust = 0.8, target = getCreatureTarget(cid), storage = 115820, } function onCastSpell(cid, var) local pos = getCreaturePosition(cid) if getMarkPos(cid).x < 1 then doMarkPos(cid, pos.x, pos.y, pos.z) end if getPlayerStorageValue(cid, config.exhaust) < os.time() then if getMarkPos(cid).x > 0 then doCreateTeleport(1387, getMarkPos(cid), config.tpPos) doTeleportThing(cid, config.newPos) setPlayerStorageValue(cid, config.storage, config.exhaust + os.time()) end else doPlayerSendCancel(cid, "You are exhausted") end return true end Peguei a função de salvar a posição em um post daqui do fórum mesmo. Créditos: Skydangerous Editado Abril 30, 2016 9 anos por Talesigorvr (veja o histórico de edições)
Postado Abril 30, 2016 9 anos Autor Em 30/04/2016 em 02:57, Talesigorvr disse: No teleport que é criado, você coloca um action id (o mesmo do movement.xml) e deixa ele sem coordenadas. Script: function doMarkPos(cid, posx, posy, posz) setPlayerStorageValue(cid, 19000, posx) setPlayerStorageValue(cid, 19001, posy) setPlayerStorageValue(cid, 19002, posz) end local config = { newPos = {x = 1019, y = 1555, z = 7}, -- posição para onde os jogadores irão. tpPos = {x = 1050, y = 1560, z = 7}, -- posição onde será criado o teleporte. exahaust = 0.8, target = getCreatureTarget(cid), storage = 115820, } local pos = getCreaturePosition(cid) function onCastSpell(cid, var) if getMarkPos(cid).x < 1 then doMarkPos(cid, pos.x, pos.y, pos.z) end if getPlayerStorageValue(cid, config.exhaust) < os.time() then doTeleportThing(cid, config.newPos) doTeleportThing(config.target, config.newPos) doCreateTeleport(1387, config.tptoPos, config.tpPos) setPlayerStorageValue(cid, config.exhaust, config.time + os.time()) else doPlayerSendCancel(cid, "You are exhausted") end return true end movements/scripts nome_arquivo.lua function onStepIn(cid, item, position, fromPosition) function getMarkPos(cid) return {x=getPlayerStorageValue(cid, 19000), y=getPlayerStorageValue(cid, 19001), z=getPlayerStorageValue(cid, 19002)} end if getMarkPos(cid).x > 0 then doTeleportThing (cid, getMarkPos) end return true end movements.xml <movevent type="StepIn" actionid="action id do tile" event="script" value="nome_arquivo.lua" /> Peguei a função de salvar a posição em um post daqui do fórum mesmo. Créditos: Skydangerous http://prntscr.com/ayr08r nao sei oq eu viz de errado
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.