Benutzer und Spieler

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

Wenn ein Benutzer einer Erlebnisbeitritt, stellt Roblox sie als Spieler im Modelldar. Das Player -Objekt enthält Informationen über den Benutzer, der über Erfahrungen hinweg universell ist, wie z. B. seinen Benutzernamen, seine Freundesliste, gespeicherten Avatar-Charakter und eingeben, sowie Eigenschaft

Der Players -Dienst enthält alle Player -Instanzen in einem Erlebnis. Jedes Player -Objekt repräsentiert einen Benutzer im Erlebnis und wird von vier wichtigen Containern, die Sie verwenden können, um die

Lebenszyklus

Client- und Server-Skripte können beide auf die Players.PlayerAdded und Players.PlayerRemoved -Ereignisse verbinden, um Aktionen in der Reaktion auf den Lebenszyklus eines Class.

Verwenden Sie Skripte, um auf serverbezogene Dienste zuzugreifen, wie z. B. einen Datenspeicher, um Daten wiederherzustellen und zu speichern, wenn ein Benutzer beitritt oder verlässt. Verwenden Sie lokale Skripte, wenn der Client ein Spiel-Instanz für den Benutzer auf einer benutzerdefinierten Bestenliste erstellt und entfernt.

Benutzer beitreten

Wenn sich ein Client mit einem Erlebnis verbindet, werden seine zugeordneten Player -Objekte in den Class.Players -Dienst aufgenommen. Das

Laden von Benutzerdaten beim Beitreten

Um die Daten eines Benutzers zu laden, wenn er einem Erlebnis beitritt, verwenden Sie das Ereignis Players.PlayerAdded in einem Script . Die folgende Beispielliste Script hört auf das Ereignis und versucht, den Fortschritt eines Benutzers mit seiner Benutzer-ID als Datenspeicher-Schlüssel zu erhalten. Nach dem erfol


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

Benutzer verlassen

Wenn sich ein Client von einem Erlebnis abmelden, zerstört der Server sein verbundenes Player-Objekt aus dem Class.Players

Beachten Sie, dass das Ereignis Player.PlayerRemoving genannt wird, nicht Player.PlayerRemoved, da "entfernt" impliziert, dass das Player -Objekt bereits entfernt ist und daher für Skripte nicht zugänglich ist.

Benutzerdaten beim Verlassen des Spiels speichern

Um die Daten eines Benutzers zu speichern, wenn sie eine Erlebnisverlassen, verwenden Sie das Players.PlayerRemoving -Ereignis in einem Script . Die folgende Beispielliste Script hört auf das Ereignis und versucht, die Daten eines Benutzers mit seiner Benutzer-ID als Schlüsselzu speichern.

Script 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 Zustand der Daten des Spieler:inim Spiel
local currentData = getCurrentData(player)
-- In den Daten-Store speichern
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

Charakter-Spawn

Ein Benutzer- Player.Character -Modell repräsentiert seinen Avatar. Standardmäßig ist Player.CharacterAutoLoads wahr, und ein Benutzer-Charakter-Modell wird automatisch gespawnt, wenn sie dem Erlebnis beitreten. Wenn Player.CharacterAutoLoads falsch ist, müssen Sie 1>

Wenn ein Benutzer의

Charakter-Despawning

Wenn der Spieler:inClass.Humanoid stirbt, fallen seine Körperteile auf den Boden und das Ereignis Class.Humanoid.Died wird ausgelöst. Der Server entfernt automatisch das Charaktermodell und alle Skripte innerhalb von ihm nach der Menge der Zeit, die die Class.Players.Respawnt

Anzahl der Spieler-Todesfälle zählen

Sie können das Ereignis Humanoid.Died verwenden, um die Punktezahl für einen Kill zu verarbeiten oder ein benutzerdefiniertes Ragdoll-Modell zu erstellen. Das folgende Script verbindet

Script 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 Zivilität und fairen Spiel in deinen Erlebnissen zu gewährleisten, kannst du Benutzer, die gegen deine Erlebnisregeln und Community-Richtlinien verstoßen, sperren. Du kannst die Dauer von Sperren, Nachrichten und sogar Sperren auf potenzielle alternative Konten anpassen. Wenn du diese Funktion verwendest, musst du auch Richtlinien für Bannen und Nachrichten folgen.

Für Umsetzungs- und Verwendungsinstruktionen, siehe Players.BanAsync.

Verbannungsrichtlinien

Bei der Einführung von Verbots in deiner Erlebnissolltest du die folgenden Richtlinien beachten:

  • Erfahrungsregeln dürfen nicht widersprechen zu Roblox's Community Standards und Nutzungsbedingungen .
  • Ersteller müssen ihre Erfahrungsregeln irgendwo öffentlich zugänglich machen, damit alle Benutzer sie verstehen können.
  • Ersteller müssen ihre Erfahrungsregeln für bestimmte Benutzer anwenden, und nicht willkürlich auf bestimmte Benutzer zielen.
  • Benutzer können sich direkt an Ersteller wenden, wenn sie glauben, dass ihre Sperre ungerecht ist.
    • Roblox wird diese Ansprüche nicht abwenden, 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 Anzeichen gibt, dass die Erfahrungsregeln eines Creator:inoder die Durchsetzung seiner Regeln gegen die Community-Standards verstoßen.

Nachrichtenrichtlinien

Wenn ein Benutzer gesperrt wird, erhält er eine Fehler-Moda, die Informationen anzeigt, wie die Ban-Länge und der Grund. Im Text-Filtered-Nachrichten können Sie zusätzliche Informationen wie Anfragen oder Kontakt-Informationen hinzufügen, solange Sie die Community-Standards von Roblox erfüllen.

In deinen Verbotsnachrichten zum Beispiel sind es dir erlaubt, Markennamen und Plattformen zu referenzieren:

  • „Besuche die Discord-Seite in meiner Gruppe/meiner Erfahrung“
  • „Nachrichten Sie mich auf Twitter oder X“

Persönliche Informationen oder direkte Links sind in diesem Nachrichten-Feld nicht erlaubt. Dies beinhaltet das Posten eines bestimmten Benutzernamens oder eines Ziehpunktoder die Bereitstellung eines direkten Links zu einem Discord-Server oder X-Konto.

Container

Das Player-Objekt speichert mehrere wichtige Container:

Rucksack

Der Player.Backpack Container speichert das Inventar des Benutzers. Die Tool Objekte in einem Benutzer의 Backpack Display in ihrem Inventar am unteren Rand ihres Bildschirms. Wenn ein Benutzer ein 1>Class.Tool1>

Wenn ein Benutzer의 Class.Player.Character생성, the 콘텐츠 des Class.StarterPack -Dienstes und their Class.Player.StarterGear -Klone zu their Class.Player.Backpack . Wenn der Charakter stirbt, the клиент zerstört their Class.Backpack und ersetzt es mit einem neuen.

Der Backpack speichert und läuft auch Scripts und LocalScripts, die der Client und der Server beide Zugriffsind.

Roblox bietet eine Oberfläche für einen Spieler, um auf seinen Backpack und Inventar am unteren Rand des Bildschirms zuzugreifen. Um die Standard-Roblox-Rucksack-GUI zu deaktivieren und sie mit deiner besitzenzu ersetzen, rufe StarterGui:SetCoreGuiEnabled() in einem LocalScript auf. Weitere Informationen findest du unter StarterGui.

StarterGetriebe

Der StarterGear Container klont seine Inhalte in den Player.Backpack des Benutzers, wenn sein Charakter spawnet. Darüber hinaus, wenn dein Platz Zulassungen für Ausrüstung und ein Benutzer Zulassungen für Ausrüstung besitzt, klont die Tool Objekte seiner Spawnzu ihrem 1> Class.Player

Anders als StarterPack , Player.StarterGear ist kein Dienst, sondern vielmehr ein Kind jedes

Testen Sie immer Spiele, nachdem Sie ihnen Gear hinzugefügt haben, um zu überprüfen, dass Benutzer sie nicht leicht missbrauchen können. Gear enthält Script Objekte und ermöglicht es dem Spieler, Aktionen auszuführen, die Sie möglicherweise nicht betrachten. Zum Beispiel kann ein Navigationsausrüstung den Spieler auf einen Teil der Karte zugreifen lassen, den Sie nicht möchten.

Spieler-Gui

Der Class.PlayerGui Container speichert Objekte, die die Benutzeroberfläce des Spieler:inerstellen. Wenn ein ScreenGUI Nachkommen eines Class.PlayerGui

Wenn Players.CharacterAutoLoads auf falsch gesetzt ist, wird der Charakter nicht Spawnund StarterGui Inhalte werden nicht kopiert, bis Player:LoadCharacter() aufgerufen. Wenn Class.StarterGui

Spieler-Skripte

Wenn ein Benutzer der Erlebnisbeitritt, wird der Inhalt in StarterPlayer.StarterPlayerScripts Container-Klon in PlayerScripts ausgeführt. Alle lokalen Skripte und Modul-Skripte werden ausgeführt, wenn sie klonen.

Anders als die Class.Player'- und Class.PlayerGui-Container, ist der Class.PlayerScripts-Container nicht auf den Server zug