Les outils sont un moyen simple de gérer les objets que le joueur peut tenir dans sa main et utiliser dans le jeu. Ils peuvent varier des armes telles que des épées à des objets alimentaires.
Dans ce tutoriel, vous apprendrez à créer un outil en forme de blaster laser qui jouera des effets sonores lorsqu'il sera équipé ou activé.

Créer l'outil
L'objet Tool est la base de tout outil dans Roblox, vous devrez donc en créer un. Il est plus facile de changer l'apparence des outils en ajoutant des objets tels que des Parts et MeshParts à l'outil dans l'espace de travail où ils sont visibles.
Insérez un Tool dans l'espace de travail et nommez-le Blaster.

Insérez un MeshPart dans l'outil.

Réglez la propriété MeshId sur rbxassetid://92656610.
Réglez la propriété TextureId sur rbxassetid://92658105.


L'outil a besoin d'une pièce nommée Handle pour que le joueur puisse l'utiliser. Changez le nom du MeshPart en Handle.

Stocker l'outil
Les outils peuvent être gardés dans le monde 3D en tant que tools collectables ou donnés à tous les joueurs en tant que starter tools.
Outil collectible
Le blaster est actuellement un enfant de Workspace, donc il sera collectible. Un joueur peut ramasser l'outil en le touchant, ce qui le fera devenir un enfant du modèle de personnage ; l'outil sera ensuite équipé et placé dans leur barre de raccourcis.
Pendant le jeu, les outils non équipés sont stockés dans la hiérarchie du joueur dans le Backpack, puis déplacés vers leur modèle de personnage lorsqu'ils sont équipés. Tout outil qui devient un enfant d'un personnage sera automatiquement équipé.


Outil de départ
Stocker un outil dans StarterPack le placera dans le Backpack d'un joueur lorsqu'il se joint ou respawn.
Déplacez le Blaster vers StarterPack dans l'Explorer.

Jouez l'expérience pour tester l'outil. Cliquez sur la barre de raccourcis en bas de l'écran ou appuyez sur 1 sur le clavier pour équiper l'outil.
Propriétés de l'outil
Position / orientation
La position et l'orientation d'un outil peuvent être modifiées à l'aide des propriétés de grip. GripPos change la position de la prise, tandis que GripForward, GripRight et GripUp affectent la rotation.
Actuellement, le joueur tient le centre du blaster au lieu de la prise.
Réglez la propriété GripPos de l'outil sur 0, -0.4, 1.1.

Initiez un test de jeu pour tester l'outil. Remarquez comment l'outil est désormais tenu dans une position différente.

Avant 
Après
Icône de la barre de raccourcis
Par défaut, le nom de l'outil sera affiché sur l'icône de la barre de raccourcis. Il est bon de changer l'icône pour qu'elle soit une image de l'outil. Réglez la propriété TextureId de l'outil sur rbxassetid://92628145.


Infobulle
Une infobulle est une petite description textuelle qui apparaît lorsque la souris survole un outil dans la barre de raccourcis. Elle inclut généralement le nom de l'outil et/ou une brève description de sa fonction. Changez la propriété ToolTip en Blaster.

Utiliser des scripts avec des outils
Un outil possède trois événements clés auxquels vous pouvez vous connecter : Equipped, Unequipped et Activated.
| Événement | Description |
|---|---|
| Equipped | Déclenché lorsqu'un outil est équipé par le joueur, par exemple lorsqu'un outil est sélectionné dans la barre de raccourcis. |
| Unequipped | Déclenché lorsqu'un outil est déséquipé par le joueur, par exemple lorsque un outil est désélectionné dans la barre de raccourcis. |
| Activated | Déclenché lorsqu'un outil est activé par le joueur, par exemple lorsque le joueur clique à gauche. |
Ces méthodes ne fonctionnent que dans LocalScripts car seul l'appareil du joueur sait quand des entrées se produisent, comme un clic de souris ou un toucher d'écran.
Ajouter les sons
Pour voir ces événements en action, vous pouvez jouer un son lorsqu'ils se déclenchent. Tout d'abord, vous devrez créer des objets Son à utiliser pour cela.
Insérez deux objets Sound dans le Handle.
Renommez un son en Equip et réglez sa propriété SoundId sur rbxassetid://282906960.
Renommez l'autre son en Activate et réglez sa propriété SoundId sur rbxassetid://130113322.

Ajouter le code
Le code d'exemple ci-dessous joue le son Equip lorsque l'outil est équipé et le son Fire lorsqu'il est activé.
Insérez un LocalScript dans l'outil et nommez-le ToolController.

Insérez les lignes de code suivantes dans le 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)Testez les effets sonores du blaster en équipant et en cliquant pour activer l'outil.
Maintenant, vous savez comment créer et programmer un outil de base, essayez de créer d'autres outils simples tels qu'une lampe de poche ou un haut-parleur.