[AJUDA] Cor da GZ -
[AF]Junior - 21.04.2011
Segui esse tutorial do Drakins criando gangzones dominбveis...
https://sampforum.blast.hk/showthread.php?tid=181017
Olhem os cуdigos
Topo:
pawn Код:
/GANGZONES
#define GZS_CRIADAS 4
new GZCriadas[GZS_CRIADAS];
new NomesGZs[GZS_CRIADAS][] =
{
"Aero",//1
"Estacionamento",//2
"Bar",//3
"Parque"//4 OBS: Ъltimo sem vнrgula
};
new Float:CordGZs[GZS_CRIADAS][4] =
{
{1356.766, -2396.403, 1596.345, -2195.068}, // Aero
{1493.668, -1160.76, 1847.332, -912.0523}, // Estacionamento
{337.6059, -1839.771, 520.142, -1666.071}, // Bar
{1828.318, -1287.088, 2094.516, -1113.3871} // Parque
};
forward Terminar(playerid);
//FIM DAS GANGZONES
Em baixo do OnGameModeInit:
pawn Код:
for (new i = 0; i <GZS_CRIADAS; i++) // Loop
{
GZCriadas[i] = GangZoneCreate(CordGZs[i][0], CordGZs[i][1], CordGZs[i][2], CordGZs[i][3]);
printf("Gang Zone %s criada com sucesso!",NomesGZs[i]);
}
No OnPlayerCommandText:
pawn Код:
//gangzones
if(!strcmp(cmdtext, "/dominar", true))
{
if(!IsAreaInGangCheck(playerid)) SendClientMessage(playerid, COLOR_RED, "Vocк nгo estб em nenhuma Gang Zone!");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
for (new i=0; i < GZS_CRIADAS; i++)
{
if (x > CordGZs[i][0] && y > CordGZs[i][1] && x < CordGZs[i][2] && y < CordGZs[i][3]&& z < 500)
format(string, sizeof(string), "Informaзгo: {FFFFFF}%s {FF0000}comeзou a dominar a Gang Zone {FFFFFF}%s{FF0000}!",name,NomesGZs[i]);
SendClientMessageToAll(COLOR_RED, string);
GangZoneFlashForAll(GZCriadas[i], GetPlayerColor(playerid));
}
SetTimer("Terminar",60000,false);
return 1;
}
Public do SetTimer:
pawn Код:
public Terminar(playerid)
{
if(!IsAreaInGangCheck(playerid)) return SendClientMessageToAll(0xFFFF00AA, "Nгo consiguiram dominar a Gang Zone!"),0;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
for (new i=0; i < GZS_CRIADAS; i++)
{
if (x > CordGZs[i][0] && y > CordGZs[i][1] && x < CordGZs[i][2] && y < CordGZs[i][3]&& z < 500)
{
format(string, sizeof(string), "Informaзгo: {FFFFFF}%s {FF0000}conseguiu dominar a Gang Zone {FFFFFF}%s{FF0000}!",name,NomesGZs[i]);
GangZoneStopFlashForAll(GZCriadas[i]);
}
}
SendClientMessageToAll(0xFFFF00AA, string);
return true;
}
Stock para checar se o player estб na GangZone:
pawn Код:
stock IsAreaInGangCheck(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for (new i=0; i < GZS_CRIADAS; i++)
if (x > CordGZs[i][0] && y > CordGZs[i][1] && x < CordGZs[i][2] && y < CordGZs[i][3]&& z < 500) return true;
return false;
}
Bom, tudo isso o
[iPs]Garfield me ajudou. Agora, como eu mudo a cor dessa gangzone que tб branca pra caramba, quero deixar ela branca mas transparente:
0xFFFFFF41.
E quando digito /dominar, pula umas linhas em branco e nгo aparece o Informaзгo:.
Espero que me ajudem. Obrigado.
Re: [AJUDA] Cor da GZ -
Zina - 21.04.2011
pawn Код:
public Terminar(playerid)
{
if(!IsAreaInGangCheck(playerid)) return SendClientMessageToAll(0xFFFF00AA, "Nгo consiguiram dominar a Gang Zone!"),0;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
for (new i=0; i < GZS_CRIADAS; i++)
{
if (x > CordGZs[i][0] && y > CordGZs[i][1] && x < CordGZs[i][2] && y < CordGZs[i][3]&& z < 500)
{
format(string, sizeof(string), "Informaзгo: {FFFFFF}%s {FF0000}conseguiu dominar a Gang Zone {FFFFFF}%s{FF0000}!",name,NomesGZs[i]);
GangZoneStopFlashForAll(GZCriadas[i]);
}
}
SendClientMessageToAll(0xFFFFFF41, string); // Aqui у
return true;
}
Re: [AJUDA] Cor da GZ - rjjj - 21.04.2011
Aqui estб caro amigo cabeзa de cachorro

!
Seu cуdigo estava com vбrios problemas, como falta de
return e
if dentro de loop sem chaves (o que faz com que o
if nгo seja lido),
SetTimer quando deveria ser
SetTimerEx, entre outros

.
Aqui estб, organizei-o em forma de Gamemode new.pwn para melhorar o entendimento do cуdigo, basta checar os locais correspodentes no seu GM/FS para saber onde colocar cada um

:
pawn Код:
#include a_samp
#define Cor_Gz_Dominada 0xFFFFFFAA //Troque aqui a cor que a GZ ficarб apуs ser dominada :D
#define GZS_CRIADAS 4
new GZCriadas[GZS_CRIADAS];
new NomesGZs[GZS_CRIADAS][] =
{
"Aero",//1
"Estacionamento",//2
"Bar",//3
"Parque"//4 OBS: Ъltimo sem vнrgula
};
new Float:CordGZs[GZS_CRIADAS][4] =
{
{1356.766, -2396.403, 1596.345, -2195.068}, // Aero
{1493.668, -1160.76, 1847.332, -912.0523}, // Estacionamento
{337.6059, -1839.771, 520.142, -1666.071}, // Bar
{1828.318, -1287.088, 2094.516, -1113.3871} // Parque
};
forward Terminar(playerid);
public Terminar(playerid)
{
if(!IsAreaInGangCheck(playerid)) return SendClientMessageToAll(0xFFFF00AA, "Nгo consiguiram dominar a Gang Zone!"),0;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
for (new i=0; i < GZS_CRIADAS; i++)
{
if (x >= CordGZs[i][0] && y >= CordGZs[i][1] && x <= CordGZs[i][2] && y <= CordGZs[i][3]&& z < 500)
{
format(string, sizeof(string), "Informaзгo: {FFFFFF}%s {FF0000}conseguiu dominar a Gang Zone {FFFFFF}%s{FF0000}!",name,NomesGZs[i]);
GangZoneStopFlashForAll(GZCriadas[i]);
GangZoneShowForAll(GZCriadas[i], Cor_Gz_Dominada);//Coloque aqui a cor que a GZ ficarб apуs ser dominada :D
}
}
SendClientMessageToAll(0xFFFF00AA, string);
return true;
}
//FIM DAS GANGZONES
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/dominar", true))
{
if(!IsAreaInGangCheck(playerid)) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo estб em nenhuma Gang Zone!");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
for (new i=0; i < GZS_CRIADAS; i++)
{
if (x >= CordGZs[i][0] && y >= CordGZs[i][1] && x <= CordGZs[i][2] && y <= CordGZs[i][3]&& z < 500)
{
format(string, sizeof(string), "Informaзгo: {FFFFFF}%s {FF0000}comeзou a dominar a Gang Zone {FFFFFF}%s{FF0000}!",name,NomesGZs[i]);
SendClientMessageToAll(COLOR_RED, string);
GangZoneFlashForAll(GZCriadas[i], GetPlayerColor(playerid));
}
}
SetTimerEx("Terminar", 60000, false, "d", playerid);
return 1;
}
return 0;
}
public OnGameModeInit()
{
for (new i = 0; i <GZS_CRIADAS; i++) // Loop
{
GZCriadas[i] = GangZoneCreate(CordGZs[i][0], CordGZs[i][1], CordGZs[i][2], CordGZs[i][3]);
printf("Gang Zone %s criada com sucesso!",NomesGZs[i]);
}
return 1;
}
stock IsAreaInGangCheck(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for (new i=0; i < GZS_CRIADAS; i++)
{
if (x >= CordGZs[i][0] && y >= CordGZs[i][1] && x <= CordGZs[i][2] && y <= CordGZs[i][3]&& z < 500)
{
return true;
}
}
return false;
}
Espero ter ajudado

.
Re: [AJUDA] Cor da GZ -
lincon c - 21.04.2011
oi pessoal como fasso minha perguta aqui no forum me ajuda ai pf
Re: [AJUDA] Cor da GZ -
Zina - 21.04.2011
Clica aqui
Re: [AJUDA] Cor da GZ -
lincon c - 21.04.2011
galera alguem me ajuda ai por favor to perdido aqui no forum
Re: [AJUDA] Cor da GZ -
lincon c - 21.04.2011
Zina Desculpe mais nao foi nao eu acho
e desculpa esta atrapalhando ai й q eu vi voces online
Re: [AJUDA] Cor da GZ -
Zina - 21.04.2011
Й sу clicar no
link e colocar o
tнtulo e o
contйudo.
Obs.: Nгo й permitido double-post aqui no fуrum caro colega,
LEIA AS REGRAS.