As ferramentas são uma maneira simples de gerenciar itens que o jogador pode segurar na mão e usar no jogo. Elas podem variar de armas, como espadas, a itens alimentares.
Neste tutorial, você aprenderá como criar uma ferramenta na forma de um blaster a laser que tocará efeitos sonoros quando equipado ou ativado.

Criar a ferramenta
O objeto Tool é a base de qualquer ferramenta no Roblox, então você precisará criar um. É mais fácil mudar a aparência das ferramentas adicionando objetos como Parts e MeshParts à ferramenta no espaço de trabalho, onde eles são visíveis.
Insira uma Tool no espaço de trabalho e nomeie-a como Blaster.

Insira um MeshPart na ferramenta.

Defina a propriedade MeshId para rbxassetid://92656610.
Defina a propriedade TextureId para rbxassetid://92658105.


A ferramenta precisa de uma parte chamada Handle para que o jogador possa segurar. Mude o nome do MeshPart para Handle.

Armazenar a ferramenta
As ferramentas podem ser mantidas no mundo 3D como ferramentas colecionáveis ou dadas a todos os jogadores como ferramentas iniciais.
Ferramenta colecionável
O blaster é atualmente um filho do Workspace, então ele será colecionável. Um jogador pode pegar a ferramenta ao tocá-la, fazendo com que ela se torne um filho do modelo do personagem; a ferramenta será então equipada e colocada em sua barra de atalho.
Durante o jogo, ferramentas não equipadas são armazenadas dentro da hierarquia do jogador na Mochila e depois movidas para o modelo do personagem quando equipadas. Qualquer ferramenta que se torne um filho de um personagem será automaticamente equipada.


Ferramenta inicial
Armazenar uma ferramenta em StarterPack a colocará na Backpack de um jogador quando ele entrar ou renascer.
Mova o Blaster para StarterPack no Explorer.

Jogue o jogo para testar a ferramenta. Clique na barra de atalho na parte inferior da tela ou pressione 1 no teclado para equipar a ferramenta.
Propriedades da ferramenta
Posição / orientação
A posição e a orientação de uma ferramenta podem ser alteradas usando as propriedades grip. GripPos muda a posição do punho, enquanto GripForward, GripRight e GripUp afetam a rotação.
Atualmente, o jogador está segurando o centro do blaster em vez do punho.
Defina a propriedade GripPos da ferramenta para 0, -0.4, 1.1.

Inicie um teste de jogo para testar a ferramenta. Note como a ferramenta agora está sendo segurada em uma posição diferente.

Antes 
Depois
Ícone da barra de atalho
Por padrão, o nome da ferramenta será exibido no ícone da barra de atalho. É uma boa prática mudar o ícone para ser uma imagem da ferramenta. Defina a propriedade TextureId da ferramenta para rbxassetid://92628145.


Dica de ferramenta
Uma dica de ferramenta é uma pequena descrição em texto que aparece quando o mouse passa sobre uma ferramenta na barra de atalho. Elas geralmente incluem o nome da ferramenta e/ou uma breve descrição de sua função. Mude a propriedade ToolTip para Blaster.

Usar scripts com ferramentas
Uma ferramenta tem três eventos principais que você pode conectar: Equipped, Unequipped e Activated.
| Evento | Descrição |
|---|---|
| Equipped | Disparado quando uma ferramenta é equipada pelo jogador, por exemplo, quando uma ferramenta é selecionada na barra de atalho. |
| Unequipped | Disparado quando uma ferramenta é não equipada pelo jogador, por exemplo, quando uma ferramenta é desmarcada na barra de atalho. |
| Activated | Disparado quando uma ferramenta é ativada pelo jogador, por exemplo, quando um jogador clica com o botão esquerdo. |
Esses métodos funcionam apenas em LocalScripts porque apenas o dispositivo do jogador sabe quando a entrada acontece, como um botão do mouse sendo clicado ou uma tela sendo tocada.
Adicionar os sons
Para ver esses eventos em ação, você pode tocar um som quando eles forem disparados. Primeiro, você precisará criar objetos de Som para usar para isso.
Insira dois objetos Sound no Handle.
Renomeie um som para Equip e defina sua propriedade SoundId para rbxassetid://282906960.
Renomeie o outro som para Activate e defina sua propriedade SoundId para rbxassetid://130113322.

Adicionar o código
O código de exemplo abaixo toca o som Equip quando a ferramenta é equipada e o som Fire quando ativada.
Insira um LocalScript na ferramenta e nomeie-o como ToolController.

Insira as seguintes linhas de código no script.
local tool = script.Parentlocal function toolEquipped()tool.Handle.Equip:Play()endlocal function toolActivated()tool.Handle.Activate:Play()endtool.Equipped:Connect(toolEquipped)tool.Activated:Connect(toolActivated)Teste os efeitos sonoros do blaster equipando e clicando para ativar a ferramenta.
Agora você sabe como criar e programar uma ferramenta básica, tente criar outras ferramentas simples, como uma lanterna ou um alto-falante.