Les outils Tools sont des outils interactifs que les utilisateurs peuvent équiper dans des sessions, tels que les épées, les lanceurs de roquettes et les bâtons magiques. Vous pouvez créer des outils personnalisés dans l'expérience, les mettre dans votre hiérarchie d'expérience et écrire des scripts pour les implémenter pour vos utilisateurs.
Créer un outil dans l'expérience
Pour la première étape de la création de n'importe quel outil dans l'expérience, vous devez d'abord créer un objet d'outil pour contenir tous les éléments qui composent l'outil. Vous pouvez ensuite ajouter d'autres instances à l'objet d'outil en incluant des parties et des mailles, des effets sonores et des scripts qui fournissent
Créer l'objet d'outil
Vous pouvez créer un nouvel objet d'outil avec les étapes suivantes :
Dans la fenêtre Explorateur , passez la souris sur l'espace de travail et cliquez sur le bouton ⊕ pour afficher la liste d'objets.
Sélectionnez Outil sous la catégorie Interaction .
Ajouter des parties ou des mailles
Après avoir créé l'objet d'outil, vous devez ajouter Parts ou MeshParts au modèle d'outil ou créer l'outil comme un élément d'inventaire sans pièces et maillages. Comme d'autres modèles, les outils dans l'expérience
Si vous voulez créer un outil sans ajouter de pièces ou de maillages, vous pouvez le créer comme un élément d'inventaire .
Configurer la poignée d'outil
Pour permettre aux utilisateurs de transporter des outils autour, vous devez définir un Part et le nommer Handle pour attacher à la main de l'utilisateur. L'exemple suivant montre une baguette magique avec trois parties : une pointe brillante, le corps principal et une poignée rouge. Lorsqu'un utilisateur équipe la baguette, ils la tiennent
Assurez-vous d'avoir un seul Part nommé Handle . Si vous nommez plusieurs Parts comme 1> Handle1>, l'outil choisit aléatoirement l'un d'eux en tant que point d'attaque de main qui peut causer des problèmes tels que les utilisateurs qui tiennent des lames de 4> épée4> au lieu de poignées.
Ajustement de l'orientation de la poignée de l'outil
Si l'orientation de la poignée de votre outil est incorrecte, comme le déplacer sur le sol ou le viser vers l'arrière, vous pouvez le r?parer en ajustant les propri?t?s poignée sous la catégorie apparence dans la fenêtre propriétés.
Puisque l'orientation de poignée idéale pour chaque outil est différente, vous devez expérimenter avec le changement des valeurs à côté de la poignée GripForward, GripRight, et GripUp jusqu'à ce que votre poignée d'outil a l'air correcte. L'exemple suivant montre les poignées possibles et correctes pour une baguette magique :
Vous pouvez également activer les personnages d'utilisateur pour décaler les outils de leur main avec la propriété GripPos . Cela peut être utile lorsque vous faites apparaître un outil qui devrait reposer sur l'épaule de l'utilisateur.
Personnalisation de l'icône d'outil
Les outils que un utilisateur possède sont stockés dans leur Backpack . Les utilisateurs peuvent afficher l'icône de chaque outil dans leurs sacs à dos sur une barre d'action :
Dans la Propriétés fenêtre de l'outil, utilisez les propriétés suivantes pour personnaliser l'apparence de l'outil dans la barre d'action :
- TextureID — L'icône d'outil. Définissez l'ID de l'image pour cette propriété de la même façon que les autocollants et les boutons d'image.
- ToolTip — Le nom de la barre d'outils au-dessus de l'horloge.
Activer et désactiver les utilisateurs pour lâcher les outils
Par défaut, un utilisateur peut lâcher un outil en appuyant sur la touche Retour Arrière sur Windows ou Supprimer sur Mac. Vous pouvez désactiver cette option en configurant la propriété CanBeDropped de l'outil sur 1> force
Créer des outils en tant que objets d'inventaire
Vous pouvez également créer un outil dans l'expérience sans parties ou maillages comme un élément d'inventaire qui attend l'entrée de l'utilisateur, comme un sort magique que les personnages de l'utilisateur peuvent cliquer sur d'autres ou toucher l'écran pour le lancer. Les outils d'inventaire ne nécessitent pas de poignées, vous devez donc décocher la propriété Nécessite une poignée dans la fenêtre Propriétés de l'
Ajouter des outils à votre expérience
Une fois que vous avez terminé la configuration de votre outil dans l'expérience, vous devez le placer dans la bonne zone de la hiérarchie d'objets de votre expérience. L'endroit où vous placez l'outil dans la hiérarchie d'objets de votre expérience dépend de son utilisation prévue.
Outil de démarrage par défaut
Si vous voulez que tous les utilisateurs commencent avec un outil dans leur inventaire, mettez-le à l'intérieur du dossier StarterPack . Lorsque tout utilisateur apparaît, le système copie l'outil dans son sac à dos.
Outil de collection
Si vous voulez permettre aux utilisateurs de collecter des outils à mesure qu'ils se mouvement, vous pouvez placer les outils dans le Espace de travail dans la hiérarchie Explorer. Par exemple, vous pourriez vouloir placer un super lance-roquettes dans une zone difficile d'accès de votre monde d'expérience.
Outil acheté et obtenu
Si vous voulez configurer un outil comme une récompense lorsqu'un utilisateur fait quelque chose de spécial ou l'offre à la vente dans une boutique dans l'expérience, mettez le outil à l'intérieur de 0> 1> 2> 3> 4> 5> 6> 7> 8> 9> 0> 1> 2> 3> 4> 5> 6> 7> 8>
Ajouter des effets d'outils
Après avoir ajouté vos outils à votre expérience, vous pouvez ajouter des scripts pour permettre aux utilisateurs d'utiliser des outils pour effectuer des effets spéciaux.
Événements spécifiques aux outils
Vous pouvez utiliser les quatre conditions spécifiques aux outils suivantes pour indiquer l'état de l'outil et l'entrée de l'utilisateur avec lui dans votre script d'outil :
Tool:Equipped() : Se produit lorsque l'utilisateur sélectionne l'outil de leur sac à dos.
Tool:Unequipped() : Se produit lorsque l'utilisateur lâche l'outil ou active les outils.
Tool:Activated() : Se produit lorsque l'utilisateur commence à activer l'outil (clique, touche ou appuie sur A sur un gamepad).
Tool:Deactivated() : Se produit lorsque l'utilisateur arrête l'entrée d'activation (relâche le bouton ou le toucher).
Bien que vous n'ayez peut-être pas besoin de toutes les quatre conditions lorsque vous concevez un outil, vous pouvez utiliser le script de code suivant comme modèle de script d'outil de base :
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)
Cet exemple de code suppose que le script est un enfant de premier niveau à l'intérieur de l'objet outil. Si le script est ailleurs, ajustez le chemin à la ligne 1 (la valeur de tool ) pour pointer à l'objet d'outil principal.
Ajout d'un script basique
L'exemple suivant montre les étapes pour ajouter un Script sur le serveur qui permet aux utilisateurs d'équiper une baguette magique qui peut basculer jour et nuit en cliquant sur l'écran :
Dans la fenêtre Explorer, passez la souris sur l'objet d'outil et cliquez sur le bouton ⊕ pour insérer un Script .
Copiez le code suivant et collez-le dans votre 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)Testez votre expérience en choisissant l'outil et en cliquant n'importe où sur l'écran de votre expérience pour basculer entre le jour et la nuit :
Différents types de scripts pour l'implémentation des outils
Certains outils ne nécessitent qu'un Script sur le serveur pour s'intégrer, comme l'exemple précédent, mais la plupart des outils nécessitent un Script sur le client, où chacun prend soin de certains aspects du comportement de l'outil.
Avant d'ajouter vos scripts, assurez-vous de comprendre la différence de coeur entre chaque taperde script :
- Le script gère les modifications dans le monde d'expérience global visible pour tous les utilisateurs, tels que le déverrouillage d'une porte et le tir d'une flèche.
- LocalScript gère les choses qui se produisent uniquement sur l'appareil de l'utilisateur, telles que la détection de l'emplacement où ils touchent ou cliquent sur l'écran.
Voici quelques outils d'exemple et leur comportement géré par un script local ou un script du serveur :
Outil | Script local | Script du serveur |
---|---|---|
Baguette du créateur | Détecte où le joueur touche ou clique sur l'écran. | Crée une nouvelle partie à l'emplacement dans le monde du jeu où le joueur a touché ou cliqué. |
Cape d'invisibilité | Rend temporairement le joueur invisible pour tous les autres utilisateurs, tant que la cape est équipée. | |
Mega-Bow | Détecte combien de temps le joueur active l'outil (temps entre l'activation et la désactivation). | Tire une flèche magique avec plus ou moins de puissance, en fonction du délai d'activation détecté. |
Pour plus d'informations sur les différents types de scripts, voir Scripts .
Conseils de débogage
Un outil peut fonctionner correctement dans Studio, mais pas dans une expérience Roblox en direct. Si cela se produit, utilisez les conseils suivants pour déboguer :
- LocalScripts et Scripts ne peuvent pas être directement écoutés l'un de l'autre, vous devez donc ajouter un RemoteEvent pour envoyer des messages entre les deux scripts.
- Assurez-vous que chaque Script et LocalScript ne se soucie que de ce qu'il est censé faire.
Pour plus d'informations sur RemoteEvents, voir événements et appels à distance.