Westik
Ученик
Как сделать так чтобы фраги засчитывались вне территории?help
PHP:
else if(!strcmp(cmd,"/capture",true))//GzCheck
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pMember] == 18)
{
if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,COLOR_GREY,"Êîìàíäà äîñòóïíà ñ 9 ðàíãà è âûøå");
new tmphour, tmpminute, tmpsecond;
new bigstringer[200];
gettime(tmphour, tmpminute, tmpsecond);
tmphour = shifthour;
if(tmphour < 12 || tmphour > 24) return SendClientMessage(playerid, COLOR_GREY, "Îøèáêà: çàõâàò òåððèòîðèè ðàçðåøåí ñ 12:00 äî 24:00!");
if(capt == 1 || capt == 10) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà: âîéíà çà òåððèòîðèþ óæå èäåò");
if(capt == 4) return SendClientMessage(playerid, COLOR_GREY, "Îøèáêà: â ýòîì ÷àñå óæå ïðîøëî äâà âîçìîæíûõ çàõâàòà. Áîëüøå â îäèí ÷àñ íåëüçÿ");
switch(tmpminute)
{
case 0..15:
{
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]))
{
if(GZInfo[i][gFrakVlad] == PlayerInfo[playerid][pMember]) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà: íåëüçÿ âîåâàòü çà ñâîþ æå òåððèòîðèþ");
new namegang[24],namegangv[24];
switch(PlayerInfo[playerid][pMember])
{
case 15: namegang = "Grove Street Gang";
case 17: namegang = "Aztecas Gang";
case 12: namegang = "Ballas Gang";
case 18: namegang = "Rifa Gang";
case 13: namegang = "Vagos Gang";
}
switch(GZInfo[i][gFrakVlad])
{
case 15: namegangv = "Grove Street Gang";
case 17: namegangv = "Aztecas Gang";
case 12: namegangv = "Ballas Gang";
case 18: namegangv = "Rifa Gang";
case 13: namegangv = "Vagos Gang";
}
if(capt == 2 && PlayerInfo[playerid][pMember] == WarBeen[0]) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà: Âàøà áàíäà óæå âîåâàëà â ýòîì ÷àñå");
if(capt == 2 && GZInfo[i][gFrakVlad] == WarBeen[1]) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà: ýòà áàíäà óæå âîåâàëà â ýòîì ÷àñå");
if(capt == 2 && PlayerInfo[playerid][pMember] == WarBeen[1]) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà: Âàøà áàíäà óæå âîåâàëà â ýòîì ÷àñå");
if(capt == 2 && GZInfo[i][gFrakVlad] == WarBeen[1]) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà: ýòà áàíäà óæå âîåâàëà â ýòîì ÷àñå");
if(IsATerra(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Íåëüçÿ çàõâàòèòü ýòó òåððèòîðèþ");
new gonline;
foreach(Player, y)
{
if(PlayerInfo[y][pMember] == PlayerInfo[playerid][pMember]) gonline++;
}
if(gonline < 2) return SendClientMessage(playerid, COLOR_GREY, "Îøèáêà: íåëüçÿ çàõâàòûâàòü òåððèòîðèþ, åñëè â Âàøåé áàíäå îíëàéí ìåíüøå 2 ÷åëîâåê");
else gonline = 0;
foreach(Player, y)
{
if(PlayerInfo[y][pMember] == GZInfo[i][gFrakVlad]) gonline++;
}
if(gonline < 2) return SendClientMessage(playerid, COLOR_GREY, "Îøèáêà: íåëüçÿ çàõâàòûâàòü òåððèòîðèþ, åñëè â âðàæåéñêîé áàíäå îíëàéí ìåíüøå 2 ÷åëîâåê");
if(capt == 0) capt = 1;
else if(capt == 2) capt = 10;
captureteam[0] = PlayerInfo[playerid][pMember];//Áàíäà íàïàäàþùèõ
captureteam[1] = GZInfo[i][gFrakVlad];//Áàíäà îáîðîíÿþùèõñÿ
format(bigstringer, sizeof(bigstringer), "[F] Áàíäà '%s' íà÷àëà çàõâàò òåððèòîðèè ó '%s' â ðàéîíå '%s' (Çàõâàò íà÷àë %s[%i])", namegang, namegangv, GetPlayerZone(playerid), PlayerInfo[playerid][pNames], playerid);
SendFamilyMessage(15, COLOR_RED, bigstringer); SendFamilyMessage(17, COLOR_RED, bigstringer); SendFamilyMessage(12, COLOR_RED, bigstringer); SendFamilyMessage(18, COLOR_RED, bigstringer); SendFamilyMessage(13, COLOR_RED, bigstringer);
format(bigstringer, sizeof(bigstringer), "[A] {FFCC00}Áàíäà '%s' íà÷àëà çàõâàò òåððèòîðèè ó '%s' â ðàéîíå '%s' {B0B0B0}(Çàõâàò íà÷àë %s[%i])", namegang, namegangv, GetPlayerZone(playerid), PlayerInfo[playerid][pNames], playerid);
SendAdminMessage(0x99CC00FF, bigstringer);
GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
WarTimeMin = 10;
WarTimeSec = 1;
WarZoneID = i;
WarBeen[0] = PlayerInfo[playerid][pMember];
WarBeen[1] = GZInfo[i][gFrakVlad];
CommandKill[0] = 0;
CommandKill[1] = 0;
ScoreZahvat[PlayerInfo[playerid][pMember]] = 0;
ScoreZahvat[GZInfo[i][gFrakVlad]] = 0;
capture[PlayerInfo[playerid][pMember]] = 1;
FrakCD[PlayerInfo[playerid][pMember]] = 1;
FrakCD[GZInfo[i][gFrakVlad]] = 1;
new ftext[20], ftext1[20];
switch(captureteam[0])
{
case 15: ftext = "Grove St.";
case 12: ftext = "Ballas";
case 18: ftext = "Rifa";
case 17: ftext = "Aztec";
case 13: ftext = "Vagos";
}
switch(captureteam[1])
{
case 15: ftext1 = "Grove St.";
case 12: ftext1 = "Ballas";
case 18: ftext1 = "Rifa";
case 17: ftext1 = "Aztec";
case 13: ftext1 = "Vagos";
}
TextDrawSetString(onecommand, ftext);
TextDrawSetString(twocommand, ftext1);
TextDrawSetString(kolone, "0");
TextDrawSetString(koltwo, "0");
foreach(Player, z)
{
if(PlayerInfo[z][pMember] == 15 || PlayerInfo[z][pMember] == 17 || PlayerInfo[z][pMember] == 12 || PlayerInfo[z][pMember] == 18 || PlayerInfo[z][pMember] == 13)
{
TextDrawShowForPlayer(z,fon);
TextDrawShowForPlayer(z,timetext);
TextDrawShowForPlayer(z,vremya);
TextDrawShowForPlayer(z,onecommand);
TextDrawShowForPlayer(z,twocommand);
TextDrawShowForPlayer(z,kolone);
TextDrawShowForPlayer(z,koltwo);
}
}
return true;
}
}
}
default: SendClientMessage(playerid,COLOR_GREY,"Âîåâàòü çà òåððèòîðèè ìîæíî â òå÷åíèå 15 ìèíóò ïîñëå íîâîãî ÷àñà");
}
}
}
return true;
}
PHP:
stock GzCheck()
{
if(capt == 1 || capt == 10)//capture[12] == 1 || capture[13] == 1 || capture[15] == 1 || capture[17] == 1 || capture[18] == 1)
{
if(WarZoneID == 255) return true;
WarTimeSec--;
if(WarTimeSec > 1 && WarTimeMin >= 0 || WarTimeMin > 0)
{
if(WarTimeSec == 0 && WarTimeMin != 0) { WarTimeSec = 60; WarTimeMin--; }
new stringtime[32];
if(WarTimeSec > 9) format(stringtime, sizeof(stringtime)," %d:%d",WarTimeMin,WarTimeSec);
else format(stringtime, sizeof(stringtime)," %d:0%d",WarTimeMin,WarTimeSec);
TextDrawSetString(vremya, stringtime);
}
else
{
foreach(Player, z)
{
if(PlayerInfo[z][pMember] == 12 || PlayerInfo[z][pMember] == 13 || PlayerInfo[z][pMember] == 15 || PlayerInfo[z][pMember] == 17 || PlayerInfo[z][pMember] == 18)
{
TextDrawHideForPlayer(z, fon);
TextDrawHideForPlayer(z, onecommand);
TextDrawHideForPlayer(z, twocommand);
TextDrawHideForPlayer(z, kolone);
TextDrawHideForPlayer(z, koltwo);
TextDrawHideForPlayer(z, timetext);
TextDrawHideForPlayer(z, vremya);
for(new num; num < 10; num++) SendDeathMessageToPlayer(z,6000,5005, 255); //gzcheck
}
}
GangZoneStopFlashForAll(WarZoneID);
GangZoneHideForAll(WarZoneID);
if(CommandKill[1] > CommandKill[0])
{
SendFamilyMessage(captureteam[1],COLOR_NICE,"[F] Âàì óäàëîñü îòñòîÿòü ñâîþ òåððèòîðèþ");
SendFamilyMessage(captureteam[0],COLOR_RED,"[F] Âàì íå óäàëîñü çàâîåâàòü òåððèòîðèþ");
switch(GZInfo[WarZoneID][gFrakVlad])
{
case 12: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xd200ff99);
case 18: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x007fffAA);
case 13: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xcfbe0899);
case 15: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x06b50699);
case 17: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x03c3b899);
default: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xFFBE0065);
}
FrakCD[GZInfo[WarZoneID][gNapad]] = 0;
FrakCD[GZInfo[WarZoneID][gFrakVlad]] = 0;
ScoreZahvat[GZInfo[WarZoneID][gNapad]] = 0;
GZInfo[WarZoneID][gNapad] = 0;
}
else
{
SendFamilyMessage(captureteam[1],COLOR_RED,"[F] Âû ïîòåðÿëè êîíòðîëü íàä îäíîé èç ñâîèõ òåððèòîðèé");
SendFamilyMessage(captureteam[0],COLOR_NICE,"[F] Âû ïðèîáðåëè êîíòðîëü íàä íîâîé òåððèòîðèåé");
switch(GZInfo[WarZoneID][gNapad])
{
case 12: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xd200ff99);
case 18: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x007fffAA);
case 13: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xcfbe0899);
case 15: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x06b50699);
case 17: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x03c3b899);
default: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xFFBE0065);
}
FrakCD[GZInfo[WarZoneID][gNapad]] = 0;
FrakCD[GZInfo[WarZoneID][gFrakVlad]] = 0;
ScoreZahvat[GZInfo[WarZoneID][gFrakVlad]] = 0;
ScoreZahvat[GZInfo[WarZoneID][gNapad]] = 0;
GZInfo[WarZoneID][gFrakVlad] = GZInfo[WarZoneID][gNapad];
GZInfo[WarZoneID][gNapad] = 0;
}
captureteam[0] = 0;
captureteam[1] = 0;
WarTimeSec = 0;
if(capt == 1) capt = 2;
else if(capt == 10) capt = 4;
WarZoneID = 255;
SaveGZ();
UpdateSkladBand();
}
}
return true;
}
