Dienste

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

In Code wiederverwenden haben Sie vielleicht die häufige Verwendung der Methode game:GetService() bemerkt. Roblox-Dienste ermöglichen den Zugriff auf die integrierten Funktionen der Engine, wie das Verkaufen von In-Game-Items, das Aktivieren des Chats, das Abspielen von Geräuschen, das Animieren von Objekten und das Verwalten von Instanzen.

Tatsächlich sind Dienste der erste Schritt im fundamentalsten, häufigsten Muster der Roblox-Entwicklung:

  1. Dienste abrufen.
  2. Modul-Skripte erfordern.
  3. Lokale Funktionen hinzufügen.
  4. Die Ereignisse hinzufügen, die diese Funktionen auslösen.

Zum Beispiel möchten Sie vielleicht die Position der Spieler in der Welt speichern, wenn sie Ihr Spiel verlassen:


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Lokale Funktion, die eine wiederverwendbare Funktion im Modul-Skript aufruft.
local function saveProgress(character)
-- Die Position des Charakters des Spielers abrufen.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Die Funktion saveData im Modul-Skript verwenden, die in den
-- DataStoreService schreibt.
SaveManager.saveData(character, position)
end
-- Eine weitere lokale Funktion, die saveProgress() aufruft, wenn ein Charakter
-- aus dem Spiel entfernt wird (in diesem Fall, wenn der Spieler das Spiel verlässt).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Ruft onPlayerAdded auf, wenn ein Spieler sich zum ersten Mal mit dem Spiel verbindet.
Players.PlayerAdded:Connect(onPlayerAdded)

Einige wichtige Details umfassen:

  • Da Sie einen Dienst in einem Skript nur einmal abrufen sollten, ist es üblich, der Variablen denselben Namen wie dem Dienst zu geben. Diese Konvention gilt auch für Modul-Skripte.
  • Sie rufen Dienste mit der globalen Variablen game ab, einem Verweis auf die Wurzel des Datenmodells.
  • Roblox gibt keine Garantien über die Ladeordnung (und Instanz-Streaming kompliziert weiter, was zu einem bestimmten Zeitpunkt geladen ist und was nicht), sodass die Verwendung von Instance:WaitForChild() eine wichtige Sicherheitsmaßnahme ist.

Anstatt Standardbibliotheken, globale Funktionen und Variablen oder Bibliotheken von Drittanbietern zu vergleichen, besteht ein wesentlicher Teil der Roblox-Entwicklung darin, zu identifizieren, welche der vielen Dienste Ihnen helfen können, die gewünschte Funktionalität zu Ihren Spielen hinzuzufügen. Im obigen Beispiel verwenden Sie anstelle einer Standard-I/O-Bibliothek, um auf die Festplatte zu schreiben, Cloud-Dienste, um Daten zu speichern.

Container-Dienste

Container-Dienste können andere Objekte enthalten und beeinflussen. Diese Container-Dienste befinden sich an der Wurzel des Datenmodells und sind im Explorer-Fenster von Studio sichtbar. Zusammen bilden diese Container-Dienste eine strukturierte Hierarchie für das Datenmodell, sodass die Roblox-Engine Ihren Ort richtig interpretieren und rendern kann. Die folgende Tabelle enthält einige gängige Container-Dienste.

DienstBeschreibung
WorkspaceEnthält alle Objekte, die in der 3D-Welt gerendert werden, wie Teile und Terrain.
LightingEnthält Objekte zum Einstellen universeller Lichteffekte, wie Atmosphere und Sky.
ReplicatedStorage und ReplicatedFirstEnthalten Inhalte und Logik, die zwischen Server und Client repliziert werden.

Um das Datenmodell weiter zu untersuchen, können Sie diese Methoden verwenden:

  • game:FindService() sucht nach der Instanz des angegebenen Dienstes.
  • game:GetChildren() gibt ein Array aller Wurzelkinder des Datenmodells zurück, das die obersten Container-Dienste sind.
  • game:GetDescendants() gibt ein Array aller Nachkommen des Datenmodells zurück, einschließlich aller Container-Dienste und deren Kinder.

Für weitere Informationen zu Container-Diensten siehe die Datenmodell-Dokumentation.

Skript-Dienste

Skript-Dienste bieten standardmäßige Funktionalitäten in der Roblox-Engine, die Sie in Skripten aufrufen. Die folgende Tabelle enthält einige gängige Skript-Dienste.

DienstBeschreibung
TweenServiceWird verwendet, um numerische Eigenschaften anderer Instanzen von einem Start- zu einem Endwert zu interpolieren, mit Optionen für Easing-Richtung und -Stil, Wiederholung und Verzögerung.
MarketplaceServiceDer Dienst, der für Transaktionen im Spiel verantwortlich ist, wie das Auffordern des Spielers, ein Entwicklerprodukt, ein Abonnement, einen Pass, Roblox Premium usw. zu kaufen.
RunServiceEnthält Methoden und Ereignisse für das Zeitmanagement von Frame zu Frame sowie zur Überprüfung des Kontexts (Server, Client, Studio-Modus), in dem das Spiel läuft. Nützlich, um jeden Prozess oder Update in jedem Laufzeit-Frame auszuführen.
SoundServiceSteuert verschiedene globale Aspekte, wie Audio in einem Spiel abgespielt wird, wie die Doppler-Skala und volumetrisches Audio. Kann auch Soundgruppen enthalten, um die Lautstärke und die dynamischen Effekt-Eigenschaften mehrerer Audiosignale gleichzeitig zu steuern.
CollectionServiceVerwaltert Gruppen (Sammlungen) von Instanzen mit Tags, die vom Server zum Client repliziert werden, sodass Sie einfacher Gruppen verwandter Instanzen zuweisen und damit arbeiten können.

Cloud-Dienste

Roblox hat auch spezielle Cloud-Dienste zum Handhaben von Aufgaben und Prozessen, die in der Roblox-Cloud stattfinden. Die folgende Tabelle enthält einige gängige Cloud-Dienste.

DienstBeschreibung
DataStoreServiceZum Speichern persistenter Daten über Sitzungen hinweg.
MemoryStoreServiceZum Speichern häufiger und kurzlebiger Daten, die sich schnell ändern.
MessagingServiceFür die Kommunikation zwischen mehreren Servern während Live-Sitzungen.

Cloud-Dienste haben auch entsprechende Web-APIs; sie sind von externen Skripten oder Tools aus zugänglich. Für weitere Informationen siehe Open Cloud.

©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.