Pular para o conteúdo principal
Este tópico descreve como definir funções de jogadores no multiplayer dos serviços do XBOX. Em algumas sessões de jogo, talvez você queira atribuir funções de jogabilidade, como suporte, médico ou assalto, a jogadores específicos. Talvez você também queira reservar vagas no jogo para jogadores que possam desempenhar funções de jogabilidade específicas. Usando o recurso de funções dos serviços do XBOX, o serviço pode acompanhar quais jogadores estão atribuídos a cada função de jogabilidade e impor um número máximo de jogadores que podem selecionar uma função de jogabilidade específica. O uso mais comum das funções é determinar funções específicas do jogo para uma sessão de jogo. Por exemplo, você pode ter um modo de jogo que exige uma ou duas classes de suporte, pelo menos uma classe tanque/pesada e no máximo cinco classes de assalto. Em outro cenário possível, talvez você queira especificar que uma sessão de jogo pode ter exatamente quatro jogadores, até oito espectadores e exatamente um narrador. Você também pode usar funções para reservar vagas para amigos enquanto preenche as vagas restantes por outros meios, como a navegação de sessões.

Tipos de função

Um tipo de função representa um grupo de definições de funções. Cada função deve ser definida como parte de um tipo de função. Os tipos de função são definidos no documento da sessão multiplayer. Um jogador só pode receber uma função de um tipo de função. Por exemplo, se um tipo de função “classe” incluir curandeiros, tanques e dano, um jogador só poderá ser atribuído a uma dessas funções. Você pode definir vários tipos de função, e um jogador pode receber uma função de cada tipo de função. No cenário anterior, um jogador que escolhe a função de curandeiro também pode receber a função de líder de esquadrão, se essa função estiver definida em um tipo de função separado.

Propriedades do tipo de função

Ao definir um tipo de função, você deve especificar as informações a seguir.
  • O nome do tipo de função. O nome deve ser alfanumérico em minúsculas e conter no máximo 100 caracteres.
  • As definições das funções.
  • Se as funções são gerenciadas pelo proprietário.
  • Se as propriedades das funções podem ser alteradas durante a vida útil da sessão.
Se um tipo de função for gerenciado pelo proprietário, somente os jogadores que são proprietários da sessão poderão atribuir funções desse tipo. Se o tipo de função não for gerenciado pelo proprietário, os jogadores poderão atribuir funções a si mesmos. Você só pode especificar que um tipo de função é gerenciado pelo proprietário em sessões que tenham a capacidade hasOwners definida.
No momento, a XBOX Services API (XSAPI) não oferece suporte a proprietários atribuindo funções a outros jogadores.

Propriedades da função

Ao definir uma função, você deve especificar as informações a seguir.
  • O nome da função. O nome deve ser alfanumérico em minúsculas e conter no máximo 100 caracteres.
  • O número máximo de jogadores que podem desempenhar a função. O valor deve ser maior que zero.
  • O número de destino de jogadores que devem desempenhar a função. O valor deve ser maior que zero e menor ou igual ao número máximo de jogadores que podem desempenhar a função.
Quando um jogador recebe uma função em uma sessão, as informações anteriores são registradas no documento da sessão multiplayer. O serviço impõe o número máximo de jogadores que podem ser atribuídos a uma função, mas não impõe o número de destino.

Criar funções

Funções e tipos de função normalmente são definidos em modelos de sessão; para obter mais informações, consulte Modelos de sessão multiplayer. O serviço oferece suporte à definição de tipos de função e funções durante a criação da sessão, mas a XSAPI não.

Definir tipos de função e funções em um modelo de sessão

Você pode definir tipos de função e funções ao criar um modelo de sessão durante a configuração dos serviços do XBOX. As informações sobre tipos de função e funções são especificadas como um elemento roleTypes de nível base no modelo de sessão, usando o formato a seguir.

Recuperar informações de funções de uma sessão multiplayer

Você pode obter informações sobre tipos de função, funções e o número de jogadores atribuídos a cada função a partir de uma sessão multiplayer ou de um identificador de pesquisa multiplayer. Na XSAPI, as informações sobre tipos de função e funções são armazenadas em uma estrutura de matriz. No objeto XblMultiplayerSearchHandle retornado por uma requisição de pesquisa, você pode obter informações sobre tipos de função indexando os dados de XblMultiplayerSessionRoleTypes com o nome de um tipo de função. A chamada retorna um objeto XblMultiplayerRoleType. Para obter informações sobre funções, indexe a matriz Roles. O objeto XblMultiplayerRole contém informações sobre a função, incluindo MaxMemberCount, MemberXuids, MemberCount e TargetCount.

Atribuir uma função a um jogador

No momento, um jogador só pode atribuir a própria função na XSAPI. Para especificar o tipo de função e a função do jogador atual, passe o objeto XblMultiplayerSessionHandle para o método XblMultiplayerSessionCurrentUserSetRoles. Se a função já estiver cheia quando você tentar gravar a sessão no serviço, o MPSD rejeitará a gravação.
Última modificação em 8 de outubro de 2026