dybrin-98
Ученик
Проблема в том, что когда вводишь команду /capture пишет, что ты начинаешь войну именно с Grove не смотря в какой зоне ты стоишь
Команда /capture
PHP:
CMD:capture(playerid, params[])
{
if(GetPVarInt(playerid, "Logged") == 0) return 1;
new member = PlayerInfo[playerid][pMember];
if (!IsGang(playerid)) return 1;
if (FloodCheck(playerid, 0, 5, "Ошибка: Попробуйте через 5 секунд") ) return 0;
if(PlayerInfo[playerid][pRang] < 7) return SendClientMessage(playerid, -1, "Захват территории разрешен только с 7 ранга");
new second, minute, hour;
gettime(hour, minute, second);
new gzone = -1;
for(new g = 1; g <= MAX_GZ; g++)
{
if(PlayerToKvadrat(playerid,GZInfo[g][gCoords][0], GZInfo[g][gCoords][1],GZInfo[g][gCoords][2],GZInfo[g][gCoords][3]) && GZInfo[g][gTenure] != member)
{
gzone = g;
}
}
if(gzone == -1) return SendClientMessage(playerid, -1, "Вы должны находится на территории другой банды");
new gangster = 0;
new owner = GZInfo[gzone][gTenure];
if (ItsWar[GZInfo[playerid][gTenure]-15] == true) return SendClientMessage(playerid, -1, "Территорию этой банды можно будет захватить только после на следующей PayDay");
if (capturetime < gettime()) return SendClientMessage(playerid, -1, "Ваша банда еще не окрепла. Ждите следующего PayDay'a");
if (ItsWar[GZInfo[gzone][gTenure]-15] == true) return SendClientMessage(playerid, -1,"Ошибка: Данная банда воюет / воевала!");
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(GetPVarInt(p, "Logged") == 1 && PlayerInfo[p][pMember] == owner) gangster++;
}
WarTime[gzone] = 20;
ZoneOnBattle[gzone] = true;
GZWarer[gzone] = member;
for (new i = 0; i < MAX_GZ; i++)
{
GangZoneFlashForAll(GZInfo[i][gID],0xFF0000AA);
new str1[156];
format(str1, sizeof(str1), "На вашу территорию напала банда %s. У вас есть 10 минут что-бы отстоять ее", GetGangName(GZInfo[i][gNapad]));
SFM(owner, COLOR_LIGHTRED, str1);
format(str1, sizeof(str1), "Ваша банда напала на территорию банды %s. У вас есть 10 минут что-бы захватить ее", GetFrakName(GZInfo[i][gTenure]));
SFM(member, COLOR_LIGHTRED, str1);
new str2[128];
format(str2, sizeof(str2), "» [A] Банда %s напала на территорию %s",GetFrakName(PlayerInfo[playerid][pMember]),GetFrakName(GZInfo[i][gTenure]));
SCMA(COLOR_GREY,str2);
GangZoneFlashForAll(GZInfo[gzone][gID], COLOR_RED);
GZSafeTime[playerid] = TIME_WAR_GANGZONE;
wartimer[gzone] = SetTimerEx("GangZoneWar", 1000, true, "dd", gzone, member);
GZOwnerKill[gzone] = 0;
GZOwnerDeath[gzone] = 0;
fon[gzone] = TextDrawCreate(1, 285, "_");
TextDrawUseBox(fon[gzone], 1);
TextDrawBoxColor(fon[gzone], 0x00000075);
TextDrawTextSize(fon[gzone], 150.0, 400.0);
TextDrawLetterSize(fon[gzone], 0.0, 5.3);
gztime[gzone] = TextDrawCreate(10.0, 285.0, "Time:");
TextDrawLetterSize(gztime[gzone], 0.3, 1.4);
TextDrawColor(gztime[gzone], 0x37FA00FF);
TextDrawFont(gztime[gzone], 3);
TextDrawSetProportional(gztime[gzone], 1);
TextDrawSetOutline(gztime[gzone], 2);
vremya[gzone] = TextDrawCreate(50.0, 285.0, ConvertSeconds(GZSafeTime[i]));
TextDrawLetterSize(vremya[gzone], 0.3, 1.4);
TextDrawColor(vremya[gzone], 0x37FA00FF);
TextDrawFont(vremya[gzone], 3);
TextDrawSetOutline(vremya[gzone], 2);
onecommand[gzone] = TextDrawCreate(10.0, 300.0, GetFrakName(PlayerInfo[playerid][pMember]));
TextDrawLetterSize(onecommand[gzone], 0.4, 1.2);
TextDrawFont(onecommand[gzone], 2);
TextDrawSetOutline(onecommand[gzone], 2);
TextDrawLetterSize(onecommand[gzone], 0.260000, 1.000000);
twocommand[gzone] = TextDrawCreate(10.0, 315.0, GetFrakName(GZInfo[i][gTenure]));
TextDrawUseBox(twocommand[gzone], 0);
TextDrawFont(twocommand[gzone], 3);
TextDrawSetOutline(twocommand[gzone], 2);
TextDrawLetterSize(twocommand[gzone], 0.260000, 1.000000);
kolone[gzone] = TextDrawCreate(133.0, 315.0, "0");
TextDrawFont(kolone[gzone], 3);
TextDrawSetOutline(kolone[gzone], 2);
TextDrawLetterSize(kolone[gzone], 0.3, 1.4);
koltwo[gzone] = TextDrawCreate(133.0, 300.0, "0");
TextDrawLetterSize(koltwo[gzone], 0.3, 1.4);
TextDrawFont(koltwo[gzone], 3);
TextDrawSetOutline(koltwo[gzone], 2);
break;
}
KillTimer(CaptureTimer);
nachalo += 1;
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(GetPVarInt(p, "Logged") == 1)
{
if(PlayerInfo[p][pMember] == owner || PlayerInfo[p][pMember] == member)
{
TextDrawShowForPlayer(p,fon[gzone]);
TextDrawShowForPlayer(p,gztime[gzone]);
TextDrawShowForPlayer(p,vremya[gzone]);
TextDrawShowForPlayer(p,onecommand[gzone]);
TextDrawShowForPlayer(p,twocommand[gzone]);
TextDrawShowForPlayer(p,kolone[gzone]);
TextDrawShowForPlayer(p,koltwo[gzone]);
}
}
}
return 1;
}
PHP:
public GangZoneWar(gzone, gang, idzone)
{
if(nachalo == 0) return 1;
if(WarTime[gzone] == 1)
{
WarTime[gzone]--;
if(GZOwnerKill[gzone] == GZOwnerDeath[gzone])
{
WarTime[gzone] = 180;
SFM(gang, COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы захватить территорию");
SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы отстоять свою территорию");
}
else if(GZOwnerKill[gzone] > GZOwnerDeath[gzone])
{
TextDrawDestroy(fon[gzone]);
TextDrawDestroy(onecommand[gzone]);
TextDrawDestroy(twocommand[gzone]);
TextDrawDestroy(kolone[gzone]);
TextDrawDestroy(koltwo[gzone]);
TextDrawDestroy(gztime[gzone]);
TextDrawDestroy(vremya[gzone]);
nachalo -= 1;
ZoneOnBattle[idzone] = false;
GZInfo[idzone][gNapad] = 0;
SaveGZ(idzone);
GangZoneStopFlashForAll(GZInfo[idzone][gID]);
GangZoneHideForAll(GZInfo[idzone][gID]);
GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
KillTimer(wartimer[gzone]);
SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Вам удалось отстоять свою территорию.");
SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Вам не удалось захватить территорию.");
}
else
{
TextDrawDestroy(fon[gzone]);
TextDrawDestroy(onecommand[gzone]);
TextDrawDestroy(twocommand[gzone]);
TextDrawDestroy(kolone[gzone]);
TextDrawDestroy(koltwo[gzone]);
TextDrawDestroy(gztime[gzone]);
TextDrawDestroy(vremya[gzone]);
nachalo -= 1;
ZoneOnBattle[idzone] = false;
GZInfo[idzone][gNapad] = 0;
SaveGZ(idzone);
GangZoneStopFlashForAll(GZInfo[idzone][gID]);
GangZoneHideForAll(GZInfo[idzone][gID]);
GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
KillTimer(wartimer[gzone]);
SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Ваша банда смогла завоевать территорию");
SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Ваша банда не смогла отстоять свою территорию");
}
}
else if(WarTime[gzone] < 1)
{
if(GZOwnerKill[gzone] == GZOwnerDeath[gzone])
{
GZSafeTime[gzone] = 180;
SFM(gang, COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы захватить территорию");
SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы отстоять свою территорию");
}
else if(GZOwnerKill[gzone] > GZOwnerDeath[gzone])
{
TextDrawDestroy(fon[gzone]);
TextDrawDestroy(onecommand[gzone]);
TextDrawDestroy(twocommand[gzone]);
TextDrawDestroy(kolone[gzone]);
TextDrawDestroy(koltwo[gzone]);
TextDrawDestroy(gztime[gzone]);
TextDrawDestroy(vremya[gzone]);
nachalo -= 1;
ZoneOnBattle[idzone] = false;
GZInfo[idzone][gNapad] = 0;
SaveGZ(idzone);
GangZoneStopFlashForAll(GZInfo[idzone][gID]);
GangZoneHideForAll(GZInfo[idzone][gID]);
GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
KillTimer(wartimer[gzone]);
SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Ваша банда не смогла завоевать территорию");
SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Ваша банда отстояла свою территорию");
}
else
{
TextDrawDestroy(fon[gzone]);
TextDrawDestroy(onecommand[gzone]);
TextDrawDestroy(twocommand[gzone]);
TextDrawDestroy(kolone[gzone]);
TextDrawDestroy(koltwo[gzone]);
TextDrawDestroy(gztime[gzone]);
TextDrawDestroy(vremya[gzone]);
KillTimer(wartimer[gzone]);
nachalo -= 1;
ZoneOnBattle[idzone] = false;
GZInfo[idzone][gNapad] = 0;
SaveGZ(idzone);
GangZoneStopFlashForAll(GZInfo[idzone][gID]);
GangZoneHideForAll(GZInfo[idzone][gID]);
GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Ваша банда смогла завоевать территорию");
SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Ваша банда не смогла отстоять свою территорию");
}
}
else
{
WarTime[gzone]--;
if(WarTime[gzone] == 180)
{
SFM(gang, COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы захватить территорию");
SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы отстоять свою территорию");
}
else if(WarTime[gzone] == 60)
{
SFM(gang, COLOR_LIGHTRED, "У вас осталась 1 минутa для того, что-бы захватить территорию");
SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталась 1 минутa для того, что-бы отстоять свою территорию");
}
}
new string[5];
format(string, sizeof(string), "%d", WarTime[gzone]);
TextDrawSetString(vremya[gzone], string);
return 1;
}
