Postado Fevereiro 12, 2016 9 anos Estava editando meu servidor e queria que um determinado teleport só fosse possível ser utilizado caso o jogador tenha level 300 por exemplo, creio que preciso criar uma action e colocar no teleport mas não sei como fazê-la.
Postado Fevereiro 12, 2016 9 anos Este é um post popular. Vá em "Data/movements/scripts", copie e cole um arquivo.lua, renomeie para nomedoscript.lua, apague tudo e cole: local t = { pos = {x = 160, y = 54, z = 7}, level = 300 } function onStepIn(cid, item, position, fromPosition) if getPlayerLevel(cid) < t.level then doPlayerSendCancel(cid, 'Apenas jogadores level '.. t.level ..' podem passar aqui.') doTeleportThing(cid, fromPosition) else doTeleportThing(cid, t.pos) end return true end Depois volte na pasta "Data/movements", abra o arquivo movements.xml e adicione a TAG: <movevent type="StepIn" actionid="XXXX" event="script" value="nomedoscript.lua"/> Em pos você coloca a posição que será teleportado caso seja level 300 ou mais e na tag em actionid="XXXX" você coloca a actionID desejada, depois é só colocar ela no teleport. Lembrando que você deve deixar o teleporte sem nenhuma posição lá no map editor, pois o script já faz a parte de teleportar. ➥ Regras | Seções OTServ | Seções BOT
Postado Março 4, 2016 9 anos Em 12/02/2016 20:28:19, Wakon disse: Vá em "Data/movements/scripts", copie e cole um arquivo.lua, renomeie para nomedoscript.lua, apague tudo e cole: local t = { pos = {x = 160, y = 54, z = 7}, level = 300 } function onStepIn(cid, item, position, fromPosition) if getPlayerLevel(cid) < t.level then doPlayerSendCancel(cid, 'Apenas jogadores level '.. t.level ..' podem passar aqui.') doTeleportThing(cid, fromPosition) else doTeleportThing(cid, t.pos) end return true end Depois volte na pasta "Data/movements", abra o arquivo movements.xml e adicione a TAG: <movevent type="StepIn" actionid="XXXX" event="script" value="nomedoscript.lua"/> Em pos você coloca a posição que será teleportado caso seja level 300 ou mais e na tag em actionid="XXXX" você coloca a actionID desejada, depois é só colocar ela no teleport. Lembrando que você deve deixar o teleporte sem nenhuma posição lá no map editor, pois o script já faz a parte de teleportar. :D se eu por o actionid numa porta ele funfa? ou devo por o teleport no piso da porta caso keira assim? .-. (base cyan pega neh?! '-' )
Postado Março 5, 2016 9 anos @Morphred, pra usar em uma porta é necessário uma action. Em "Data/actions/scripts", copie e cole um arquivo.lua, renomeie para nomedoscript.lua, apague tudo e cole: local level = 300 function onUse(cid, item, position) if getPlayerLevel(cid) >= level then doTeleportThing(cid, position) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Apenas jogadores level '.. level ..' ou mais podem passar.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return true end Agora em "Data/actions", abra o arquivo actions.xml e adicione: <action actionid="XXXX" event="script" value="nomedoscript.lua"/> Ai é só colocar a action em XXXX e configurar na porta. ➥ Regras | Seções OTServ | Seções BOT
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.