29.06.2013, 15:30
Проблема в том что если первая банда нападает на вторую банду и они уйдут с територии захвата, то когда придёт третья банда, она захватит помогите создать проверку или скажите хоть как
PHP код:
public GzCheck()
{
new string[256];
for(new i =0;i<sizeof(GZInfo);i++)
{
if(ZoneOnBattle[i] == 1 && GZSafeTime[i] == 0)
{
ZoneTimer[i] -=10;
startwarq = 0;
if(ZoneTimer[i] <=0)
{
SendClientMessageToAll(-1,"Ничья");
ZoneOnBattle[i] =0;
GangZoneStopFlashForAll(GZInfo[i][gID]);
}
for(new x =0;x<MAX_PLAYERS;x++)
{
if(PlayerToKvadrat(x,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3])&&IsInAllowed(x))
{
new faction;
if(PlayerInfo[x][pLeader] !=0) {faction = PlayerInfo[x][pLeader];}
else { faction = PlayerInfo[x][pMember];}
OnZONE[i][faction] ++;
}
}
new asd;
for(new x =0;x<20;x++)
{
if(OnZONE[i][x] > 0 && IsInAllowedF(x)) asd ++;
}
if(asd == 1)
{
for(new x =0;x<20;x++)
{
if(OnZONE[i][x] > 0)
{
new zx,zl;
zx = x;
zl = i;
if(GZInfo[i][gFrakVlad] == x) {format(string,sizeof(string),"банда%s отстояла",GetGangName(zx)); }
else
{format(string,sizeof(string),"банда %s захватила зону",GetGangName(zx)); }
for(new ads = 13;ads <= 19;ads++)
{
SendFamilyMessage(ads,GetGangZoneColor(zx),string);
}
ZoneOnBattle[zl] =0;
GZInfo[zl][gNapad] = 0;
GZInfo[zl][gFrakVlad] = zx;
GangZoneStopFlashForAll(GZInfo[zl][gID]);
GangZoneHideForAll(GZInfo[zl][gID]);
GangZoneShowForAll(GZInfo[zl][gID],GetGangZoneColor(zl));
ItsWar[GZInfo[zl][gNapad]] = false;
ItsWar[GZInfo[zl][gFrakVlad]] = false;
SaveGZ();
break;
}
}
}
}
}
// for(new i =0;i<130;i++)
//{
for(new i =0;i<sizeof(GZInfo);i++)
{
for(new z = 0;z<20;z++)
{
OnZONE[i][z] =0;
}
}
}