Passer au contenu principal
Cette rubrique explique comment définir les rôles des joueurs dans le multijoueur des services XBOX. Pour certaines sessions de jeu, vous pouvez souhaiter attribuer des rôles de jeu (comme soutien, médecin ou assaut) à des joueurs spécifiques. Vous pouvez également souhaiter réserver des places pour des joueurs capables de remplir des rôles de jeu spécifiques. Grâce à la fonctionnalité de rôles des services XBOX, le service peut suivre les joueurs auxquels chaque rôle de jeu est attribué et appliquer un nombre maximal de joueurs pouvant sélectionner un rôle de jeu spécifique. L’utilisation la plus courante des rôles consiste à déterminer des rôles propres au jeu pour une session de jeu. Par exemple, vous pouvez avoir un mode de jeu qui exige une ou deux classes de soutien, au moins une classe tank/lourde et au maximum cinq classes d’assaut. Dans un autre scénario possible, vous pouvez spécifier qu’une session de jeu peut comporter exactement quatre joueurs, jusqu’à huit spectateurs et exactement un commentateur. Vous pouvez également utiliser des rôles pour réserver des places à des amis tout en remplissant les places restantes par d’autres moyens, comme le parcours des sessions.

Types de rôles

Un type de rôle représente un groupe de définitions de rôles. Chaque rôle doit être défini dans le cadre d’un type de rôle. Les types de rôles sont définis dans le document de session multijoueur. Un joueur ne peut se voir attribuer qu’un seul rôle d’un type de rôle donné. Par exemple, si un type de rôle « classe » comprend des soigneurs, des tanks et des dégâts, un joueur ne peut se voir attribuer qu’un seul de ces rôles. Vous pouvez définir plusieurs types de rôles, et un joueur peut se voir attribuer un rôle de chaque type de rôle. Dans le scénario précédent, un joueur qui choisit le rôle de soigneur peut également se voir attribuer un rôle de chef d’escouade si ce rôle est défini dans un type de rôle distinct.

Propriétés des types de rôles

Lorsque vous définissez un type de rôle, vous devez spécifier les informations suivantes.
  • Le nom du type de rôle. Le nom doit être alphanumérique en minuscules et contenir au maximum 100 caractères.
  • Les définitions des rôles.
  • Si les rôles sont gérés par le propriétaire.
  • Si les propriétés des rôles peuvent être modifiées pendant la durée de vie de la session.
Si un type de rôle est géré par le propriétaire, seuls les joueurs propriétaires de la session peuvent attribuer des rôles de ce type. Si le type de rôle n’est pas géré par le propriétaire, les joueurs peuvent s’attribuer eux-mêmes des rôles. Vous pouvez spécifier qu’un type de rôle est géré par le propriétaire uniquement pour les sessions dont la fonctionnalité hasOwners est définie.
L’API des services XBOX (XSAPI) ne prend actuellement pas en charge l’attribution de rôles à d’autres joueurs par les propriétaires.

Propriétés des rôles

Lorsque vous définissez un rôle, vous devez spécifier les informations suivantes.
  • Le nom du rôle. Le nom doit être alphanumérique en minuscules et contenir au maximum 100 caractères.
  • Le nombre maximal de joueurs pouvant remplir le rôle. La valeur doit être supérieure à zéro.
  • Le nombre cible de joueurs qui doivent remplir le rôle. La valeur doit être supérieure à zéro et inférieure ou égale au nombre maximal de joueurs pouvant remplir le rôle.
Lorsqu’un rôle est attribué à un joueur dans une session, les informations précédentes sont enregistrées dans le document de session multijoueur. Le service applique le nombre maximal de joueurs pouvant se voir attribuer un rôle, mais il n’applique pas le nombre cible.

Créer des rôles

Les rôles et les types de rôles sont généralement définis dans les modèles de session; pour plus d’informations, consultez Modèles de session multijoueur. Le service prend en charge la définition des types de rôles et des rôles lors de la création de la session, mais pas XSAPI.

Définir des types de rôles et des rôles dans un modèle de session

Vous pouvez définir des types de rôles et des rôles lorsque vous créez un modèle de session lors de la configuration des services XBOX. Les informations sur les types de rôles et les rôles sont spécifiées sous la forme d’un élément roleTypes de niveau racine dans le modèle de session, au format suivant.

Récupérer les informations sur les rôles d’une session multijoueur

Vous pouvez obtenir des informations sur les types de rôles, les rôles et le nombre de joueurs attribués à chaque rôle à partir d’une session multijoueur ou d’un handle de recherche multijoueur. Dans XSAPI, les informations sur les types de rôles et les rôles sont stockées dans une structure de tableau. Dans l’objet XblMultiplayerSearchHandle retourné par une demande de recherche, vous pouvez obtenir des informations sur les types de rôles en indexant les données XblMultiplayerSessionRoleTypes avec le nom d’un type de rôle. L’appel retourne un objet XblMultiplayerRoleType. Pour obtenir des informations sur les rôles, indexez le tableau Roles. L’objet XblMultiplayerRole contient des informations sur le rôle, notamment MaxMemberCount, MemberXuids, MemberCount et TargetCount.

Attribuer un rôle à un joueur

Actuellement, un joueur ne peut attribuer que son propre rôle dans XSAPI. Pour spécifier le type de rôle et le rôle du joueur actuel, transmettez l’objet XblMultiplayerSessionHandle à la méthode XblMultiplayerSessionCurrentUserSetRoles. Si le rôle est déjà complet lorsque vous tentez d’écrire la session dans le service, le MPSD rejette l’écriture.
Dernière modification le 8 octobre 2026