Vadimka_Zelva
Новичок
У меня такая проблема:Мы стали захватывать зону /capture зона моргает ждём ждём ждём ничего не происходит уже как 20 минут в чём проблема?
Код:
else if(strcmp(cmd, "/capture", true) == 0 || strcmp(cmd, "/capt", true) == 0)
{
if(FrakCD[PlayerInfo[playerid][pMember]] == 0)
{
if(GetPVarInt(playerid,"ANTIFLOOD_CAPT") > gettime()) return SendClientMessage(playerid,COLOR_GREY,"Ïîæàëóéñòà ïîäîæäèòå..");
if(!IsInAllowed(playerid)) return SendClientMessage(playerid,COLOR_GRAD1, "{F36223}[!]{ADAEAD}Âû íå ìîæåòå çàõâàòèòü òåððèòîðèþ, âû íå áàíäèò, èëè ó âàñ íåäîñòàòî÷íî ïðàâ.");
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(!IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid,COLOR_GREY,"{F36223}[!]{ADAEAD}Íåâîçìîæíî çàõâàòèòü äàííóþ òåððèòîðèþ, íåäîñòàòî÷íî èãðîêîâ.");
if(FrakCD[GZInfo[i][gFrakVlad]] != 0) return SendClientMessage(playerid,COLOR_GRAD1,"{F36223}[!]{ADAEAD}Áàíäà íà êîòîðóþ âû õîòèòå íàïàñòü óæå âîåâàëà â ýòîì ÷àñó.");
FrakCD[GZInfo[i][gFrakVlad]] = 1;
FrakCD[PlayerInfo[playerid][pMember]] = 1;
settext(gaga, GetCap*****(playerid));
format(string,sizeof(string),"%s íà÷àëè çàõâàò òåððèòîðèè áàíäû %s, â ðàéîíå %s",GetGangName(PlayerInfo[playerid][pMember]),GetGangName(GZInfo[i][gFrakVlad]),gaga);
SendFamilyMessage(PlayerInfo[playerid][pMember],COLOR_LIGHTRED,string);
format(string,sizeof(string),"%s íà÷àëè çàõâàò òåððèòîðèè áàíäû %s, â ðàéîíå %s",GetGangName(PlayerInfo[playerid][pMember]),GetGangName(GZInfo[i][gFrakVlad]),gaga);
SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_LIGHTRED,string);
GangZoneFlashForAll(GZInfo[i][gID],GetGZColorF(PlayerInfo[playerid][pMember]));
GZSafeTime[i] = 1000;
GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
ZoneOnBattle[i] = 1;
captures++;
GetCap*****(playerid);
if(GzCheckOn == 0)
{
GzCheckTimer = SetTimer("GzCheck", 1000,1);
GzCheckOn = 1;
}
break;
}
}
}
else return SendClientMessage(playerid,-1,"{F36223}[!]{ADAEAD}Âàøà áàíäà óæå âîåâàëà çà òåððèòîðèþ.");
SetPVarInt(playerid,"ANTIFLOOD_CAPT",gettime()+5);
}
Код:
forward GzCheck();
public GzCheck()
{
for(new il = 0; il < sizeof(GZInfo); il++)
{
new OnZONE[130][20];
if(ZoneOnBattle[il] == 1)
{
if(GZSafeTime[il] > 0) GZSafeTime[il] -= 1;
for(new x=0; x<GetMaxPlayers(); x++)
{
new faction = PlayerInfo[x][pMember];
if(faction == GZInfo[il][gNapad] || faction == GZInfo[il][gFrakVlad])
{
if(PlayerToKvadrat(x,GZInfo[il][gCoords][0], GZInfo[il][gCoords][1],GZInfo[il][gCoords][2],GZInfo[il][gCoords][3]))
{
if(ZoneOnBattle[il] == 1)
{
OnZONE[il][faction] ++;
}
}
}
}
for(new x=0; x<GetMaxPlayers(); x++)
{
new string[150];
new y = PlayerInfo[x][pMember];
if(y == GZInfo[il][gNapad] || y == GZInfo[il][gFrakVlad])
{
if(CaptureOn[x] == 0)
{
PlayerTextDrawShow(x, CaptureTime[x]);
CaptureOn[x] = 1;
}
format(string,160,"~g~War for territory ~y~ID:%d~n~~b~Time to end:~w~%s~n~~g~Zone: ~w~%s~n~~y~%s:~w~%d~n~~y~%s:~w~%d",GZInfo[il][gID],Convert(GZSafeTime[il]),gaga,GetGangName(GZInfo[il][gNapad]),OnZONE[il][GZInfo[il][gNapad]],GetGangName(GZInfo[il][gFrakVlad]),OnZONE[il][GZInfo[il][gFrakVlad]]);
PlayerTextDrawSetString(x,CaptureTime[x],string);
}
}
new asd;
for(new x; x < 20; x++)
{
if(OnZONE[il][x] > 0 && IsInAllowedF(x) && GZSafeTime[il] <= 0) asd++;
}
if(asd == 1)
{
for(new z = 0; z < 20; z++)
{
if(OnZONE[il][z] > 0)
{
new zx,zl;
zx = z;
zl = il;
if(GZInfo[il][gFrakVlad] == z)
{
SendFamilyMessage(GZInfo[il][gFrakVlad],0x00B953AA,"Âû îòñòîÿëè ñâîþ òåððèòîðèþ");
SendFamilyMessage(GZInfo[il][gNapad],0xC56565AA,"Âàì íå óäàëîñü çàõâàòèòü òåððèòîðèþ");
for(new y=0; y<GetMaxPlayers(); y++)
{
if(PlayerInfo[y][pMember] == GZInfo[il][gNapad] || PlayerInfo[y][pMember] == GZInfo[il][gFrakVlad])
{
CaptureOn[y] = 0;
PlayerTextDrawHide(y, CaptureTime[y]);
}
}
}
else
{
SendFamilyMessage(GZInfo[il][gNapad], 0x00B953AA,"Âû âçÿëè ïîä ñâîé êîíòðîëü íîâóþ òåððèòîðèþ");
SendFamilyMessage(GZInfo[il][gFrakVlad], 0xC56565AA,"Âû ïîòåðÿëè êîíòðîëü îäíîé èç ñâîèõ òåððèòîðèé");
for(new y=0; y<GetMaxPlayers(); y++)
{
if(PlayerInfo[y][pMember] == GZInfo[il][gNapad] || PlayerInfo[y][pMember] == GZInfo[il][gFrakVlad])
{
CaptureOn[y] = 0;
PlayerTextDrawHide(y, CaptureTime[y]);
}
}
}
captures--;
ItsWar[GZInfo[il][gNapad]] = -1;
ItsWar[GZInfo[il][gFrakVlad]] = -1;
ClearTotalGz();
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();
if(captures == 0)
{
KillTimer(GzCheckTimer);
GzCheckOn = 0;
}
break;
}
}
}
}
}
}
Последнее редактирование:
