Newtonnotwen 80 Postado Agosto 20, 2012 Share Postado Agosto 20, 2012 Irei fazer dois pedidos, cada um com seu REP+. Primeiro: Queria um tile, que quando o player pisar iria ser teleportado para uma pos x, porem existe uma condição, ele necessita ter uma certa storage. Segundo: Queria um tile que ao pisar executaria varias funções, dentre as quais segue abaixo: - Player ficar imóvel. - Player ir perdendo life com um efeito. Ex: a cada segundo perder -100 de life por durante 10 segundos, assim totalizando 1000 de life. - Após esses 10 segundos retirar a função do player ficar imóvel. Link para o comentário https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/ Compartilhar em outros sites More sharing options...
0 MatrixOrg 0 Postado Agosto 20, 2012 Share Postado Agosto 20, 2012 É, bem dificil fazer este script eu acho,mas vou tentar depois edito o post. Até. Link para o comentário https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/#findComment-1320552 Compartilhar em outros sites More sharing options...
0 jhon992 371 Postado Agosto 20, 2012 Share Postado Agosto 20, 2012 (editado) Tile1: local positionGo = {x=123,y=543,z=7} -- posição que vai. local storageNeed = 4304 -- storage que precisa. function onStepIn(cid, item, topos) if isPlayer(cid) and getPlayerStorageValue(cid, storageNeed) > 0 then doTeleportThing(cid, positionGo) doSendMagicEffect(positionGo, 10) end return true end Tile2: local lifeLoss = 100 -- quanto de life perde por segundo local secondsLoss = 10 -- quantos segundos vai durar function onStepIn(cid, item, topos) if isPlayer(cid) then doCreatureSetNoMove(cid, true) local tempo = 0 while (tempo ~= secondsLoss*1000) do addEvent(removeLife, tempo, cid, tempo) tempo = tempo + 1000 end end return true end function removeLife(cid, tempo) if isPlayer(cid) then if getCreatureHealth(cid) < lifeLoss then lifeLoss = getCreatureHealth(cid) end doCreatureAddHealth(cid, -lifeLoss) doSendAnimatedText(getCreaturePosition(cid), lifeLoss, 180) doSendMagicEffect(getCreaturePosition(cid), 5) -- efeito ao acertar hit no player if tempo == secondsLoss*1000 then doCreatureSetNoMove(cid, false) end end end Editado Agosto 20, 2012 por Jhon992 Link para o comentário https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/#findComment-1320560 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Agosto 20, 2012 Share Postado Agosto 20, 2012 (editado) function onStepIn(cid, item, position, fromPosition) function doHealthSecond(cid, quanty, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, quanty) if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, quanty, delay -1) elseif delay == 1 then doCreatureSetNoMove(cid, false) end end doCreatureSetNoMove(cid, true) doHealthSecond(cid, -100, 10) return true end Editado Agosto 20, 2012 por Vodkart Link para o comentário https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/#findComment-1320569 Compartilhar em outros sites More sharing options...
0 Newtonnotwen 80 Postado Agosto 20, 2012 Autor Share Postado Agosto 20, 2012 (editado) Junção do Vodkart com o do Jhon992 pra quem quiser: - Vodkart sem efeito - Jhon992 não sai o "no movement" (player fica parado pra sempre) O do Vodkart tá mais simplificado: Junção: function onStepIn(cid, item, position, fromPosition) function doHealthSecond(cid, quanty, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, quanty) doSendMagicEffect(getCreaturePosition(cid), 5) doSendAnimatedText(getCreaturePosition(cid), -100, 180) if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, quanty, delay -1) elseif delay == 1 then doCreatureSetNoMove(cid, false) end end doCreatureSetNoMove(cid, true) doHealthSecond(cid, -100, 10) return true end REP+? Sobre o REP+, eu estou do momento "compromissado" com vários. Hoje: 20/08 pela noite irei da um REP+ ao Vodkart por outro script. Amanhã: 21/08 pela noite irei dar um REP+ ao Jhon992 por esse script. Depois de amanhã: 22/08 pela noite irei dar um REP+ ao Jhon992 pelo o outro script desse tópico. Depois de depois de amanha: 23/08 pela noite irei dar um REP+ ao Vodkart por esse script. Obrigado pela compreensão e pela paciência, muito obrigado. Pedido atendido. Por: Jhon992 e Vodkart. Editado Agosto 20, 2012 por Newtonnotwen Link para o comentário https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/#findComment-1320629 Compartilhar em outros sites More sharing options...
0 jhon992 371 Postado Agosto 20, 2012 Share Postado Agosto 20, 2012 Pra arrumar meu segundo script, basta trocar essa parte: if tempo == secondsLoss*1000 then doCreatureSetNoMove(cid, false) end por: if tempo == secondsLoss*1000-1000 then doCreatureSetNoMove(cid, false) end Link para o comentário https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/#findComment-1320648 Compartilhar em outros sites More sharing options...
0 Newtonnotwen 80 Postado Agosto 20, 2012 Autor Share Postado Agosto 20, 2012 Compreendo, mas creio que o seu com o do Vodkart seja mais simples. Obrigado. Link para o comentário https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/#findComment-1320655 Compartilhar em outros sites More sharing options...
Pergunta
Newtonnotwen 80
Irei fazer dois pedidos, cada um com seu REP+.
Primeiro:
Queria um tile, que quando o player pisar iria ser teleportado para uma pos x, porem existe uma condição, ele necessita ter uma certa storage.
Segundo: Queria um tile que ao pisar executaria varias funções, dentre as quais segue abaixo:
- Player ficar imóvel.
- Player ir perdendo life com um efeito.
Ex: a cada segundo perder -100 de life por durante 10 segundos, assim totalizando 1000 de life.
- Após esses 10 segundos retirar a função do player ficar imóvel.
Link para o comentário
https://xtibia.com/forum/topic/192335-movements-2-tiles-especiais/Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados