Benutzer und Spieler

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

Wenn sich ein Benutzer einem Erlebnis anschließt, repräsentiert Roblox ihn als Spieler im Modell.Das Objekt Player enthält Informationen über den Benutzer, die über alle Erlebnisse universell sind, wie seine Benutzername, Freundesliste, gespeicherter Avatar-Charakter und eingeben, sowie Eigenschaften, Methoden und Ereignisse, die den Lebenszyklus des Benutzers zwischen dem Beitritt und dem Verlassen Ihrer Erfahrung beeinflussen.

Der Players enthält alle Player in einem Erlebnis.Jedes Player Objekt repräsentiert einen Benutzer im Erlebnis, und es ist Eltern von vier wichtigen Containern, die Sie verwenden können, um das Erlebnis eines Benutzers anzupassen: Backpack , StarterGear , PlayerGui und PlayerScripts.

Lebenslauf

Client- und Serverseitenscripte können beide auf die Players.PlayerAdded- und Players.PlayerRemoved-Ereignisse zugreifen, um Aktionen auszuführen, in Reaktion auf den Lebenszyklus eines Player-Objekts.Sie können sich auch mit den Player.CharacterAdded , Player.CharacterRemoving und Humanoid.Died -Ereignissen verbinden, um Spielaktionen auszuführen, wenn der Charakter spawnet, despawnt und stirbt.

Verwende Skripte, um auf serverbezogene Dienste zuzugreifen, wie einen Datenspeicher, um Daten abzurufen und zu speichern, wenn ein Benutzer beitritt oder verlässt.Verwende LocalScripts, wenn der Client muss Spielinstanzen erstellen und entfernen, die mit dem neuen Benutzer verbunden sind, wie zum Beispiel ein GUI-Display für die Statistiken des Benutzers auf einer benutzerdefinierten Bestenliste.

Benutzer beitreten

Wenn sich ein Client mit einem Erlebnis verbindet, klont sein zugeordnetes Player Objekt zum Players Dienst.Die Players.PlayerAdded repräsentiert Benutzer, die sich der Erfahrung anschließen.Einige Beispiele für Anwendungsfälle umfassen das Laden von Benutzerdaten, das Zuweisen von Teams und das Ändern der Kleidung eines Benutzers.Das Ereignis Players.PlayerAdded überträgt das Player Objekt des Benutzers, der beitritt, das Sie verwenden können, wenn Sie andere Funktionen aufrufen, wie Data Store und RemoteEvent Objekte.

Lade Benutzerdaten beim Beitritt

Um die Daten eines Benutzers zu laden, wenn er sich einem Erlebnis anschließt, verwende das Players.PlayerAdded-Ereignis in einem Script.Das folgende Beispiel Script hört auf das Ereignis und versucht, die Daten eines Benutzers mit seiner Benutzer-ID als Schlüsselabzurufen.Nach der erfolgreichen Abrufung der Benutzerdaten kannst du sie verwenden, um den Fortschritt und die Statistiken des Benutzers zu laden.


local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("Players").PlayerAdded:Connect(function(player)
local userId = player.UserId
-- Lesen Sie den Schlüssel des Datenspeichers
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- Machen Sie weitere Aktionen mit currentData
end)

Benutzer verlässt

Wenn ein Client sich von einem Erlebnis trennt, zerstört der Server sein zugeordnetes Player Objekt aus dem Players Dienst.Das Players.PlayerRemoving repräsentiert Benutzer, die die Erfahrung verlassen.Einige Beispiele für Anwendungsfälle umfassen das Speichern von Benutzerdaten, das Entfernen ihrer Statistiken aus einem Ergebnisboard und das Zerstören eines ihrer Modelle, wie z. B. ihres Hauses.Das Ereignis Players.PlayerRemoving überträgt das Player Objekt des Benutzers, der geht, das Sie verwenden können, wenn Sie andere Funktionen aufrufen, wie Data Store und RemoteEvent Objekte.

Beachten Sie, dass das Ereignis Player.PlayerRemoving genannt wird, nicht Player.PlayerRemoved, weil "entfernt" bedeuten würde, dass das Player Objekt bereits entfernt ist und daher für Skripte nicht zugänglich ist.

Speichern von Benutzerdaten beim verlassen

Um die Daten eines Benutzers zu speichern, wenn er eine Erlebnisverlässt, verwende das Players.PlayerRemoving -Ereignis in einem Script.Das folgende Beispiel Script hört auf das Ereignis und versucht, die Daten eines Benutzers mit seiner Benutzer-ID als Schlüsselzu speichern.

Skript in ServerScriptService

local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("Players").PlayerRemoving:Connect(function(player)
local userId = player.UserId
-- Holen Sie sich den Datenstatus des Spieler:inim Spiel
local currentData = getCurrentData(player)
-- In den Storespeichern
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

Zeichenerzeugung

Das Modell eines Benutzers Player.Character repräsentiert seinen Avatar.Standardmäßig ist Player.CharacterAutoLoads wahr und das Charaktermodell eines Benutzers wird automatisch generiert, wenn er sich der Erlebnisanschließt.Wenn Player.CharacterAutoLoads falsch ist, musst du Player:LoadCharacter() anrufen, um den Charakter manuell zu spawnen.

Wenn der Player.Character eines Benutzers spawnt, klonen sich Skripte und Lokale Skripte in StarterCharacterScripts in das Charaktermodell und das Player.CharacterAdded Ereignis wird ausgelöst.Das Ereignis Player.CharacterAdded übermittelt das neue Charaktermodell an alle Event-Listen, die du verwenden kannst, um das Objekt des Charakters zu finden Humanoid und sein Verhalten zu modifizieren.Zum Beispiel können Sie Humanoid:ApplyDescription() verwenden, um das Outfit des Avatars zu ändern, und Humanoid.WalkSpeed oder Humanoid.JumpHeight um die Bewegung des Avatars zu modifizieren.

Zeichen despawnen

Wenn der Körper des Spieler:inHumanoid stirbt, fallen seine Körperteile auf den Boden und das Humanoid.Died Ereignis wird ausgelöst.Der Server entfernt automatisch das Charaktermodell und alle Skripte darin nach einer Zeit, die die Eigenschaft Players.Respawntime bestimmt.Du kannst das Ereignis Player.CharacterRemoving verwenden, um andere Objekte zurückzusetzen, die mit dem Charakter verbunden sind, wie das Netzwerkbesitz eines Fahrzeugs, das sie fuhren.

Spielersterbisse zählen

Du kannst das Ereignis Humanoid.Died verwenden, um die Bewertung für einen Kill zu handhaben oder ein benutzerdefiniertes Ragdoll-Modell zu erstellen.Das folgende Script verbindet sich mit Player.CharacterAdded um das Charaktermodell eines jeden Benutzers abzurufen, und verbindet sich dann mit dem Charakter-Objekt Humanoid.Wenn das Ereignis des Humanoiden Humanoid.Died ausgelöst wird, erhöht das Skript die Anzahl der Male, in denen der Humanoid des Benutzers gestorben ist, und gibt diese Anzahl aus.

Skript in ServerScriptService

game:GetService("Players").PlayerAdded:Connect(function(player)
local deaths = 0
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid.Died:Connect(function()
deaths += 1
print(player.Name .. " death count: " .. deaths)
end)
end)
end)

Benutzer verbieten

Um die Höflichkeit und das faire Spielen in deinen Erlebnissen zu gewährleisten, kannst du Benutzer verbieten, die deine Erfahrungsregeln und Community-Richtlinien verletzen.Du kannst Verbotsdauern, Verbotnachrichten und sogar Verbote auf potenzielle alternative Konten erweitern.Wenn Sie diese Funktion verwenden, müssen Sie sich auch an Richtlinien für Verbot und Nachrichten halten.

Für Implementierungs- und Verwendungsinstruktionen siehe Players.BanAsync.

Verbotrichtlinien

Wenn du Verbote in deiner Erlebnisimplementierst, halte dich an die folgenden Richtlinien:

  • Erfahrungsregeln dürfen nicht gegen Roblox' Community-Standards und Nutzungsbedingungen widersprechen.
  • Ersteller müssen ihre Erfahrungsregeln klar festlegen, wo alle Benutzer auf sie zugreifen können.
  • Ersteller müssen ihre Erfahrungsregeln gerecht anwenden und nicht willkürlich bestimmte Benutzer anvisieren.
  • Benutzer können sich direkt an die Ersteller wenden, wenn sie glauben, dass ihr Ban falsch war.
    • Roblox wird diese Beschwerden nicht vermitteln, es sei denn, der Creator:inglaubt, dass die Erfahrungsregeln des Erstellers oder die Durchsetzung seiner Regeln gegen die Community-Standards verstoßen.
  • Roblox kann ein Erlebnis moderieren, wenn es Anlass zu glauben gibt, dass die Erfahrungsregeln oder die Durchsetzung der Regeln eines Creator:ingegen die Community-Standards verstoßen.

Nachrichtenrichtlinien

Wenn ein Benutzer gebannt wird, erhält er eine Fehlermeldung, die Informationen wie die Sperrdauer und den Grund anzeigt.In der textgefilterten Nachricht kannst du zusätzliche Informationen wie Beschwerden oder Kontaktinformationen einfügen, solange du Roblox' Community-Standards erfüllst.

Zum Beispiel sind in deinen Sperrmeldungen Referenzen zu Markennamen und Plattformen erlaubt:

  • „Besuche den Discord auf meiner Gruppen-/Erfahrungsseite“
  • „Nachrichten Sie mich auf Twitter oder X"

Erwähnungen persönlicher Informationen oder direkter Links sind in diesem Nachrichtenfeld nicht erlaubt.Dazu gehören das Veröffentlichen eines bestimmten Benutzernamens oder einer Ziehpunkt, oder die Bereitstellung eines direkten Links zu einem Discord-Server oder X-Konto.

Containern

Das Player Objekt speichert mehrere wichtige Container:

Rucksack

Der Player.Backpack Container speichert das Inventar des Benutzers.Die Objekte in der Anzeige eines Benutzers in seinem Inventar am unteren Rand seines Bildschirms.Wenn ein Benutzer eine Tool aus dem Inventar auswählt, rüstet er sie aus und sie bewegt sich von der Player.Backpack auf die Player.Character .

Wenn der Player.Character eines Benutzers spawnt, werden die Inhalte des StarterPack Dienstes und ihre Player.StarterGear Klone auf seine Player.Backpack übertragen.Wenn der Charakter stirbt, zerstört der Client seine Backpack und ersetzt es durch eine neue.

Die Backpack speichert und führt auch Scripts und LocalScripts, auf die sowohl der Client als auch der Server Zugriffkönnen.

Roblox bietet ein Interface für einen Spieler, um auf seine Backpack und Inventar am unteren Rand des Bildschirms zuzugreifen.Um die Standard-Roblox-Rucksack-GUI zu deaktivieren und sie durch eine besitzenzu ersetzen, rufe StarterGui:SetCoreGuiEnabled() in einem LocalScript auf.Für weitere Informationen, siehe StarterGui.

Starterausrüstung

Der StarterGear Container klont seine Inhalte auf den Benutzer Player.Backpack, wenn sein Charakter spawnt.Zusätzlich, wenn dein Ort Ausrüstung erlaubt und ein Benutzer Ausrüstung besitzt, werden die Tool Objekte ihres Ausrüstungsklons zu ihren Player.StarterGear , wenn sie Spawn.

Im Gegensatz zu StarterPack ist Player.StarterGear kein Service, sondern vielmehr ein Kind jedes Player Objekts, so dass seine Inhalte benutzerpezifisch sind.Jeder Benutzer kann verschiedene Tool Objekte innerhalb seiner Player.StarterGear haben.Um Player.StarterGear zu verwenden, aktiviere Ausrüstung in der Einstellungsseite deines Erlebnisses unter Berechtigungen .Auf der Berechtigungsseite kannst du durch Ausrüstung durch ihren eingebenaktivieren.Um Ausrüstung zu deaktivieren, wähle ihren eingebenaus.

Teste Spiele immer, nachdem du ihnen Ausrüstung hinzugefügt hast, um zu überprüfen, dass Benutzer sie dort nicht leicht missbrauchen können.Ausrüstung beinhaltet Script Objekte und ermöglicht es dem Spieler, Aktionen auszuführen, die du vielleicht nicht betrachten würdest.Zum Beispiel könnte ein Navigationsausrüstung dem Spieler erlauben, einen Teil der Karte zuzugreifen, den du nicht zugänglich machen möchtest.Waffen ermöglichen es Spielern mit Ausrüstung, anderen Spielern Schaden zuzufügen, möglicherweise ohne Rache oder Vergeltung.

SpielerGui

Der PlayerGui Container speichert Objekte, die die grafische Benutzeroberflächedes Spieler:inerstellen.Wenn ein ScreenGui ein Nachkomme eines PlayerGui ist, wird jedes GuiObject innerhalb des ScreenGis auf dem Bildschirm des Spieler:inangezeigt.Jede LocalScript läuft, wenn sie sich zu PlayerGui klont.Wenn sich der Spieler:inzum ersten Mal Player.Character spawnen lässt, werden alle Inhalte von StarterGui automatisch in den Spieler:inPlayerGui kopiert.

Wenn Players.CharacterAutoLoads auf false gesetzt ist, wird der Charakter nicht Spawn, und die Inhalte von StarterGui werden nicht kopiert, bis Player:LoadCharacter() aufgerufen wird.Wenn StarterGui.ResetPlayerGuiOnSpawn auf wahr gesetzt ist, werden jedes Mal, wenn der Charakter des Spieler:inrespawniert, alle Inhalte von diesem Spieler:inPlayerGui gelöscht und durch die Inhalte von StarterGui ersetzt.

Spieler脚本e

Wenn sich ein Benutzer der Erlebnisanschließt, werden die Inhalte im StarterPlayer.StarterPlayerScripts -Container zu PlayerScripts kopiert. Alle lokalen Skripte und Modulskripte werden ausgeführt, wenn sie kopiert werden.

Im Gegensatz zu den Containern Backpack und PlayerGui ist der PlayerScripts Container nicht zugänglich für den Server, und der PlayerScripts Container eines Benutzers wird nicht zurückgesetzt, wenn sein Charakter stirbt und wiederbelebt wird.Server-seitige Objekte laufen auch nicht, wenn sie mit verbunden sind.Der PlayerScripts-Container ist nützlich für Skripte, die nicht an den Lebenszyklus eines Benutzers gebunden sind, wie das allgemeine Chat-System oder Steuerung.