Postado Abril 8, 2017 8 anos @Sekk vai dar uma guanabara loca esse script, ao morrer ele irá dar uma travadinha ao teleportar o player, com tela e tudo antes do player aperta o ok do dead. Seria mais fácil, ao morrer, tal vocação ganha uma storage que na hora de logar, o login irá checar se ele tem a storage, então sim ele teleporta, muito melhor, liso e sem problemas. Como são vocs diferente, e posições diferente, precisa de algo mais detalhado. Dessa maneira. @SoyColombiaa use este, mesma tag do sekk, mesmo registreevent no login.lua porém mais simples de configurar, só que tem um detalhe, que irei explicar: Spoiler function onDeath(cid, corpse, killer) local Storage = 91823 -- storage do teleporte local vocValue = { --[id da voc] = valor da storage [1] = 1, [2] = 2, [3] = 3 } if vocValue[getPlayerVocation(cid)] then setPlayerStorageValue(cid, Storage, vocValue[getPlayerVocation(cid)]) end return true end agora vá no login.lua novamente, em baixo do callback(função) function onLogin(cid) adicione isso: Spoiler local vocValue = { --[valor da storage] = pos [1] = {x = 1016, y = 923, z = 7}, [2] = {x = 1015, y = 923, z = 7}, [3] = {x = 1018, y = 923, z = 7} } if vocValue[getPlayerStorageValue(cid, 91823)] then doTeleportThing(cid, vocValue[getPlayerStorageValue(cid, 91823)]) end Notou que são duas tabelas, mas não é nada difícil de configurar. Veja bem, na primeira tabela contém isso: --[id da voc] = valor da storage [1] = 1, dentro dos [] é o id da vocação, o valor do lado é o valor da storage, que é igual a pos da segunda tabela, que irei explicar agora: local vocValue = { --[valor da storage] = pos [1] = {x = 1016, y = 923, z = 7}, [2] = {x = 1015, y = 923, z = 7}, [3] = {x = 1018, y = 923, z = 7} } o numero 1 é o valor da storage dada na hora da morte, então ao logar e tiver esse valor na storage, ele teleporta para a posição desse valor. Então vamos supor que eu quero que a vocação 10 e 11 teleporte para a mesma posição, a posição do valor 1, então basta colocar na tabela do onDeath, para dar ao player que tem a vocação 10 e 11 o valor 1, assim: local vocValue = { --[id da voc] = valor da storage [10] = 1, [11] = 1 } então ambos player com a vocação 10 e 11 nascerão na pos do valor 1. Nada muito difícil de configurar, daria pra fazer mais simples ainda, colocar uma tabela e a storage em forma global, e configurar somente em 1 tabela, rsrs. Mas assim, está bom, testei aqui e funcionou perfeitamente.
Postado Abril 8, 2017 8 anos 6 horas atrás, KotZletY disse: @Sekk vai dar uma guanabara loca esse script, ao morrer ele irá dar uma travadinha ao teleportar o player, com tela e tudo antes do player aperta o ok do dead. Seria mais fácil, ao morrer, tal vocação ganha uma storage que na hora de logar, o login irá checar se ele tem a storage, então sim ele teleporta, muito melhor, liso e sem problemas. Como são vocs diferente, e posições diferente, precisa de algo mais detalhado. Dessa maneira. @SoyColombiaa use este, mesma tag do sekk, mesmo registreevent no login.lua porém mais simples de configurar, só que tem um detalhe, que irei explicar: Ocultar conteúdo function onDeath(cid, corpse, killer) local Storage = 91823 -- storage do teleporte local vocValue = { --[id da voc] = valor da storage [1] = 1, [2] = 2, [3] = 3 } if vocValue[getPlayerVocation(cid)] then setPlayerStorageValue(cid, Storage, vocValue[getPlayerVocation(cid)]) end return true end agora vá no login.lua novamente, em baixo do callback(função) function onLogin(cid) adicione isso: Mostrar conteúdo oculto local vocValue = { --[valor da storage] = pos [1] = {x = 1016, y = 923, z = 7}, [2] = {x = 1015, y = 923, z = 7}, [3] = {x = 1018, y = 923, z = 7} } if vocValue[getPlayerStorageValue(cid, 91823)] then doTeleportThing(cid, vocValue[getPlayerStorageValue(cid, 91823)]) end Notou que são duas tabelas, mas não é nada difícil de configurar. Veja bem, na primeira tabela contém isso: --[id da voc] = valor da storage [1] = 1, dentro dos [] é o id da vocação, o valor do lado é o valor da storage, que é igual a pos da segunda tabela, que irei explicar agora: local vocValue = { --[valor da storage] = pos [1] = {x = 1016, y = 923, z = 7}, [2] = {x = 1015, y = 923, z = 7}, [3] = {x = 1018, y = 923, z = 7} } o numero 1 é o valor da storage dada na hora da morte, então ao logar e tiver esse valor na storage, ele teleporta para a posição desse valor. Então vamos supor que eu quero que a vocação 10 e 11 teleporte para a mesma posição, a posição do valor 1, então basta colocar na tabela do onDeath, para dar ao player que tem a vocação 10 e 11 o valor 1, assim: local vocValue = { --[id da voc] = valor da storage [10] = 1, [11] = 1 } então ambos player com a vocação 10 e 11 nascerão na pos do valor 1. Nada muito difícil de configurar, daria pra fazer mais simples ainda, colocar uma tabela e a storage em forma global, e configurar somente em 1 tabela, rsrs. Mas assim, está bom, testei aqui e funcionou perfeitamente. tem como deixar q teleporte tds nao so x vocation? O rei de seu proprio destino é aquele que luta pela gloria do amanhã! Discord : ZoR#9373
Postado Abril 8, 2017 8 anos 6 horas atrás, ZikaLord disse: tem como deixar q teleporte tds nao so x vocation? Como assim? GitHub: https://github.com/s3kk Conteúdo: [SERVER] Heromassa[GESIOR] Gesior 2012 modificado por Sekk[GESIOR] Shop Addons & Mounts - TFS 1.x[GESIOR] Outfitter para Characters e Rank[SISTEMA] Castle 24h[TALKACTION] Multi Element Wand[ACTION] Multi Elemental Arrow & Shield[PROGRAMAÇÃO] Compilar TFS 0.4 no Linux[PROGRAMAÇÃO] Compilando TFS 0.4 no MSVC(x64 e x32) [INFRAESTRUTURA] Configuração COMPLETA Google VM + Tibia 11.x
Postado Abril 8, 2017 8 anos Agora, Sekk disse: Como assim? qualquer player que morre sera teleportado para cada lugar pq e um hospital cada 1 vai nascer de um lado da cama O rei de seu proprio destino é aquele que luta pela gloria do amanhã! Discord : ZoR#9373
Postado Abril 8, 2017 8 anos Autor 9 minutos atrás, ZikaLord disse: qualquer player que morre sera teleportado para cada lugar pq e um hospital cada 1 vai nascer de um lado da cama @ZikaLord, você vai precisar usar um sistema igual esse do xWhiteWolf, só que usando como function onDeath:
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.