Las herramientas son una forma sencilla de gestionar objetos que el jugador puede sostener en su mano y usar en el juego. Pueden variar desde armas como espadas hasta objetos de comida.
En este tutorial, aprenderás a crear una herramienta en forma de bláster láser que reproducirá efectos de sonido cuando se equipe o se active.

Crear la herramienta
El objeto Tool es la base de cualquier herramienta en Roblox, así que necesitarás crear uno. Es más fácil cambiar la apariencia de las herramientas añadiendo objetos como Parts y MeshParts a la herramienta en el espacio de trabajo donde sean visibles.
Inserta una Tool en el espacio de trabajo y nómbrala Blaster.

Inserta un MeshPart en la herramienta.

Establece la propiedad MeshId a rbxassetid://92656610.
Establece la propiedad TextureId a rbxassetid://92658105.


La herramienta necesita una parte llamada Handle para que el jugador la sostenga. Cambia el nombre del MeshPart a Handle.

Almacenar la herramienta
Las herramientas pueden mantenerse en el mundo 3D como herramientas coleccionables o ser dadas a todos los jugadores como herramientas iniciales.
Herramienta coleccionable
El bláster es actualmente un hijo de Workspace, por lo que será coleccionable. Un jugador puede recoger la herramienta al tocarla, lo que hará que se convierta en un hijo del modelo del personaje; la herramienta se equipará y se colocará en su barra de acceso rápido.
Durante el juego, las herramientas no equipadas se almacenan dentro de la jerarquía del jugador en la Mochila y luego se mueven a su modelo de personaje cuando se equipan. Cualquier herramienta que se convierta en un hijo de un personaje se equipará automáticamente.


Herramienta inicial
Almacenar una herramienta en StarterPack la colocará en la Backpack de un jugador cuando se una o respawnee.
Mueve el Blaster a StarterPack en el Explorer.

Juega el juego para probar la herramienta. Haz clic en la barra de acceso rápido en la parte inferior de la pantalla o presiona 1 en el teclado para equipar la herramienta.
Propiedades de la herramienta
Posición / orientación
La posición y orientación de una herramienta se pueden cambiar utilizando las propiedades de grip. GripPos cambia la posición del agarre, mientras que GripForward, GripRight y GripUp afectan la rotación.
Actualmente, el jugador está sosteniendo el centro del bláster en lugar del agarre.
Establece la propiedad GripPos de la herramienta a 0, -0.4, 1.1.

Inicia una prueba de juego para probar la herramienta. Nota cómo la herramienta ahora se agarra en una posición diferente.

Antes 
Después
Icono de la barra de acceso rápido
Por defecto, el nombre de la herramienta se mostrará en el icono de la barra de acceso rápido. Es una buena práctica cambiar el icono por una imagen de la herramienta. Establece la propiedad TextureId de la herramienta a rbxassetid://92628145.


Tooltip
Un tooltip es una pequeña descripción de texto que aparece cuando el mouse se desplaza sobre una herramienta en la barra de acceso rápido. Generalmente incluyen el nombre de la herramienta y/o una breve descripción de su función. Cambia la propiedad ToolTip a Blaster.

Usar scripts con herramientas
Una herramienta tiene tres eventos clave a los que puedes conectarte: Equipped, Unequipped y Activated.
| Evento | Descripción |
|---|---|
| Equipped | Se activa cuando una herramienta es equipada por el jugador, por ejemplo, cuando una herramienta es seleccionada en la barra de acceso rápido. |
| Unequipped | Se activa cuando una herramienta es desequipada por el jugador, por ejemplo, cuando una herramienta es deseleccionada en la barra de acceso rápido. |
| Activated | Se activa cuando una herramienta es activada por el jugador, por ejemplo, cuando un jugador hace clic izquierdo. |
Estos métodos solo funcionan en LocalScripts porque solo el dispositivo del jugador sabe cuándo ocurre la entrada, como un clic de botón del mouse o un toque en la pantalla.
Agregar los sonidos
Para ver estos eventos en acción, puedes reproducir un sonido cuando se activen. Primero, necesitarás crear objetos de sonido para usar.
Inserta dos objetos Sound en el Handle.
Renombra un sonido a Equip y establece su propiedad SoundId a rbxassetid://282906960.
Renombra el otro sonido a Activate y establece su propiedad SoundId a rbxassetid://130113322.

Agregar el código
El código de ejemplo a continuación reproduce el sonido Equip cuando la herramienta es equipada y el sonido Fire cuando se activa.
Inserta un LocalScript en la herramienta y nómbralo ToolController.

Inserta las siguientes líneas de código en el 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)Prueba los efectos de sonido del bláster equipando y haciendo clic para activar la herramienta.
Ahora sabes cómo crear y programar una herramienta básica, intenta crear otras herramientas simples como una linterna o un altavoz.