NdboHakai 0 Postado Março 10, 2019 Share Postado Março 10, 2019 Boa Tarde, Galera do Xtibia Utilizo a distro Tfs 0.4 Gostaria de saber se tem alguma forma de fazer os players que morrer ir para um hospital. Só que teria varias salas[cabines] e os jogadores iriam logar após a morte em uma das salas[cabines] Seria aleatório Espero que vocês possam me ajudar Rep ++ Link para o comentário Compartilhar em outros sites More sharing options...
1 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 4 minutos atrás, NdboHakai disse: certo , acabei de testar e ainda assim dá o mesmo error local hospitalpos = { [1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1026, y = 981, z = 7}, [3] = {x = 1030, y = 981, z = 7}, } local str = 66666 function onDeath(cid, position) registerCreatureEvent(cid, "DeathPlayerHospital_L") if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end NdboHakai e Spring Trap reagiu a isso 2 Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 Tenta ai. Só criar um arquivo .lua no creaturescripts e por isso: local hospitalpos = { [1] = {x = 1006, y = 1010, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1006, y = 1015, z = 7}, [3] = {x = 1006, y = 1020, z = 7}, } local str = "MT" --storage para controlar se o player foi morto ou nao function onDeath(cid, position) registerCreatureEvent(cid, "DeathPlayerHospital_L") if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end TAG: <event type="login" name="DeathPlayerHospital_L" event="script" value="arquivo.lua"/> <event type="death" name="DeathPlayerHospital" event="script" value="arquivo.lua"/> Se quiser por mais posições só adicionar conforme o script. Daria pra fazer também um fromPosition e toPosition , assim o jogador se teleportaria pra qualquer lugar dentro das área configurada. Mas recomendo usar dessa maneira que te mandei. NdboHakai reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 NdboHakai 0 Postado Março 10, 2019 Autor Share Postado Março 10, 2019 (editado) 21 minutos atrás, Yan Liima disse: Tenta ai. Só criar um arquivo .lua no creaturescripts e por isso: local hospitalpos = { [1] = {x = 1006, y = 1010, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1006, y = 1015, z = 7}, [3] = {x = 1006, y = 1020, z = 7}, } local str = "MT" --storage para controlar se o player foi morto ou nao function onDeath(cid, position) if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end TAG: <event type="login" name="DeathPlayerHospital_L" event="script" value="arquivo.lua"/> <event type="death" name="DeathPlayerHospital" event="script" value="arquivo.lua"/> Se quiser por mais posições só adicionar conforme o script. Daria pra fazer também um fromPosition e toPosition , assim o jogador se teleportaria pra qualquer lugar dentro das área configurada. Mas recomendo usar dessa maneira que te mandei. Irei testar Deixei dessa maneira e quando os players morrem vão pro templo igual antes, tem alguma coisa a mais pra fazer? Obs: não da error na distro nem nada Spoiler local hospitalpos = { [1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1026, y = 981, z = 7}, [3] = {x = 1032, y = 981, z = 7}, } local str = "66666" --storage para controlar se o player foi morto ou nao function onDeath(cid, position) if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end Editado Março 10, 2019 por NdboHakai Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 37 minutos atrás, Thalles Vitor disse: Dscp se intrometer ae, mas... esse doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) Não devia ficar na function onDeath? ou pode ficar ai mesmo? Não, é na função de login mesmo. Pois ao logar ele estará no local configurado. o onDeath só serve para controlar 52 minutos atrás, NdboHakai disse: Irei testar Deixei dessa maneira e quando os players morrem vão pro templo igual antes, tem alguma coisa a mais pra fazer? Obs: não da error na distro nem nada Mostrar conteúdo oculto local hospitalpos = { [1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1026, y = 981, z = 7}, [3] = {x = 1032, y = 981, z = 7}, } local str = "66666" --storage para controlar se o player foi morto ou nao function onDeath(cid, position) if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end Erro meu, editei. Copia de novo e tente. Creio que o problema era no Register, qualquer coisa é só tirar do script e por o register no login.lua. Link para o comentário Compartilhar em outros sites More sharing options...
0 NdboHakai 0 Postado Março 10, 2019 Autor Share Postado Março 10, 2019 45 minutos atrás, Yan Liima disse: Não, é na função de login mesmo. Pois ao logar ele estará no local configurado. o onDeath só serve para controlar Erro meu, editei. Copia de novo e tente. Creio que o problema era no Register, qualquer coisa é só tirar do script e por o register no login.lua. Deu um error Script : Spoiler local hospitalpos = { [1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1026, y = 981, z = 7}, [3] = {x = 1030, y = 981, z = 7}, local str = "66666" --storage para controlar se o player foi morto ou nao function onDeath(cid, position) registerCreatureEvent(cid, "DeathPlayerHospital_L") if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 1 minuto atrás, NdboHakai disse: Deu um error Script : Ocultar conteúdo local hospitalpos = { [1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1026, y = 981, z = 7}, [3] = {x = 1030, y = 981, z = 7}, local str = "66666" --storage para controlar se o player foi morto ou nao function onDeath(cid, position) registerCreatureEvent(cid, "DeathPlayerHospital_L") if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end Tira as aspas do 66666... Coloquei aspas pois coloquei uma storage por letras, inves de números, comecei utilizar pra evitar storage igual kkk. Muitos usam números por achar que não da para utilizar storage por letras... Link para o comentário Compartilhar em outros sites More sharing options...
0 NdboHakai 0 Postado Março 10, 2019 Autor Share Postado Março 10, 2019 5 minutos atrás, Yan Liima disse: Tira as aspas do 66666... Coloquei aspas pois coloquei uma storage por letras, inves de números, comecei utilizar pra evitar storage igual kkk. Muitos usam números por achar que não da para utilizar storage por letras... Eu deixei as msm letras que você colocou com as "" e deu error, tirei as "" e coloquei os numeros 66666 e deu o mesmo error Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 1 minuto atrás, NdboHakai disse: Eu deixei as msm letras que você colocou com as "" e deu error, tirei as "" e coloquei os numeros 66666 e deu o mesmo error Então deve ter dado bug de caractere ao copiar. Reescreve essa linha, apaga local e escreve novamente. Link para o comentário Compartilhar em outros sites More sharing options...
0 NdboHakai 0 Postado Março 10, 2019 Autor Share Postado Março 10, 2019 8 minutos atrás, Yan Liima disse: Então deve ter dado bug de caractere ao copiar. Reescreve essa linha, apaga local e escreve novamente. Apaguei e refiz continua o mesmo error '-' local hospitalpos = { [1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1026, y = 981, z = 7}, [3] = {x = 1030, y = 981, z = 7}, local str 66666 function onDeath(cid, position) registerCreatureEvent(cid, "DeathPlayerHospital_L") if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 @NdboHakai ta faltando fechar a variavel global com "}" e local str 66666 Seria local str = 66666 Link para o comentário Compartilhar em outros sites More sharing options...
0 NdboHakai 0 Postado Março 10, 2019 Autor Share Postado Março 10, 2019 1 minuto atrás, Yan Liima disse: @NdboHakai local str 66666 Seria local str = 66666 certo , acabei de testar e ainda assim dá o mesmo error Link para o comentário Compartilhar em outros sites More sharing options...
0 NdboHakai 0 Postado Março 10, 2019 Autor Share Postado Março 10, 2019 8 minutos atrás, Yan Liima disse: local hospitalpos = { [1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1026, y = 981, z = 7}, [3] = {x = 1030, y = 981, z = 7}, } local str = 66666 function onDeath(cid, position) registerCreatureEvent(cid, "DeathPlayerHospital_L") if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end você pode me ajudar no outro topico ? Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 1 minuto atrás, NdboHakai disse: você pode me ajudar no outro topico ? Odeio mexer com spells, não manjo tanto ksksks isso dai deixo pro @Night Wolf. A questão do tópico em si foi resolvida? Se foi, marque a melhor resposta e estarei movendo/fechando o tópico. Link para o comentário Compartilhar em outros sites More sharing options...
0 NdboHakai 0 Postado Março 10, 2019 Autor Share Postado Março 10, 2019 1 minuto atrás, Yan Liima disse: Odeio mexer com spells, não manjo tanto ksksks isso dai deixo pro @Night Wolf. A questão do tópico em si foi resolvida? Se foi, marque a melhor resposta e estarei movendo/fechando o tópico. Posso entrar em contato com você pelo discord pra ter um suporte? eu explico lá Sim foi resolvido e já marquei melhor resposta Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Março 10, 2019 Diretor Share Postado Março 10, 2019 O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
NdboHakai 0
Boa Tarde, Galera do Xtibia
Utilizo a distro
Tfs 0.4
Gostaria de saber se tem alguma forma de fazer os players que morrer ir para um hospital.
Só que teria varias salas[cabines] e os jogadores iriam logar após a morte em uma das salas[cabines]
Seria aleatório
Espero que vocês possam me ajudar
Rep ++
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados