PHP Code:
CMD:capture(playerid, params[])
{
if(!IsAGang(playerid)) return true;
if(GetPVarInt(playerid, "AntiFlood") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Подождите немного!");
SetPVarInt(playerid, "AntiFlood", gettime() + 1);
if(sscanf(params,"d", params[0]))
{
SendClientMessage(playerid, COLOR_WHITE, "Введите: /capture [1 или 2]");
SendClientMessage(playerid, COLOR_WHITE, "Вариант: 1 - Выйграет банда которая наберет больше убийств во время войны за территорию.");
SendClientMessage(playerid, COLOR_WHITE, "Вариант: 2 - Выйграет банда которая к концу войны останется на территории убив всех противников.");
return true;
}
if(params[0] < 1 || params[0] > 2)
{
SendClientMessage(playerid, COLOR_WHITE, "Введите: /capture [1 или 2]");
SendClientMessage(playerid, COLOR_WHITE, "Вариант: 1 - Выйграет банда которая наберет больше убийств во время войны за территорию.");
SendClientMessage(playerid, COLOR_WHITE, "Вариант: 2 - Выйграет банда которая к концу войны останется на территории убив всех противников.");
return true;
}
new newhour, newminute, newsecond;
gettime(newhour, newminute, newsecond);
//if(newhour < 10 || newhour > 23) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Каптить можно только с 10 до 23 часов");
if(PI[playerid][Rank] < Fraction[PI[playerid][Member]][fRankMax] - 3) return SendClientMessage(playerid, COLOR_WHITE, NotDostup);
for(new i = 1; i <= TOTALGZ; i++)
{
if(PlayerToKvadrat(playerid, GZInfo[i][gCoords][0], GZInfo[i][gCoords][1], GZInfo[i][gCoords][2], GZInfo[i][gCoords][3]))
{
// Проверки на атаку
if(capturetime < gettime()) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Ваша банда уже воевала за территорию.");
if(GZInfo[i][gDefenders] == PI[playerid][Member]) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Данная территория принадлежит вашей банде");
if(IsARespawn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Нельзя завоевать эту территорию");
if(i == 0 || i == 1 || i == 86 || i == 96 || i == 45 || i == 46 || i == 114 || i == 115) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Нельзя завоевать эту территорию");
if(ZoneOnBattle[i] == true) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Данная территория под атакой другой банды");
if(ItsWar[PI[playerid][Member] - 14] == true) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Войну за территорию можно проводить один раз в час!");
if(ItsWar[GZInfo[i][gDefenders] - 14] == true) return SendClientMessage(playerid, COLOR_WHITE,"Ошибка: Данная банда воюет / воевала!");
//
GZInfo[i][gArea] = CreateDynamicRectangle(GZInfo[i][gCoords][0], GZInfo[i][gCoords][1], GZInfo[i][gCoords][2], GZInfo[i][gCoords][3]);
GangZoneFlashForAll(GZInfo[i][gID], COLOR_RED);
ZoneOnBattle[i] = true;
GZInfo[i][gType] = params[0];
GZSafeTime[i] = 600;
GZInfo[i][gAttackers] = PI[playerid][Member];
GZInfo[i][gPlayerAttacker] = 0;
GZInfo[i][gPlayerDefender] = 0;
GZInfo[i][gKillAttacker] = 0;
GZInfo[i][gKillDefender] = 0;
ItsWar[GZInfo[i][gAttackers] - 14] = true;
ItsWar[GZInfo[i][gDefenders] - 14] = true;
//
format(PI[playerid][CMDstr], 128, "[Внимание]: На вашу территорию напала группировка %s, у вас есть 2 минуты, чтобы подготовиться", gFractionName[PI[playerid][Member]]);
SendFrac(GZInfo[i][gDefenders], COLOR_LIGHTRED, PI[playerid][CMDstr]);
//
format(PI[playerid][CMDstr], 128, "[Внимание]: Ваша банда напала на территорию группировки %s, у вас есть 2 минуты, чтобы подготовиться", gFractionName[GZInfo[i][gDefenders]]);
SendFrac(PI[playerid][Member], 0x00A86BFF, PI[playerid][CMDstr]);
format(PI[playerid][CMDstr], 60, "Атаку произвел(а) %s[%d]", PI[playerid][Name], playerid);
SendFrac(PI[playerid][Member], COLOR_WHITE, PI[playerid][CMDstr]);
//
format(PI[playerid][CMDstr], 128, "[A] CAPTURE. [TYPE: %d] Банда %s напала на территорию банды %s", params[0], gFractionName[PI[playerid][Member]], gFractionName[GZInfo[i][gDefenders]]);
SCMA(PI[playerid][CMDstr], COLOR_YELLOW);
//
new str[128];
if(params[0] == 1) format(str, sizeof(str), "~g~TIME: ~w~%s~n~~n~%s: ~g~%d~n~~w~%s: ~g~%d~n~~n~~w~TYPE CAPTURE: ~g~1", convert(GZSafeTime[i]), gFractionName[GZInfo[i][gAttackers]], GZInfo[i][gPlayerAttacker], gFractionName[GZInfo[i][gDefenders]], GZInfo[i][gDefenders]);
else format(str, sizeof(str), "~g~TIME: ~w~%s~n~~n~%s: ~g~%d ~w~KILLS: ~r~%d~n~~w~%s: ~g~%d ~w~KILLS: ~r~%d~n~~n~~w~TYPE CAPTURE: ~g~2", convert(GZSafeTime[i]), gFractionName[GZInfo[i][gAttackers]], GZInfo[i][gPlayerAttacker], GZInfo[i][gKillAttacker], gFractionName[GZInfo[i][gDefenders]], GZInfo[i][gDefenders], GZInfo[i][gKillDefender]);
//
PlayerForeach(x)
{
if(!PI[playerid][Login]) continue;
if(GZInfo[i][gAttackers] != PI[x][Member] && GZInfo[i][gDefenders] != PI[x][Member]) continue;
PlayerTextDrawSetString(x, GangWar[x], str);
PlayerTextDrawShow(x, GangWar[x]);
}
break;
}
}
return true;
}