Teixeira Posted February 27, 2019 Share Posted February 27, 2019 Bom dia comunidade, estou começando um estudo de linguagem de programação e meio que algumas dúvidas estão surgindo. Sempre acompanho aqui a parte do fórum brasileiro, em que os senhores tiram as dúvidas daqueles que perguntam e realmente demonstram interesse no que estão perguntando. 1 - Dúvida (Ligação de resource) Eu estava procurando alguns recursos na internet, e baixei um para ver como o mesmo funciona. Ao baixar o resource que no caso é um sistema de inventário, me deparei com uma situação bem diferente que gostaria de perguntar: Como é possível ligar uma resource a outra? Por exemplo nessa foto a cima, tem vários resource diferentes que são ligados a um único resource, como é possível ligar esses resource? Qual a função deve ser utilizada, apenas eu queria uma base mesmo, após isso eu vou aprofundando pesquisando em outros lugares. 2 - Dúvida (getElementPosition) Estou tentando criar um comando simples, que quando o "player" der o comando /entrar em uma determinada posição ele ser teletransportado para outra posição. Eu fiquei rodando e rodando e não conseguir chegar em lugar nenhum, penso que é possível fazer com "getElementPosition" da maneira que verifica se o player está na determinada posição e se for verdadeiro então, ao player dar o comando ele ser teletransportado. Infelizmente não estou conseguindo, poderiam tirar essa dúvida como posso fazer? Link to comment
Other Languages Moderators Lord Henry Posted February 27, 2019 Other Languages Moderators Share Posted February 27, 2019 1 hour ago, Teixeira said: Como é possível ligar uma resource a outra? Por exemplo nessa foto a cima, tem vários resource diferentes que são ligados a um único resource, como é possível ligar esses resource? Qual a função deve ser utilizada, apenas eu queria uma base mesmo, após isso eu vou aprofundando pesquisando em outros lugares. Os resources são ligados pelo meta.xml Quando você usa o include, isso faz com que o resource incluído seja iniciado junto com este resource. Para usar as funções de um resource no outro, você usa a função call (ou export, dependendo da sintaxe que vc escolher) e você deve exportar essa função no meta.xml também. Essas ligações são comuns nos resources nativos do gamemode padrão, como por exemplo o votemanager. Link to comment
Jonas^ Posted February 27, 2019 Share Posted February 27, 2019 (edited) 1. Dúvida: Pra você fazer um recurso ser dependente do outro tem duas formas, uma delas é usar uma propriedade no meta desta forma: <include resource="Nome_Do_Resource"/> E a segunda maneira, é você usar um call de um resource para o outro. INFO: Call 2. Dúvida: Para você se teleportar do local que você esta a outro local você usa a função SetElementPosition Exemplo: function telePosition (thePlayer) setElementPosition (thePlayer, x, y, z) end addCommandHandler ("go", telePosition) Edited February 27, 2019 by OverKILL Link to comment
Other Languages Moderators Lord Henry Posted February 27, 2019 Other Languages Moderators Share Posted February 27, 2019 1 hour ago, Teixeira said: penso que é possível fazer com "getElementPosition" da maneira que verifica se o player está na determinada posição e se for verdadeiro então, ao player dar o comando ele ser teletransportado. Essa não é a melhor maneira de fazer isso. (até dá, mas não é o ideal) É mais recomendável você fazer isso por meio de um marker (createMarker). Então vc apenas verifica se o jogador está dentro dele ou não (IsElementWithinMarker) ao usar o comando pra teleportar. Se estiver dentro do marker, teleporta pra tal posição com setElementPosition. local teleMarker = createMarker (0, 0, 2.2, "cylinder", 1) -- Marker que o jogador deve estar dentro pra funcionar. local teleX, teleY, teleZ = 10, -20, 4 -- Posição que o teleporte vai levar. function posVerify (thePlayer) -- thePlayer = jogador que executou o comando. if isElementWithinMarker (thePlayer, teleMarker) then -- Se o jogador está dentro do marker, então: setElementPosition (thePlayer, teleX, teleY, teleZ, true) -- Teleporta o jogador para a coordenada declarada. outputChatBox ("Teleportado com sucesso.", thePlayer, 0, 255, 0) else outputChatBox ("Você não está na posição do teleporte.", thePlayer, 255, 150, 0) end end addCommandHandler ("tele", posVerify) -- Comando que o jogador usa para teleportar: /tele ==================== Se você realmente quer fazer da maneira não recomendada, que é verificando a posição do jogador, você vai precisar de uma margem de erro nas coordenadas. Pois é impossível o jogador ficar na posição exata que você quer verificar. Então você deve fazer o seguinte, exemplo: local posX, posY, posZ = 0, 0, 3 -- Posição que o jogador deve estar para que o comando funcione. local teleX, teleY, teleZ = 10, -20, 4 -- Posição que o teleporte vai levar. function posVerify (thePlayer) -- thePlayer = jogador que executou o comando. local x, y, z = getElementPosition (thePlayer) -- Vamos fazer a margem de erro pra 2 coordenadas a mais e 2 coordenadas a menos da posição exata. if x >= (posX - 2) and x <= (posX + 2) and y >= (posY - 2) and y <= (posY + 2) and z >= (posZ - 2) and z <= (posZ + 2) then -- Se o jogador está dentro da margem de erro, então: setElementPosition (thePlayer, teleX, teleY, teleZ, true) -- Teleporta o jogador para a coordenada declarada. outputChatBox ("Teleportado com sucesso.", thePlayer, 0, 255, 0) else outputChatBox ("Você não está na posição do teleporte.", thePlayer, 255, 150, 0) end end addCommandHandler ("tele", posVerify) -- Comando que o jogador usa para teleportar: /tele Link to comment
Teixeira Posted February 27, 2019 Author Share Posted February 27, 2019 @Lord Henry e @OverKILL muito obrigado de coração por terem tirado as minhas dúvidas, com pessoas iguais a vocês, fica mais prazeroso aprender a linguagem de programação! Link to comment
Vazern Posted February 28, 2019 Share Posted February 28, 2019 On 27/02/2019 at 10:21, Teixeira said: Bom dia comunidade, estou começando um estudo de linguagem de programação e meio que algumas dúvidas estão surgindo. Sempre acompanho aqui a parte do fórum brasileiro, em que os senhores tiram as dúvidas daqueles que perguntam e realmente demonstram interesse no que estão perguntando. 1 - Dúvida (Ligação de resource) Eu estava procurando alguns recursos na internet, e baixei um para ver como o mesmo funciona. Ao baixar o resource que no caso é um sistema de inventário, me deparei com uma situação bem diferente que gostaria de perguntar: Como é possível ligar uma resource a outra? Por exemplo nessa foto a cima, tem vários resource diferentes que são ligados a um único resource, como é possível ligar esses resource? Qual a função deve ser utilizada, apenas eu queria uma base mesmo, após isso eu vou aprofundando pesquisando em outros lugares. 2 - Dúvida (getElementPosition) Estou tentando criar um comando simples, que quando o "player" der o comando /entrar em uma determinada posição ele ser teletransportado para outra posição. Eu fiquei rodando e rodando e não conseguir chegar em lugar nenhum, penso que é possível fazer com "getElementPosition" da maneira que verifica se o player está na determinada posição e se for verdadeiro então, ao player dar o comando ele ser teletransportado. Infelizmente não estou conseguindo, poderiam tirar essa dúvida como posso fazer? Desculpem-me o anti-topic, mas é satisfatório ver que um dos primeiros mods que eu fiz são utilizados até hoje, rs. 1 Link to comment
vitormonk Posted March 10, 2019 Share Posted March 10, 2019 On 28/02/2019 at 18:37, Vazern said: Desculpem-me o anti-topic, mas é satisfatório ver que um dos primeiros mods que eu fiz são utilizados até hoje, rs. satis oq? Link to comment
DNL291 Posted March 10, 2019 Share Posted March 10, 2019 Sem mais Off topic por favor. Link to comment
Recommended Posts