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

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

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

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

Проблема с каптами [No RLS]

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

Lionely

Умник
Добрый день пользователи P-I
Сразу перейду к делу, сегодня писал систему капта для банд.
И вот у меня не получается, почему то.
Суть в чем, я нападаю сам на себя, хотя территория пренадлежит Groov

Скрин


Код команды:

PHP:
CMD:capture(playerid, params[])
{
	if(PI[playerid][pRang] < 7) return SCM(playerid,COLOR_LIGHTRED,"Доступно с 7 ранга!");
	new fraction = 0;
	if(PI[playerid][pMember] != 0) fraction = PI[playerid][pMember];
	if(IsAGang(playerid))
	{
		for(new i = 0; i <sizeof(GZI); i++)
		{
			if(PlayerToKvadrat(playerid, GZI[i][gLocationminx], GZI[i][gLocationminy], GZI[i][gLocationmaxx], GZI[i][gLocationmaxy]) && ZoneOnBattle[i] == 0)
			{
				new string[150];
				format(string,sizeof(string),"[Внимание]: Ваша банда напала на территорию \"%s\"",GetGangName(GZI[i][gFraction]));
				SendFamilyMessage(PI[playerid][pMember],0x00B953AA,string);
				format(string,sizeof(string), "[Внимание]: На вашу территорию напала банда \"%s\"",GetGangName(PI[playerid][pMember]));
				SendFamilyMessage(GZI[i][gFraction],0xFF8CEFAA,string);
				SendFamilyMessage(GZI[i][gFraction], TEAM_AZTECAS_COLOR, "Ваша зона под атакой. У вас есть 2 минуты на подготовку.");
				new qwer[130];
				format(qwer, sizeof(qwer), "[F] Если по истечению времени вас не будет на территории, она перейдет банде %s",GetGangName(PI[playerid][pMember]));
				SendFamilyMessage(GZI[i][gFraction],COLOR_LIGHTRED,qwer);
				GangZoneFlashForAll(GZI[i][gID],GetGZColorF(PI[playerid][pMember]));
		    	SCM(playerid,COLOR_WHITE,"Территория будет мигать 7 минут. Победит банда, которая удержится в квадрате!");
		    	SCM(playerid,COLOR_WHITE,"У варажеской команды есть 2 минуты на подготовку.");
				GZSafeTime[i] = 420;// защина присваивает твою фраку
				PodgotovkaCapt[i] = 120;
				FrakCD[fraction] = 1800;
				ZoneOnBattle[i] = 1;
				GZI[i][gAttack] = PI[playerid][pMember];
				if(GzCheckOn == 0)
				{
					GzCheckTimer = SetTimer("GangZoneCapture", 1000,1);
					GzCheckOn = 1;
				}
				break;
			}
		}
	}
	return 1;
}
Код
PHP:
GangZoneCapture
PHP:
forward GangZoneCapture(); 
public GangZoneCapture() 
{ 
	for(new i = 0; i < sizeof(GZI); i++) 
	{ 
		if(ZoneOnBattle[i] == 1) 
		{ 
			if(GZSafeTime[i] > 0) GZSafeTime[i] --; 
			for(new x = 0; x<MAX_PLAYERS; x++) 
			{ 
				new y = PI[x][pMember]; 
				if(y == GZI[i][gAttack] || y == GZI[i][gFraction]) 
				{ 
					if(CaptureOn[x] == 0) 
					{ 
						CaptureTextDraws(x); 
						PlayerTextDrawShow(x, CaptureTime[x]); 
						PlayerTextDrawShow(x, CaptureGang[x]); 
						PlayerTextDrawShow(x, CaptureWar[x]); 
						PlayerTextDrawShow(x, BoxCapture[x]); 
						CaptureOn[x] = 1; 
					} 
					new string[110]; 
					if(GZSafeTime[i] > 0) format(string,sizeof(string),"~y~TIME:~g~ %s",Canevert(GZSafeTime[i])); 
					PlayerTextDrawSetString(x,CaptureTime[x],string); 
					format(string,sizeof(string),"%s: ~g~%d",GetGangName(GZI[i][gAttack]),CountOnZone[GZI[i][gAttack]]); 
					PlayerTextDrawSetString(x,CaptureGang[x],string); 
					format(string,sizeof(string),"%s: ~g~%d",GetGangName(GZI[i][gFraction]),CountOnZone[GZI[i][gFraction]]); 
					PlayerTextDrawSetString(x,CaptureWar[x],string); 
				} 
			}  
			if(GZSafeTime[i] == 0) 
			{ 
				new string[110]; 
				if(CountOnZone[GZI[i][gFraction]] > CountOnZone[GZI[i][gAttack]]) 
				{ 
                    SendFamilyMessage(GZI[i][gFraction],0x00B953AA,"Вы отстояли свою территорию"); 
                    SendFamilyMessage(GZI[i][gAttack],0xC56565AA,"Вам не удалось захватить территорию"); 
                    CountOnZone[GZI[i][gFraction]] = 0; 
                    CountOnZone[GZI[i][gAttack]] = 0; 
                    for(new y = 0; y<MAX_PLAYERS; y++) 
                    { 
                        if(PI[y][pMember] == GZI[i][gAttack] || PI[y][pMember] == GZI[i][gFraction]) 
                        { 
                            CaptureOn[y] = 0; 
                            PlayerTextDrawDestroy(y, CaptureTime[y]); 
                            PlayerTextDrawDestroy(y, CaptureGang[y]); 
                            PlayerTextDrawDestroy(y, CaptureWar[y]); 
                            PlayerTextDrawDestroy(y, BoxCapture[y]); 
                        } 
                    } 
                } 
                else if(CountOnZone[GZI[i][gFraction]] < CountOnZone[GZI[i][gAttack]]) 
                { 
                    CountOnZone[GZI[i][gFraction]] = 0; 
                    CountOnZone[GZI[i][gAttack]] = 0; 
                    SendFamilyMessage(GZI[i][gAttack], 0x00B953AA,"Вы взяли под свой контроль новую территорию"); 
                    for(new y = 0; y < sizeof(GZI); y++) 
                    { 
                        if(GZI[y][gFraction] == 16) TotalGzR++; 
                        if(GZI[y][gFraction] == 17) TotalGzG++; 
                        if(GZI[y][gFraction] == 18) TotalGzB++; 
                        if(GZI[y][gFraction] == 19) TotalGzV++; 
                        if(GZI[y][gFraction] == 20) TotalGzA++; 
                    } 
                    switch(GZI[i][gAttack]) 
                    { 
                    case 16: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzR*300); 
                    case 17: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzG*300); 
                    case 18: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzB*300); 
                    case 19: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzV*300); 
                    case 20: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzA*300); 
                    } 
                    SendFamilyMessage(GZI[i][gFraction], 0xC56565AA,"Вы потеряли контроль одной из своих территорий"); 
                    GZI[i][gFraction] = GZI[i][gAttack]; 
                    SendFamilyMessage(GZI[i][gAttack], 0x00B953AA, string); 
                    GZI[i][gAttack] = 0; 
                    for(new y = 0; y<MAX_PLAYERS; y++) 
                    { 
                        if(PI[y][pMember] == GZI[i][gAttack] || PI[y][pMember] == GZI[i][gFraction]) 
                        { 
                            CaptureOn[y] = 0; 
                            PlayerTextDrawDestroy(y, CaptureTime[y]); 
                            PlayerTextDrawDestroy(y, CaptureGang[y]); 
                            PlayerTextDrawDestroy(y, CaptureWar[y]); 
                            PlayerTextDrawDestroy(y, BoxCapture[y]); 
                        } 
                    } 
                } 
                else if(CountOnZone[GZI[i][gFraction]] == CountOnZone[GZI[i][gAttack]]) 
                { 
                    CountOnZone[GZI[i][gFraction]] = 0; 
                    CountOnZone[GZI[i][gAttack]] = 0; 
                    SendFamilyMessage(GZI[i][gAttack], 0x00B953AA,"Вы взяли под свой контроль новую территорию"); 
                    for(new y = 0; y < sizeof(GZI); y++) 
                    { 
                        if(GZI[y][gFraction] == 16) TotalGzR++; 
                        if(GZI[y][gFraction] == 17) TotalGzG++; 
                        if(GZI[y][gFraction] == 18) TotalGzB++; 
                        if(GZI[y][gFraction] == 19) TotalGzV++; 
                        if(GZI[y][gFraction] == 20) TotalGzA++; 
                    } 
                    switch(GZI[i][gAttack]) 
                    { 
                    case 16: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzR*300); 
                    case 17: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzG*300); 
                    case 18: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzB*300); 
                    case 19: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzV*300); 
                    case 20: format(string, sizeof(string), "Теперь ваша банда будет получать каждый час %d вирт",TotalGzA*300); 
                    } 
                    SendFamilyMessage(GZI[i][gFraction], 0xC56565AA,"Вы потеряли контроль одной из своих территорий"); 
                    GZI[i][gFraction] = GZI[i][gAttack]; 
                    SendFamilyMessage(GZI[i][gAttack], 0x00B953AA, string); 
                    GZI[i][gAttack] = 0; 
                    for(new y = 0; y<MAX_PLAYERS; y++) 
                    { 
                        if(PI[y][pMember] == GZI[i][gAttack] || PI[y][pMember] == GZI[i][gFraction]) 
                        { 
                            CaptureOn[y] = 0; 
                            PlayerTextDrawDestroy(y, CaptureTime[y]); 
                            PlayerTextDrawDestroy(y, CaptureGang[y]); 
                            PlayerTextDrawDestroy(y, CaptureWar[y]); 
                            PlayerTextDrawDestroy(y, BoxCapture[y]); 
                        } 
                    } 
                } 
                ItsWar[GZI[i][gAttack]] = -1; 
                ItsWar[GZI[i][gFraction]] = -1; 
                ClearTotalGz(); 
                ZoneOnBattle[i] = 0; 
                GangZoneStopFlashForAll(GZI[i][gID]); 
                GangZoneHideForAll(GZI[i][gID]); 
                GangZoneShowForAll(GZI[i][gID],GetGangZoneColor(i)); 
                SaveGangZones(i); 
                KillTimer(GzCheckTimer), GzCheckOn = 0; 
                break; 
            } 
        } 
    } 
    return 1; 
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу