Utenti e giocatori

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

Quando un utente 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, oltre a proprietà, metodi ed eventi che influenzano il ciclo di vita dell'utente tra l'ingresso e l'uscita dal gioco. Ogni oggetto Player ha 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 a livello di dominio all'interno del gioco corrente. Per ulteriori informazioni su come funziona l'identificazione degli utenti, inclusi gli ID utente a livello di dominio e il tipo User, vedere Utenti e ID utente a livello di dominio.

Ciclo di vita

Il servizio Players contiene tutte le istanze di 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 legate al gameplay quando il personaggio appare o scompare.

Unione 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 caricare dati utente da un data store o assegnare il giocatore a una squadra.

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 loro 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 la 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, gli 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 le statistiche del giocatore da un punteggio o distruggere i 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 loro 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 un client 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 gli oggetti tra i 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 predefinita di Roblox e sostituirla con la tua, chiama StarterGui:SetCoreGuiEnabled() in uno LocalScript come descritto in disabilitare UI predefinita.

Bannare utenti

Per garantire civiltà e gioco leale nei tuoi giochi, puoi bannare gli utenti che violano le regole o le linee guida della comunità. Puoi modificare le durate dei ban, i messaggi di ban e persino estendere i ban a potenziali account alternativi. Quando utilizzi questa funzione, devi seguire le linee guida e i messaggi per il ban.

Hai diverse opzioni per lavorare con i ban:

Blocco dei dispositivi

Oltre a bannare un account, Players:BanAsync() supporta il blocco dei dispositivi tramite il campo ApplyDeviceBlock nella sua tabella di configurazione. Quando banni un utente che è attualmente connesso al tuo gioco con ApplyDeviceBlock impostato su true, il dispositivo associato a quell'utente viene bloccato anche dal riconnettersi per 24 ore. Questa opzione aggiunge attrito contro l'evasione del ban; i giocatori bannati non possono immediatamente riconnettersi al 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 ai dispositivi mobili o alle console.
  • Il blocco del dispositivo non si propaga come un ban a nessun altro account che ha utilizzato il dispositivo.
  • Chiamare l'API di sblocco sull'utente interessato rimuove immediatamente qualsiasi blocco attivo del dispositivo associato al dispositivo di quell'utente, consentendo loro di riconnettersi al gioco.

Linee guida per il ban

Quando implementi i ban nel tuo gioco, atteniti alle seguenti linee guida:

  • Le regole del gioco non devono contraddire gli Standard della Comunità e i Termini di Utilizzo di Roblox. Ad esempio, non puoi creare una regola di gioco che esclude qualcuno a causa del loro genere, poiché questo viola la politica di Discriminazione, Insulti e Discorsi d'Odio di Roblox.
  • I creatori devono dichiarare chiaramente le loro regole di gioco in un luogo accessibile a tutti gli utenti.
  • I creatori devono applicare le loro regole di gioco in modo equo e non mirare arbitrariamente a determinati utenti.
  • Gli utenti possono appellarsi direttamente ai creatori se ritengono che il loro ban 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 gli Standard 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 gli Standard della Comunità.

Linee guida per i messaggi

Quando un utente viene bannato, riceve un modulo di errore che visualizza informazioni come la durata del ban e il motivo. Nel messaggio filtrato, puoi includere informazioni aggiuntive come informazioni per l'appello o di contatto, purché tu rispetti gli Standard della Comunità di Roblox.

Ad esempio, nei tuoi messaggi di ban, ti è permesso fare riferimento a marchi e piattaforme:

  • "Visita il Discord nel mio gruppo/pagina di gioco"
  • "Scrivimi su Twitter o X"

Le menzioni di informazioni personali o link diretti non sono consentite in questo campo di messaggio. Questo include la pubblicazione di un nome utente specifico o di un handle, o la fornitura di 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.