Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Вопрос]Проблема с /caprure.

Статус
В этой теме нельзя размещать новые ответы.

Amigo

Умник
Здравствуйте. Очень серьёзная проблема! Сделал команду /capture в пей дей и с прверками что бы четыре банды не могли каптить одну. Но проблема в том что после одного капта, команда потом работает, но не начинает захват терры у той банды которой коптил в первый раз. Вот сама команда /capture и паблик GzCheck()

PHP:
public GzCheck()
{
	for(new i =0;i<sizeof(GZInfo);i++)
	{
		if(ZoneOnBattle[i] == 1 && GZSafeTime[i] == 0)
		{
			ZoneTimer[i] -= 5;
			if(ZoneTimer[i] <= 0)
			{
				SendGangMessage(i,COLOR_RED, "Время на захват территории вышло");
				ZoneOnBattle[i] = 0;
				GangZoneStopFlashForAll(GZInfo[i][gID]);
				SaveGZ();
			}
			for(new x = 0; x < MAX_PLAYERS; x++)
			{
				if(PlayerToKvadrat(x,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3])&&IsInAllowed(x))
				{
					new faction;
					if(PlayerInfo[x][pLeader] !=0) {faction = PlayerInfo[x][pLeader];}
					else { faction = PlayerInfo[x][pMember];}
					OnZONE[i][faction] ++;
				}
			}
			new asd;
			for(new x = 0; x < 20; x++)
			{
				if(OnZONE[i][x] > 0 && IsInAllowedF(x)) asd++;
			}
			if(asd == 1)
			{
				for(new x = 0; x < 20; x++)
				{
					if(OnZONE[i][x] > 0)
					{
						new zx,zl;
						zx = x;
						zl = i;
						if(GZInfo[i][gFrakVlad] == x)
						{
							SendFamilyMessage(GZInfo[i][gFrakVlad],0x00B953AA,"Вы отстояли свою территорию");
							SendFamilyMessage(GZInfo[i][gNapad],0xC56565AA,"Вам не удалось захватить территорию");
						}
						else
						{
							SendFamilyMessage(GZInfo[i][gNapad], 0x00B953AA,"Вы взяли под свой контроль новую территорию");
							SendFamilyMessage(GZInfo[i][gFrakVlad], 0xC56565AA,"Вы потеряли контроль одной из своих территорий");
						}
						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));
						ItsWar[GZInfo[zl][gNapad]] = false;
						ItsWar[GZInfo[zl][gFrakVlad]] = false;
						SaveGZ();
						break;
					}
				}
			}
		}
	}
	for(new i = 0; i < 130; i++)
	{
		for(new z = 0; z < 20; z++)
		{
			OnZONE[i][z] =0;
		}
	}
}

Сама команда:

PHP:
if(!strcmp(cmd,"/capture",true))
	{
		if(FrakCD[PlayerInfo[playerid][pMember]] == 0)
		{
			if(!IsInAllowed(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Вы не можете захватить территорию");
			new tmphour, tmpminute, tmpsecond;
			gettime(tmphour, tmpminute, tmpsecond);
			tmphour = shifthour;
			for(new i = 0;i<195;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(FrakCD[GZInfo[i][gFrakVlad]] != 0) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Банда на которую вы хотите напасть уже воевала в этом часу");
					if(IsATerra(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя захватить эту территорию");
					if(StartBatleGZ == 1) return SendClientMessage(playerid, COLOR_WHITE,"Ошибка: Ваша банда уже воевала/воюет войну за территорию");
					if(ItsWar[GZInfo[i][gFrakVlad]] == true) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Ваша банда уже воюет/воевала за территорию");
					if(ItsWar[PlayerInfo[playerid][pMember]] == true) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Ваша банда уже воюет/воевала за территорию");
					format(string,sizeof(string),"[Внимание]: Ваша банда напала на территорию %s",GetGangName(GZInfo[i][gFrakVlad]));
					SendFamilyMessage(PlayerInfo[playerid][pMember],0x1DAD8EAA,string);
					SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать 10 минут. Победит банда, которая останется последней");
					SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать до тех пор, пока на ней не останется 1 банда");
					format(string,sizeof(string),"[Внимание]: На вашу территорию напала банда %s",GetGangName(PlayerInfo[playerid][pMember]));
					SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_RED,string);
					GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
					GZSafeTime[i] = 600;
					GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
					ZoneTimer[i] = 720;
					ZoneOnBattle[i] = 1;
					ItsWar[GZInfo[i][gNapad]] = true;
					ItsWar[GZInfo[i][gFrakVlad]] = true;
					break;
				}
			}
		}
	}
Помогите срочно исправить эту большую проблему!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу