[Include] MSi - Groups

12 de jul. de 2013.

Groups

- Índice
  • O que é msi_groups?
  • Onde posso encontra-la?
  • Como utilizar?
  • Configurações
  • Funções
  • Informações


- O que é msi_groups?
  • msi_groups é uma include desenvolvida por Larceny e Lós e tem como o objetivo adicionar funções para organizar jogadores em grupos diferentes mais dinâmicamente.


- Onde posso encontra-la?
  • msi_groups é parte da livraria MSi(Master Server Includes) e pode ser encontrada neste tópico.


- Como utilizar?
  • Para utilizar msi_groups apenas inclua a include a seu script:
    pawn Código:
    #include <MSi\msi_groups>

- Configurações
  • Você pode, caso preferir, alterar certos valores desta include, sendo elas quantia máxima de grupos permitidos e o tamanho máximo do nome de um grupo, definindo ACIMA da include:
    pawn Código:
    #define MAX_GROUPS      (QUANTIA_MAXIMA_DE_GRUPOS) #define MAX_GROUP_NAME  (TAMANHO_MAXIMO_DO_NOME_DE_UM_GRUPO) #include <MSi\msi_groups>
    Exemplo:
    pawn Código:
    #define MAX_GROUPS      64 #define MAX_GROUP_NAME  32 #include <MSi\msi_groups>
    - O código acima define a quantidade máxima de gruops para 64 e tamanho máximo do nome de um grupo para 32 chars.


- Funções
  • CreateGroup(groupname[], type = INVALID_GROUP_TYPE);
    - groupname[]: Nome do grupo criado.
    - type: Tipo do grupo criado.

    - Obs. Apenas o nome do grupo é obrigatório! O tipo do grupo é OPCIONAL!

    - Esta função cria um grupo e retorna o ID do grupo criado, exemplo:
    pawn Código:
    new g_groupAdmins; public OnGameModeInit() {     g_groupAdmins = CreateGroup("Administradores");     // Criamos um grupo chamado admins e salvamos seu id na variável g_groupAdmins.     return 1; }
  • SetGroupName(groupid, groupname[])
    - groupid: ID do grupo.
    - groupname[]: Novo nome para o grupo.

    - Esta função altera o nome de um grupo.
    pawn Código:
    new g_groupAdmins; public OnGameModeInit() {     g_groupAdmins = CreateGroup("Administradores");     // Criamos um grupo chamado admins e salvamos seu id na variável g_groupAdmins.     SetGroupName(g_groupAdmins, "Helpers");     // Alteramos o nome do grupo "g_groupAdmins" para Helpers.     return 1; }
  • GetGroupName(groupid)
    - groupid: ID do grupo.

    - Esta função obtém o nome de um grupo.
    pawn Código:
    new g_groupAdmins; public OnGameModeInit() {     g_groupAdmins = CreateGroup("Administradores");     // Criamos um grupo chamado admins e salvamos seu id na variável g_groupAdmins.     SetGroupName(g_groupAdmins, "Helpers");     // Alteramos o nome do grupo "g_groupAdmins" para Helpers.     printf("O nome do grupo g_groupAdmins é: %s", GetGroupName(g_groupAdmins));     // Imprimimos o nome do grupo "g_groupAdmins".     return 1; }
  • GetGroupIDbyName(groupname[])
    - groupname[]: Nome do grupo

    - Esta função retorna o ID de um grupo através de seu nome.
    pawn Código:
    CMD:grupo(playerid, params[]) {     new groupname[MAX_GROUP_NAME];     if(sscanf(params, "s", groupname)) return 0;     else if(GetGroupIDbyName(groupname) == INVALID_GROUP_ID)// Verificando se o grupo existe através do nome         SendClientMessage(playerid, -1, "Este grupo não existe!");     else         SendClientMessage(playerid, -1, "O grupo digitado existe!");     return 1; }
  • SetGroupType(groupid, type)
    - groupid: ID do grupo.
    - grouptype: Novo tipo para o grupo.

    - Esta função altera o tipo de um grupo.
    pawn Código:
    #define GROUP_TYPE_GANG 1 new g_groupGroove; new g_groupBallas; public OnGameModeInit() {     g_groupGroove = CreateGroup("Groove Street");     // Criamos um grupo para a gang groove str. e salvamos seu id na variável g_groupGroove.     g_groupBallas = CreateGroup("The Ballas");     // Criamos um grupo para a gang ballas e salvamos seu id na variável g_groupBallas.     SetGroupType(g_groupGroove, GROUP_TYPE_GANG);     SetGroupType(g_groupBallas, GROUP_TYPE_GANG);     // Alteramos o tipo de ambos os grupos para GROUP_TYPE_GANG(definido anteriormente por nós).     return 1; }
  • GetGroupType(groupid)
    - groupid: ID do grupo.

    - Esta função obtém o tipo de um grupo.
    pawn Código:
    #define GROUP_TYPE_GANG 1 new g_groupGroove; new g_groupBallas; public OnGameModeInit() {     g_groupGroove = CreateGroup("Groove Street");     // Criamos um grupo para a gang groove str. e salvamos seu id na variável g_groupGroove.     g_groupBallas = CreateGroup("The Ballas");     // Criamos um grupo para a gang ballas e salvamos seu id na variável g_groupBallas.     SetGroupType(g_groupGroove, GROUP_TYPE_GANG);     SetGroupType(g_groupBallas, GROUP_TYPE_GANG);     // Alteramos o tipo de ambos os grupos para GROUP_TYPE_GANG(definido anteriormente por nós).     if(GetGroupType(g_groupBallas) == GROUP_TYPE_GANG) printf("O grupo g_groupBallas é do tipo Gang!");     return 1; }
  • IsPlayerInGroup(playerid, groupid)
    - playerid: ID do jogador.
    - groupid: ID do grupo.

    - Esta função verifica se um jogador está em um grupo.
    pawn Código:
    #define GROUP_TYPE_GANG 1 new g_groupGroove; public OnGameModeInit() {     g_groupGroove = CreateGroup("Groove Street");     SetGroupType(g_groupGroove, GROUP_TYPE_GANG);     return 1; } public OnPlayerDeath(playerid, killerid, reason) {     if(IsPlayerInGroup(playerid, g_groupGroove) && IsPlayerInGroup(killerid, g_groupGroove))     // Verificando se playerid está no grupo Grove,  Verificando se killerid está no grupo..     {         SendClientMessage(playerid, -1, "Você foi morto por um companheiro.");         SendClientMessage(killerid, -1, "Você matou um companheiro.");     }     return 1; }
  • AddPlayerToGroup(playerid, groupid)
    - playerid: ID do jogador.
    - groupid: ID do grupo.

    - Esta função adiciona um jogador a um grupo.
    pawn Código:
    #define GROUP_TYPE_GANG 1 new g_groupGroove; public OnGameModeInit() {     g_groupGroove = CreateGroup("Groove Street");     SetGroupType(g_groupGroove, GROUP_TYPE_GANG);     return 1; } public OnPlayerConnect(playerid) {     AddPlayerToGroup(playerid, g_groupGroove);     // Adiciona o jogador que conectar no servidor ao grupo da Groove.     return 1; }
  • RemovePlayerFromGroup(playerid, groupid)
    - playerid: ID do jogador.
    - groupid: ID do grupo.

    - Esta função remove um jogador de um grupo.
    pawn Código:
    #define GROUP_TYPE_GANG 1 new g_groupGroove; public OnGameModeInit() {     g_groupGroove = CreateGroup("Groove Street");     SetGroupType(g_groupGroove, GROUP_TYPE_GANG);     return 1; } public OnPlayerDeath(playerid, killerid, reason) {     if(IsPlayerInGroup(playerid, g_groupGroove))     // Verificando se playerid está no grupo Grove     {         SendClientMessage(playerid, -1, "Você morreu e por isso não tem direito de estar na Groove.");         RemovePlayerFromGroup(playerid, g_groupGroove);         // Remove o jogador do grupo     }     return 1; }
  • SendGroupMessage(groupid, color, message[])
    - groupid: ID do grupo.
    - color: Cor na qual será enviada a mensagem
    - message[]: Mensagem a ser enviada

    - Esta função envia uma mensagem aos membros de um determinado grupo.
    pawn Código:
    new grAdmins; public OnGameModeInit() {     grAdmins = CreateGroup("Administradores");     return 1; } public OnPlayerConnect(playerid) {     SendGroupMessage(grAdmins, -1, "Um jogador se conectou ao servidor.");     // Envia uma mensagem a todos do grupo grAdmins quando alguém se conectar ao servidor.     return 1; }
  • SendGroupTypeMessage(grouptype, color, message[])
    - grouptype: Tipo do grupo.
    - color: Cor na qual será enviada a mensagem
    - message[]: Mensagem a ser enviada

    - Esta função envia uma mensagem aos membros de um determinado tipo de grupo.
    pawn Código:
    #define GROUP_TYPE_GANG 1 new g_groupGroove; new g_groupBallas; public OnGameModeInit() {     g_groupGroove = CreateGroup("Groove Street");     SetGroupType(g_groupGroove, GROUP_TYPE_GANG);     g_groupBallas = CreateGroup("The Ballas");     SetGroupType(g_groupBallas, GROUP_TYPE_GANG);     return 1; } public OnPlayerConnect(playerid) {     SendGroupTypeMessage(GROUP_TYPE_GANG, -1, "Uma possível vitima acabou de se conectar.");     //Manda uma mensagem para todos os membros de grupos do tipo GROUP_TYPE_GANG     return 1; }

- Informações
  • A quantia máxima de grupos que podem ser criados, por padrão, é 32.
  • O tamanho máximo do nome de um grupo, por padrão, é 32.

0 comentários:

Postar um comentário