Usuarios y jugadores

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Cuando un usuario de Roblox se une a un juego, se representa como un Player en el DataModel. Este objeto Player contiene información sobre el usuario que es universal en todos los juegos, como su nombre de usuario, lista de amigos y personaje avatar guardado, así como propiedades, métodos y eventos que afectan el ciclo de vida del usuario entre unirse y abandonar el juego. Cada objeto Player también tiene como padre cuatro importantes contenedores que puedes usar para personalizar la experiencia de un usuario: Backpack, StarterGear, PlayerGui y PlayerScripts.

Cada Player también expone una propiedad Player.User, que es un valor User que representa la identidad del jugador en el ámbito del dominio dentro del juego actual. Para más información sobre cómo funciona la identificación de usuarios, incluidos los ID de usuario en el ámbito del dominio y el tipo User, consulta Usuarios y ID de usuario en el ámbito del dominio.

Ciclo de vida

El servicio Players contiene todas las instancias de Player en un juego. Los scripts del cliente y del servidor pueden conectarse a los eventos Players.PlayerAdded y Players.PlayerRemoved para realizar acciones en respuesta al ciclo de vida de un objeto Player. Los scripts también pueden conectarse a los eventos Player.CharacterAdded y Player.CharacterRemoving para realizar acciones relacionadas con el juego cuando el personaje aparece o desaparece.

Unirse como usuario

Cuando un cliente de usuario se conecta a un juego, se activa el evento Players.PlayerAdded y se pasa el objeto Player del usuario que se une; puedes usar este objeto para numerosos propósitos, como cargar datos del usuario desde un almacén de datos o asignar al jugador a un equipo.

Por ejemplo, para cargar los datos de un usuario cuando se une a un juego, usa el evento PlayerAdded en un Script para recuperar los datos del usuario almacenados en un almacén de datos bajo su ID de usuario:

Script en 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
-- Leer clave del almacén de datos
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- Realizar más acciones con currentData
end)

Aparición del personaje

Por defecto, el modelo Player.Character de un usuario representa su avatar de plataforma y Players.CharacterAutoLoads es true, lo que significa que el modelo del personaje aparece automáticamente cuando el usuario se une a un juego.

Cuando el Player.Character de un usuario aparece, los Scripts y LocalScripts en StarterCharacterScripts se clonan en el modelo del personaje y se activa el evento Player.CharacterAdded. Este evento pasa el nuevo modelo de personaje a sus oyentes, que puedes usar para encontrar el objeto Humanoid del personaje y modificar su comportamiento. Por ejemplo, puedes usar Humanoid:ApplyDescription() para cambiar el atuendo del avatar.

Desaparición del personaje

Cuando el Humanoid del jugador muere, el servidor elimina automáticamente el modelo del personaje después del tiempo especificado por Players.RespawnTime. Luego puedes usar el evento Player.CharacterRemoving para restablecer otros objetos o actualizar datos asociados con el personaje.

Salida del usuario

Cuando un cliente de usuario se desconecta de un juego, el servidor destruye su objeto Player asociado dentro del servicio Players. En este punto, se activa el evento Players.PlayerRemoving y se pasa el objeto Player del usuario que se desconectó. Puedes usar esto para numerosos propósitos, como guardar datos del usuario, eliminar estadísticas del jugador de un marcador o destruir modelos creados por el jugador en el juego.

El siguiente ejemplo de Script escucha el evento PlayerRemoving e intenta guardar los datos del usuario en un almacén de datos bajo su ID de usuario:

Script en 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
-- Obtener el estado de datos del jugador en el juego
local currentData = getCurrentData(player)
-- Guardar en el almacén de datos
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

Contenedores

Cada objeto Player que representa el cliente de un usuario almacena varios contenedores importantes: Backpack, StarterGear, PlayerGui y PlayerScripts. En tiempo de ejecución del juego, varios contenedores en el modelo de datos "editar" copian su contenido a estos contenedores Player, incluyendo StarterGui a PlayerGui, StarterPack a Backpack, y StarterPlayerScripts a PlayerScripts.

Un diagrama que mapea objetos entre los modelos de datos 'editar' y 'tiempo de ejecución'.

Los objetos Tool en el Backpack constituyen el inventario del jugador y se muestran como botones de icono en la parte inferior de la pantalla. Consulta herramientas en el juego para más información.

Como se ilustra arriba, el contenido de StarterPack y el StarterGear del jugador se clonan en Backpack cuando el Character de un jugador aparece. Cuando el personaje muere, el cliente destruye el Backpack y lo reemplaza con uno nuevo.

Para deshabilitar la GUI de inventario predeterminada de Roblox y reemplazarla con la tuya, llama a StarterGui:SetCoreGuiEnabled() en un LocalScript como se describe en deshabilitar UI predeterminada.

Prohibir usuarios

Para garantizar la civilidad y el juego limpio en tus juegos, puedes prohibir a los usuarios que violen las reglas o las pautas de la comunidad. Puedes modificar las duraciones de prohibición, los mensajes de prohibición e incluso extender las prohibiciones a cuentas alternativas potenciales. Al usar esta función, debes seguir las pautas de prohibición y mensajería.

Tienes varias opciones para trabajar con prohibiciones:

Bloqueo de dispositivos

Además de prohibir una cuenta, Players:BanAsync() admite bloqueo de dispositivos a través del campo ApplyDeviceBlock en su tabla de configuración. Cuando prohíbes a un usuario que está conectado actualmente a tu juego con ApplyDeviceBlock configurado en true, el dispositivo asociado con ese usuario también se bloquea para volver a unirse durante 24 horas. Esta opción añade fricción contra la evasión de prohibiciones; los jugadores prohibidos no pueden volver a unirse inmediatamente al juego desde una nueva cuenta en el mismo dispositivo.

  • El bloqueo de dispositivos actualmente solo se aplica a jugadores en escritorio (Windows y macOS). No se aplica a dispositivos móviles o consolas.
  • El bloqueo de dispositivos no se propaga como una prohibición a ninguna otra cuenta que haya utilizado el dispositivo.
  • Llamar a la API de desprohibición en el usuario afectado elimina inmediatamente cualquier bloqueo de dispositivo activo asociado con el dispositivo de ese usuario, permitiéndole volver a unirse al juego.

Pautas de prohibición

Al implementar prohibiciones en tu juego, adhiérete a las siguientes pautas:

  • Las reglas del juego no deben contradecir los Estándares de la Comunidad y los Términos de Uso de Roblox. Por ejemplo, no puedes crear una regla de juego que excluya a alguien por su género, ya que esto viola la política de Discriminación, Insultos y Discurso de Odio de Roblox.
  • Los creadores deben declarar claramente sus reglas de juego en algún lugar accesible para todos los usuarios.
  • Los creadores deben aplicar sus reglas de juego de manera justa y no dirigirse arbitrariamente a ciertos usuarios.
  • Los usuarios pueden apelar directamente a los creadores si creen que su prohibición fue incorrecta. Roblox no mediará estas apelaciones, a menos que el usuario crea que las reglas del juego del creador o la aplicación de sus reglas violan los Estándares de la Comunidad.
  • Roblox puede moderar un juego si hay razones para creer que las reglas del juego de un creador o la aplicación de sus reglas violan los Estándares de la Comunidad.

Pautas de mensajería

Cuando un usuario es prohibido, recibe un modal de error que muestra información como la duración de la prohibición y la razón. En el mensaje filtrado por texto, puedes incluir información adicional como información de apelación o contacto siempre que cumplas con los Estándares de la Comunidad de Roblox.

Por ejemplo, en tus mensajes de prohibición, se te permite hacer referencia a marcas y plataformas:

  • "Visita el Discord en mi grupo/página de juego"
  • "Envíame un mensaje en Twitter o X"

No se permiten menciones de información personal o enlaces directos en este campo de mensaje. Esto incluye publicar un nombre de usuario o identificador específico, o proporcionar un enlace directo a un servidor de Discord o cuenta de X.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.