PHP код:
CMD:capture(playerid)
{
if(!IsAGang(playerid)) return SendClientMessage(playerid, COLOR_GREY, YouCanNot);
else if(pInfo[playerid][pRank] < 9) return SendClientMessage(playerid, COLOR_GREY, !"Захват территории доступен с 9 ранга!");
new h; gettime(h);
if(!(11 <= h <= 22)) return SendClientMessage(playerid, COLOR_GREY, !"Проводить захват можно только с 11:00 до 22:00");
else if(pInfo[playerid][pMember] == 7 && b_Capture[0]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ вашей банде к войне за территории закрыт");
else if(pInfo[playerid][pMember] == 8 && b_Capture[1]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ вашей банде к войне за территории закрыт");
else if(pInfo[playerid][pMember] == 9 && b_Capture[2]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ вашей банде к войне за территории закрыт");
else if(pInfo[playerid][pMember] == 10 && b_Capture[3]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ вашей банде к войне за территории закрыт");
else if(pInfo[playerid][pMember] == 11 && b_Capture[4]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ вашей банде к войне за территории закрыт");
else if(FrakCD != 0)
{
new fd[128];
format(fd,sizeof(fd),"Следующий захват территории возможен через %d мин", FrakCD/60);
return SendClientMessage(playerid,COLOR_GREY,fd);
}
new zone = GetPlayerGangZone(playerid);
if(zone == -1) return SendClientMessage(playerid, COLOR_GREY, !"Вы не находитесь ни в одной из зон");
else if(CaptureStatus) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Уже происходит захват одной из зон. Дождитесь окончания!");
else if(GZInfo[zone][gFrak] == pInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Вы не можете захватывать зону вашей банды!");
else if(GZInfo[zone][gFrak] == 0) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Нельзя захватить нейтральную территорию!");
else if(GZInfo[zone][gFrak] == 7 && b_Capture[0]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ данной банды к войне за территории закрыт");
else if(GZInfo[zone][gFrak] == 8 && b_Capture[1]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ данной банды к войне за территории закрыт");
else if(GZInfo[zone][gFrak] == 9 && b_Capture[2]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ данной банды к войне за территории закрыт");
else if(GZInfo[zone][gFrak] == 10 && b_Capture[3]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ данной банды к войне за территории закрыт");
else if(GZInfo[zone][gFrak] == 11 && b_Capture[4]) return SendClientMessage(playerid, COLOR_GREY, !"[Ошибка] Доступ данной банды к войне за территории закрыт");
/*else if(IsPlayerInBandOnline(pInfo[playerid][pMember]) < 3) return SendClientMessage(playerid, COLOR_GREY, !"Для захвата территории должен быть онлайн хотябы 3 членов банды");
else if(IsPlayerInBandOnline(GZInfo[zone][gFrak]) < 3) return SendClientMessage(playerid, COLOR_GREY, !"У банды владеющей этой территорией менее 3 членов банды онлайн");*/
new str[128];
format(str, sizeof(str), "%s начали захват территории банды %s", GetGangName(pInfo[playerid][pMember]), GetGangName(GZInfo[zone][gFrak]));
SendGhettoMes(COLOR_TOMATO, str);
format(str, sizeof(str), "%s %s[%d] инициировал захват", Fraction_Rang[pInfo[playerid][pMember]][pInfo[playerid][pRank]], GetName(playerid), playerid);
SendGhettoMes(COLOR_TOMATO, str);
GangZoneFlashForAll(GangZone[zone], TeamColors[GetTeamID(playerid)]);
CaptureTime = 10;
FrakCD = 1800;
CaptureStatus = 1;
CaptureZone = zone;
GZInfo[zone][gNapad] = pInfo[playerid][pMember];
GangInfo[pInfo[playerid][pMember]][capture] = 1;
GangInfo[GZInfo[zone][gFrak]][capture] = 1;
GangInfo[pInfo[playerid][pMember]][gangnumber] = 1;
GangInfo[GZInfo[zone][gFrak]][gangnumber] = 0;
CaptureStart(pInfo[playerid][pMember], GZInfo[zone][gFrak]);
format(str, sizeof(str), "[A] Банда %s напала на территорию банды %s",GetGangName(pInfo[playerid][pMember]),GetGangName(GZInfo[zone][gFrak]));
SendAdminMessage(COLOR_FADE1, str);
printf("\n\nНачался капт за территорию ID %d между бандами:\nНападение: %d\nЗащита: %d\n\n",
CaptureZone,
GZInfo[zone][gNapad],
GZInfo[zone][gFrak]);
return 1;
}
stock GangZoneCheck()
{
if(CaptureTime > 0 || CaptureStatus == 0) return 1;
new i = CaptureZone;
printf("\n\nКапт за территорию ID %d между бандами закончился!\nНападение: %d\nЗащита: %d\n\n",
CaptureZone,
GZInfo[CaptureZone][gNapad],
GZInfo[CaptureZone][gFrak]);
CaptureStatus = 0;
CaptureZone = 0;
new string[128];
if(GangInfo[GZInfo[i][gNapad]][score] > GangInfo[GZInfo[i][gFrak]][score])
{
format(string,sizeof(string),"Банда %s захватила новую территорию",GetGangName(GZInfo[i][gNapad]));
SendGhettoMes(COLOR_BLUE, string);
CaptureEnd(GZInfo[i][gNapad], GZInfo[i][gFrak]);
GangZoneStopFlashForAll(GangZone[i]);
GangZoneHideForAll(GangZone[i]);
GangZoneShowForAll(GangZone[i],TeamColors[GZInfo[i][gNapad]]);
GangInfo[GZInfo[i][gNapad]][capture] =
GangInfo[GZInfo[i][gNapad]][score] =
GangInfo[GZInfo[i][gFrak]][capture] =
GangInfo[GZInfo[i][gFrak]][score] =
GangInfo[GZInfo[i][gNapad]][gangnumber] =
GangInfo[GZInfo[i][gFrak]][gangnumber] = 0;
GZInfo[i][gFrak] = GZInfo[i][gNapad];
GZInfo[i][gNapad] = 0;
CaptureStatus = 0;
SaveGZ(i);
foreach(new x : Player)
{
if(!gPlayerLogged[x] || (pInfo[i][pMember] != GZInfo[i][gNapad] && pInfo[i][pMember] != GZInfo[i][gFrak])) continue;
ClearDeathMessage(i);
}
}
else if(GangInfo[GZInfo[i][gNapad]][score] <= GangInfo[GZInfo[i][gFrak]][score])
{
format(string,sizeof(string),"Попытка захватить территорию %s провалилась",GetGangName(GZInfo[i][gFrak]));
SendGhettoMes(COLOR_BLUE, string);
CaptureEnd(GZInfo[i][gNapad], GZInfo[i][gFrak]);
GangZoneStopFlashForAll(GangZone[i]);
GangZoneHideForAll(GangZone[i]);
GangZoneShowForAll(GangZone[i],TeamColors[GZInfo[i][gFrak]]);
GangInfo[GZInfo[i][gNapad]][capture] =
GangInfo[GZInfo[i][gNapad]][score] =
GangInfo[GZInfo[i][gFrak]][capture] =
GangInfo[GZInfo[i][gFrak]][score] =
GangInfo[GZInfo[i][gNapad]][gangnumber] =
GangInfo[GZInfo[i][gFrak]][gangnumber] = 0;
GZInfo[i][gFrak] = GZInfo[i][gFrak];
GZInfo[i][gNapad] = 0;
CaptureStatus = 0;
SaveGZ(i);
foreach(new x : Player)
{
if(!gPlayerLogged[x] || (pInfo[i][pMember] != GZInfo[i][gNapad] && pInfo[i][pMember] != GZInfo[i][gFrak])) continue;
ClearDeathMessage(i);
}
}
return 1;
}
После удали файл с логами сервера, проведи один капт и после того, как всё опять начнёт глючить, скинь сюда новые логи