Players
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Die Players -Dienstleistung enthält Player -Objekte für angeschlossene Clients zu einem Roblox-Server. Sie enthält auch Informationen über die Konfiguration eines Ortes. Sie kann Informationen über nicht an den Server verbundene Spieler, wie Charakteranzeigen, Freunde und Miniaturansicht, abrufen.
Zusammenfassung
Eigenschaften
Aktiviert oder deaktiviert die drei Players -M Methoden ( BanAsync() , UnbanAsync() und 1> Class.Players:GetBanHistoryAsync()|GetBanHistoryAsync()1> ) die die Ban-API bilden. Diese Eigenschaft ist nicht skript
Zeigt an, ob der Blasenchat aktiviert ist oder nicht. Es wird mit der Methode Players:SetChatStyle() gesetzt.
Zeigt an, ob Class.Character|Characters automatisch respawnen wird.
Zeigt an, ob der klassische Chat aktiviert ist oder nicht; wird durch die Methode Players:SetChatStyle() festgelegt.
Das Player, für das die LocalScript läuft.
Die maximale Anzahl von Spielern, die in einem Server sein können.
Die bevorzugte Anzahl von Spielern für einen Server.
Steuert die Zeit, die ein Spieler-Charakter zum Respawn benötigt.
Methoden
Macht den lokalen Spieler den gegebenen Nachrichten.
Gibt das Player mit dem angegebenen UserId zurück, wenn sie im Spiel sind.
Gibt die Player zurück, deren Character der angegebene Instanz entspricht, oder nil wenn einer nicht gefunden werden kann.
Kehre eine Tabelle aller derzeit verbundenen Player Objekte zurück.
Setzt, ob BubbleChat und ClassicChat verwendet werden, und sagt TeamChat und Chat, was zu tun ist.
Macht den LocalPlayer Chat, der gegebene Nachricht anzeigt, die nur Benutzer im selben Team anzeigen können.
Verbietet Benutzer von deiner Erlebnis, mit Optionen, um die Dauer, den Grund, ob der Ban auf das gesamte Ortangewandt wird, und mehr. Diese Methode wird durch die Players.BanningEnabled Eigenschaftenaktiviert und deaktiviert, die du in Studio umschalten kannst.
- CreateHumanoidModelFromDescription(description : HumanoidDescription,rigType : Enum.HumanoidRigType,assetTypeVerification : Enum.AssetTypeVerification):Model
Rüstet ein Charaktermodell aus, das mit allen im Menschlichen Beschreibung angegebenen Dingen ausgerüstet ist, und ist R6 oder R15, wie in der RigType angegeben.
Kehrt ein Charakter-Modell-Set mit allem aus, was dem Avatar des Benutzers entspricht, der in der Pass-ID angegeben ist.
Rufe die Ban- und Entbannungsgeschichte eines Benutzers innerhalb des Universumauf. Dieser Methode wird durch die Players.BanningEnabled Eigenschaftenaktiviert und deaktiviert, die Sie in Studio umschalten können.
Gibt Informationen über das Aussehen eines bestimmten Benutzers zurück.
Zurückgibt ein FriendPages Objekt, das Informationen für alle gegebenen Spieler:inenthält.
Gibt die HumanoidDescription für ein bestimmtes Outfit zurück, das mit den Teilen/Farben/Animationen usw. des Outfits festgelegt wird.
Gibt eine HumanoidDescription zurück, die alles beschreibt, was für den Avatar des Benutzers angepasst wurde, der in der angegebenen Benutzer-ID spezifiziert ist.
Sendet eine Anfrage an die Roblox-Website für den Benutzernamen eines Kontos mit einer bestimmten UserId .
Sendet eine Anfrage an die Roblox-Website für den userId eines Kontos mit einem bestimmten Benutzernamen.
- GetUserThumbnailAsync(userId : number,thumbnailType : Enum.ThumbnailType,thumbnailSize : Enum.ThumbnailSize):Tuple
Gibt die Inhalts-URL eines Spielers zurück, der Größe und eingebenanzeigt, sowie einenBoolean, der anzeigt, ob das Bild bereit zum Verwenden ist.
Spieler, die von Players:BanAsync() oder der Benutzer-Einschränkungen-Open-Cloud-API gebannt sind, werden nicht erlaubt. Dieser Methode wird durch die Players.BanningEnabled Eigenschaftenaktiviert und deaktiviert, die Sie in Studio umschalten können.
Ereignisse
Feuert, wenn ein Spieler das Spiel betritt.
Feuert, wenn der Spielserver erkennt, dass die Mitgliedschaft eines Spieler:ingeändert wurde.
Feuert, wenn ein Spieler das Spiel verlassen ist.
Feuert, wenn der Spielserver erkennt, dass der Status des Benutzers für einen bestimmten Abonnement geändert sich.
Eigenschaften
BanningEnabled
Aktiviert oder deaktiviert die drei Players -M Methoden ( BanAsync() , UnbanAsync() und 1> Class.Players:GetBanHistoryAsync()|GetBanHistoryAsync()1> ) die die Ban-API bilden. Diese Eigenschaft ist nicht skript
BubbleChat
Die BubbleChat-Eigenschaft zeigt an, ob der Bubble-Chat aktiviert ist oder nicht. Sie wird mit der Class.Players:SetChatStyle() -Methode gesetzt, die die Enums.ChatStyle -Enum verwendet.
Wenn dieser Chat-Modus aktiviert ist, werden die Spieler-Chats in der Chat-Benutzeroberfläche oben links auf dem Bildschirm angezeigt.
Es gibt zwei andere Chat-Modi, Players.ClassicChat und einen Chat-Modus, in dem sowohl klassischer als auch Blasen-Chat aktiviert sind.
CharacterAutoLoads
Die CharacterAutoLoads-Eigenschaft zeigt an, ob Class.Character|Characters automatisch respawnen wird. Der Standardwert ist true.
Wenn diese Eigenschaft deaktiviert ist ( false), wird der Spieler Class.Character|Characters nicht spawnen, bis die Funktion Player:LoadCharacter() für jeden Player aufgerufen wird, einschließlich der Zeit, in der Spieler der Erlebnisbeitreten.
Dies kann in Erfahrungen nützlich sein, in denen Spielerfinite Lifes haben, wie kompetitive Spiele, in denen Spieler nicht respawnen, bis eine Spielrunde endet.
Code-Beispiele
local Players = game:GetService("Players")
-- Set CharacterAutoLoads to false
Players.CharacterAutoLoads = false
-- Remove player's character from workspace on death
Players.PlayerAdded:Connect(function(player)
while true do
local char = player.CharacterAdded:Wait()
char.Humanoid.Died:Connect(function()
char:Destroy()
end)
end
end)
-- Respawn all dead players once every 10 seconds
while true do
local players = Players:GetChildren()
-- Check if each player is dead by checking if they have no character, if dead load that player's character
for _, player in pairs(players) do
if not workspace:FindFirstChild(player.Name) then
player:LoadCharacter()
end
end
-- Wait 10 seconds until next respawn check
task.wait(10)
end
ClassicChat
Zeigt an, ob der klassische Chat aktiviert ist oder nicht. Dieses Eigenschaft wird durch die Class.Players:SetChatStyle() -Methode mit dem еньClass.ChatStyle -Erum gesetzt.
Wenn dieser Chat-Modus aktiviert ist, werden die Spieler-Chats in Blasen über dem Kopf des Senders angezeigt.
Es gibt zwei andere Chat-Modi, Players.BubbleChat und einen Chat-Modus, in dem sowohl klassischer als auch Bubble-Chat aktiviert sind.
LocalPlayer
LocalPlayer ist eine nur zu lesende Eigenschaft, die auf den Client des Player verweist, der die Erlebnisausführt.
Dieses Eigenschaft wird nur für LocalScripts und ModuleScripts von ihnen definiert, da sie auf dem Client ausgeführt werden. Für den Server, auf dem Script Objekte ihren Codesausführen, ist diese Eigenschaft 1> nil1> .
MaxPlayers
Die MaxPlayers -Eigenschaft bestimmt die maximale Anzahl von Spielern, die auf einem Server sein können. Diese Eigenschaft kann nur durch die Einstellungen eines bestimmten Ortes im Creator-Dashboard oder durch die Spieleinstellungen festgelegt werden.
PreferredPlayers
Die PreferredPlayers-Eigenschaft zeigt die Anzahl der Spieler an, zu denen der Roblox-Matchmaker-Server füllen wird. Diese Zahl wird weniger sein als die maximale Anzahl an Spielern ( Players.MaxPlayers ) unterstützt durch die Erlebnis.
RespawnTime
Die RespawnTime -Eigenschaftsteuert die Zeit, in Sekunden, die ein Spieler braucht, um zu respawnen, wenn Players.CharacterAutoLoads wahr ist. Standardmäßig beträgt sie 5.0 Sekunden.
Dies ist nützlich, wenn Sie möchten, wie lange es dauert, bis Sie wiederbelebt werden, basierend auf der Art Ihres Erlebnisses, aber nicht möchten, Spieler individuell wiederzubeleben.
Obwohl diese Eigenschaft von innerhalb eines Script festgelegt werden kann, können Sie sie einfacher über das Players-Objekt in Studio's Explorer-Fenster festlegen.
UseStrafingAnimations
Methoden
Chat
Diese Funktion macht den lokalen Spieler den gegebenen Nachricht. Da dieses Item geschützt ist, wird ein Versuch, es in einem Script oder LocalScript zu verwenden, ein Fehler verursachen.
Stattdessen, wenn Sie ein benutzerdefiniertes Chat-System erstellen oder ein System, das Zugriff auf den Chat benötigt, verwenden Sie stattdessen die Chat -Funktion der Class.Chat:Chat() -Dienste.
Parameter
Die Nachricht chatt.
Rückgaben
Code-Beispiele
-- Command bar
game:GetService("Players"):Chat("Hello, world!") --Results in 'Hello, world!' appearing in the Chat log under your Player's name.
-- Script
local Players = game:GetService("Players")
Players:Chat("Hello, world!") --Errors
GetPlayerByUserId
Diese Funktion sucht jeden player in Players für einen, dessen Player.UserId der angegebene UserId entspricht. Wenn ein solcher Spieler nicht existiert, gibt er einfach 1> nil1> zurück. Es ist gleichbedeutlich mit der folgenden Funktion:
local Players = game:GetService("Players")
local function getPlayerByUserId(userId)
for _, player in Players:GetPlayers() do
if player.UserId == userId then
return player
end
end
end
Diese Methode ist nützlich, um den Käufer eines Entwicklerprodukts mit MarketplaceService.ProcessReceipt zu finden, der eine Tabelle bietet, die den Käufer-User-ID enthält und nicht eine Verweisung auf das Player-Objekt selbst. Die meisten Spielen erfordern eine Verweisung auf den Spieler, um Produkte zu gewähren.
Parameter
Der Player.UserId des Spielers, der angegeben wird.
Rückgaben
Code-Beispiele
local Players = game:GetService("Players")
local player = Players:GetPlayerByUserId(1)
if player then
print("Player with userId 1 is in this server! Their name is: " .. player.Name)
else
print("Player with userId 1 is not in this server!")
end
local MarketplaceService = game:GetService("MarketplaceService")
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
-- Data store for tracking purchases that were successfully processed
local purchaseHistoryStore = DataStoreService:GetDataStore("PurchaseHistory")
-- Table setup containing product IDs and functions for handling purchases
local productFunctions = {}
-- ProductId 123123 for a full heal
productFunctions[123123] = function(_receipt, player)
-- Logic/code for player buying a full heal (may vary)
if player.Character and player.Character:FindFirstChild("Humanoid") then
-- Heal the player to full health
player.Character.Humanoid.Health = player.Character.Humanoid.MaxHealth
-- Indicate a successful purchase
return true
end
end
-- ProductId 456456 for 100 gold
productFunctions[456456] = function(_receipt, player)
-- Logic/code for player buying 100 gold (may vary)
local stats = player:FindFirstChild("leaderstats")
local gold = stats and stats:FindFirstChild("Gold")
if gold then
gold.Value = gold.Value + 100
-- Indicate a successful purchase
return true
end
end
-- The core 'ProcessReceipt' callback function
local function processReceipt(receiptInfo)
-- Determine if the product was already granted by checking the data store
local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
local purchased = false
local success, result, errorMessage
success, errorMessage = pcall(function()
purchased = purchaseHistoryStore:GetAsync(playerProductKey)
end)
-- If purchase was recorded, the product was already granted
if success and purchased then
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif not success then
error("Data store error:" .. errorMessage)
end
-- Determine if the product was already granted by checking the data store
local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
local success, isPurchaseRecorded = pcall(function()
return purchaseHistoryStore:UpdateAsync(playerProductKey, function(alreadyPurchased)
if alreadyPurchased then
return true
end
-- Find the player who made the purchase in the server
local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
if not player then
-- The player probably left the game
-- If they come back, the callback will be called again
return nil
end
local handler = productFunctions[receiptInfo.ProductId]
local success, result = pcall(handler, receiptInfo, player)
-- If granting the product failed, do NOT record the purchase in datastores.
if not success or not result then
error("Failed to process a product purchase for ProductId: " .. tostring(receiptInfo.ProductId) .. " Player: " .. tostring(player) .. " Error: " .. tostring(result))
return nil
end
-- Record the transaction in purchaseHistoryStore.
return true
end)
end)
if not success then
error("Failed to process receipt due to data store error.")
return Enum.ProductPurchaseDecision.NotProcessedYet
elseif isPurchaseRecorded == nil then
-- Didn't update the value in data store.
return Enum.ProductPurchaseDecision.NotProcessedYet
else
-- IMPORTANT: Tell Roblox that the game successfully handled the purchase
return Enum.ProductPurchaseDecision.PurchaseGranted
end
end
-- Set the callback; this can only be done once by one script on the server!
MarketplaceService.ProcessReceipt = processReceipt
GetPlayerFromCharacter
Diese Funktion gibt die Player zurück, die mit dem angegebenen Player.Character oder nil verbunden ist, oder 2>nil2> ist, wenn einer nicht gefunden werden kann. Es ist gleichbedeutend mit der folgenden Funktion:
local function getPlayerFromCharacter(character)
for _, player in game:GetService("Players"):GetPlayers() do
if player.Character == character then
return player
end
end
end
Diese Methode wird oft verwendet, wenn einige Ereignisse in dem Charakter eines Spieler:infeuern (z. B. ihre Humanoid ) dying ). Solche Ereignisse können nicht direkt auf das Spieler-Objekt beziehen, aber diese Methode bietet einfachen Zugriff. Der Gegensatz dieser Funktion kann als Erhalt des Charakters eines Spielers beschrieben werden. Um dies zu tun, klic
Parameter
Eine Charakterinstanz, von der du den Spieler bekommen möchtest.
Rückgaben
Code-Beispiele
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local PLAYER_NAME = "Nightriff"
local character = Workspace:FindFirstChild(PLAYER_NAME)
local player = Players:GetPlayerFromCharacter(character)
if player then
print(`Player {player.Name} ({player.UserId}) is in the game`)
else
print(`Player {PLAYER_NAME} is not in the game!`)
end
GetPlayers
Diese Methode gibt eine Tabelle zurück, in der alle derzeit verbundenen Player-Objekte aufgeführt sind. Sie funktioniert auf die gleiche Weise, Instance:GetChildren() , mit der Ausnahme, dass sie nur Objekte Player findet, die unter 1> Class.Players1> . Wenn sie mit
local Players = game:GetService("Players")for _, player in Players:GetPlayers() doprint(player.Name)end
Skripte, die sich mit Players.PlayerAdded verbinden, versuchen oft, jeden Spieler zu verarbeiten, der sich dem Spiel anschließt. Diese Methode ist nützlich, um über bereits verbundene Spieler zu wiederholen, die nicht feuern PlayerAdded. Wenn Sie diese Methode verwenden, werden keine Spieler übersäte!
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print("Player: " .. player.Name)
end
for _, player in Players:GetPlayers() do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Rückgaben
Eine Tabelle, die alle Spieler im Server enthält.
Code-Beispiele
local Players = game:GetService("Players")
local function onCharacterAdded(character)
-- Give them sparkles on their head if they don't have them yet
if not character:FindFirstChild("Sparkles") then
local sparkles = Instance.new("Sparkles")
sparkles.Parent = character:WaitForChild("Head")
end
end
local function onPlayerAdded(player)
-- Check if they already spawned in
if player.Character then
onCharacterAdded(player.Character)
end
-- Listen for the player (re)spawning
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
SetChatStyle
Diese Funktion setzt fest, ob BubbleChat und ClassicChat verwendet werden, und sagt TeamChat und Chat, was zu tun ist, verwenden Sie das Enum.ChatStyle-열열. Da dieses Item geschützt ist, wird ein Versuch, es in einem Script oder LocalScript zu verwenden, einen Fehler verursachen.
Diese Funktion wird intern verwendet, wenn der Chat-Modus durch das Spiel festgelegt wird.
Parameter
Der angegebene Chat-Stil wird festlegen.
Rückgaben
Code-Beispiele
-- Command bar
game.Players:SetChatStyle(Enum.ChatStyle.Classic) -- Set's chat style to Classic
-- LocalScript
local Players = game:GetService("Players")
Players:SetChatStyle(Enum.ChatStyle.Classic) -- Errors
TeamChat
Diese Funktion macht den Players.LocalPlayer Chat, der die gegebene Nachricht anzeigt, die nur Benutzer im selben Team anzeigen können. Da dieses Item geschützt ist, wird das Versuchen, es in einem Script oder LocalScript zu verwenden, zu einem Fehler führen.
Diese Funktion wird intern verwendet, wenn der Players.LocalPlayer eine Nachricht an sein Team sendet.
Parameter
Die Nachricht wird chattet.
Rückgaben
Code-Beispiele
-- Command bar
game.Players:TeamChat("Hello World") -- Sends a "Hello World" message to all players on the local player's team
-- LocalScript
local Players = game:GetService("Players")
Players:TeamChat("Hello World") -- Errors
BanAsync
Die Methode Players:BanAsync() ermöglicht es Ihnen, Benutzer, die gegen die Richtlinien Ihres Erlebnisses verstoßen, leicht zu verbieten. Sie können die Verbotsdauer, die Ban-Anpassung an verdächtige Konten aktivieren und dem Benutzer eine Nachricht nach den N
Bannen und Messaging
Verbotene Benutzer werden sofort vertrieben und können nicht wieder an Ihren Erlebnissen teilnehmen. Sie werden mit einem Fehler-Modus präsentiert, der die Zeit auf ihrem Ban und Ihrem DisplayReason anzeigt. Roblox's Backend-Systeme können Spieler auf allen Servern, die Sie angeben, aus dem Ort(s) entfernen. DisplayReason
Orte und Universum
Standardmäßig gelten Verbote für jeden Ort innerhalb dieses Universums. Um den Ban nur auf den Ort zu beschränken, von dem diese API aufgerufen wird, konfigurieren Sie ApplyToUniverse auf false . Wenn ein Benutzer jedoch im Startort des Universums gebannt wird, wird der Benutzer effektiv aus dem gesamten Universum ausgeschlossen, unabhängig davon, ob ein universeller Ban aktiviert ist oder nicht.
Alternative Konten
Benutzer spielen oft unter mehreren verschiedenen Konten, die als alternative Konten oder Alt-Konten bekannt sind, die manchmal verwendet werden, um Benutzer-Verbote zu umgehen. Um Ihnen zu helfen, Benutzer auszuschließen, wird das Standardverhalten dieser API alle Verbote vom Quellkonto, den Sie gesperrt haben, auf jeden Ihrer verdächtigen Alt-Konten ausbreiten. Sie können die Verbreitung von Bans auf Alt-Konten deaktivieren,
Sperrdauer
Nicht alle Übertreten sind gleich, so dass nicht alle Verbote die gleiche Länge
Fehler und Throttling
Diese Methode ruft einen HTTP-Anruf bei Backend-Services auf, die unter Beschleunigung und möglicherweise Fehlern unterliegen. Wenn Sie diese API mit mehr als einem UserId aufrufen, versucht diese Methode, den HTTP-Anruf für jede ID auszuführen. Es wird dann alle Fehler-Nachrichten zusammenführen
HTTP failure for UserId 2: Timedout, HTTP 504 (Service unavailable) failure for UserId 4: Service exception
Die Nachricht enthält immer failure for UserId {} , wenn es sich um einen HTTP-Fehler handelt.
Kunden-seitige Anforderung
Aufgrund der Risiken, die mit dem Verbot von Benutzern verbunden sind, kann diese Methode nur auf der Backend-Erlebnisse-Server (client-seitige Anrufe ergeben einen Fehler) aufgerufen werden. Sie können diese API in Studio, während der kooperativen Schöpfungoder in einem Team-Test testen, aber die Verbote werden nicht auf die Produktion angewendet.
Diese API verwendet die Benutzer-Einschränkungen Open Cloud-API. Sie können diese APIs verwenden, um Ihre Verbote in Drittsoftware-Anwendungen zu verwalten.
Parameter
UserIds (benötigt; Array) — Array von UserIds von Spielern, die gebannt werden sollen. Maximale Größe ist 50.
ApplyToUniverse (optional;Boolean) — Ob der Ban-Status auf alle Orte im Erlebnis-Universum ausbreitet. Standard ist true.
Duration (erforderlich; ganzzahlig) — Dauer des sperren, in Sekunden. Permanente Bans sollten einen Wert von -1 haben. 0 und alle anderen negativen Werte sind ungültig.
DisplayReason (erforderlich;String) — Die Nachricht, die Benutzern angezeigt wird, wenn sie versuchen, einem Erlebnis beizutreten und zu scheitern. Die maximale Zeichenlänge beträgt 400.
PrivateReason (benötigt;String) — Internes Messaging, das beim Abrufen der Benutzer-Sperrgeschichte zurückgegeben wird. Die maximale Zeichenlänge beträgt 1000.
ExcludeAltAccounts (optional;Boolean) — Wenn true , Roblox versucht nicht, alternative Konten zu bannen. Standard ist false.
Rückgaben
Code-Beispiele
local Players = game:GetService("Players")
if shouldBeBanned(player: Player) then
local banHistoryPages = Players:GetBanHistoryAsync(player.UserId)
local duration = getNextBanDuration(banHistoryPages) -- Creator-implemented logic
local config: BanConfigType = {
UserIds = {player.UserId},
Duration = duration,
DisplayReason = "You violated community guideline #5",
PrivateReason = "Put anything here that the user should not know but is helpful for your records",
ExcludeAltAccounts = false,
ApplyToUniverse = true
}
local success, err = pcall(function()
return Players:BanAsync(config)
end)
print(success, err)
end
CreateHumanoidModelFromDescription
Rüstet ein Charaktermodell aus, das mit allen im Menschlichen Beschreibung angegebenen Dingen ausgerüstet ist, und ist R6 oder R15, wie in der RigType angegeben.
Parameter
Gibt die Aussehen des zurückgegebenen Charakters an.
Gibt an, ob der zurückgegebene Charakter R6 oder R15 sein wird.
Die Überprüfung des Asset-Typs bestimmt, ob diese Funktion Modelle laden wird, oder nicht (Sie sollten dies auf „Immer“ einstellen, wenn Sie keine nicht-katalogischen Assets laden möchten).
Rückgaben
Ein Humanoid-Charakter-Modell.
Code-Beispiele
game.Players:CreateHumanoidModelFromDescription(Instance.new("HumanoidDescription"), Enum.HumanoidRigType.R15).Parent = game.Workspace
CreateHumanoidModelFromUserId
Gibt ein Charakter-Modell-Set mit allem aus, was mit dem Avatar des Benutzers übereinstimmt, der von der Pass-ID angegeben wurde. Dies beinhaltet, ob dieser Charakter derzeit R6 oder R15 ist.
Parameter
Die Nutzer-ID für einen Roblox-Benutzer. (Die Nutzer-ID ist die Zahl im Profil des Benutzers z. B. www.roblox.com/users/1/profile).
Rückgaben
Ein Humanoid-Charakter-Modell.
Code-Beispiele
game.Players:CreateHumanoidModelFromUserId(1).Parent = game.Workspace
GetBanHistoryAsync
Ruft die Ban- und Unban-Historie eines Benutzers innerhalb des Universumwieder ab. Dieser Methoden gibt eine BanHistoryPages Instanz zurück, die von Pages erbt. Dieser Methoden ist durch die Class.Players.BanningEnabled Eigenschaften, die Sie in Studio umschalten können, aktiviert und deaktiviert.
Diese Funktionsaufruf wird nur auf Produktions-Spiel-Servern erfolgreich sein, nicht auf Client-Geräten oder in Studio.
Diese API verwendet die Benutzer-Einschränkungen Open Cloud-API. Sie können diese APIs verwenden, um Ihre Verbote in Drittsoftware-Anwendungen zu verwalten.
Parameter
Rückgaben
Siehe BanHistoryPages für Rückschlags.
GetCharacterAppearanceInfoAsync
Diese Funktion gibt Informationen über den Avatar eines Spieler:in(ohne Ausrüstung) auf der Roblox-Website in Form eines Dictionaries zurück. Sie sollte nicht mit GetCharacterAppearanceAsync verwechselt werden, die die Assets, die von dieser Methode beschriebenen Assets, wirklich laden. Sie können Class.InsertService:LoadAsset() verwenden,
<tr><td><code>assets</code></td><td>table (siehe unten)</td><td>Beschreibt die ausgerüsteten Assets (Hüte, Körperteile usw.)</td></tr><tr><td><code>KörperFarben</code></td><td>table (siehe unten)</td><td>Beschreibt die BrickColor-werte für jedes Glied</td></tr><tr><td><code>KörperFarbe3s</code></td><td>table (siehe unten)</td><td>Beschreibt die Color3-Instanz für jedes Glied, das möglicherweise nicht mit bodyColors perfekt übereinstimmt</td></tr><tr><td><code>defaultPantsApplied</code></td><td>boolean</td><td>Beschreibt, ob Standardhose angewendet wird</td></tr><tr><td><code>Standardhemd angewendet</code></td><td>boolean</td><td>Beschreibt, ob die Standard-Hemd angewendet wird</td></tr><tr><td><code>emotes</code></td><td>table (siehe unten)</td><td>Beschreibt die ausgerüsteten Emote-Animationen</td></tr><tr><td><code>Spieler-Avatar-Typ</code></td><td>string</td><td>Entweder "R15" oder "R6"</td></tr><tr><td><code>skaliert</code></td><td>table (siehe unten)</td><td>Beschreibt verschiedene Körperskalierungsfaktoren</td></tr>
Name | Typ | Beschreibung |
---|
Assets Unter-Table
Die assets Tabelle ist ein Array von Tabellen, die die folgenden Schlüssel enthält, die die Assets beschreiben, die der Spieler:inderzeit ausgerüstet hat:
<tr><td><code>id</code></td><td>nummer</td><td>Die Asset-ID des ausgerüsteten Objekt</td></tr><tr><td><code>Asset-Typ</code></td><td>tabelle</td><td>Eine Tabelle mit <code>Namen</code> und <code>id</code> Feldern, die jedes Mal beschreiben, welche Art von Asset ausgerüstet ist ("Hut", "Gesicht", usw.)</td></tr><tr><td><code>name</code></td><td>string</td><td>Der Name der ausgerüsteten Objekt</td></tr>
Name | Typ | Beschreibung |
---|
Skaliert Sub-Table
Die scales Tabelle hat die folgenden Schlüssel, jedes ein Class.HumanoidEigenschaften: bodyType, 1> head1>, 4> height4>, 7> proportion7>, 9> depth9>, 0> width
Körperfarben-Untertabelle
Die bodyColors Tabelle hat die folgenden Schlüssel, jedes eine Zahl, die entspricht einer BrickColor ID-Nummer, die mit BrickColor.new(id) :
Parameter
Die * Benutzer-ID des angegebenen Spieler:in.
Rückgaben
Ein Wörterbuch, das Informationen über das Aussehen eines bestimmten Benutzers enthält.
Code-Beispiele
local result = {
playerAvatarType = "R15",
defaultPantsApplied = false,
defaultShirtApplied = false,
scales = {
bodyType = 0,
head = 1,
height = 1.05,
proportion = 0,
depth = 0.92,
width = 0.85,
},
bodyColors = {
leftArmColorId = 1030,
torsoColorId = 1001,
rightArmColorId = 1030,
headColorId = 1030,
leftLegColorId = 1001,
rightLegColorId = 1001,
},
assets = {
{
id = 1031492,
assetType = {
name = "Hat",
id = 8,
},
name = "Striped Hat",
},
{
id = 13062491,
assetType = {
name = "Face Accessory",
id = 42,
},
name = "Vision Française ",
},
{
id = 16598440,
assetType = {
name = "Neck Accessory",
id = 43,
},
name = "Red Bow Tie",
},
{
id = 28999228,
assetType = {
name = "Face",
id = 18,
},
name = "Joyous Surprise",
},
{
id = 86896488,
assetType = {
name = "Shirt",
id = 11,
},
name = "Expensive Red Tuxedo Jacket",
},
{
id = 86896502,
assetType = {
name = "Pants",
id = 12,
},
name = "Expensive Red Tuxedo Pants",
},
{
id = 376530220,
assetType = {
name = "Left Arm",
id = 29,
},
name = "ROBLOX Boy Left Arm",
},
{
id = 376531012,
assetType = {
name = "Right Arm",
id = 28,
},
name = "ROBLOX Boy Right Arm",
},
{
id = 376531300,
assetType = {
name = "Left Leg",
id = 30,
},
name = "ROBLOX Boy Left Leg",
},
{
id = 376531703,
assetType = {
name = "Right Leg",
id = 31,
},
name = "ROBLOX Boy Right Leg",
},
{
id = 376532000,
assetType = {
name = "Torso",
id = 27,
},
name = "ROBLOX Boy Torso",
},
},
}
print(result)
GetFriendsAsync
Die GetFriends-Funktion Players gibt ein FriendPages -Objekt zurück, das Informationen für alle Freunde des Benutzers enthält. Die Elemente innerhalb des FriendPages -Objekts sind Tabellen mit den folgenden Feldern:
<tr><td>Identifizieren</td><td>int64</td><td>Die Benutzer-ID des Freund:in</td></tr><tr><td>Benutzername</td><td>string</td><td>Der Benutzernamedes Freund:in</td></tr><tr><td>Anzeigename</td><td>string</td><td>Der <code>Class.Player.DisplayName|Name des Freundes</code> ist der Freund:in.</td></tr>
Name | Typ | Beschreibung |
---|
Siehe die Code-Beispiele für einen einfachen Weg, über alle Freunde eines Spieler:inzu wiederholen.
Parameter
Die Benutzer-ID des Spielers, der angegeben wird.
Rückgaben
Code-Beispiele
local Players = game:GetService("Players")
local USERNAME = "Cozecant"
local function iterPageItems(pages)
return coroutine.wrap(function()
local pagenum = 1
while true do
for _, item in ipairs(pages:GetCurrentPage()) do
coroutine.yield(item, pagenum)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
pagenum = pagenum + 1
end
end)
end
-- First, get the user ID of the player
local userId = Players:GetUserIdFromNameAsync(USERNAME)
-- Then, get a FriendPages object for their friends
local friendPages = Players:GetFriendsAsync(userId)
-- Iterate over the items in the pages. For FriendPages, these
-- are tables of information about the friend, including Username.
-- Collect each username in a table
local usernames = {}
for item, _pageNo in iterPageItems(friendPages) do
table.insert(usernames, item.Username)
end
print("Friends of " .. USERNAME .. ": " .. table.concat(usernames, ", "))
GetHumanoidDescriptionFromOutfitId
Gibt die HumanoidDescription für eine bestimmte Outfit-ID zurück, die mit den Teilen/Farben/Animationen usw. des Outfits festgelegt wird. Ein Outfit kann von einem Benutzer erstellt sein, oder es kann das Outfit für ein Bündel erstellt haben, das von Roblox erstellt wurde.
Parameter
Die ID des Outfits, für das die HumanoidDescription gesucht wird.
Rückgaben
HumanoidDescription mit der Spezifikation für das패스 in outfitId.
Code-Beispiele
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function getOutfitId(bundleId)
if bundleId <= 0 then
return
end
local info = game.AssetService:GetBundleDetailsAsync(bundleId)
if not info then
return
end
for _, item in pairs(info.Items) do
if item.Type == "UserOutfit" then
return item.Id
end
end
return nil
end
local function getHumanoidDescriptionBundle(bundleId)
local itemId = getOutfitId(bundleId)
if itemId and itemId > 0 then
return Players:GetHumanoidDescriptionFromOutfitId(itemId)
end
return nil
end
local humanoidDescription = getHumanoidDescriptionBundle(799)
local humanoidModel = Players:CreateHumanoidModelFromDescription(humanoidDescription, Enum.HumanoidRigType.R15)
humanoidModel.Parent = Workspace
GetHumanoidDescriptionFromUserId
Gibt eine HumanoidDescription zurück, die alles beschreibt, was für den Avatar des Benutzers angepasst ist, der von der Pass-ID angegeben wurde. Enthält auch Schuppen und Körperfarben.
Parameter
Die Nutzer-ID für einen Roblox-Benutzer. (Die Nutzer-ID ist die Zahl im Profil des Benutzers z. B. www.roblox.com/users/1/profile).
Rückgaben
HumanoidDescription mit der in der Benutzeroberfläche des Benutzers angegebenen Spezifikation initialisiert.
Code-Beispiele
game.Players:CreateHumanoidModelFromDescription(game.Players:GetHumanoidDescriptionFromUserId(1), Enum.HumanoidRigType.R15).Parent = game.Workspace
GetNameFromUserIdAsync
Die GetNameFromUserIdAsync Players Funktion sendet eine Anfrage an die Roblox-Website, um zu fragen, welcher Benutzername des Kontos mit dem angegebenen UserId ist.
Diese Methode fehleret, wenn kein Konto mit dem angegebenen UserId existiert. Wenn Sie sicher sind, dass ein solches Konto existiert, ist es empfohlen, Anrufe mit dieser Funktion mit pcall zu wrappen. Darüber hinaus können Sie Ergebnisse manuell zwischen Anrufen mit dem gleichen UserId schnell zwischenspeichern. Siehe die Code-Beispiele, um mehr zu erfahren.
Parameter
Der Player.UserId des Spielers, der angegeben wird.
Rückgaben
Der Name eines Benutzers mit der angegebenen Player.UserId .
Code-Beispiele
local Players = game:GetService("Players")
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
local nameOne = Players:GetNameFromUserIdAsync(118271)
local nameTwo = Players:GetNameFromUserIdAsync(131963979)
print(nameOne, nameTwo)
-- prints: "RobloxRulez docsRule"
local Players = game:GetService("Players")
-- Create a table called 'cache' to store each 'Name' as they are found.
-- If we lookup a 'Name' using the same 'UserId', the 'Name' will come
-- from cache (fast) instead of GetNameFromUserIdAsync() (yields).
local cache = {}
function getNameFromUserId(userId)
-- First, check if the cache contains 'userId'
local nameFromCache = cache[userId]
if nameFromCache then
-- if a value was stored in the cache at key 'userId', then this 'nameFromCache'
-- is the correct Name and we can return it.
return nameFromCache
end
-- If here, 'userId' was not previously looked up and does not exist in the
-- cache. Now we need to use GetNameFromUserIdAsync() to look up the name
local name
local success, _ = pcall(function()
name = Players:GetNameFromUserIdAsync(userId)
end)
if success then
-- if 'success' is true, GetNameFromUserIdAsync() successfully found the
-- name. Store this name in the cache using 'userId' as the key so we
-- never have to look this name up in the future. Then return name.
cache[userId] = name
return name
end
-- If here, 'success' was false, meaning GetNameFromUserIdAsync()
-- was unable to find the 'name' for the 'userId' provided. Warn the user
-- this happened and then return nothing, or nil.
warn("Unable to find Name for UserId:", userId)
return nil
end
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- The first time a UserId is used, GetNameFromUserIdAsync() will be called
local nameOne = getNameFromUserId(118271)
local nameTwo = getNameFromUserId(131963979)
-- Because 118271 was previously used, get its Name from the cache
local nameOneQuick = getNameFromUserId(118271)
print(nameOne, nameTwo, nameOneQuick)
-- prints: "RobloxRulez docsRule RobloxRulez"
GetUserIdFromNameAsync
Diese Funktion sendet eine Anfrage an die Roblox-Website, um zu fragen, welche der Player.UserId des Kontos mit dem angegebenen Player-Namen ist.
Diese Methode fehleret, wenn kein Konto mit dem angegebenen Benutzernamen existiert. Wenn Sie sicher sind, dass ein solches Konto existiert, wird empfohlen, Anrufe mit pcall zu verschicken. Darüber hinaus können Sie Ergebnisse manuell zwischen Anrufen mit dem gleichen Benutzernamen schnell wieder abrufen. Siehe die Code-Beispiele, um mehr zu erfahren.
Parameter
Der Benutzername des Spielers, der angegeben wird.
Rückgaben
Der Player.UserId eines Benutzers, dessen Name angegeben ist.
Code-Beispiele
local Players = game:GetService("Players")
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
local userIdOne = Players:GetUserIdFromNameAsync("RobloxRulez")
local userIdTwo = Players:GetUserIdFromNameAsync("docsRule")
print(userIdOne, userIdTwo)
-- prints: "118271 131963979"
local Players = game:GetService("Players")
-- Create a table called 'cache' to store each 'UserId' as they are found.
-- If we lookup a 'UserId' using the same 'Name', the 'UserId' will come
-- from cache (fast) instead of GetUserIdFromNameAsync() (yields).
local cache = {}
function getUserIdFromName(name)
-- First, check if the cache contains 'name'
local userIdFromCache = cache[name]
if userIdFromCache then
-- if a value was stored in the cache at key 'name', then this 'userIdFromCache'
-- is the correct UserId and we can return it.
return userIdFromCache
end
-- If here, 'name' was not previously looked up and does not exist in the
-- cache. Now we need to use GetUserIdFromNameAsync() to look up the userId
local userId
local success, _ = pcall(function()
userId = Players:GetUserIdFromNameAsync(name)
end)
if success then
-- if 'success' is true, GetUserIdFromNameAsync() successfully found the
-- userId. Store this userId in the cache using 'name' as the key so we
-- never have to look this userId up in the future. Then return userId.
cache[name] = userId
return userId
end
-- If here, 'success' was false, meaning GetUserIdFromNameAsync()
-- was unable to find the 'userId' for the 'name' provided. We can warn the
-- user this happened and then return nothing, or nil.
warn("Unable to find UserId for Name:", name)
return nil
end
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- The first time a Name is used, GetUserIdFromNameAsync() will be called
local userIdOne = getUserIdFromName("RobloxRulez")
local userIdTwo = getUserIdFromName("docsRule")
-- Because "RobloxRulez" was previously used, get its UserId from the cache
local userIdOneQuick = getUserIdFromName("RobloxRulez")
print(userIdOne, userIdTwo, userIdOneQuick)
-- prints: "118271 131963979 118271"
GetUserThumbnailAsync
Diese Funktion gibt die Inhalts-URL eines Spieler:invon einem Avatar zurück, der seine UserId hat, die gewünschte Bildgröße als Enum.ThumbnailSize Ensemble und den gewünschten Typ als Enum.ThumbnailType Ensemble. Sie gibt auch einenBoolean zurück, der beschreibt, ob das Bild bereit zum Verwenden ist.
In der Regel wird diese Methode mit ImageLabel.Image oder Decal.Texture verwendet, um Benutzer-Avatar-Bilder in einem Erlebnis anzuzeigen.
Parameter
Der Player.UserId des Spielers, der angegeben wird.
Ein Enum.ThumbnailType , der die Art der Miniaturansicht beschreibt.
Ein Enum.ThumbnailSize mit der Angabe der Größe des Miniaturbildes.
Rückgaben
Ein Array, das die Inhalts-URL eines Benutzertunnels basierend auf den angegebenen Parametern enthält, und einBoolean, der angibt, ob das Bild bereit zum Gebrauch ist oder nicht.
Code-Beispiele
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local PLACEHOLDER_IMAGE = "rbxassetid://0" -- replace with placeholder image
-- fetch the thumbnail
local userId = player.UserId
local thumbType = Enum.ThumbnailType.HeadShot
local thumbSize = Enum.ThumbnailSize.Size420x420
local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize)
-- set the ImageLabel's content to the user thumbnail
local imageLabel = script.Parent
imageLabel.Image = (isReady and content) or PLACEHOLDER_IMAGE
imageLabel.Size = UDim2.new(0, 420, 0, 420)
UnbanAsync
Spieler, die von Players:BanAsync() oder der Benutzer-Einschränkungen-Open-Cloud-API gebannt sind, werden nicht erlaubt, wenn dieses Methodo aktiviert und deaktiviert wird. Dieser Methode wird durch die Class.Players.BanningEnabledEigenschaftenaktiviert und deaktiviert, die Sie in Studio verwalten können.
Like Players:BanAsync() , diese Methode nimmt ein config-Wörterbuch auf, mit dem Sie Benutzer unbannt und die zu denen Sie unbannt sind. Dies konfiguriert die Benutzer, die nicht unbannt sind und den Umfang, von dem sie unbannt werden.
Unbans gelten nur für Bans mit demselben ApplyToUniverse -Umfang. Zum Beispiel gilt ein Unban mit ApplyToUniverse Set auf true nicht als Ungültigkeit eines früheren sperrenmit 1> ApplyToUniverse1> Set auf 4> force4> .
Diese Methode ruft eine HTTP-Anfrage an Backend-Dienste aus, die gedrosselt und möglicherweise fehlgeschlagen sind. Wenn Sie diese API mit mehreren UserIDs aufrufen, versucht diese Methode, diese HTTP-Anfrage
Aufgrund der Risiken, die mit dem Verbot von Benutzern verbunden sind, kann diese Methode nur auf dem Serveraufgerufen werden. Client-seitige Anrufe ergeben sich aus einem Fehler. Sie können diese API in Studio, Team Createund Team-Test aufrufen, aber die Verbote werden nicht auf Produktionsservern angewendet. Diese Funktionsaufruf wird nur versuchen, Anfragen für das Bannen auf Produktionsspielservern und nicht in Studio-Test zu überprüfen.
Diese API verwendet die Benutzer-Einschränkungen Open Cloud-API. Sie können diese APIs verwenden, um Ihre Verbote in Drittsoftware-Anwendungen zu verwalten.
Parameter
<tbody><tr><td><code>Benutzer-IDs</code></td><td>array</td><td>UserIDs in die Erlebnis(en) zu erlauben. Die maximale Größe beträgt <code>50</code> .</td></tr><tr><td><code>ApplyToUniverse anwenden</code></td><td>boolean</td><td>Verbreitet den Unban auf alle Orte in diesem Universum.</td></tr></tbody>
Name | Typ | Beschreibung |
---|
Rückgaben
Code-Beispiele
local Players = game:GetService("Players")
if shouldBeUnbanned(player: Player) then
local config: UnbanConfigType = {
UserIds = {player.UserId, 789},
ApplyToUniverse = false
}
local success, err = pcall(function()
return Players:UnbanAsync(config)
end)
print(success, err)
end
Ereignisse
PlayerAdded
Das Ereignis PlayerAdded wird ausgelöst, wenn ein Spieler das Spiel betritt. Dies wird verwendet, um ein Ereignis abzufeuern, wenn ein Spieler einem Spiel beitritt, z. B. das Laden der gespeicherten GlobalDataStore -Daten des Spieler:in.
Dies kann neben dem Players.PlayerRemoving -Ereignis verwendet werden, das abgefeuert wird, wenn ein Spieler das Spiel verlassen möchte. Zum Instanz, wenn Sie eine Nachricht drucken möchten, wenn ein neuer Spieler dem Spiel beitritt oder es verlässt:
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
print(player.Name .. " joined the game!")
end)
Players.PlayerRemoving:Connect(function(player)
print(player.Name .. " left the game!")
end)
Wenn Sie verfolgen möchten, wann ein Charakter eines Spieler:inhinzugefügt oder entfernt wird, wie z. B. wenn ein Spieler respawns oder stirbt, können Sie die Funktionen Player.CharacterAdded und Player.CharacterRemoving verwenden.
Beachten Sie, dass dieses Ereignis im Spiel -Modus nicht wie erwartet funktioniert, da der Spieler vor Skripts geschaffen wird, die sich mit PlayerAdded verbinden. Um diesen Fall zu behandeln, sowie Fälle, in denen der Skript nach dem Betreten des Spiels hinzugefügt wird, erstellen Sie eine onPlayerAdded() -Funktion, die Sie aufrufen können, um die Eintrittsweise eines Spieler:inzu behandeln.
Parameter
Eine Instanz des Spielers, der dem Spiel beigetreten ist.
Code-Beispiele
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print("A player has entered: " .. player.Name)
end
Players.PlayerAdded:Connect(onPlayerAdded)
PlayerMembershipChanged
Dieses Ereignis wird ausgelöst, wenn der Spielserver erkennt, dass die Mitgliedschaft eines Spieler:ingeändert wurde. Beachten Sie jedoch, dass der Server nur versucht, die Mitgliedschaft nach dem Schließen des Premium-Modals zu überprüfen und zu aktualisieren. Daher müssen Sie für Fälle, in denen der Benutzer Premium außerhalb des Spiels
Um mehr darüber zu erfahren, wie und mit dem Engagement-basierten Zahlungssystem zu monetarisieren, siehe Engagement-basierte Zahlungen.
Siehe auch:
- MarketplaceService:PromptPremiumPurchase() , wird verwendet, um einen Benutzer, Premium zu kaufen
- MarketplaceService.PromptPremiumPurchaseFinished , wird ausgelöst, wenn die Premium-Kauf-UI geschlossen wird
Parameter
Code-Beispiele
local Players = game:GetService("Players")
local function grantPremiumBenefits(player)
-- Grant the player access to Premium-only areas, items, or anything you can imagine!
print("Giving", player, "premium benefits!")
end
local function playerAdded(player)
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
local function playerMembershipChanged(player)
print("Received event PlayerMembershipChanged. New membership = " .. tostring(player.MembershipType))
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
Players.PlayerAdded:Connect(playerAdded)
Players.PlayerMembershipChanged:Connect(playerMembershipChanged)
PlayerRemoving
Das PlayerRemoving-Ereignis feuert direkt vor einem Player das Spiel verlässt. Dieses Ereignis feuert vor ChildRemoved auf Players und verhält sich etwas ähn
Dies kann neben dem Player.PlayerAdded -Ereignis verwendet werden, das jedes Mal ausgeführt wird, wenn ein Spieler dem Spiel beitritt oder verlässt. Zum Instanz, um eine Nachricht jedes Mal zu drucken, wenn ein neuer Spieler beitritt oder das Spiel verlässt:
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
print(player.Name .. " joined the game!")
end)
Players.PlayerRemoving:Connect(function(player)
print(player.Name .. " left the game!")
end)
Wenn Sie verfolgen möchten, wann ein Charakter eines Spieler:inhinzugefügt oder entfernt wird, wie z. B. wenn ein Spieler respawns oder stirbt, können Sie die Funktionen Player.CharacterAdded und Player.CharacterRemoving verwenden.
Parameter
Eine Instanz des Spielers, der das Spiel verlässt.
Code-Beispiele
local Players = game:GetService("Players")
local function onPlayerRemoving(player)
print("A player has left: " .. player.Name)
end
Players.PlayerRemoving:Connect(onPlayerRemoving)
UserSubscriptionStatusChanged
Dieses Ereignis wird ausgelöst, wenn der Spielserver erkennt, dass der Status des Benutzers für einen bestimmten Benutzerstatus geändert sich. Beachten Sie, dass der Server nur versucht, den Status nach dem Schließen des Abonnement-Kauf-Modals zu überprüfen und zu aktualisieren. Um Fälle zu berücksichtigen, in denen der Benutzer den Ab
Beachten Sie, dass nur Server-Skripte dieses Ereignis erhalten.
Parameter
Benutzer, dessen Abonnement status geändert wurde.
Die ID des Abonnements mit einem Statuswechsel.