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

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

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

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

Проблема с capture

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

dybrin-98

Ученик

Проблема в том, что когда вводишь команду /capture пишет, что ты начинаешь войну именно с Grove не смотря в какой зоне ты стоишь​


Команда /capture
PHP:
CMD:capture(playerid, params[])
{
    if(GetPVarInt(playerid, "Logged") == 0) return 1;
    new member = PlayerInfo[playerid][pMember];
	if (!IsGang(playerid)) return 1;
	if (FloodCheck(playerid, 0, 5, "Ошибка: Попробуйте через 5 секунд") ) return 0;
	if(PlayerInfo[playerid][pRang] < 7) return SendClientMessage(playerid, -1, "Захват территории разрешен только с 7 ранга");
    new second, minute, hour;
    gettime(hour, minute, second);
    new gzone = -1;
    for(new g = 1; g <= MAX_GZ; g++)
    {
        if(PlayerToKvadrat(playerid,GZInfo[g][gCoords][0], GZInfo[g][gCoords][1],GZInfo[g][gCoords][2],GZInfo[g][gCoords][3]) && GZInfo[g][gTenure] != member)
        {
            gzone = g;
        }
    }
    if(gzone == -1) return SendClientMessage(playerid, -1, "Вы должны находится на территории другой банды");
    new gangster = 0;
    new owner = GZInfo[gzone][gTenure];
    if (ItsWar[GZInfo[playerid][gTenure]-15] == true) return SendClientMessage(playerid, -1, "Территорию этой банды можно будет захватить только после на следующей PayDay");
    if (capturetime < gettime()) return SendClientMessage(playerid, -1, "Ваша банда еще не окрепла. Ждите следующего PayDay'a");
	if (ItsWar[GZInfo[gzone][gTenure]-15] == true) return SendClientMessage(playerid, -1,"Ошибка: Данная банда воюет / воевала!");
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
        if(GetPVarInt(p, "Logged") == 1 && PlayerInfo[p][pMember] == owner) gangster++;
    }
    WarTime[gzone] = 20;
    ZoneOnBattle[gzone] = true;
    GZWarer[gzone] = member;
    for (new i = 0; i < MAX_GZ; i++)
	{
        GangZoneFlashForAll(GZInfo[i][gID],0xFF0000AA);
	    new str1[156];
	    format(str1, sizeof(str1), "На вашу территорию напала банда %s. У вас есть 10 минут что-бы отстоять ее", GetGangName(GZInfo[i][gNapad]));
	    SFM(owner, COLOR_LIGHTRED, str1);
	    format(str1, sizeof(str1), "Ваша банда напала на территорию банды %s. У вас есть 10 минут что-бы захватить ее", GetFrakName(GZInfo[i][gTenure]));
	    SFM(member, COLOR_LIGHTRED, str1);
	    new str2[128];
		format(str2, sizeof(str2), "» [A] Банда %s напала на территорию %s",GetFrakName(PlayerInfo[playerid][pMember]),GetFrakName(GZInfo[i][gTenure]));
		SCMA(COLOR_GREY,str2);
	    GangZoneFlashForAll(GZInfo[gzone][gID], COLOR_RED);
	    GZSafeTime[playerid] = TIME_WAR_GANGZONE;
	    wartimer[gzone] = SetTimerEx("GangZoneWar", 1000, true, "dd", gzone, member);
	    GZOwnerKill[gzone] = 0;
	    GZOwnerDeath[gzone] = 0;
	    fon[gzone] = TextDrawCreate(1, 285, "_");
	    TextDrawUseBox(fon[gzone], 1);
	    TextDrawBoxColor(fon[gzone], 0x00000075);
	    TextDrawTextSize(fon[gzone], 150.0, 400.0);
	    TextDrawLetterSize(fon[gzone], 0.0, 5.3);
	    
	    gztime[gzone] = TextDrawCreate(10.0, 285.0, "Time:");
	    TextDrawLetterSize(gztime[gzone], 0.3, 1.4);
	    TextDrawColor(gztime[gzone], 0x37FA00FF);
	    TextDrawFont(gztime[gzone], 3);
	    TextDrawSetProportional(gztime[gzone], 1);
	    TextDrawSetOutline(gztime[gzone], 2);
	    
	    vremya[gzone] = TextDrawCreate(50.0, 285.0, ConvertSeconds(GZSafeTime[i]));
	    TextDrawLetterSize(vremya[gzone], 0.3, 1.4);
	    TextDrawColor(vremya[gzone], 0x37FA00FF);
	    TextDrawFont(vremya[gzone], 3);
	    TextDrawSetOutline(vremya[gzone], 2);

	    onecommand[gzone] = TextDrawCreate(10.0, 300.0, GetFrakName(PlayerInfo[playerid][pMember]));
	    TextDrawLetterSize(onecommand[gzone], 0.4, 1.2);
	    TextDrawFont(onecommand[gzone], 2);
	    TextDrawSetOutline(onecommand[gzone], 2);
	    TextDrawLetterSize(onecommand[gzone], 0.260000, 1.000000);

	    twocommand[gzone] = TextDrawCreate(10.0, 315.0, GetFrakName(GZInfo[i][gTenure]));
	    TextDrawUseBox(twocommand[gzone], 0);
	    TextDrawFont(twocommand[gzone], 3);
	    TextDrawSetOutline(twocommand[gzone], 2);
	    TextDrawLetterSize(twocommand[gzone], 0.260000, 1.000000);

	    kolone[gzone] = TextDrawCreate(133.0, 315.0, "0");
	    TextDrawFont(kolone[gzone], 3);
	    TextDrawSetOutline(kolone[gzone], 2);
	    TextDrawLetterSize(kolone[gzone], 0.3, 1.4);
	    
	    koltwo[gzone] = TextDrawCreate(133.0, 300.0, "0");
	    TextDrawLetterSize(koltwo[gzone], 0.3, 1.4);
	    TextDrawFont(koltwo[gzone], 3);
	    TextDrawSetOutline(koltwo[gzone], 2);
		break;
	}
    KillTimer(CaptureTimer);
	nachalo += 1;
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
        if(GetPVarInt(p, "Logged") == 1)
        {
            if(PlayerInfo[p][pMember] == owner || PlayerInfo[p][pMember] == member)
            {
                TextDrawShowForPlayer(p,fon[gzone]);
                TextDrawShowForPlayer(p,gztime[gzone]);
                TextDrawShowForPlayer(p,vremya[gzone]);
                TextDrawShowForPlayer(p,onecommand[gzone]);
                TextDrawShowForPlayer(p,twocommand[gzone]);
                TextDrawShowForPlayer(p,kolone[gzone]);
                TextDrawShowForPlayer(p,koltwo[gzone]);
            }
        }
    }
    return 1;
}


PHP:
public GangZoneWar(gzone, gang, idzone)
{
	if(nachalo == 0) return 1;
    if(WarTime[gzone] == 1)
    {
        WarTime[gzone]--;
        if(GZOwnerKill[gzone] == GZOwnerDeath[gzone])
        {
            WarTime[gzone] = 180;
            SFM(gang, COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы захватить территорию");
            SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы отстоять свою территорию");
        }
        else if(GZOwnerKill[gzone] > GZOwnerDeath[gzone])
        {
            TextDrawDestroy(fon[gzone]);
            TextDrawDestroy(onecommand[gzone]);
            TextDrawDestroy(twocommand[gzone]);
            TextDrawDestroy(kolone[gzone]);
            TextDrawDestroy(koltwo[gzone]);
            TextDrawDestroy(gztime[gzone]);
            TextDrawDestroy(vremya[gzone]);
			nachalo -= 1;
            ZoneOnBattle[idzone] = false;
			GZInfo[idzone][gNapad] = 0;
			SaveGZ(idzone);
			GangZoneStopFlashForAll(GZInfo[idzone][gID]);
			GangZoneHideForAll(GZInfo[idzone][gID]);
			GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
            KillTimer(wartimer[gzone]);
            SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Вам удалось отстоять свою территорию.");
            SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Вам не удалось захватить территорию.");
        }
        else
        {
            TextDrawDestroy(fon[gzone]);
            TextDrawDestroy(onecommand[gzone]);
            TextDrawDestroy(twocommand[gzone]);
            TextDrawDestroy(kolone[gzone]);
            TextDrawDestroy(koltwo[gzone]);
            TextDrawDestroy(gztime[gzone]);
            TextDrawDestroy(vremya[gzone]);
			nachalo -= 1;
   			ZoneOnBattle[idzone] = false;
			GZInfo[idzone][gNapad] = 0;
			SaveGZ(idzone);
			GangZoneStopFlashForAll(GZInfo[idzone][gID]);
			GangZoneHideForAll(GZInfo[idzone][gID]);
			GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
            KillTimer(wartimer[gzone]);
 			SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Ваша банда смогла завоевать территорию");
			SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Ваша банда не смогла отстоять свою территорию");
        }
    }
    else if(WarTime[gzone] < 1)
    {
        if(GZOwnerKill[gzone] == GZOwnerDeath[gzone])
        {
            GZSafeTime[gzone] = 180;
            SFM(gang, COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы захватить территорию");
            SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы отстоять свою территорию");
        }
        else if(GZOwnerKill[gzone] > GZOwnerDeath[gzone])
        {
            TextDrawDestroy(fon[gzone]);
            TextDrawDestroy(onecommand[gzone]);
            TextDrawDestroy(twocommand[gzone]);
            TextDrawDestroy(kolone[gzone]);
            TextDrawDestroy(koltwo[gzone]);
            TextDrawDestroy(gztime[gzone]);
            TextDrawDestroy(vremya[gzone]);
			nachalo -= 1;
   			ZoneOnBattle[idzone] = false;
			GZInfo[idzone][gNapad] = 0;
			SaveGZ(idzone);
			GangZoneStopFlashForAll(GZInfo[idzone][gID]);
			GangZoneHideForAll(GZInfo[idzone][gID]);
			GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
            KillTimer(wartimer[gzone]);
 			SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Ваша банда не смогла завоевать территорию");
			SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Ваша банда отстояла свою территорию");
        }
        else
        {
            TextDrawDestroy(fon[gzone]);
            TextDrawDestroy(onecommand[gzone]);
            TextDrawDestroy(twocommand[gzone]);
            TextDrawDestroy(kolone[gzone]);
            TextDrawDestroy(koltwo[gzone]);
            TextDrawDestroy(gztime[gzone]);
            TextDrawDestroy(vremya[gzone]);
            KillTimer(wartimer[gzone]);
			nachalo -= 1;
   			ZoneOnBattle[idzone] = false;
			GZInfo[idzone][gNapad] = 0;
			SaveGZ(idzone);
			GangZoneStopFlashForAll(GZInfo[idzone][gID]);
			GangZoneHideForAll(GZInfo[idzone][gID]);
			GangZoneShowForAll(GZInfo[idzone][gID],GetGangZoneFraction(GZInfo[idzone][gTenure]));
	 		SFM(GZInfo[idzone][gNapad], COLOR_LIGHTRED,"Ваша банда смогла завоевать территорию");
			SFM(GZInfo[idzone][gTenure], COLOR_GREEN,"Ваша банда не смогла отстоять свою территорию");
        }
    }
    else
    {
        WarTime[gzone]--;
        if(WarTime[gzone] == 180)
        {
            SFM(gang, COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы захватить территорию");
            SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталось 3 минуты для того, что-бы отстоять свою территорию");
        }
        else if(WarTime[gzone] == 60)
        {
            SFM(gang, COLOR_LIGHTRED, "У вас осталась 1 минутa для того, что-бы захватить территорию");
            SFM(GZInfo[gzone][gTenure], COLOR_LIGHTRED, "У вас осталась 1 минутa для того, что-бы отстоять свою территорию");
        }
    }
    new string[5];
    format(string, sizeof(string), "%d",  WarTime[gzone]);
    TextDrawSetString(vremya[gzone], string);
	return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу