In-Experience-Tools sind interaktive Tools, die Benutzer in Sitzungen ausrüsten können, wie Schwerter, Raketenwerfer und magische Zauberstäbe. Sie können benutzerdefinierte In-Experience-Tools erstellen, sie in deiner Erfahrungshierarchie platzieren und Skripte aufrufen, um sie für Benutzer zu implementieren.
Erstellen eines In-Experience-Tools
Für den ersten Schritt der Erstellung eines In-Experience-Tools musst du ein Werkzeug-Objekt erstellen, um alle Elemente zu enthalten, aus denen das Werkzeug besteht. Du kannst dann andere Instanzen zum Werkzeug-Objekt hinzufügen, einschließlich Teile und Meshes, Soundeffekte und Skripte, die Funktionalität bieten. Du kannst auch ein <
Das Werkzeug-Objekt erstellen
Du kannst ein neues Tool-Objekt mit den folgenden Schritten erstellen:
In dem Explorer-Fenster bewegen Sie den Mauszeiger über Workspace und klicken Sie auf die Schaltfläche ⊕ , um die Objektliste anzuzeigen.
Wähle Werkzeug unter der Interaktion Kategorie.
Teile oder Meshes hinzufügen
Nachdem du das Werkzeug-Objekt erstellt hast, musst du Parts oder MeshParts zum Werkzeugmodell hinzufügen oder Class.Tool als Inventar-Objekt erstellen , ohne Teile und Meshes. Wie andere Modelle kannst in-Experience-Tools aus mehreren 2>Class
Wenn Sie ein Werkzeug erstellen möchten, ohne Teile oder Meshes hinzuzufügen, können Sie es als Inventar-Artikel erstellen .
Tool-Griff einstellen
Um Benutzern zu ermöglichen, Werkzeuge herumzutragen, musst du ein Part einrichten und es mit einem Handle benennen, um an den Benutzer zu binden. Das folgende Beispiel zeigt eine Zauberstab mit drei Teilen: einem leuchtenden Spitzen, dem Körperund einem roten Ziehpunkt. Wenn ein Benutzer den Stab ausrü
Stellen Sie sicher, dass Sie nur einen Part mit dem Namen Handle haben. Wenn Sie mehrere Parts als 1> Handle1> namens haben, wählt das Werkzeug zufällig einen von ihnen als Handattributspunkt aus, der Fehler wie Benutzer, die Klingen von Schwertern anstelle von Hilfen halten, verursachen kann.
Anpassung der Werkzeuggrip-Ausrichtung
Wenn die Griffrichtung Ihres Toolfalsch ist, z. B. wenn Sie auf dem Boden ziehen oder nach hinten schauen, können Sie es korrigieren, indem Sie Grip-Eigenschaften unter der Aussehen-Kategorie im Eigenschaften-Fenster anpassen.
Da die ideale Grifforientierung für jedes Werkzeug unterschiedlich ist, musst du mit der Änderung der Werte neben der GripForward, GripRight und GripUp-Eigenschaften experimentieren, bis dein Toolrichtig aussieht. Das folgende Beispiel zeigt mögliche falsche und richtige Griffe für einen Zauberstab:
Sie können auch Benutzercharaktere ermöglichen, Werkzeuge von ihrer Hand mit der GripPos Eigenschaftenabzugleichen. Dies kann nützlich sein, wenn Sie ein Werkzeug, das auf der Schulter des Benutzers erscheinen soll, abflachen möchten.
Tool-Symbol anpassen
Tools, die ein Benutzer besitzt, werden in seinem Backpack gespeichert. Benutzer können das Symbol jedes Werkzeugs in ihren Rucksäcken auf einer Aktion-Leiste anzeigen:
In dem Eigenschaften -Fenster des Toolverwenden Sie die folgenden Eigenschaften, um das Aussehen des Toolin der Action-Leiste anzupassen:
- Textur-ID — Das Tool-Symbol. Setzen Sie die Bild-ID für diese Eigenschaft auf die gleiche Weise wie Aufkleber- und Bild-Schaltflächen.
- ToolTip — der Name des On-Hover-Werkzeug-Tipps.
Benutzer aktivieren und deaktivieren, um Werkzeuge fallen zu lassen
Standardmäßig kann ein Benutzer ein Werkzeug fallen lassen, indem er die Rücktaste auf Windows oder die löschen auf Mac drückt. Sie können diese Option deaktivieren, indem Sie das CanBeDropped-Eigenschaft des Werkzeugs auf false setzen . Wenn <
Tools erstellen als Inventar-Items
Du kannst auch ein In-Experience-Werkzeug ohne Teile oder Meshes als Inventar-Artikel erstellen, der auf Benutzer-Eingaben wartet, z. B. einen Zauber, den Benutzer-Charaktere andere anklicken oder berühren können, um ihn zu werfen. Inventar-Artikel-Tools erfordern keine Griffe, so musst du die RequiresHandle-Eigenschaft im Werkzeug-Fenster Eigenschaften nicht deaktivieren.
Fügen Sie Werkzeuge zu Ihrem Erlebnis hinzu
Sobald du dein Tooleingerichtet hast, musst du es in den richtigen Bereich der Objekt-Hierarchie deines Erlebnisses platzieren. Wo du das Werkzeug innerhalb der Objekt-Hierarchie des Erlebnisses platzierst, hängt von seinem beabsichtigten Verwendungszweck ab.
Standard-Startwerkzeug
Wenn Sie möchten, dass alle Benutzer mit einem Werkzeug in ihrem Inventar beginnen, legen Sie es in den StarterPack -Ordner. Wenn ein Benutzer spawnet, kopiert das System das Werkzeug in seinen Rucksack.
Sammlerstool
Wenn Sie Benutzern erlauben möchten, Werkzeuge zu sammeln, wenn sie sich Verschiebungswerkzeug, können Sie die Werkzeuge in der Arbeitsbereich in der Explorer Hierarchie platzieren. Zum Beispiel möchten Sie möglicherweise einen Super-Raketenwerfer in einem schwer zugänglichen Bereich Ihrer Weltplatzieren.
Verdientes und gekauftes Werkzeug
Wenn Sie ein Werkzeug als Belohnung einstellen möchten, wenn ein Benutzer etwas Besonderes tut oder es im Storeanbietet, um es zu verkaufen, legen Sie das Werkzeug in ServerStorage in der Explorer-Hierarchie, die das Werkzeug zum richtigen Zeitpunkt in den Rucksack des Benutzers klonen kann.
Fügen von Werkzeug-Effekten hinzufügen
Nachdem du deine Werkzeuge zu deinem Erlebnis hinzugefügt hast, kannst du Skripte hinzufügen, um Benutzern zu ermöglichen, mit Werkzeugen spezielle Effekte zu erstellen.
Tool-spezifische Ereignisse
Sie können die folgenden vier Werkzeug-spezifischen Bedingungen verwenden, um den Zustand des Werkzeugs und die Eingabe des Benutzers mit ihm in Ihrem Skript, das. PL: die Skriptsanzuzeigen:
Tool:Equipped() : Tritt auf, wenn der Benutzer das Werkzeug aus seinem Rucksack auswählt.
Tool:Unequipped() : Tritt auf, wenn der Benutzer das Werkzeug fallen lässt oder das Werkzeug wechselt.
Tool:Activated() : Tritt auf, wenn der Benutzer beginnt, das Werkzeug zu aktivieren (klickt, tippt oder drückt A auf einer Gamepad).
Tool:Deactivated() : Tritt auf, wenn der Benutzer die Aktivierungseingabe stoppt (버튼 oder Berührung freigibt).
Obwohl Sie vielleicht nicht alle vier Bedingungen erfüllen müssen, wenn Sie ein Toolentwerfen, können Sie das folgende Code-Skript als Standard-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)
Dieser Codebeispiel annimmt, dass das Skript ein Erwachsener Kind innerhalb des Werkzeug-Objekts ist. Wenn das Skript anderswo ist, stellen Sie den Pfad in Zeile 1 (der Wert von tool ) ein, um auf das Kern-Tool-Objekt zu zeigen.
Ein Basic-Skript hinzufügen
Das folgende Beispiel zeigt Schritte, um ein Script auf dem Server hinzuzufügen, auf dem Benutzer einen magischen Zauberstab ausrüsten können, der Tag und Nacht wechseln kann, indem er auf den Bildschirm klickt:
In dem Explorer-Fenster bewegen Sie den Mauszeiger über das Werkzeug-Objekt und klicken Sie auf die Schaltfläche ⊕, um ein Script einzufügen.
Kopiere den folgenden Code und füge ihn in dein 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 deine Erlebnisse, indem du das Werkzeug aufhebst und dann auf dem Bildschirm deines Erlebnisses klickst, um zwischen Tag und Nacht zu wechseln:
Unterschiedliche Arten von Skripten für die Einrichtung von Werkzeugen
Einige Tools erfordern nur eine Script auf dem Server zum Einrichten, wie das vorherige Beispiel, aber die meisten Tools erfordern sowohl ein Script auf dem Server als auch ein LocalScript auf dem Client, in dem jedes die Verhaltensweise des Werkzeugs verwaltet.
Bevor du deine Skripte hinzufügst, stelle sicher, dass du den Unterschied zwischen jedem eingebenverstehst:
- Skript managiert Änderungen innerhalb der gesamten Erfahrungswelt, die für alle Benutzer sichtbar sind, wie das Entsperren einer Tür und das Schießen eines Pfeils.
- LocalScript managiert Dinge, die nur auf dem Gerät des Benutzers passieren, wie das Festellen der Position, an der sie den Bildschirm berühren oder klicken.
Hier sind einige Beispiel-Tools und ihre Verhaltensweisen, die von einem lokalen Skript oder einem Skript, das. PL: die Skriptsverwaltet werden:
Werkzeug | Lokales Skript | Server-Skript |
---|---|---|
Creator's Wand | Erkennt, wo der Spieler auf dem Bildschirm berührt oder klickt. | Erstellt einen neuen Teil an der Position innerhalb der Spielwelt, bei der der Spieler berührt oder geklickt hat. |
Unsichtbarkeits-Umhang | Macht den Spieler für andere Benutzer unsichtbar, während der Mantel ausgerüstet ist. | |
Mega-Bogen | Erkennt, wie lange der Spieler das Werkzeug aktiviert (Zeit zwischen der Aktivierung und Deaktivierung). | Schießt einen magischen Pfeil mit größerer oder kleinerer Kraft, abhängig von der erkannten Aktivierungszeit. |
For more information on the different script types, see Skripte .
Troubleshooting-Tipps
Ein Werkzeug kann in Studio gut funktionieren, aber nicht in einer Live-Roblox-Erlebnissen. Wenn dies passiert, verwenden Sie die folgenden Tipps für die Fehlerbehebung:
- LocalScripts und Scripts können nicht direkt miteinander hören, so musst du einen RemoteEvent hinzufügen, um Nachrichten zwischen den beiden Skripts zu senden.
- Stellen Sie sicher, dass jedes Script und LocalScript nur das kümmert, was es tun sollte.
For more information on RemoteEvents , see Remote-Events und Rückrufe .