Диманн
Умник
Всем привет подскажите в чем проблема, капт длится бесконечно...
команда)
GzCheck()
---------- Post added at 12:27 ---------- Previous post was at 12:13 ----------
up:cf::cf:
команда)
PHP:
else if(!strcmp(cmd,"/capture",true))
{
if(FrakCD[PlayerInfo[playerid][pMember]] == 0)
{
if(capt == 1) return SendClientMessage(playerid,COLOR_WHITE, "{FF0000}x{FFFFFF} В Данное время, капт запрещен");
if(!IsInAllowed(playerid)) return SendClientMessage(playerid,COLOR_WHITE, "{FF0000}x{FFFFFF} Вам недоступна эта функция!");
new tmphour, tmpminute, tmpsecond;
gettime(tmphour, tmpminute, tmpsecond);
tmphour = shifthour;
switch(tmpminute)
{
case 0..10:
{
for(new i = 0;i<130;i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]) && GZInfo[i][gFrakVlad] != PlayerInfo[playerid][pMember] && ZoneOnBattle[i]==0)
{
if(FrakCD[GZInfo[i][gFrakVlad]] > 0) return SendClientMessage(playerid,COLOR_WHITE, "{FF0000}x{FFFFFF} Данная фракция уже воюет за территорию!");
if(FrakCD[GZInfo[i][gFrakVlad]] != 0) return SendClientMessage(playerid,COLOR_WHITE, "{FF0000}x{FFFFFF} Банда на которую вы хотите напасать уже воевала в этом часу");
if(IsATerra(playerid)) return SendClientMessage(playerid,COLOR_WHITE, "{FF0000}x{FFFFFF} Нельзя захватить эту территорию!");
if(!IsInAllowed(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}x{FFFFFF} Вы не можете захватить эту территорию!");
if(PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}x{FFFFFF} Функция доступная с 7 ранга и выше");
format(string,sizeof(string),"[Внимание]: Ваша банда напала на территорию %s",GetGangName(GZInfo[i][gFrakVlad]));
SendFamilyMessage(PlayerInfo[playerid][pMember],0x00b953ff,string);
SendClientMessage(playerid, COLOR_REDD,"[Capture]{FFFFFF} Территория будет мигать 10 минут. Победит банда, которая останется последней");
SendClientMessage(playerid, COLOR_REDD,"[Capture]{FFFFFF} Территория будет мигать до тех пор, пока на ней не останется 1 банда");
format(string,sizeof(string),"[Внимание]: На вашу территорию напала банда %s",GetGangName(PlayerInfo[playerid][pMember]));
SendFamilyMessage(GZInfo[i][gFrakVlad],0xC44D4DFF,string);
GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
GZSafeTime[i] = 420;
FrakCD[GZInfo[i][gFrakVlad]] = 1800;
FrakCD[PlayerInfo[playerid][pMember]] = 1800;
GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
ZoneTimer[i] = 0;
ZoneOnBattle[i] = 1;
break;
}
}
}
default: SendClientMessage(playerid,COLOR_WHITE, "{FF0000}x{FFFFFF} Каптить доступно только 10 минут после нового часа");
}
}
else return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}x{FFFFFF} Ваша банда уже воюет/воевала за территорию");
}
PHP:
stock GzCheck()
{
for(new i =0;i<sizeof(GZInfo);i++)
{
if(ZoneOnBattle[i] == 1 && GZSafeTime[i] == 0)
{
ZoneTimer[i] -=5;
if(ZoneTimer[i] <=0)
{
SendGangMessage(i,0xC44D4DFF,"Время на захват территории вышло");
ZoneOnBattle[i] =0;
GangZoneStopFlashForAll(GZInfo[i][gID]);
SaveGZ();
SaveZones();
}
foreach(Player,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)
{
SendFamilyMessage(GZInfo[i][gNapad],0xC44D4DFF,"Вам не удалось захватить территорию");
SendFamilyMessage(GZInfo[i][gFrakVlad],0x00b953ff,"Вы отстояли свою территорию");
}
else
{
SendFamilyMessage(GZInfo[i][gFrakVlad],0xC44D4DFF,"Вы потеряли контроль над одной из своих территорий");
SendFamilyMessage(GZInfo[i][gNapad],0x00b953ff,"Вы взяли под свой контроль новую территорию");
}
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));
SaveGZ();
break;
}
}
}
return asd;
}
}
for(new i =0;i<130;i++)
{
for(new z = 0;z<20;z++)
{
OnZONE[i][z] =0;
}
}
return true;
}
---------- Post added at 12:27 ---------- Previous post was at 12:13 ----------
up:cf::cf:
