15.02.2013, 12:51
Groups
- Нndice- O que й msi_groups?
- O que й msi_groups?
- Onde posso encontra-la?
- Como utilizar?
- Configuraзхes
- Funзхes
- Informaзхes
- Onde posso encontra-la?
- 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.
- Como utilizar?
- msi_groups й parte da livraria MSi(Master Server Includes) e pode ser encontrada neste tуpico.
- Configuraзхes
- Para utilizar msi_groups apenas inclua a include a seu script:
pawn Код:#include <MSi\msi_groups>- Funзх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 Код:#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 Код:#define MAX_GROUPS 64
#define MAX_GROUP_NAME 32
#include <MSi\msi_groups>- Informaзх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 Код: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 Код: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 Код: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 Код: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 Код:#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 Код:#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 Код:#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 Код:#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 Код:#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 Код: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 Код:#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;
}
- 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.