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

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

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

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

Баг c /capture (Engine-Rp)

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

Vitya_Saveliev

Компетентный
Привет обитатели форума! Узнал о баге с /capture (by xLordx). Прошу помочь за +! (Мод Engine-Rp)

Есть допустем Грув. Есть рифа. Если грув нападет на рифу, то даже если на терре останется одна рифа, то терра будет мигать до тех пор пока на ней не появится грув, как грув появляется терра сразу их. В общем, кто нападает тот и выигрывает.

Команда:
PHP:
CMD:capture(playerid, params[])
{
	if(PlayerLogged[playerid] == 0) return 1;
	if(IsAGang(playerid))
	{
		if(PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_LIGHTRED,"Функция доступна с 7 ранга!");
	   	new faction = PlayerInfo[playerid][pMember];
	   	if(FrakCD[faction] > 0) return SendClientMessage(playerid, COLOR_GREY, "Захватывать зону можно раз в 60 минут!");
	   	if(!IsInAllowed(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Ваша банда уже учавствует в захвате зон!");
	   	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]) && ZoneOnBattle[i] == 0)
      		{
      		    if(GZInfo[i][gFrak] == faction) return SendClientMessage(playerid, COLOR_GREY, "Вы не можите захватывать зону своей банды!");
        		if(!IsPlayerInBandOnline(GZInfo[i][gFrak])) return SendMes(playerid,COLOR_GREY, "Игроков банды \"%s\" нет в сети!", GetGangName(GZInfo[i][gFrak]));
          		format(string, 127,"[F] Ваша зона атакуется бандой %s, у вас есть 2 минуты, чтобы подготовится!", FracInfo[PlayerInfo[playerid][pMember]][fName]);
          		SendFMes(GZInfo[i][gFrak],COLOR_LIGHTRED,string);
          		format(string, 127, "[F] Если по истечению времени вас не будет на зона, она автоматически перейдет к %s",FracInfo[PlayerInfo[playerid][pMember]][fName]);
          		SendFMes(GZInfo[i][gFrak],COLOR_LIGHTRED,string);
          		format(string,128,"[F] %s начал захват зоны банды %s. У вас есть 2 минуты чтобы подготовися",sendername(playerid),GetGangName(GZInfo[i][gFrak]));
          		SendFMes(faction,COLOR_LIGHTRED,string);
		  		GangZoneFlashForAll(GZInfo[i][id],GetGZColorF(faction));
          		GZSafeTime[i] = 120;
          		FrakCD[faction]  = 3600;
          		GZInfo[i][gNapad] = faction;
       			ZoneTimer[i] = 720;
          		ZoneOnBattle[i] = 1;
          		break;
            }
        }
	}
	else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
	return 1;
}
PHP:
stock GzCheck()
{
    for(new i =1;i<=TOTALGZ;i++)
    {
        if(ZoneOnBattle[i] == 1 && GZSafeTime[i] == 0)
        {
            ZoneTimer[i] -=1;
            if(ZoneTimer[i] <=0)
            {
				format(string, 90, "[F] Время на захват территории вышло. Ничья");
				SendFMes(GZInfo[i][gFrak],COLOR_LIGHTRED, string);
                SendFMes(GZInfo[i][gNapad],COLOR_LIGHTRED, string);
                ZoneOnBattle[i] =0;
                GangZoneStopFlashForAll(GZInfo[i][id]);
            }
            for(new x =0;x<GetMaxPlayers();x++)
            {
                if(!IsPlayerConnected(x) || PlayerLogged[x] == 0) continue;
                if(PlayerToKvadrat(x,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]) && PlayerInfo[x][pMember] == GZInfo[i][gNapad])
                {
                    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][gFrak] == x) {format(string,90,"[F] Банда %s отстояла свою территорию",GetGangName(zx)); }
                        else
                        {format(string,90,"[F] Банда %s выйгрывает войну за территорию",GetGangName(zx)); }
                        for(new ads = 8; ads <= 12;ads++) SendFMes(ads, COLOR_LIGHTRED,string);
                        ZoneOnBattle[zl] =0;
                        GZInfo[zl][gNapad] = 0;
                        GZInfo[zl][gFrak] = zx;
                        GangZoneStopFlashForAll(GZInfo[zl][id]);
                        GangZoneHideForAll(GZInfo[zl][id]);
                        GangZoneShowForAll(GZInfo[zl][id],GetGangZoneColor(zl));
                        SaveGZ(zl);
                        break;
                    }
                }
            }
        }
    }
    for(new i =1;i<=TOTALGZ;i++)
    {
        for(new z = 0;z<20;z++)
        {
            OnZONE[i][z] =0;
        }
    }
    return 1;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу