07/11/2023 16:36
(Esta mensagem foi modificada pela última vez a: 07/11/2023 16:39 por pushline.)
Esse código não faz muito sentido (pra mim), toda vez que um player spawnar vai ser re-mostrado a gangzone. Mas não tem jeito, já que a função GangZoneShowForAll foi criada pra ser chamada no OnPlayerSpawn por algum motivo, sendo que era pra ser feita pra ser dependente da OnGameModeInit, então resolvi trocar para GangZoneShowForPlayer, para não ter que cair num loop toda hora.
(explicação da frase acima - https://github.com/openmultiplayer/open....es.cpp#L71)
(é literalmente um loop nos players com GangZoneShowForPlayer, desenvolvimento do Kalcor é pra fuder.)
segue um código levemente otimizado:
(explicação da frase acima - https://github.com/openmultiplayer/open....es.cpp#L71)
(é literalmente um loop nos players com GangZoneShowForPlayer, desenvolvimento do Kalcor é pra fuder.)
segue um código levemente otimizado:
Código PHP:
#define MAX_GANGZONES 11
new Territory[MAX_GANGZONES];
new TerritoryOwner[MAX_GANGZONES];
public OnGameModeInit()
{
Territory[8] = GangZoneCreate(1018.4908, 2064.2393, 1109.6716, 2166.1807); // Armazém de Armas
}
forward OnPlayerSpawnEx(playerid);
public OnPlayerSpawnEx(playerid)
{
GangZoneShowForPlayer(playerid, FishingArea, COLOR_OOC);
GangZoneShowForPlayer(playerid, Territory[8], TeamColor(TerritoryOwner[8]));
if(TerritoryOwner[4] == 3)
{
GangZoneShowForPlayer(playerid, gzbs,COLOR_LIGHTBLUE);
}
else if(TerritoryOwner[4] == 11)
{
GangZoneShowForPlayer(playerid, gzbs,COLOR_RED);
}
if(TerritoryOwner[5] == 3)
{
GangZoneShowForPlayer(playerid, gzul,COLOR_LIGHTBLUE);
}
else if(TerritoryOwner[5] == 6)
{
GangZoneShowForPlayer(playerid, gzul,COLOR_RED);
}
}
public OnPlayerSpawn(playerid)
{
OnPlayerSpawnEx(playerid);
return 1;
}
stock TeamColor(teamid)
{
switch(teamid)
{
case 0, 4, 7..13, 15, 16, 18..20: return COLOR_WHITE;
case 1: return TEAM_BLUE_COLOR;
case 2: return COLOR_BLACK;
case 3: return TEAM_ARMY_COLOR;
case 5: return TEAM_AZTECAS_COLOR;
case 14: return COLOR_LIGHTRED;
case 17: return COLOR_NEWS;
case 21..39: return Org_Color[teamid];
default: return COLOR_WHITE;
}
return COLOR_WHITE;
}