Skip to main content
En este tema se describe cómo definir roles de jugador en el multijugador de los servicios de XBOX. Para algunas sesiones de juego, es posible que quiera asignar roles de juego, como apoyo, médico o asalto, a jugadores específicos. También es posible que quiera reservar plazas de juego para jugadores que puedan desempeñar roles de juego específicos. Mediante la característica de roles de los servicios de XBOX, el servicio puede realizar el seguimiento de qué jugadores tienen asignado cada rol de juego y aplicar un número máximo de jugadores que pueden seleccionar un rol de juego específico. El uso más común de los roles es determinar roles específicos del juego para una sesión de juego. Por ejemplo, puede tener un modo de juego que requiera una o dos clases de apoyo, al menos una clase de tanque/pesado y no más de cinco clases de asalto. En otro posible escenario, es posible que quiera especificar que una sesión de juego puede tener exactamente cuatro jugadores, hasta ocho espectadores y exactamente un comentarista. También puede usar los roles para reservar plazas para amigos mientras rellena las plazas restantes por otros medios, como la exploración de sesiones.

Tipos de rol

Un tipo de rol representa un grupo de definiciones de roles. Cada rol debe definirse como parte de un tipo de rol. Los tipos de rol se definen en el documento de sesión multijugador. A un jugador solo se le puede asignar un rol de un tipo de rol. Por ejemplo, si un tipo de rol “class” incluye sanadores, tanques y daño, a un jugador solo se le puede asignar uno de esos roles. Puede definir varios tipos de rol, y a un jugador se le puede asignar un rol de cada tipo de rol. En el escenario anterior, a un jugador que elija el rol de sanador también se le puede asignar un rol de líder de escuadrón si el rol de líder de escuadrón está definido en un tipo de rol independiente.

Propiedades de los tipos de rol

Al definir un tipo de rol, debe especificar la información siguiente.
  • El nombre del tipo de rol. El nombre debe ser alfanumérico en minúsculas y no contener más de 100 caracteres.
  • Las definiciones de los roles.
  • Si los roles están administrados por el propietario.
  • Si las propiedades de los roles se pueden cambiar durante la vida de la sesión.
Si un tipo de rol está administrado por el propietario, solo los jugadores que sean propietarios de la sesión pueden asignar roles de ese tipo. Si el tipo de rol no está administrado por el propietario, los jugadores pueden asignarse roles a sí mismos. Puede especificar que un tipo de rol esté administrado por el propietario solo para sesiones que tengan establecida la funcionalidad hasOwners.
La API de servicios de XBOX (XSAPI) no admite actualmente que los propietarios asignen roles a otros jugadores.

Propiedades de los roles

Al definir un rol, debe especificar la información siguiente.
  • El nombre del rol. El nombre debe ser alfanumérico en minúsculas y no contener más de 100 caracteres.
  • El número máximo de jugadores que pueden desempeñar el rol. El valor debe ser mayor que cero.
  • El número objetivo de jugadores que deberían desempeñar el rol. El valor debe ser mayor que cero y menor o igual que el número máximo de jugadores que pueden desempeñar el rol.
Cuando a un jugador se le asigna un rol en una sesión, la información anterior se registra en el documento de sesión multijugador. El servicio aplica el número máximo de jugadores que se pueden asignar a un rol, pero no aplica el número objetivo.

Crear roles

Los roles y los tipos de rol se definen normalmente en plantillas de sesión; para obtener más información, consulte Plantillas de sesión multijugador. El servicio admite la definición de tipos de rol y roles durante la creación de la sesión, pero XSAPI no.

Definir tipos de rol y roles en una plantilla de sesión

Puede definir tipos de rol y roles al crear una plantilla de sesión durante la configuración de los servicios de XBOX. La información sobre los tipos de rol y los roles se especifica como un elemento roleTypes de nivel base en la plantilla de sesión mediante el formato siguiente.

Recuperar información de roles de una sesión multijugador

Puede obtener información sobre los tipos de rol, los roles y el número de jugadores asignados a cada rol a partir de una sesión multijugador o de un identificador de búsqueda multijugador. En XSAPI, la información sobre los tipos de rol y los roles se almacena en una estructura de matriz. En el objeto XblMultiplayerSearchHandle devuelto por una solicitud de búsqueda, puede obtener información sobre los tipos de rol indexando los datos de XblMultiplayerSessionRoleTypes con el nombre de un tipo de rol. La llamada devuelve un objeto XblMultiplayerRoleType. Para obtener información sobre los roles, indexe la matriz Roles. El objeto XblMultiplayerRole contiene información sobre el rol, incluidos MaxMemberCount, MemberXuids, MemberCount y TargetCount.

Asignar un rol a un jugador

Actualmente, un jugador solo puede asignar su propio rol en XSAPI. Para especificar el tipo de rol y el rol del jugador actual, pase el objeto XblMultiplayerSessionHandle al método XblMultiplayerSessionCurrentUserSetRoles. Si el rol ya está completo cuando intenta escribir la sesión en el servicio, MPSD rechaza la escritura.
Última modificación el 28 de agosto de 2026