Maximyska
Дебютант
Всем привет..помогите доделать каптур..Не могу сделать /capture только раз в час.10 минут после пейдейя...
и не могу сделать что бы на 1 банду не могли нападать сразу 2 банды...Пробовал сделать проверку..получается только 1 капт в пейдей..тоесть 1банда против 2
и не могу сделать что бы на 1 банду не могли нападать сразу 2 банды...Пробовал сделать проверку..получается только 1 капт в пейдей..тоесть 1банда против 2
new captureteam[2];//ID банд, которые каптят
new CommandKill[2];//Фраги банд
new WarTimeMin;//Минуты капта
new WarZoneID;//ID терры
new WarTimeSec;//Секунды капта
new WarBeen[2];//банды, которые уже воевали в этом часу
new Text: onecommand;//Первая банда
new Text: twocommand;//Вторая банда
new Text: kolone;
new Text: koltwo;
new Text: fon;//Фон текстрава
new Text: timetext;//Текстарв времени
new Text: vremya;//Текстрав времени[x2]
CMD:capture(playerid, params[])
{
if(!IsInAllowed(playerid)) return SendClientMessage(playerid,COLOR_WHITE, YouCanNot);
if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Нельзя использовать в машине.");
new tmphour, tmpminute, tmpsecond;
gettime(tmphour, tmpminute, tmpsecond);
tmphour = shifthour;
if(IsPlayerInRangeOfPoint(playerid, 50,2646.2515,-2018.8574,13.5510) || IsPlayerInRangeOfPoint(playerid, 50,2775.4265,-1623.3855,10.9219)||
IsPlayerInRangeOfPoint(playerid, 50,2487.3386,-1650.2897,13.4886) || IsPlayerInRangeOfPoint(playerid, 50,1755.5271,-1912.4033,13.5683) ||
IsPlayerInRangeOfPoint(playerid, 50,2255.5886,-1442.9698,24.3704)) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Нельзя закаптить спавн.");
for(new i = 0;i<sizeof(GZInfo);i++)
{
if(PlayerToKvadrat(playerid,GZInfo[gCoords][0], GZInfo[gCoords][1],GZInfo[gCoords][2],GZInfo[gCoords][3]))
{
if(tmphour >= 2 && tmphour <= 10) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: От 02:00 до 10.00 нельзя захватывать территории.");
if(GZInfo[gFrakVlad] == PlayerInfo[playerid][pMember]) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя воевать за свою же территорию");
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[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 == 1 && PlayerInfo[playerid][pMember] == WarBeen[0]) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Ваша банда уже воевала в этом часе");
if(capt == 1 && GZInfo[gFrakVlad] == WarBeen[1]) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Эта банда уже воевала в этом часе");
if(capt == 1 && PlayerInfo[playerid][pMember] == WarBeen[1]) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Ваша банда уже воевала в этом часе");
if(capt == 1 && GZInfo[gFrakVlad] == WarBeen[1]) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Эта банда уже воевала в этом часе");
if(IsATerra(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя захватить эту территорию");
new gonline;
foreach(Player, y)
{
if(PlayerInfo[y][pMember] == PlayerInfo[playerid][pMember]) gonline++;
}
if(gonline < 1) return SendClientMessage(playerid, COLOR_WHITE,"Ошибка: Нельзя захватывать территорию, если в Вашей банде онлайн меньше 1 человек");
else gonline = 0;
foreach(Player, y)
{
if(PlayerInfo[y][pMember] == GZInfo[gFrakVlad]) gonline++;
}
if(gonline < 1) return SendClientMessage(playerid, COLOR_WHITE,"Ошибка: Нельзя захватывать территорию, если в вражейской банде онлайн меньше 1 человек");
if(capt == 0) capt = 1;
else if(capt == 2) capt = 10;
captureteam[0] = PlayerInfo[playerid][pMember];//Банда нападающих
captureteam[1] = GZInfo[gFrakVlad];//Банда обороняющихся
format(strings, sizeof(strings), "[F] Банда '%s' начала захват территории у '%s' в районе '%s' (Захват начал %s[%i])", namegang, namegangv, GetPlayerZone(playerid), PlayerInfo[playerid][pNames], playerid);
SendFamilyMessage(15, COLOR_RED, strings); SendFamilyMessage(17, COLOR_RED, strings); SendFamilyMessage(12, COLOR_RED, strings); SendFamilyMessage(18, COLOR_RED, strings); SendFamilyMessage(13, COLOR_RED, strings);
format(strings, sizeof(strings), "[A] {FFCC00}Банда '%s' начала захват территории у '%s' в районе '%s' {B0B0B0}(Захват начал %s[%i])", namegang, namegangv, GetPlayerZone(playerid), PlayerInfo[playerid][pNames], playerid);
SendAdminMessage(COLOR_BLUE, strings);
GangZoneFlashForAll(GZInfo[gID],COLOR_REDD);
GZInfo[gNapad] = PlayerInfo[playerid][pMember];
WarTimeMin = 6;
WarTimeSec = 1;
WarZoneID = i;
WarBeen[0] = PlayerInfo[playerid][pMember];
WarBeen[1] = GZInfo[gFrakVlad];
CommandKill[0] = 0;
CommandKill[1] = 0;
ScoreZahvat[PlayerInfo[playerid][pMember]] = 0;
ScoreZahvat[GZInfo[gFrakVlad]] = 0;
capture[PlayerInfo[playerid][pMember]] = 1;
FrakCD[PlayerInfo[playerid][pMember]] = 1;
FrakCD[GZInfo[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;
}
}
return true;
}
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);
}
}
GangZoneStopFlashForAll(WarZoneID);
GangZoneHideForAll(WarZoneID);
if(CommandKill[1] > CommandKill[0])
{
SendFamilyMessage(captureteam[1],0x72e600FF,"[F] Вам удалось отстоять свою территорию");
SendFamilyMessage(captureteam[0],COLOR_RED,"[F] Вам не удалось завоевать территорию");
switch(GZInfo[WarZoneID][gFrakVlad])
{
case 12: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xCC00FFAA);
case 18: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x6666FFAA);
case 13: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xffff00AA);
case 15: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x009900AA);
case 17: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x00CCFFAA);
default: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xC0C0C0AA);
}
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],0x72e600FF,"[F] Вы приобрели контроль над новой территорией");
switch(GZInfo[WarZoneID][gNapad])
{
case 12: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xCC00FFAA);
case 18: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x6666FFAA);
case 13: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xffff00AA);
case 15: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x009900AA);
case 17: GangZoneShowForAll(GZInfo[WarZoneID][gID],0x00CCFFAA);
default: GangZoneShowForAll(GZInfo[WarZoneID][gID],0xC0C0C0AA);
}
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 = 2;
WarZoneID = 255;
SaveGZ();
}
}
return true;
}
