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:
Exemplo: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>- 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.pawn Código:#define MAX_GROUPS 64 #define MAX_GROUP_NAME 32 #include <MSi\msi_groups>
- 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