PDA

Просмотр полной версии : [Вопрос] Проблема с бандами!



Aleksey_Igel
16.05.2014, 15:29
Начинается капт у банды, проходит 10 минут, терра все равно мигает. Ждал 30 минут, а она все равно мигает и не захватывается, что делать?


if(!strcmp(cmd, "/capture",true))
{
if(IsAGang(playerid))
{
if(FrakCD[PlayerInfo[playerid][pMember]] == 0)
{
for(new i = 0; i < sizeof(GZInfo); 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)
{
new faction = PlayerInfo[playerid][pMember];
if(FrakCD[GZInfo[i][gFrakVlad]] != 0) return SendClientMessage(playerid,COLOR_GREY,"Банда на которую вы хотите напасать уже воевала в этом часу");
if(IsATerra(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Нельзя захватить эту территорию");
if(!IsInAllowed(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете захватить эту территорию");
if(PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid, COLOR_GREY,"Функция доступная с 7 ранга и выше");
format(string,sizeof(string),"[Внимание]: Ваша банда напала на территорию %s", GetGangName(GZInfo[i][gFrakVlad]));
SendFamilyMessage(PlayerInfo[playerid][pMember],0x00B953AA,string);
SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать 10 минут. Победит банда, которая останется последней.");
SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать до тех пор, пока на ней не останется 1 банда.");
format(string,sizeof(string), "[Внимание]: На вашу территорию напала банда %s", GetGangName(PlayerInfo[playerid][pMember]));
SendFamilyMessage(GZInfo[i][gFrakVlad],0xC56565AA,string);
GangZoneFlashForAll(GZInfo[i][gID], COLOR_REDD);
GZSafeTime[i] = 600;
FrakCD[faction] = 3590;
GZInfo[i][gNapad] = faction;
ZoneTimer[i] = 600;
ZoneOnBattle[i] = 1;
break;
}
}
}
else
{
return SendClientMessage(playerid, COLOR_GREY, "Вы уже воевали в этом часу");
}
}
}

underwoker
16.05.2014, 16:58
Таймер капта скиньте.

Aleksey_Igel
16.05.2014, 17:26
Таймер капта скиньте.


Простите я новичек в этом деле, где его найти?

wAx
16.05.2014, 17:50
По моему мнению, это паблик MzCheck();

- - - Добавлено - - -

Или GzCheck();

Aleksey_Igel
16.05.2014, 18:20
Таймер капта скиньте.



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;
}
}