Перейти к содержанию
  • 0
ThrPlusAle

Проблема бесконечный капт

Вопрос

ThrPlusAle
Спойлер

 

Цитата

 

cmd:capture(playerid, params[])
{
    if(!IsAGang(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Òû íå â áàíäå");
    if(PI[playerid][pMember] == 11) return 1;
    if(PI[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_GREY,"Çàõâàò òåððèòîðèè äîñòóïåí ñ 7 ðàíãà è âûøå!");
    //new h; gettime(h);
    //if(h < 12 || h > 21) return SendClientMessage(playerid, COLOR_GREY, "Ïðîâîäèòü çàõâàò ìîæíî òîëüêî ñ 12:00 äî 22:00");
    new faction = PI[playerid][pMember];
    if(PI[playerid][pMember] == 7 && b_Capture{0}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï âàøåé áàíäå ê âîéíå çà òåððèòîðèè çàêðûò");
    if(PI[playerid][pMember] == 8 && b_Capture{1}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï âàøåé áàíäå ê âîéíå çà òåððèòîðèè çàêðûò");
    if(PI[playerid][pMember] == 9 && b_Capture{2}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï âàøåé áàíäå ê âîéíå çà òåððèòîðèè çàêðûò");
    if(PI[playerid][pMember] == 10 && b_Capture{3}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï âàøåé áàíäå ê âîéíå çà òåððèòîðèè çàêðûò");
    if(FrakCD != 0)
    {
        new fd[128];
        format(fd,sizeof(fd),"Ñëåäóþùèé çàõâàò òåððèòîðèè âîçìîæåí ÷åðåç %d ìèíóò(û)", FrakCD/1);
        SendClientMessage(playerid,COLOR_GREY,fd);
        return 1;
    }
    new str[128];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(IsPlayerToSquare(playerid, GZInfo[gCoords][0], GZInfo[gCoords][1],GZInfo[gCoords][2],GZInfo[gCoords][3]) && ZoneOnBattle == 0)
        {
            if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Íåëüçÿ èñïîëüçîâàòü â ìàøèíå!");
            {
                if(GZInfo[gFrak] == faction) return SendClientMessage(playerid, COLOR_GREY, ""cER"Âû íå ìîæåòå çàõâàòûâàòü çîíó âàøåé áàíäû!");
                if(GZInfo[gFrak] == 0) return SendClientMessage(playerid, COLOR_GREY, ""cER"Íåëüçÿ çàõâàòèòü ýòó òåððèòîðèþ");
                if(GZInfo[gFrak] == 7 && b_Capture{0}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï äàííîé áàíäû ê âîéíå çà òåððèòîðèè çàêðûò");
                if(GZInfo[gFrak] == 8 && b_Capture{1}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï äàííîé áàíäû ê âîéíå çà òåððèòîðèè çàêðûò");
                if(GZInfo[gFrak] == 9 && b_Capture{2}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï äàííîé áàíäû ê âîéíå çà òåððèòîðèè çàêðûò");
                if(GZInfo[gFrak] == 10 && b_Capture{3}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï äàííîé áàíäû ê âîéíå çà òåððèòîðèè çàêðûò");
                if(GZInfo[gFrak] == 11 && b_Capture{4}) return SendClientMessage(playerid, COLOR_GREY, ""cER"Äîñòóï äàííîé áàíäû ê âîéíå çà òåððèòîðèè çàêðûò");
                if(IsCapture == true) return SendClientMessage(playerid, COLOR_GREY, ""cER"Óæå ïðîèñõîäèò çàõâàò îäíîé èç çîí. Äîæäèòåñü îêîí÷àíèÿ!");
                if(IsPlayerInBandOnline(faction) < 1) return SendClientMessage(playerid, COLOR_GREY, "Â âàøåé áàíäå ìàëî èãðîêîâ îíëàéí, íóæíî ìèíèìóì 5!");//Èçìåíèòü ïîòîì íà 5
                if(IsPlayerInBandOnline(GZInfo[gFrak]) < 0)//Èçìåíèòü ïîòîì íà 5
                {
                    format(str, sizeof(str), "Ó áàíäû \"%s\" ìàëî èãðîêîâ,íóæíî ìèíèìóì 5!", GetGangName(GZInfo[gFrak]));//Èçìåíèòü ïîòîì íà 5
                    SendClientMessage(playerid, COLOR_GREY, str);
                    return 1;
                }
                format(str, sizeof(str), "Íà âàøó òåððèòîðèþ íàïàëà áàíäà %s, ó âàñ åñòü 5 ìèíóò ÷òîáû îòñòîÿòü å¸!", Fraction_Name[PI[playerid][pMember]]);
                SendFMes(GZInfo[gFrak], COLOR_LIGHTRED, str);
                format(str, sizeof(str), "Åñëè ïî èñòå÷åíèþ âðåìåíè âàñ íå áóäåò íà òåððèòîðèè, îíà ïåðåéäåò ê %s",Fraction_Name[PI[playerid][pMember]]);
                SendFMes(GZInfo[gFrak], COLOR_YELLOW, str);
                format(str, sizeof(str), "%s[%d] íàïàë íà òåððèòîðèþ áàíäû %s",GetName(playerid),playerid,GetGangName(GZInfo[gFrak]));
                SendFMes(faction, COLOR_LIME, str);
                GangZoneFlashForAll(GangZone,GetGangZoneColor(faction));
                GZSafeTime = 10;
                FrakCD = 2;
                GZInfo[gNapad] = faction;
                ZoneOnBattle = 1;
                GangInfo[faction][capture] = 1;
                GangInfo[GZInfo[gFrak]][capture] = 1;
                GangInfo[GZInfo[gFrak]][captureid] = faction;
                GangInfo[faction][captureid] = faction;
                GangInfo[faction][gangnumber] = 1;
                GangInfo[GZInfo[gFrak]][gangnumber] = 0;
                CaptureStart(faction, GZInfo[gFrak]);
                format(str, sizeof(str), ""cAD"Áàíäà %s íàïàëà íà òåððèòîðèþ áàíäû %s",GetGangName(faction),GetGangName(GZInfo[gFrak]));
                SendAdminMessage(COLOR_FADE1, str);
            }
        }
    }
    return 1;
}
_____________________________________

    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        SetTimer("GZSafeTime",1000*60,true);
        if(GZSafeTime > 0) GZSafeTime--;
    }

_______________

forward @1000mc_PlayerTimer(playerid);
public @1000mc_PlayerTimer(playerid)
{
    new stringText[64];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(GZSafeTime > 0)
        {
            SetTimer("GZSafeTime",1000*60,true);
            if(PI[playerid][pMember] == GZInfo[gNapad] || PI[playerid][pMember] == GZInfo[gFrak])
            {
                Convert(GZSafeTime, stringText);
                PlayerTextDrawSetString(playerid, CaptureTD[playerid][2], stringText);
            }
        }
    }
    return 1;
}

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0
ThrPlusAle
1 минуту назад, Shao сказал:

А теперь собственно CaptureTD, чтобы я знал, что отформатировать.

    CaptureTD[playerid][0] = CreatePlayerTextDraw(playerid, 211.000000, 310.000000, "_");
    PlayerTextDrawUseBox(playerid, CaptureTD[playerid][0], 1);
    PlayerTextDrawTextSize(playerid, CaptureTD[playerid][0], 5.000000, 200.000000);
    PlayerTextDrawLetterSize(playerid, CaptureTD[playerid][0], 0.240000, -7.000000);
    PlayerTextDrawBoxColor(playerid, CaptureTD[playerid][0], COLOR_BOX);

    CaptureTD[playerid][1] = CreatePlayerTextDraw(playerid, 14.000000, 260.000000, "Time:");
    PlayerTextDrawBackgroundColor(playerid, CaptureTD[playerid][1], 255);
    PlayerTextDrawFont(playerid, CaptureTD[playerid][1], 1);
    PlayerTextDrawLetterSize(playerid, CaptureTD[playerid][1], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, CaptureTD[playerid][1], COLOR_GREEN);
    PlayerTextDrawSetOutline(playerid, CaptureTD[playerid][1], 1);
    PlayerTextDrawSetProportional(playerid, CaptureTD[playerid][1], 1);

    CaptureTD[playerid][2] = CreatePlayerTextDraw(playerid, 75.000000, 260.000000, "10:00");
    PlayerTextDrawBackgroundColor(playerid, CaptureTD[playerid][2], 255);
    PlayerTextDrawFont(playerid, CaptureTD[playerid][2], 1);
    PlayerTextDrawLetterSize(playerid, CaptureTD[playerid][2], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, CaptureTD[playerid][2], COLOR_GREEN);
    PlayerTextDrawSetOutline(playerid, CaptureTD[playerid][2], 1);
    PlayerTextDrawSetProportional(playerid, CaptureTD[playerid][2], 1);

    CaptureTD[playerid][3] = CreatePlayerTextDraw(playerid, 14.000000, 276.000000, "_");
    PlayerTextDrawBackgroundColor(playerid, CaptureTD[playerid][3], 255);
    PlayerTextDrawFont(playerid, CaptureTD[playerid][3], 1);
    PlayerTextDrawLetterSize(playerid, CaptureTD[playerid][3], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, CaptureTD[playerid][3], -1);
    PlayerTextDrawSetOutline(playerid, CaptureTD[playerid][3], 1);
    PlayerTextDrawSetProportional(playerid, CaptureTD[playerid][3], 1);

    CaptureTD[playerid][4] = CreatePlayerTextDraw(playerid, 14.000000, 293.000000, "_");
    PlayerTextDrawBackgroundColor(playerid, CaptureTD[playerid][4], 255);
    PlayerTextDrawFont(playerid, CaptureTD[playerid][4], 1);
    PlayerTextDrawLetterSize(playerid, CaptureTD[playerid][4], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, CaptureTD[playerid][4], -1);
    PlayerTextDrawSetOutline(playerid, CaptureTD[playerid][4], 1);
    PlayerTextDrawSetProportional(playerid, CaptureTD[playerid][4], 1);

    CaptureTD[playerid][5] = CreatePlayerTextDraw(playerid, 190.000000, 277.000000, "0");
    PlayerTextDrawBackgroundColor(playerid, CaptureTD[playerid][5], 255);
    PlayerTextDrawFont(playerid, CaptureTD[playerid][5], 1);
    PlayerTextDrawLetterSize(playerid, CaptureTD[playerid][5], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, CaptureTD[playerid][5], 0xFF0000FF);
    PlayerTextDrawSetOutline(playerid, CaptureTD[playerid][5], 1);
    PlayerTextDrawSetProportional(playerid, CaptureTD[playerid][5], 1);

    CaptureTD[playerid][6] = CreatePlayerTextDraw(playerid, 190.000000, 293.000000, "0");
    PlayerTextDrawBackgroundColor(playerid, CaptureTD[playerid][6], 255);
    PlayerTextDrawFont(playerid, CaptureTD[playerid][6], 1);
    PlayerTextDrawLetterSize(playerid, CaptureTD[playerid][6], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, CaptureTD[playerid][6], 0xFF0000FF);
    PlayerTextDrawSetOutline(playerid, CaptureTD[playerid][6], 1);
    PlayerTextDrawSetProportional(playerid, CaptureTD[playerid][6], 1);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle

up

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Shao
6 часов назад, ThrPlusAle сказал:

up

 

 

forward @1000mc_PlayerTimer(playerid);
public @1000mc_PlayerTimer(playerid)
{
    new stringText[64];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(GZSafeTime > 0)
        {
            new timer_kapt = SetTimer("GZSafeTime",60000,true);//Тут у тебя таймер на 60 сек. Мне кажется его надо сделать больше.
            KillTimer(timer_kapt);
            if(PI[playerid][pMember] == GZInfo[gNapad] || PI[playerid][pMember] == GZInfo[gFrak])
            {
                Convert(GZSafeTime, stringText);
                format(stringText, sizeof stringText,"%d", timer_kapt)//Тут я отформатировал лишь минуты, потому что мне казалось, что таймер на 60 сек слишком мал для капта.
                PlayerTextDrawSetString(playerid, CaptureTD[playerid][2], stringText);
            }
        }
    }
    return 1;
} 

Возможно даже увеличь таймер. Хз, что именно тебе надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle
7 часов назад, Shao сказал:

forward @1000mc_PlayerTimer(playerid);
public @1000mc_PlayerTimer(playerid)
{
    new stringText[64];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(GZSafeTime > 0)
        {
            new timer_kapt = SetTimer("GZSafeTime",60000,true);//Тут у тебя таймер на 60 сек. Мне кажется его надо сделать больше.
            KillTimer(timer_kapt);
            if(PI[playerid][pMember] == GZInfo[gNapad] || PI[playerid][pMember] == GZInfo[gFrak])
            {
                Convert(GZSafeTime, stringText);
                format(stringText, sizeof stringText,"%d", timer_kapt)//Тут я отформатировал лишь минуты, потому что мне казалось, что таймер на 60 сек слишком мал для капта.
                PlayerTextDrawSetString(playerid, CaptureTD[playerid][2], stringText);
            }
        }
    }
    return 1;
} 

Возможно даже увеличь таймер. Хз, что именно тебе надо.

Мне надо чтобы капт работал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle
14 минут назад, ThrPlusAle сказал:

Мне надо чтобы капт работал

Проверил тамер 10:00 Потом сразу 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle

UP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Shao
2 часа назад, ThrPlusAle сказал:

UP

Собственно я не очень понял. Каким образом делать формат. Минуты и секунды?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle
3 часа назад, Shao сказал:

Собственно я не очень понял. Каким образом делать формат. Минуты и секунды?

10:00 минут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle
4 часа назад, Shao сказал:

Собственно я не очень понял. Каким образом делать формат. Минуты и секунды?

Вот главное чтобы завершался капт!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Shao
Только что, ThrPlusAle сказал:

Вот главное чтобы завершался капт!

forward @1000mc_PlayerTimer(playerid);
public @1000mc_PlayerTimer(playerid)
{
    new stringText[64];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(GZSafeTime > 0)
        {
            new timer_kapt = SetTimer("GZSafeTime",600000,true);//Таймер на 10 минут. Как я понял капт у тебя будет идти 10 минут?
            KillTimer(timer_kapt);
            if(PI[playerid][pMember] == GZInfo[gNapad] || PI[playerid][pMember] == GZInfo[gFrak])
            {
                Convert(GZSafeTime, stringText);
                format(stringText, sizeof stringText,"%d:%d", timer_kapt, timer_kapt*60);
                PlayerTextDrawSetString(playerid, CaptureTD[playerid][2], stringText);
            }
        }
    }
    return 1;
} 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle
7 часов назад, Shao сказал:

forward @1000mc_PlayerTimer(playerid);
public @1000mc_PlayerTimer(playerid)
{
    new stringText[64];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(GZSafeTime > 0)
        {
            new timer_kapt = SetTimer("GZSafeTime",600000,true);//Таймер на 10 минут. Как я понял капт у тебя будет идти 10 минут?
            KillTimer(timer_kapt);
            if(PI[playerid][pMember] == GZInfo[gNapad] || PI[playerid][pMember] == GZInfo[gFrak])
            {
                Convert(GZSafeTime, stringText);
                format(stringText, sizeof stringText,"%d:%d", timer_kapt, timer_kapt*60);
                PlayerTextDrawSetString(playerid, CaptureTD[playerid][2], stringText);
            }
        }
    }
    return 1;
} 

 

    PlayerTimer[playerid][@_1000] = SetTimerEx("@1000mc_PlayerTimer", 1000, true, "d", playerid);
    PlayerTimer[playerid][@_1000] = SetTimerEx("@1000mc_Timer", 1000, true, "d", playerid);

вот у меня два таймера на i и playerid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle

не работает всё по нулям

7 часов назад, Shao сказал:

forward @1000mc_PlayerTimer(playerid);
public @1000mc_PlayerTimer(playerid)
{
    new stringText[64];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(GZSafeTime > 0)
        {
            new timer_kapt = SetTimer("GZSafeTime",600000,true);//Таймер на 10 минут. Как я понял капт у тебя будет идти 10 минут?
            KillTimer(timer_kapt);
            if(PI[playerid][pMember] == GZInfo[gNapad] || PI[playerid][pMember] == GZInfo[gFrak])
            {
                Convert(GZSafeTime, stringText);
                format(stringText, sizeof stringText,"%d:%d", timer_kapt, timer_kapt*60);
                PlayerTextDrawSetString(playerid, CaptureTD[playerid][2], stringText);
            }
        }
    }
    return 1;
} 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle
8 часов назад, Shao сказал:

forward @1000mc_PlayerTimer(playerid);
public @1000mc_PlayerTimer(playerid)
{
    new stringText[64];
    for(new i = 0; i < sizeof(GZInfo); i++)
    {
        if(GZSafeTime > 0)
        {
            new timer_kapt = SetTimer("GZSafeTime",600000,true);//Таймер на 10 минут. Как я понял капт у тебя будет идти 10 минут?
            KillTimer(timer_kapt);
            if(PI[playerid][pMember] == GZInfo[gNapad] || PI[playerid][pMember] == GZInfo[gFrak])
            {
                Convert(GZSafeTime, stringText);
                format(stringText, sizeof stringText,"%d:%d", timer_kapt, timer_kapt*60);
                PlayerTextDrawSetString(playerid, CaptureTD[playerid][2], stringText);
            }
        }
    }
    return 1;
} 

 

главное чтобы завершался капт можно не обновлять время

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle

up

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
ThrPlusAle

up

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.