In-Game-Tools

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

In-Game Tools sind interaktive Werkzeuge, die Spieler in Sitzungen ausrüsten können, wie Waffen, Zauberstäbe, Taschenlampen, Schlüssel und mehr. Sie können Werkzeuge entwerfen und sie im Inventar eines Spielers enthalten oder sie in der Welt als Aufhebbares platzieren.

Erstellen Sie ein In-Game-Tool

Das Tool-Objekt ist die Grundlage jedes Werkzeugs in Roblox, daher müssen Sie eines erstellen. Es ist einfacher, eine Vorschau darauf zu erhalten, wie ein Werkzeug aussieht, indem Sie es im Workspace entwerfen; später können Sie es zu einem Inventar -Element oder einem verdienten/gkauften Element machen.

  1. Bewegen Sie im Explorer -Verzeichnis den Mauszeiger über Workspace, klicken Sie auf die -Schaltfläche und fügen Sie ein Tool hinzu.

    Tool-Objekt im Arbeitsbereich erstellt
  2. Wählen Sie das neue Tool aus, greifen Sie auf das Eigenschaften -Fenster zu, und passen Sie an, wie das Werkzeug im Inventar des Spielers angezeigt wird:

    • TextureId — Gibt die Bild-Asset-ID für das Werkzeug im Inventar eines Spielers an.
    • ToolTip — Der Tooltip-Name beim Hover für das Werkzeug im Inventar eines Spielers.
  3. Entscheiden Sie, ob das Werkzeug ein physisches Werkzeug in der 3D-Umgebung (am häufigsten) oder ein nicht-physisches Werkzeug sein soll, das einfach das Inventar eines Spielers besetzt und auf deren Eingaben reagiert.

Physisches Werkzeug

Nachdem Sie die Tool-Instanz für ein physisches Werkzeug erstellt haben, müssen Sie Teile/Modelle hinzufügen, um dessen Erscheinung in der 3D-Welt zu gestalten. Sie müssen auch einen Griff einfügen, den die Spielcharaktere halten.

Teile/Modelle hinzufügen

In-Game-Tools können aus einem oder mehreren Parts und/oder MeshParts bestehen. Wenn Sie das Werkzeug aus mehreren Teilen konstruieren, denken Sie daran, sie alle miteinander zu verbinden, indem Sie WeldConstraints oder andere mechanische Einschränkungen verwenden, damit das Werkzeug als Einheit intakt bleibt, während der Spieler es trägt.

Einschränkungsauswahlen, die in der Studio-Toolbar angezeigt werden

Den Griff festlegen

Um es Spielern zu ermöglichen, Werkzeuge zu tragen, muss ein Teil des Werkzeugs Handle genannt werden. Hier wird das Werkzeug an das RightHand-Teil des Charaktermodells (R15) oder das Rechte Arm Teil (R6) angeschlossen.

Wenn das Werkzeug nur aus einem MeshPart besteht, benennen Sie dieses Teil einfach Handle. Andernfalls können Sie ein separates Teil mit dem Namen Handle als direktes Kind des übergeordneten Tool einfügen und es dann mit einer WeldConstraint oder einer mechanischen Einschränkung daran befestigen.

Das folgende Beispiel zeigt ein Werkzeug mit drei Instanzen: dem Handle-Mesh, einer RopeConstraint und einem Laternen-Mesh, das von dem Seil hängt.

Die Griffposition/-ausrichtung anpassen

Die Grip-Eigenschaft des Werkzeugs ist ein CFrame, das angibt, wie das Werkzeug relativ zum Charakter positioniert und ausgerichtet ist, der es hält.

Da die ideale Griffposition/-ausrichtung für jedes Werkzeug unterschiedlich ist, müssen Sie mit den Werten experimentieren, bis der Griff Ihres Werkzeugs korrekt aussieht. Das folgende Beispiel zeigt mögliche falsche und korrekte Grip-Einstellungen für die hängende Laterne:

Laterne, die mit Grip.Position von (0, -2, 0) und Grip.Orientation von (-90, 0, 0) über dem Boden zieht
Laterne vor dem Charakter mit Grip.Position von (0, -1.5, 0) und Grip.Orientation von (25, 0, 0)

Nicht-physisches Werkzeug

Ein nicht-physisches Tool besetzt einfach das Inventar eines Spielers und reagiert auf deren Eingaben. Beispielsweise könnte ein Rollenspiel eine Reihe von magischen Zaubern enthalten, die Spieler über ihr Inventar "wirken" können.

Nicht-physische Werkzeuge erfordern keine 3D-Zusammensetzung und verwenden kein Handle-Teil, daher sollten Sie die RequiresHandle-Eigenschaft des Werkzeugs deaktivieren:

Werkzeuge zu einem Spiel hinzufügen

Nachdem Sie Ihr In-Game-Tool erstellt haben, müssen Sie es im richtigen Bereich des Explorer -Verzeichnisses platzieren. Wo Sie das Werkzeug im Verzeichnis platzieren, hängt von der beabsichtigten Verwendung ab.

Spielerinventar

Wenn Sie möchten, dass alle Spieler zu Beginn mit einem Werkzeug in ihrem Inventar starten, legen Sie es im StarterPack-Container ab. Wenn ein Spieler spawn, kopiert das System das Werkzeug in seinen Backpack. Von dort aus kann der Spieler das Werkzeug ausrüsten, indem er auf das Inventar-Icon klickt oder die zugehörige Schnellwahltaste wie 1 oder 2 drückt.

Beachten Sie, dass Werkzeuge in der Reihenfolge, in der sie zu StarterPack hinzugefügt wurden, in das Inventar des Spielers (Backpack) kopiert werden. Für eine kontrolliertere Anordnung können Sie ein LocalScript zu StarterPack hinzufügen, das die Werkzeuge vorübergehend nach ReplicatedStorage verschiebt und sie dann in der in der order-Tabelle angegebenen Reihenfolge neu zuordnet.

Inventar neu anordnen

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local order = {"WaterSpell", "FireSpell", "AirSpell", "EarthSpell"}
local backpack = script.Parent
for _, item in backpack:GetChildren() do
if item:IsA("Tool") then
item.Parent = ReplicatedStorage
end
end
-- Werkzeuge in der angegebenen Reihenfolge neu zuordnen
for i = 1, #order do
local tool = ReplicatedStorage:FindFirstChild(order[i])
if tool then
tool.Parent = backpack
end
end

Sammlbares Werkzeug

Wenn Sie Spielern erlauben möchten, physische Werkzeuge zu sammeln, während sie die 3D-Welt erkunden, platzieren Sie die Werkzeuge im Workspace, genau wie normale 3D-Objekte. Gesammelte Werkzeuge werden automatisch ausgerüstet und dem Inventar des Spielers hinzugefügt (Sie müssen keine zusätzliche Kollisionsdetektion hinzufügen, damit Charaktere das Werkzeug greifen können).

Wie im Abschnitt Teile/Modelle hinzufügen erwähnt, sollten Werkzeugteile typischerweise nicht Anchored sein, da die Spielcharaktere an Ort und Stelle hängen bleiben, wenn sie ein verankertes Werkzeug aufheben oder ausrüsten. Wenn Sie jedoch ein sammelbares Werkzeug an einem bestimmten Ort in der 3D-Welt verankern möchten, z. B. leicht über dem Boden schwebend, können Sie das folgende Script zum Werkzeug hinzufügen, um seine Teile beim Einsammeln zu entriegeln.

Werkzeug beim Ausrüsten/Sammeln entriegeln

local tool = script.Parent
tool.Equipped:Connect(function()
for _, part in tool:GetDescendants() do
if part:IsA("BasePart") and part.Anchored then
part.Anchored = false
end
end
end)

Verdientes/gkauftes Werkzeug

Wenn Sie Werkzeuge als Belohnungen festlegen möchten, wenn Spieler Aufgaben erfüllen, oder Werkzeuge zum Verkauf in einem In-Game-Shop anbieten möchten, legen Sie diese Werkzeuge in ReplicatedStorage. Von dort aus können Sie mit Clone() ein Werkzeug zur richtigen Zeit in den Backpack des Spielers einfügen.

Werkzeug ins Inventar des Spielers klonen

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local player = Players.LocalPlayer
local backpack = player:WaitForChild("Backpack")
-- Erstelle einen Klon des Werkzeugs
local tool = ReplicatedStorage:FindFirstChild("WaterSpell")
if tool then
local clone = tool:Clone()
clone.Parent = backpack -- Fügt den Klon dem Inventar des Spielers hinzu
end

Werkzeug-Effekte implementieren

Nachdem Sie Werkzeuge zu Ihrem Spiel hinzugefügt, können Sie Skripte implementieren, um es Spielern zu ermöglichen, ihre Werkzeuge zu nutzen und die gewünschten Aktionen auszuführen. Die folgenden werkzeugspezifischen Ereignisse geben den Zustand des Werkzeugs und die Eingaben des Spielers damit an.

  • Equipped() — Wird ausgelöst, wenn der Spieler das Werkzeug aus seinem Rucksack auswählt.
  • Unequipped() — Wird ausgelöst, wenn der Spieler das Werkzeug wechselt oder ablegt.
  • Activated() — Wird ausgelöst, wenn der Spieler beginnt, das Werkzeug zu aktivieren (klickt, tippt oder drückt den hinteren rechten Abzug eines Gamepads).
  • Deactivated() — Wird ausgelöst, wenn der Spieler die Aktivierungseingabe stoppt (die Taste oder Berührung loslässt).
Werkzeug-Ereignis-Vorlage

local tool = script.Parent
local function onEquip()
print(tool.Name, "Werkzeug ausgerüstet")
end
local function onUnequip()
print(tool.Name, "Werkzeug abgenommen")
end
local function onActivate()
print(tool.Name, "Werkzeug aktiviert")
end
local function onDeactivate()
print(tool.Name, "Werkzeug deaktiviert")
end
tool.Equipped:Connect(onEquip)
tool.Unequipped:Connect(onUnequip)
tool.Activated:Connect(onActivate)
tool.Deactivated:Connect(onDeactivate)

Werkzeugereignisse werden nur in clientseitigen LocalScripts ausgelöst, da nur das Gerät des Spielers weiß, wann Eingaben erfolgen. Daher erfordern die meisten Werkzeuge sowohl ein LocalScript als auch ein serverseitiges Script, wobei jeder bestimmte Aspekte des Verhaltens des Werkzeugs behandelt und ein RemoteEvent Informationen vom Client zum Server überträgt (siehe Remote-Ereignisse und Rückrufe für weitere Informationen).

Nachfolgend sind Beispielwerkzeuge und deren Verhalten aufgeführt, die entweder von einem LocalScript oder einem Script verwaltet werden:

WerkzeugLocalScriptScript
SchöpferstabErfasst, wo der Spieler das Werkzeug aktiviert (Activated()).Erstellt ein neues Teil an dem Ort innerhalb der 3D-Welt, an dem der Spieler berührt oder klickt.
UnsichtbarkeitsumhangErfasst, wenn der Spieler das Werkzeug anlegt (Equipped()) oder das Werkzeug ablegt (Unequipped()).Stellt den Spieler für alle anderen Spieler unsichtbar dar, während der Umhang angelegt ist, und stellt den Spieler bei Abnahme des Umhangs wieder vollständig sichtbar dar.
Mega-BogenErfasst, wie lange der Spieler das Werkzeug aktiviert (Zeit zwischen Activated() und Deactivated()).Schießt einen magischen Pfeil mit größerer oder geringerer Kraft, abhängig von der erfassten Aktivierungszeit.
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.