Im Erlebnis Tools sind interaktive Werkzeuge, die Benutzer in Sitzungen ausrüsten können, wie Schwerter, Raketenwerfer und Zauberstäbe.Du kannst benutzerdefinierte Erlebnis-Tools erstellen, sie in deiner Erlebnishierarchie platzieren und Skripte schreiben, um sie für deine Benutzer zu implementieren.
Erstelle ein Erlebnis-Werkzeug
Für den ersten Schritt beim Erstellen eines Erlebniswerkzeugs musst du ein Werkzeug-Objekt erstellen, um alle Elemente zu enthalten, aus denen sich das Werkzeug zusammensetzt.Du kannst dann andere Instanzen zum Werkzeugobjekt hinzufügen, einschließlich Teilen und Meshes, Soundeffekten und Skripten, die Funktionen bieten.Du kannst auch ein Werkzeuggriff einrichten, den Werkzeuggriff anpassen und dein Toolicon anpassen, um die Benutzererfahrung zu verbessern.
Erstelle das Objekt
Du kannst ein neues Werkzeugobjekt mit den folgenden Schritten erstellen:
In dem Explorer -Fenster bewegen Sie den Mauszeiger über Arbeitsplatz und klicken Sie auf die Schaltfläche ⊕ , um die Liste der Objekte anzuzeigen.
Wählen Sie Werkzeug unter der Kategorie Interaktion .
Teile oder Meshes hinzufügen
Nach der Erstellung des Werkzeug-Objekts musst du Parts oder MeshParts zum Werkzeugmodell hinzufügen oder das Werkzeug als Inventarartikel erstellen ohne Teile und Meshes.Wie andere Modelle können Erfahrungswerkzeuge aus mehreren Parts bestehen, so musst du alle Teile des Werkzeugs mithilfe der Weld Einschränkungen zusammen verbinden.
Wenn du ein Werkzeug erstellen möchtest, ohne Teile oder Meshes hinzuzufügen, kannst du es als Inventarartikel erstellen.
Stelle den Ziehpunktein
Um Benutzern zu ermöglichen, Werkzeuge mit sich herumzutragen, musst du ein Part festlegen und es Handle nennen, um es dem Benutzer an die Hand zu kleben.Das folgende Beispiel zeigt eine magische Zange mit drei Teilen: einer leuchtenden Spitze, dem Körperund einem roten Ziehpunkt.Wenn ein Benutzer die Zunge ausrüstet, hält er sie am Part genannten Handle .

Stellen Sie sicher, dass es nur eine Part mit dem Namen Handle gibt.Wenn du mehrere Parts mit Handle benennst, wählt das Tool zufällig einen von ihnen als Handaufnahmepunkt, der Probleme verursachen kann, wie Benutzer Klingen von Schwertern statt Hellebarden halten.
Zur Anpassung der Werkzeuggriffausrichtung
Wenn die Griffrichtung deines Tools falsch ist, z. B. wenn du auf dem Boden ziehst oder rückwärts schaust, kannst du sie korrigieren, indem du die Griff -Eigenschaften unter der Kategorie Aussehen im Eigenschaften -Fenster anpasst.

Da die ideale Griffausrichtung für jedes Werkzeug unterschiedlich ist, musst du mit der Änderung der Werte neben dem Griff vorwärts , Griff rechts und Griff oben Eigenschaften experimentieren, bis der Griff deines Toolkorrekt aussieht.Das folgende Beispiel zeigt mögliche falsche und korrekte Griffe für einen Zauberstab:


Werkzeug rückwärts gerichtet

Du kannst auch Benutzercharaktere aktivieren, um Werkzeuge von ihrer Hand mit der Eigenschaften GripPos auszugleichen.Dies kann nützlich sein, wenn du ein Werkzeug erstellst, das auf der Schulter des Benutzers ruhen soll.


Anpassen des Tool-Symbols
Werkzeuge, die ein Benutzer besitzt, werden in ihrem Backpack gespeichert. Benutzer können das Symbol jedes Werkzeugs in ihren Rucksäcken auf einer Aktionsleiste anzeigen:

Im Eigenschaften-Fenster des Tool verwende die folgenden Eigenschaften, um das Aussehen des Toolin der Aktionsleiste anzupassen:
- TextureID — Das Tool-Symbol. Legen Sie die Bild-ID für diese Eigenschaft auf die gleiche Weise wie für Aufkleber und Bild-Buttons fest.
- Tooltip — Der Tooltip-Name beim Überfahren.
Aktiviere und deaktiviere Benutzer, um Werkzeuge fallen zu lassen
Standardmäßig kann ein Benutzer ein Werkzeug fallen lassen, indem er die Rücktaste auf Windows oder Löschen auf Mac drückt.Du kannst diese Option deaktivieren, indem du das Eigenschaft CanBeDropped des Tools auf falseWenn CanBeDropped ist false , drücken Sie Rücktaste oder löschen bringt das Werkzeug in den Rucksack des Benutzers zurück.
Erstelle Werkzeuge als Inventarartikel
Du kannst auch ein Erlebniswerkzeug ohne Teile oder Meshes als Inventarartikel erstellen, der auf die Eingabe eines Benutzers wartiert, z. B. einen magischen Zauber, den Benutzercharaktere auf andere klicken oder auf den Bildschirm berühren, um ihn zu werfen.Inventarartikelwerkzeuge benötigen keine Griffe, du musst also die Eigenschaft BenötigtGriff im Tool Eigenschaften deaktivieren.

Füge Werkzeuge zu deiner Erlebnishinzu
Sobald du dein Tooleingerichtet hast, musst du es in der richtigen Bereich der Objektarchitektur deines Erlebnisses platzieren.Wo du das Werkzeug innerhalb der Objektarchitektur des Erlebnisses platzierst, hängt von seiner beabsichtigten Verwendung ab.
Tool
Wenn du möchtest, dass alle Benutzer mit einem Werkzeug in ihrem Inventar beginnen, lege es in den StarterPack -Ordner.Wenn ein Benutzer spawnt, kopiert das System das Werkzeug in seinen Rucksack.

Tool
Wenn du Benutzern erlauben möchtest, Werkzeuge zu sammeln, während sie Verschiebungswerkzeug, kannst du die Werkzeuge in der Arbeitsplatz Hierarchie in der Explorer Hierarchie platzieren.Zum Beispiel möchten Sie vielleicht einen Supersatellitenwerfer in einer schwer zugänglichen Gegend Ihrer Weltplatzieren.

Erhaltenes und gekauftes Tool
Wenn du ein Werkzeug als Auszeichnungen einrichten möchtest, wenn ein Benutzer etwas Besonderes tut oder es zum Verkauf in einem Storeanbietet, lege das Werkzeug in ServerStorage in der Explorer Hierarchie ein, die das Werkzeug zur richtigen Zeit in den Rucksack des Benutzers klonen kann.

Füge Werkzeugeffekte hinzu
Nachdem du deine Tools zu deiner Erlebnishinzugefügt hast, kannst du Skripte hinzufügen, um Benutzern die Nutzung von Tools für spezielle Effekte zu ermöglichen.
Werkzeugspezifische Ereignisse
Du kannst die folgenden vier spezifischen Werkzeugbedingungen verwenden, die den Zustand des Werkzeugs und die Eingabe des Benutzers mit ihm in deinem Skript, das. PL: die Skriptsanzeigen:
Tool:Equipped() : Tritt auf, wenn der Benutzer das Tool aus seinem Rucksack auswählt.
Tool:Unequipped() : Tritt auf, wenn der Benutzer das Werkzeug fallen lässt oder Werkzeuge wechselt.
Tool:Activated() : Tritt auf, wenn der Benutzer beginnt, das Tool zu aktivieren (klickt, tippt oder drückt A auf einem Gamepad).
Tool:Deactivated() : Tritt auf, wenn der Benutzer die Aktivierungseingabe stoppt (löst die Taste oder Berührung ab).
Obwohl du vielleicht nicht alle vier Bedingungen beim Entwerfen eines Toolbenötigst, kannst du das folgende Code-Skript als Grundlage für ein Werkzeug-Skript verwenden:
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)
Dieses Codebeispiel geht davon aus, dass das Skript ein First-Level-Kind innerhalb des Tool-Objekts ist.Wenn das Skript anderswo ist, passe den Pfad in Zeile 1 (der Wert von tool) an, um auf das Kernwerkzeug-Objekt zu zeigen.
Füge ein Skript, das. PL: die Skriptshinzu
Das folgende Beispiel zeigt Schritte zum Hinzufügen einer Script auf dem Server, die es Benutzern ermöglicht, eine Zauberstab auszurüsten, die durch Klicken auf den Bildschirm Tag und Nacht wechseln kann:
In dem Explorer-Fenster bewegen Sie den Mauszeiger über das Tool-Objekt und klicken Sie auf die Schaltfläche ⊕ , um ein Script einzufügen.
Kopiere den folgenden Code und füge ihn in deine Script ein.
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)Teste dein Erlebnis, indem du das Werkzeug aufnimmst und dann irgendwo auf dem Bildschirm deines Erlebnisses klickst, um zwischen Tag und Nacht zu wechseln:
Verschiedene Arten von Skripten für die Umsetzung von Werkzeugen
Einige Werkzeuge benötigen nur ein Script auf dem Server zur Umsetzung, wie das vorherige Beispiel, aber die meisten Werkzeuge benötigen sowohl ein Script auf dem Server als auch ein LocalScript auf dem Client, wo jeder sich um bestimmte Aspekte des Verhaltens des Toolkümmert.
Bevor du deine Skripte hinzufügst, stelle sicher, dass du den Kernunterschied zwischen jedem eingebenverstehst:
- Skript verwaltet Änderungen innerhalb der Gesamterfahrungswelt, die für alle Benutzer sichtbar ist, wie das Öffnen einer Tür und das Abfeuern eines Pfeils.
- Lokales Skript verwaltet Dinge, die nur auf dem Gerät des Benutzers passieren, wie die Erkennung der Position, an der er die Bildschirmoberfläche berührt oder anklickt.
Hier sind einige Beispielwerkzeuge und ihre Verhaltensweisen, die von einem lokalen Skript oder einem Skript, das. PL: die Skriptsverwaltet werden:
Werkzeug | Lokales Skript, das. PL: die Skripts | Skript, das. PL: die Skripts |
---|---|---|
Zauberstab des Erstellers | Erkennt, wo der Spieler auf den Bildschirm berührt oder klickt. | Erstellt ein neues Teil an der Position innerhalb der Spielwelt, an der der Spieler berührt oder geklickt hat. |
Unsichtbarkeits-Mantel | Macht den Spieler vorübergehend für alle anderen Benutzer unsichtbar, während der Umhang ausgerüstet ist. | |
Mega-Bogen | Erkennt, wie lange der Spieler das Tool aktiviert (Zeit zwischen Aktivierung und Deaktivierung). | Schießt einen magischen Pfeil mit größerer oder geringerer Kraft, abhängig von der erkannten Aktivierungszeit. |
Für weitere Informationen zu den verschiedenen Skripttypen siehe Skripte.
Problemlösungstipps
Ein Werkzeug funktioniert vielleicht gut in Studio, aber nicht in einer Erlebnis. Wenn dies passiert, verwende die folgenden Tipps für die Fehlersuche:
- LocalScripts und Scripts können nicht direkt aufeinander hören, also musst du ein RemoteEvent hinzufügen, um nachrichten zwischen den beiden skripten zu senden.
- Stellen Sie sicher, dass jede Script und LocalScript nur sich um genau das kümmert, was es tun soll.
Für weitere Informationen zu RemoteEvents siehe Remote-Ereignisse und Rückrufe.