Na experiência Tools são ferramentas interativas que os usuários podem equipar em sessões, como espadas, lançadores de foguetes e varinhas mágicas.Você pode criar ferramentas personalizadas na experiência, colocá-las na hierarquia da experiência e escrever scripts para implementá-las para seus usuários.
Crie uma ferramenta na experiência
Para o primeiro passo na criação de qualquer ferramenta na experiência, você precisa criar um objeto de ferramenta para conter todos os elementos que compõem a ferramenta.Você pode então adicionar outras instâncias ao objeto de ferramenta, incluindo peças e malhas , efeitos sonoros e scripts que fornecem funcionalidade.Você também pode configurar um manuseio de ferramenta, ajustar o cabo da ferramenta e personalizar o ícone da ferramenta para melhorar a experiência do usuário.
Crie o Objetode ferramenta
Você pode criar um novo objeto de ferramenta com os seguintes passos:
Na janela Explorer , passe o mouse sobre Espaço de Trabalho e clique no botão ⊕ para mostrar a lista de objetos.
Selecione Ferramenta sob a categoria Interação .
Adicionar peças ou malhas
Depois de criar o Objetode ferramenta, você precisa adicionar Parts ou MeshParts ao modelo de ferramenta ou criar a ferramenta como um item de inventário sem peças e malhas sem peças e malhas.Como outros modelos, as ferramentas na experiência podem consistir em várias Parts , então você precisa conectar todas as partes da ferramenta juntas usando as restrições Weld.
Se você quiser criar uma ferramenta sem adicionar peças ou malhas, você pode criá-la como um item de inventário.
Defina a alça da Manipulador / alça
Para habilitar os usuários a carregarem ferramentas, você precisa definir um Part e nomeá-la Handle para se anexar à mão do usuário.O seguinte exemplo mostra uma varinha mágica com três partes: uma dica brilhante, o corpo principal e um Manipulador / alçavermelho.Quando um usuário equipa a varinha, ele a mantém no Part chamado Handle .

Certifique-se de ter apenas um Part chamado Handle .Se você nomear vários Parts como Handle, a ferramenta escolhe aleatoriamente um deles como o ponto de fixação de mão que pode causar problemas, como usuários segurando lâminas de espadas em vez de alavancas.
Ajustar a orientação do cabo da ferramenta
Se a orientação de agarrar da sua ferramenta estiver incorreta, como arrastar no chão ou encarar para trás, você pode corrigi-la ajustando agarrar propriedades sob a categoria Aparência na janela Propriedades .

Como a orientação ideal de agarramento para cada ferramenta é diferente, você precisa experimentar alterar os valores ao lado do GripForward , GripRight e GripUp propriedades até que o agarramento da sua ferramenta pareça correto.O seguinte exemplo mostra possíveis agarramentos incorretos e corretos para uma varinha mágica:



Você também pode habilitar personagens de usuário para compensar ferramentas de sua mão com a propriedade GripPos .Isso pode ser útil ao fazer uma ferramenta que deve parecer descansar no ombro do usuário.


Personalize o ícone da ferramenta
Ferramentas que um usuário possui são armazenadas em seu Backpack. Os usuários podem ver o ícone de cada ferramenta em suas mochilas em uma barra de ação ação :

Na janela Propriedades da ferramenta, use as seguintes propriedades para personalizar a aparência da ferramenta na barra de ação:
- ID da textura — O ícone da ferramenta. Defina o ID da imagem para esta propriedade da mesma maneira que decalques e botões de imagem.
- Dica de ferramenta — O nome da dica de ferramenta ao passar o mouse.
Ativar e desativar usuários para soltar ferramentas
Por padrão, um usuário pode soltar uma ferramenta pressionando a tecla Retorno no Windows ou excluir no Mac.Você pode desativar essa opção definindo a propriedade Pode ser descartada da ferramenta para false.Se CanBeDropped for false, pressionar Backspace ou delete retorna a ferramenta para a mochila do usuário.
Criar ferramentas como itens de inventário
Você também pode fazer uma ferramenta na experiência sem partes ou malhas como um item de inventário que aguarda a entrada do usuário, como um feitiço mágico que os personagens do usuário podem clicar em outros ou tocar na tela para lançá-lo.As ferramentas de item de inventário não requerem alças, então você precisa desmarcar a propriedade RequerAlça na janela Propriedades da ferramenta.

Adicione ferramentas à sua experiência
Uma vez que você terminar de configurar sua ferramenta na experiência, você precisa colocá-la na área adequada da hierarquia de objetos da sua experiência.Onde você coloca a ferramenta dentro da hierarquia de objetos da experiência depende do uso pretendido.
Ferramenta de inicialização ferramenta
Se você quiser que todos os usuários comecem com uma ferramenta em seu inventário, coloque-a dentro da pasta Pacote de Iniciante .Quando qualquer usuário é gerado, o sistema copia a ferramenta para a sua mochila.

ferramentacoletável
Se você quiser permitir que os usuários coletem ferramentas enquanto se movimento, você pode colocar as ferramentas na Área de Trabalho na hierarquia do Explorer .Por exemplo, você pode querer colocar um lançador de super foguetes em uma área difícil de alcançar do seu mundo de experiência.

ferramentaganha e comprada
Se você quiser definir uma ferramenta como prêmios quando um usuário fizer algo especial ou oferecê-la para venda em uma loja na experiência, coloque a ferramenta dentro de Armazenamento de Servidor na hierarquia Explorer , que pode clonar a ferramenta para a mochila do usuário na hora apropriada.

Adicionar efeitos de ferramentas
Depois de adicionar suas ferramentas à sua experiência, você pode adicionar scripts para habilitar os usuários a usar ferramentas para fazer efeitos especiais.
Eventos específicos de ferramentas
Você pode usar as seguintes quatro condições específicas de ferramentas que indicam o estado da ferramenta e a entrada do usuário com ela em seu script de ferramenta:
Tool:Equipped() : Ocorre quando o usuário seleciona a ferramenta de sua mochila.
Tool:Unequipped() : Ocorre quando o usuário solta a ferramenta ou muda de ferramenta.
Tool:Activated() : Ocorre quando o usuário começa a ativar a ferramenta (cliques, toques ou pressione A em um controle / controle de jogo).
Tool:Deactivated() : Ocorre quando o usuário interrompe a entrada de ativação (libera o botão ou toque).
Embora você possa não precisar de todas as quatro condições ao projetar uma ferramenta, você pode usar o seguinte script de código como modelo básico de script de ferramenta:
local tool = script.Parent
local function onEquip()
print("The tool is now equipped.")
end
local function onUnequip()
print("The tool is now unequipped.")
end
local function onActivate()
print("The tool is now activated.")
end
local function onDeactivate()
print("The tool is now deactivated.")
end
tool.Equipped:Connect(onEquip)
tool.Unequipped:Connect(onUnequip)
tool.Activated:Connect(onActivate)
tool.Deactivated:Connect(onDeactivate)
Este exemplo de código supõe que o script seja uma criança de primeiro nível dentro do Objetode ferramenta.Se o script estiver em outro lugar, ajuste o caminho na linha 1 (o valor de tool) para apontar para o Objetode ferramenta principal.
Adicione um script básico
O seguinte exemplo mostra etapas para adicionar um Script no servidor que permite que os usuários equipem uma varinha mágica que possa trocar de dia e noite clicando na tela:
Na janela do Explorer, passe o mouse sobre o objeto de ferramenta e clique no botão ⊕ para inserir um Script.
Copie o seguinte código e cole-o em seu Script.
local Lighting = game:GetService("Lighting")local tool = script.Parentlocal function onActivate()if Lighting.ClockTime >= 8 and Lighting.ClockTime < 16 thenLighting.ClockTime = 20elseLighting.ClockTime = 8endendtool.Activated:Connect(onActivate)Teste sua experiência pegando a ferramenta e clicando em qualquer lugar na tela da sua experiência para alternar entre o dia e a noite:
Diferentes tipos de scripts para implementação de ferramentas
Algumas ferramentas só precisam de um Script no servidor para implementar, como o exemplo anterior, mas a maioria das ferramentas requer tanto um Script no servidor quanto um LocalScript no cliente, onde cada uma cuida de determinados aspectos do comportamento da ferramenta.
Antes de adicionar seus scripts, certifique-se de entender a diferença principal entre cada digitarde script:
- Script gerencia mudanças dentro do mundo de experiência geral visível para todos os usuários, como desbloquear uma porta e atirar uma flecha.
- LocalScript gerencia coisas que acontecem apenas no dispositivo do usuário, como detectar a localização de onde eles tocam ou clicam na tela.
Aqui estão algumas ferramentas de exemplo e seus comportamentos gerenciados por um script local ou um script do servidor:
Ferramenta | scriptlocal | scriptdo servidor |
---|---|---|
Varinha do Criador | Detecta onde o jogador toca ou clica na tela. | Cria uma nova peça na localização dentro do mundo do jogo onde o jogador tocou ou clicou. |
Manto de Invisibilidade | Torna o jogador invisível a todos os outros usuários, enquanto o capa está equipada. | |
Arco-Mega | Detecta quanto tempo o jogador ativa a ferramenta (tempo entre a ativação e a desativação). | Atira uma flecha mágica com mais ou menos poder, dependendo do tempo de ativação detectado. |
Para mais informações sobre os diferentes tipos de scripts, veja Scripts.
Dicas de solução de problemas
Uma ferramenta pode funcionar bem no Studio, mas não em uma experiência ao vivo do Roblox. Se isso ocorrer, use as seguintes dicas para solucionar problemas:
- LocalScripts e Scripts não podem ouvir diretamente um ao outro, então você precisa adicionar um RemoteEvent para enviar mensagens entre os dois scripts.
- Certifique-se de que cada Script e LocalScript apenas cuida do que exatamente deve fazer.
Para mais informações sobre RemoteEvents , veja Eventos e chamadas remotas .