Utenti e giocatori

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Quando un utente di Roblox si unisce a un gioco, è rappresentato come un Player nel DataModel. Questo oggetto Player contiene informazioni sull'utente che sono universali tra i giochi, come il nome utente, la lista degli amici e il personaggio avatar salvato, così come proprietà, metodi ed eventi che influenzano il ciclo di vita dell'utente tra l'ingresso e l'uscita dal gioco. Ogni oggetto Player contiene anche quattro importanti contenitori che puoi utilizzare per personalizzare l'esperienza di un utente: Backpack, StarterGear, PlayerGui e PlayerScripts.

Ogni Player espone anche una proprietà Player.User, che è un valore User che rappresenta l'identità dell'utente limitata al dominio all'interno del gioco attuale. Per ulteriori informazioni su come funziona l'identificazione degli utenti, inclusi gli ID utente limitati al dominio e il tipo User, vedere Utenti e ID utente limitati al dominio.

Ciclo di vita

Il servizio Players contiene tutte le istanze Player in un gioco. Gli script lato client e lato server possono entrambi connettersi agli eventi Players.PlayerAdded e Players.PlayerRemoved per eseguire azioni in risposta al ciclo di vita di un oggetto Player. Gli script possono anche connettersi agli eventi Player.CharacterAdded e Player.CharacterRemoving per eseguire azioni di gioco quando il personaggio appare o scompare.

Accesso dell'utente

Quando un client utente si connette a un gioco, l'evento Players.PlayerAdded si attiva e passa l'oggetto Player dell'utente che si unisce; puoi utilizzare questo oggetto per numerosi scopi, come il caricamento di dati utente da un data store o l'assegnazione del giocatore a un team.

Ad esempio, per caricare i dati di un utente quando si unisce a un gioco, utilizza l'evento PlayerAdded in uno Script per recuperare i dati dell'utente memorizzati in un data store sotto il suo ID utente:

Script in ServerScriptService

local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerAdded:Connect(function(player)
local userId = player.UserId
-- Leggi chiave del data store
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- Esegui ulteriori azioni con currentData
end)

Apparizione del personaggio

Per impostazione predefinita, il modello Player.Character di un utente rappresenta il loro avatar di piattaforma e Players.CharacterAutoLoads è impostato su true, il che significa che il modello del personaggio appare automaticamente quando l'utente si unisce a un gioco.

Quando il Player.Character di un utente appare, Scripts e LocalScripts in StarterCharacterScripts vengono clonati nel modello del personaggio e si attiva l'evento Player.CharacterAdded. Questo evento passa il nuovo modello del personaggio ai suoi ascoltatori che puoi utilizzare per trovare l'oggetto Humanoid del personaggio e modificarne il comportamento. Ad esempio, puoi utilizzare Humanoid:ApplyDescription() per cambiare l'outfit dell'avatar.

Scomparsa del personaggio

Quando il Humanoid del giocatore muore, il server rimuove automaticamente il modello del personaggio dopo il tempo specificato da Players.RespawnTime. Puoi quindi utilizzare l'evento Player.CharacterRemoving per ripristinare altri oggetti o aggiornare i dati associati al personaggio.

Uscita dell'utente

Quando un client utente si disconnette da un gioco, il server distrugge il suo oggetto Player associato all'interno del servizio Players. A questo punto, si attiva l'evento Players.PlayerRemoving e passa l'oggetto Player dell'utente che si è disconnesso. Puoi utilizzare questo per numerosi scopi, come salvare i dati utente, rimuovere statistiche dei giocatori da un punteggio o distruggere modelli creati dai giocatori nel gioco.

Il seguente esempio di Script ascolta l'evento PlayerRemoving e tenta di salvare i dati dell'utente in un data store sotto il suo ID utente:

Script in ServerScriptService

local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerRemoving:Connect(function(player)
local userId = player.UserId
-- Ottieni lo stato dei dati del giocatore nel gioco
local currentData = getCurrentData(player)
-- Salva nel data store
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

Contenitori

Ogni oggetto Player che rappresenta il client di un utente memorizza diversi contenitori importanti: Backpack, StarterGear, PlayerGui e PlayerScripts. Durante l'esecuzione del gioco, diversi contenitori nel modello di dati "edit" copiano i loro contenuti in questi contenitori Player, inclusi StarterGui in PlayerGui, StarterPack in Backpack, e StarterPlayerScripts in PlayerScripts.

Un diagramma che mappa oggetti tra modelli di dati 'edit' e 'runtime'.

Gli oggetti Tool nel Backpack costituiscono l'inventario del giocatore e vengono visualizzati come pulsanti icona nella parte inferiore dello schermo. Vedi strumenti in gioco per ulteriori informazioni.

Come illustrato sopra, i contenuti di StarterPack e il StarterGear del giocatore vengono clonati in Backpack quando il Character di un giocatore appare. Quando il personaggio muore, il client distrugge il Backpack e lo sostituisce con uno nuovo.

Per disabilitare l'interfaccia GUI dell'inventario di Roblox e sostituirla con la tua, chiama StarterGui:SetCoreGuiEnabled() in uno LocalScript come delineato in disabilitare UI predefinita.

Bloccare utenti

Per garantire la civiltà e il gioco corretto nei tuoi giochi, puoi bloccare gli utenti che violano le regole o le linee guida della comunità. Puoi modificare le durate delle restrizioni, i messaggi di blocco e persino estendere i blocchi a potenziali account alternativi. Quando utilizzi questa funzione, devi seguire le linee guida e messaggi per il blocco.

Hai diverse opzioni per lavorare con i blocchi:

Blocco dispositivi

Oltre a bloccare un account, Players:BanAsync() supporta il blocco dei dispositivi tramite il campo ApplyDeviceBlock nella sua tabella di configurazione. Quando blocchi un utente che è attualmente connesso al tuo gioco con ApplyDeviceBlock impostato su true, il dispositivo associato a quell'utente viene anche bloccato dall'accesso per 24 ore. Questa opzione aggiunge frizione contro l'evasione del blocco; i giocatori bloccati non possono immediatamente rientrare nel gioco da un nuovo account sullo stesso dispositivo.

  • Il blocco dei dispositivi attualmente si applica solo ai giocatori su desktop (Windows e macOS). Non si applica a dispositivi mobili o console.
  • Il blocco del dispositivo non si propaga come un blocco su un altro account che ha utilizzato il dispositivo.
  • Chiamare l'API di sblocco sull'utente interessato rimuove immediatamente qualsiasi blocco attivo associato al dispositivo di quell'utente, consentendogli di rientrare nel gioco.

Linee guida sul blocco

Quando implementi blocchi nel tuo gioco, attenersi alle seguenti linee guida:

  • Le regole del gioco non devono contraddire le Norme della Comunità e i Termini di utilizzo di Roblox. Ad esempio, non puoi creare una regola di gioco che escluda qualcuno a causa del loro genere, poiché ciò viola la Politica di Discriminazione, Insulti e Linguaggio d'Odio di Roblox.
  • I creatori devono chiaramente dichiarare le regole del gioco da qualche parte accessibile a tutti gli utenti.
  • I creatori devono applicare le proprie regole di gioco in modo equo e non colpire arbitrariamente determinati utenti.
  • Gli utenti possono appellarsi direttamente ai creatori se ritengono che il loro blocco sia stato errato. Roblox non medierà questi appelli, a meno che l'utente non creda che le regole di gioco del creatore o l'applicazione delle loro regole violino le Norme della Comunità.
  • Roblox può moderare un gioco se ci sono motivi per credere che le regole di gioco di un creatore o l'applicazione delle loro regole violino le Norme della Comunità.

Linee guida sui messaggi

Quando un utente viene bloccato, riceve un modale di errore che mostra informazioni come la durata e il motivo del blocco. Nel messaggio filtrato per testo, puoi includere ulteriori informazioni come le informazioni per l'appello o contatto, purché tu rispetti le Norme della Comunità di Roblox.

Ad esempio, nei tuoi messaggi di blocco, puoi fare riferimento a nomi di marchi e piattaforme:

  • "Visita il Discord del mio gruppo o pagina di gioco"
  • "Mandami un messaggio su Twitter o X"

Menzioni di informazioni personali o link diretti non sono consentiti in questo campo di messaggio. Questo include pubblicare un nome utente specifico o un handle, o fornire un link diretto a un server Discord o a un account X.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.