*>> [GANGZONES]: A gang 'TAL' dominou mais um territorio %s !
//No topo
new CheckPoints[3][] = {
"Area 01",
"Area 02",
"Area 03"
};
//Em OnGamemodeInit
for(new i; i != MAX_PLAYERS; ++i)
{
CheckPoints[i][0] = CPS_AddCheckpoint(2495.0383,-1686.9420,13.5140,2.0,80);
CheckPoints[i][1] = CPS_AddCheckpoint(1722.3857,-1607.7697,13.5469,2.0,80);
CheckPoints[i][2] = CPS_AddCheckpoint(1976.1494,-1234.6455,20.0469,2.0,80);
}
//Na public ZoneCheckpointChecker
//Na parte do SmToAll
format(string, sizeof(string), "[GANGZONES]: A gang '%s' dominou mais um territorio '%s'!",GangNames[GetPlayerTeam(i)][0], CheckPoints[i]);
SendClientMessageToAll(0xFFFF00AA, string);
Vocк nгo teria que verificar o nome do local dominado e imprimir ali? Nгo sei explicar direito, mas vocк teria que pegar as coordenadas do local dominado, o nome e depois setar ali, nгo?
#EDIT: O que eu vi ali, vocк tб querendo setar o checkpoint, nгo o nome do local no qual vocк dominou. |
A Gang 'Los_Tetudos' dominaram o local ('Grove Street')!
new gPlayerZone[MAX_PLAYERS];
GetZoneName(playerid){
new _@String[64];
if (IsPlayerInRangeOfPoint( playerid, 7.0, X, Y, Z)) // Grove Street
gPlayerZone[playerid] = 0;
else if (IsPlayerInRangeOfPoint( playerid, 7.0, X, Y, Z)) // Los Santos
gPlayerZone[playerid] = 1;
else if (IsPlayerInRangeOfPoint( playerid, 7.0, X, Y, Z)) // Area51
gPlayerZone[playerid] = 2;
switch(lPlayerZone[playerid]){
case 0: format(_@String, sizeof(_@String), "Grove Street");
case 1: format(_@String, sizeof(_@String), "Los Santos");
case 2: format(_@String, sizeof(_@String), "Area51");
}
return _@String; // Retorna um array (Nome do local)
}
#define MAX_GANG_ZONES (32)
#define MAX_GANG_ZONE_NAME (64)
new gGangZone_Name[MAX_GANG_ZONES][MAX_GANG_ZONE_NAME] = {
"Grove Street",
"Los Santos",
"San Fierro",
"Las Vegas DM",
"Favela"
// Deve fazer atй o valor especificado em MAX_GANG_ZONES, caso nгo for especificado o valor mбximo do array, nгo vai acusar erros na declaraзгo..
};
// Entгo criamos um protуtipo pra nossa funзгo
#define GetZoneName(%0)\
gGangZone_Name[%0]
// Definiзгo para od locais 'Zone-ID'
#define GROVE_STREET (0)
#define LOS_SANTOS (1)
#define SAN_FIERRO (2)
new pOwnerArea[MAX_PLAYERS]; // Criamos um vetor
// No evento que ocorre a dominaзгo do local(checkpoint)
OwnerArea[playerid] = GROVE_STREET; // O valor deve ser exatamente o mesmo ID usado ao Criar o CheckPoint, sendo assim eles trabalham associados.
/*
A ultima coisa que tem que fazer й usar este vetor que indica o ID de qual Checkpoint vc dominou, e fica fбcil acessar um array com os nomes de todos CheckPoints.
Podemos atй definir uma funзгo com macro
*/
// Exemplo
#define GetPlayerZoneOwner(%0)\
OwnerArea[%0]
format( string, sizeof(string), "%s Esta sendo dominada, ajudem a livrar seu territуrio desses babacas!", gGangZone_Name[GetPlayerZoneOwner(playerid)]);