Gli strumenti sono un modo semplice per gestire oggetti che il giocatore può tenere in mano e utilizzare nel gioco. Possono variare da armi come spade a cibi.
In questo tutorial, imparerai a creare uno strumento a forma di blaster laser che riprodurrà effetti sonori quando equipaggiato o attivato.

Crea lo strumento
L'oggetto Tool è la base di qualsiasi strumento in Roblox, quindi dovrai crearne uno. È più facile cambiare l'aspetto degli strumenti aggiungendo oggetti come Parti e MeshPart nello strumento nel workspace dove sono visibili.
Inserisci un Strumento nel workspace e chiamalo Blaster.

Inserisci un MeshPart nello strumento.

Imposta la proprietà MeshId su rbxassetid://92656610.
Imposta la proprietà TextureId su rbxassetid://92658105.


Lo strumento ha bisogno di una parte chiamata Handle che il giocatore possa tenere. Cambia il nome del MeshPart in Handle.

Memorizza lo strumento
Gli strumenti possono essere mantenuti nel mondo 3D come strumenti collezionabili o forniti a tutti i giocatori come strumenti iniziali.
Strumento collezionabile
Il blaster è attualmente un figlio di Workspace, quindi sarà collezionabile. Un giocatore può raccogliere lo strumento toccandolo, facendolo diventare un figlio del modello del personaggio; lo strumento sarà quindi equipaggiato e posizionato nella loro hotbar.
Durante il gioco, gli strumenti non equipaggiati sono memorizzati all'interno della gerarchia del giocatore nello Zaino e poi spostati nel loro modello di carattere quando equipaggiati. Qualsiasi strumento che diventa un figlio di un personaggio sarà automaticamente equipaggiato.


Strumento iniziale
Memorizzare uno strumento in StarterPack lo posizionerà nello Backpack di un giocatore quando si unisce o respawna.
Sposta il Blaster in StarterPack nell'Esplora.

Riproduci l'esperienza per testare lo strumento. Clicca sulla hotbar nella parte inferiore dello schermo o premi 1 sulla tastiera per equipaggiare lo strumento.
Proprietà dello strumento
Posizione / orientamento
La posizione e l'orientamento di uno strumento possono essere cambiati utilizzando le proprietà grip. GripPos cambia la posizione dell'impugnatura, mentre GripForward, GripRight e GripUp influenzano la rotazione.
Attualmente il giocatore sta tenendo il centro del blaster invece dell'impugnatura.
Imposta la proprietà GripPos dello strumento su 0, -0.4, 1.1.

Inizia un playtest per testare lo strumento. Nota come ora lo strumento viene impugnato in una posizione diversa.

Prima 
Dopo
Icona della hotbar
Per impostazione predefinita, il nome dello strumento verrà visualizzato sull'icona della hotbar. È buona pratica cambiare l'icona in un'immagine dello strumento. Imposta la proprietà TextureId dello strumento su rbxassetid://92628145.


Tooltip
Un tooltip è una piccola descrizione di testo che appare quando il mouse si trova sopra uno strumento nella hotbar. Di solito includono il nome dello strumento e/o una breve descrizione della sua funzione. Cambia la proprietà ToolTip in Blaster.

Utilizza script con gli strumenti
Uno strumento ha tre eventi chiave a cui puoi connetterti: Equipped, Unequipped e Activated.
| Evento | Descrizione |
|---|---|
| Equipped | Attivato quando uno strumento viene equipaggiato dal giocatore, ad esempio quando uno strumento è selezionato nella hotbar. |
| Unequipped | Attivato quando uno strumento viene disinserito dal giocatore, ad esempio quando uno strumento viene deselezionato nella hotbar. |
| Activated | Attivato quando uno strumento viene attivato dal giocatore, ad esempio quando un giocatore clicca con il pulsante sinistro. |
Questi metodi funzionano solo in LocalScripts perché solo il dispositivo del giocatore sa quando avviene un input, come un clic del mouse o un tocco dello schermo.
Aggiungi i suoni
Per vedere questi eventi in azione, puoi riprodurre un suono quando vengono attivati. Prima, dovrai creare oggetti Sound da usare per questo.
Inserisci due oggetti Sound nella Handle.
Rinomina un suono in Equip e imposta la sua proprietà SoundId su rbxassetid://282906960.
Rinomina l'altro suono in Activate e imposta la sua proprietà SoundId su rbxassetid://130113322.

Aggiungi il codice
Il codice di esempio qui sotto riproduce il suono Equip quando lo strumento è equipaggiato e il suono Fire quando è attivato.
Inserisci un LocalScript nello strumento e chiamalo ToolController.

Inserisci le seguenti righe di codice nello 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)Testa gli effetti sonori del blaster equipaggiando e cliccando per attivare lo strumento.
Ora sai come creare e programmare uno strumento di base, prova a creare altri strumenti semplici come una torcia o un altoparlante.