Postado Dezembro 30, 2018 6 anos Ola, Boa noite, tou precisando de uma spells que funcione mais o menos assim o player usa a magia , ai cria um portal em baixo dele e esse portal irar levar para "X" position, (esse portal some em "X" segundos). sendo que la no destino vai ter um portal para voltar pro mesmo lugar em que a magia foi usada! porem para voltar teria que esperar "X" segundos para poder atravessar o portal de volta. E tipo um kamui no jutso de Nto. Agradeço a quem tentar ajudar.
Postado Janeiro 1, 2019 6 anos Pode ser assim? Tibia.wmv Editado Janeiro 1, 2019 6 anos por Roy (veja o histórico de edições)
Postado Janeiro 1, 2019 6 anos Autor @Roy Pode Sim! por tanto q o portal criado chao fique 10 Segundos
Postado Janeiro 1, 2019 6 anos Solução É o seguinte o portal será criado Ok, mas o tempo do outro portal deve ser maior senão o player irá voltar para o local onde ele foi teleportado ou seja, não o local onde o portal foi criado, a partir do momento em que o portal criado for removido ao ele usar o outro portal ele será teleportado para o Removido, Acho que deu para entender. Spell local config = {storage = 8001}--Seleciona a storage 8001 e separa entre 3, exemplo - "8001, 8002, 8003", Entao nao use nenhuma dessas 3 storages em outros scripts. local cfg = {storage = 8000, Tempo = 1*60} --1 minuto. Tempo que poderá passar no piso ao redor do Teleport. local function doSavePlayerPos(uid, storage, pos) doCreatureSetStorage(uid, storage, pos.x) doCreatureSetStorage(uid, storage+1, pos.y) doCreatureSetStorage(uid, storage+2, pos.z) end function onCastSpell(cid, var) ---------------------------------------------------------------------------------------------------------------------------------------------------------------- local TeleportID = 1387 local Teleport = { config = { ToPos = {x = 309, y = 287, z = 7}, -- Local onde o jogador será teleportado Pos = getCreaturePosition(cid), Time = 10, --Quanto tempo irá durar o Teleport }, } function removeTeleport(Teleport) local t = getTileItemById(Teleport.config.Pos, TeleportID) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(Teleport.config.Pos, CONST_ME_POFF) end end doCreateTeleport(TeleportID, Teleport.config.ToPos,Teleport.config.Pos) addEvent(removeTeleport, Teleport.config.Time * 1000, Teleport) setPlayerStorageValue(cid, cfg.storage, os.time()+cfg.Tempo) doSavePlayerPos(cid, config.storage, getThingPos(cid)) ---------------------------------------------------------------------------------------------------------------------------------------------------------------- return TRUE end Movements.xml <movevent type="StepIn" actionid="9000" event="script" value="piso.lua"/> <movevent type="StepIn" actionid="9001" event="script" value="teleport.lua"/> piso.lua function onStepIn(cid, item, position, fromPosition) local config = {storage = 8000} if (getPlayerStorageValue(cid, config.storage) <= os.time()) then return true else doTeleportThing(cid, fromPosition, false) doPlayerSendCancel(cid, "Você deve aguardar " ..getPlayerStorageValue(cid, config.storage) - os.time().." para poder entrar nesse portal!") end return true end Teleport.lua function onStepIn(cid, item, position, fromPosition) local config = {storage = 8001} local function getSavedPlayerPos(uid, storage) return {x = getCreatureStorage(uid, storage), y = getCreatureStorage(uid, storage+1), z = getCreatureStorage(uid, storage+2)} end if (getPlayerStorageValue(cid, config.storage) <= os.time()) then doTeleportThing(cid, getSavedPlayerPos(cid, config.storage)) else doTeleportThing(cid, fromPosition, false) doPlayerSendCancel(cid, "Você deve aguardar " ..getPlayerStorageValue(cid, config.storage) - os.time().." para poder entrar nesse portal!") end return true end Editado Janeiro 1, 2019 6 anos por Roy (veja o histórico de edições)
Postado Janeiro 1, 2019 6 anos Autor @Roy Tenho que adiconar algum action no portal q vai ficar dentro?
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.