Postado Março 14, 2018 7 anos Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). TFS 0.4; Base: Qual erro está surgindo/O que você procura? Ola, estou tentando criar um script para quando o monstro tiver metade de vida, o mesmo ser teleportado para outro lugar. Mas o mais próximo que consegui chegar foi através da function onPrepareDeath, onde ele até é teleportado, mas somente depois de morrer. Assim sendo, mudei para statstschange mas ai nada ocorre, apenas morre e fica no seu lugar normal. Alguém poderia me ajudar com tal script para que ele funcione corretamente? Desde já agradeço. Veja o código abaixo que está em creaturescripts Você tem o código disponível? Se tiver publique-o aqui: function onStatsChange(cid, attacker, type, combat, value) if getCreatureHealth(cid) <= 4000 then doTeleportThing(cid,{x=1744, y=2440, z=7}) else return 0 end return 1 end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
Postado Março 14, 2018 7 anos Testa ae man, qualquer coisa errada eu arrumo amanhã... local Hp = 0.70 -- Porcentagem de vida para usar o event ( a partir de 70%) local intervalo = 30 -- intervalo entre os teletransportes em segundos local destino = {x = 156 , y = 45 , z = 7} FlagTK = 0 -- não mexa, variavel controladora. function onStatsChange(cid, attacker, type, combat, value) if type == 1 and (getCreatureHealth(cid) <= getCreatureMaxHealth(cid)*Hp) and FlagTK == 0 then FlagTK = 1 addEvent(Teleporta,1000,cid,destino) end return true end function Teleporta(cid,destino) doTeleportThing(cid, destino) doSendMagicEffect(destino, 10) addEvent(ZeraFlag,intervalo*1000,nil) end function ZeraFlag() FlagTK = 0 end
Postado Março 14, 2018 7 anos Autor Opa, desde já obrigado. Mas testei aqui e não deu certo. Aparece isso na distro: [0:31:00.937] [Warning - Monster::Monster] Unknown event name - derrotarboss No creaturescript.xml está assim: <event type="statschange" name="derrotarboss" event="script" value="derrotarboss.lua"/> e no script do boss em questão, tem essa parte antes de fechar </monster> <script> <event name="derrotarboss"/> </script> Está faltando algo será?
Postado Março 14, 2018 7 anos 17 horas atrás, maicao22 disse: Opa, desde já obrigado. Mas testei aqui e não deu certo. Aparece isso na distro: [0:31:00.937] [Warning - Monster::Monster] Unknown event name - derrotarboss No creaturescript.xml está assim: <event type="statschange" name="derrotarboss" event="script" value="derrotarboss.lua"/> e no script do boss em questão, tem essa parte antes de fechar </monster> <script> <event name="derrotarboss"/> </script> Está faltando algo será? Tudo correto, verifica se o derrotarboss.lua está na pasta principal do creaturescripts e não dentro de outra. Acredito que não seja erro no monster.xml visto que o erro da console é de não ter encontrado o nome do evento... verifica ae onde você deixou o arquivo derrotarboss.lua. por via das dúvidas o monster.xml do que eu testei o script: draken spellweaver.xml
Postado Março 14, 2018 7 anos Autor Opa amigo, muito obrigado. Deu super certo aqui. Obrigado por colaborar. Só uma última coisa, como faço para que só seja teleportado uma vez? Porque no script ta configurado para ele ficar voltando para o local marcado a cada 30 segundos, mas gostaria que uma vez que ele fosse teleportado a primeira vez, isso não acontecesse mais. Creio que se eu aumentar o tempo isso resolve o problema. Mas se tiver como simplificar no código seria melhor. Só para você entender o que estou falando, o boss pertence a um local em uma determinada cidade. Quando atingir metade da vida. ele vai para outra cidade, onde os player terão que se dirigir para lá para continuar lutando com o boss. Mas uma vez que ele se teleporta para essa outra cidade vizinha, não precisa do mesmo ficar se teleportando toda hora para o local marcado. Mais uma vez muito obrigado, e rep + desde já.
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.