Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 11
  1. #1
    Аватар для Maksim97
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    31.05.2014
    Сообщений
    110
    Репутация:
    -2 ±

    Помогите с /capture.

    1 вопрос, как сделать так что бы можно было Каптить доступно только 10 минут после нового часа.
    и 2 вопрос как сделать так что бы квадрат захваченный мигал красным а не той и другой банды , например: капт Grove/Vagos мигает он цветом Grove и Vagos.

    Вот команда сама:
    PHP код:
        else if(!strcmp(cmd,"/capture",true))//GzCheck
        
    {
            if(
    IsPlayerConnected(playerid))
            {
                if(
    PlayerInfo[playerid][pMemberop] == 12 || PlayerInfo[playerid][pMemberop] == 13 || PlayerInfo[playerid][pMemberop] == 15 || PlayerInfo[playerid][pMemberop] == 17 || PlayerInfo[playerid][pMemberop] == 18)
                {
                    if(
    PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_GREY,"Команда доступна с 7 ранга и выше.");
                    if(
    capt == 1) return SendClientMessage(playerid,COLOR_GRAD1,"{FF0000}x {AFAFAF}В Данное время, капт запрещен.");
                    new 
    tmphourtmpminutetmpsecond;
                    
    gettime(tmphourtmpminutetmpsecond);
                    
    tmphour shifthour;
                    switch(
    tmpminute)
                    {
                        case 
    0..10:
                        {
                            for(new 
    0;i<130;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][pMemberop])
                                {
                                    new 
    namegang[24],namegangv[24];
                                    switch(
    PlayerInfo[playerid][pMemberop])
                                    {
                                    case 
    15namegang "Groove Street Gang";
                                    case 
    17namegang "Aztecas Gang";
                                    case 
    12namegang "Ballas Gang";
                                    case 
    18namegang "Rifa Gang";
                                    case 
    13namegang "Vagos Gang";
                                    }
                                    switch(
    GZInfo[i][gFrakVlad])
                                    {
                                    case 
    15namegangv "Groove Street Gang";
                                    case 
    17namegangv "Aztecas Gang";
                                    case 
    12namegangv "Ballas Gang";
                                    case 
    18namegangv "Rifa Gang";
                                    case 
    13namegangv "Vagos Gang";
                                    }
                                    if(
    FrakCD[GZInfo[i][gFrakVlad]] == || FrakCD[PlayerInfo[playerid][pMemberop]] == 1) return SendClientMessage(playerid,COLOR_GREY,"Банда уже воюет за территорию");
                                    if(!
    IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid,COLOR_GREY"Банда на которую вы собираетесь напасть нет в сети!");
                                    if(
    IsATerra(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Нельзя захватить эту территорию");
                                    
    format(stringer,sizeof(stringer),"Банда {4169E1}%s{FFFFFF} напала на вашу территорию.",namegang);
                                    
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_WHITE,stringer);
                                    
    format(stringer,sizeof(stringer),"Член вашей банды {4169E1}%s{FFFFFF} напал на территорию {4169E1}%s{FFFFFF}.",PlayerInfo[playerid][pNames],namegangv);
                                    
    SendFamilyMessage(PlayerInfo[playerid][pMemberop],COLOR_WHITE,stringer);
                                    
    SendMes(playerid,COLOR_WHITE,"Территория будет мигать 10 минут.");
                                    
    GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
                                    
    GZInfo[i][gNapad] = PlayerInfo[playerid][pMemberop];
                                    
    GZInfo[i][gTime] = 600;
                                    
    capture[PlayerInfo[playerid][pMemberop]] = 1;
                                    
    FrakCD[PlayerInfo[playerid][pMemberop]] = 1;
                                    
    FrakCD[GZInfo[i][gFrakVlad]] = 1;
                                    return 
    true;
                                }
                            }
                        }
                        default: 
    SendClientMessage(playerid,COLOR_GRAD1,"{FF0000}x {AFAFAF}Каптить доступно только 10 минут после нового часа.");
                    }
                }
            }
            return 
    true;
        } 
    PHP код:
    stock GzCheck()
    {
        if(
    capture[12] == || capture[13] == || capture[15] == || capture[17] == || capture[18] == 1)
        {
            for(new 
    0;i<130;i++)
            {
                if(
    GZInfo[i][gTime] > 0)
                {
                    
    GZInfo[i][gTime]--;
                    if(
    GZInfo[i][gTime] == 300)
                    {
                        
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_WHITE,"{4169E1}[Внимание] До захвата территории осталось 5 минут.");
                        
    SendFamilyMessage(GZInfo[i][gNapad],COLOR_WHITE,"{4169E1}[Внимание] До захвата территории осталось 5 минут.");
                    }
                    else if(
    GZInfo[i][gTime] == 120)
                    {
                        
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_WHITE,"{4169E1}[Внимание] До захвата территории осталось 2 минуты.");
                        
    SendFamilyMessage(GZInfo[i][gNapad],COLOR_WHITE,"{4169E1}[Внимание] До захвата территории осталось 2 минуты.");
                    }
                    else if(
    GZInfo[i][gTime] == 1)
                    {
                        new 
    asd 0,asd1 0;
                        foreach(
    Player,x)
                        {
                            if(
    PlayerToKvadrat(x,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
                            {
                                if(
    PlayerInfo[x][pMemberop] == GZInfo[i][gFrakVlad]) asd++;
                                if(
    PlayerInfo[x][pMemberop] == GZInfo[i][gNapad]) asd1++;
                            }
                        }
                        if(
    asd >= asd1)
                        {
                            
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_WHITE,"{4169E1}[Внимание] Вам удалось отстоять свою территорию.");
                            
    SendFamilyMessage(GZInfo[i][gNapad],COLOR_WHITE,"{4169E1}[Внимание] Вам не удалось завоевать территорию.");
                            
    GangZoneStopFlashForAll(i);
                            
    GangZoneHideForAll(i);
                            switch(
    GZInfo[i][gFrakVlad])
                            {
                            case 
    12GangZoneShowForAll(GZInfo[i][gID],0xd200ff99);
                            case 
    18GangZoneShowForAll(GZInfo[i][gID],0x007fffAA);
                            case 
    13GangZoneShowForAll(GZInfo[i][gID],0xcfbe0899);
                            case 
    15GangZoneShowForAll(GZInfo[i][gID],0x06b50699);
                            case 
    17GangZoneShowForAll(GZInfo[i][gID],0x03c3b899);
                            default: 
    GangZoneShowForAll(GZInfo[i][gID],0xFFBE0065);
                            }
                            
    GZInfo[i][gNapad] = 0;
                        }
                        else if(
    asd asd1)
                        {
                            
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_WHITE,"{4169E1}[Внимание] Вы потеряли контроль над одной из своих территорий.");
                            
    SendFamilyMessage(GZInfo[i][gNapad],COLOR_WHITE,"{4169E1}[Внимание] Вы приобрели контроль над новой территорией.");
                            
    GangZoneStopFlashForAll(i);
                            
    GangZoneHideForAll(i);
                            switch(
    GZInfo[i][gNapad])
                            {
                            case 
    12GangZoneShowForAll(GZInfo[i][gID],0xd200ff99);
                            case 
    18GangZoneShowForAll(GZInfo[i][gID],0x007fffAA);
                            case 
    13GangZoneShowForAll(GZInfo[i][gID],0xcfbe0899);
                            case 
    15GangZoneShowForAll(GZInfo[i][gID],0x06b50699);
                            case 
    17GangZoneShowForAll(GZInfo[i][gID],0x03c3b899);
                            default: 
    GangZoneShowForAll(GZInfo[i][gID],0xFFBE0065);
                            }
                            
    GZInfo[i][gFrakVlad] = GZInfo[i][gNapad];
                            
    GZInfo[i][gNapad] = 0;

                        }
                        
    GZInfo[i][gTime] = 0;
                        
    FrakCD[GZInfo[i][gNapad]] = 0;
                         
    FrakCD[GZInfo[i][gFrakVlad]] = 0;
                        
    SaveGZ();
                    }
                 }
             }
         }
        return 
    true;


  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Оххх, старые-добрые вопросы о каптах. Что же вы не можете открыть гугл и поискать там ответы на свои вопросы? Тем более тема с каптами затрагивалась миллиард раз... Хотя да, лучше потратить на ожидание ответа несколько часов, чем найти самостоятельно ответ за 10 минут.

    Ну да ладно...
    1) gettime + запись времени предыдущего капта
    2) Второй параметр для вас - http://wiki.sa-mp.com/wiki/GangZoneFlashForAll
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для Maksim97
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    31.05.2014
    Сообщений
    110
    Репутация:
    -2 ±
    Я просто новичок в pawn и решил свою систему capt'a удалить и вставить на textdraw и вот так у меня получилось(

    - - - Добавлено - - -

    PHP код:
    stock CaptureTimes()
    {
        new 
    hourminutesecond;
        
    gettime(hourminutesecond);
        if(
    hour == 06 && minute == 00 || hour == 07 && minute == 00 || hour == 08 && minute == 00  || hour == 09 && minute == 00  || hour == 10 && minute == 00 || hour == 11 && minute == 00 || hour == 12 && minute == 00 || hour == 13 && minute == 00 || hour == 14 && minute == 00 || hour == 15 && minute == 00 || hour == 16 && minute == 00 || hour == 17 && minute == 00 || hour == 18 && minute == 00
        
    || hour == 19 && minute == 00 || hour == 20 && minute == 00 || hour == 21 && minute == 00 || hour == 22 && minute == 00 || hour == 23 && minute == 45 || hour == 00 && minute == 00 || hour == 01 && minute == 00 || hour == 02 && minute == 00 || hour == 03 && minute == 00 || hour == 04 && minute == 00 || hour == 05 && minute == 00) return true;
        else return 
    false;

    У меня вот есть время капта но почему то он может каптить в любое время.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну так если вы новичок в Pawn, зачем пытаетесь прыгнуть выше головы? Изучите основы: функции, принципы написания кода и прочее. Или вы думаете, что кто-то вас научит Pawn? :)

    И что вообще вы хотели сказать своим вторым постом?

    - - - Добавлено - - -

    Цитата Сообщение от Maksim97 Посмотреть сообщение
    PHP код:
    stock CaptureTimes()
    {
        new 
    hourminutesecond;
        
    gettime(hourminutesecond);
        if(
    hour == 06 && minute == 00 || hour == 07 && minute == 00 || hour == 08 && minute == 00  || hour == 09 && minute == 00  || hour == 10 && minute == 00 || hour == 11 && minute == 00 || hour == 12 && minute == 00 || hour == 13 && minute == 00 || hour == 14 && minute == 00 || hour == 15 && minute == 00 || hour == 16 && minute == 00 || hour == 17 && minute == 00 || hour == 18 && minute == 00
        
    || hour == 19 && minute == 00 || hour == 20 && minute == 00 || hour == 21 && minute == 00 || hour == 22 && minute == 00 || hour == 23 && minute == 45 || hour == 00 && minute == 00 || hour == 01 && minute == 00 || hour == 02 && minute == 00 || hour == 03 && minute == 00 || hour == 04 && minute == 00 || hour == 05 && minute == 00) return true;
        else return 
    false;

    У меня вот есть время капта но почему то он может каптить в любое время.
    Н-да...
    PHP код:
    stock CaptureTimes()
    {
        new 
    minute;
        
    gettime(_minute_);
        switch(
    minute)
        {
            case 
    0..10: return 1;
        }
        return 
    0;

    Если функция вызывается с 0 до 10 минут - вернёт единицу и разрешит капт. Иначе вернёт 0
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для Maksim97
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    31.05.2014
    Сообщений
    110
    Репутация:
    -2 ±
    PHP код:
    stock CaptureTimes()
    {
        new 
    minute;
        
    gettime(_minute_);
        switch(
    minute)
        {
            case 
    0..10: return 1;
        }
        return 
    0;

    Сделал так но всё равно полсе рестарт могу каптить в любое время:)

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    else if(!strcmp(cmd,"/capture",true))//GzCheck
    {
        if(
    12 PlayerInfo[playerid][pMemberop] > 18) return 1;
        if(
    PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_GREY,"Команда доступна с 7 ранга и выше.");
        if(
    capt == 1) return SendClientMessage(playerid,COLOR_GRAD1,"{FF0000}x {AFAFAF}В Данное время, капт запрещен.");
        new 
    capt_minute;
        
    gettime(_capt_minute_);
        switch(
    capt_minute)
        {
            case 
    0..10:
             {
                for(new 
    isizeof(GZInfo); 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][pMemberop]) continue;
                    new 
    namegang[24],namegangv[24];
                    switch(
    PlayerInfo[playerid][pMemberop])
                    {
                        case 
    15namegang "Groove Street Gang";
                        case 
    17namegang "Aztecas Gang";
                        case 
    12namegang "Ballas Gang";
                        case 
    18namegang "Rifa Gang";
                        case 
    13namegang "Vagos Gang";
                    }
                     switch(
    GZInfo[i][gFrakVlad])
                    {
                        case 
    15namegangv "Groove Street Gang";
                        case 
    17namegangv "Aztecas Gang";
                        case 
    12namegangv "Ballas Gang";
                        case 
    18namegangv "Rifa Gang";
                        case 
    13namegangv "Vagos Gang";
                    }
                    if(
    FrakCD[GZInfo[i][gFrakVlad]] == || FrakCD[PlayerInfo[playerid][pMemberop]] == 1) return SendClientMessage(playerid,COLOR_GREY,"Банда уже воюет за территорию");
                    if(!
    IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid,COLOR_GREY"Банда на которую вы собираетесь напасть нет в сети!");
                    if(
    IsATerra(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Нельзя захватить эту территорию");
                    
    format(stringer,sizeof(stringer),"Банда {4169E1}%s{FFFFFF} напала на вашу территорию.",namegang);
                    
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_WHITE,stringer);
                    
    format(stringer,sizeof(stringer),"Член вашей банды {4169E1}%s{FFFFFF} напал на территорию {4169E1}%s{FFFFFF}.",PlayerInfo[playerid][pNames],namegangv);
                    
    SendFamilyMessage(PlayerInfo[playerid][pMemberop],COLOR_WHITE,stringer);
                    
    SendMes(playerid,COLOR_WHITE,"Территория будет мигать 10 минут.");
                    
    GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
                    
    GZInfo[i][gNapad] = PlayerInfo[playerid][pMemberop];
                    
    GZInfo[i][gTime] = 600;
                    
    capture[PlayerInfo[playerid][pMemberop]] = 1;
                    
    FrakCD[PlayerInfo[playerid][pMemberop]] = 1;
                    
    FrakCD[GZInfo[i][gFrakVlad]] = 1;
                    return 
    1;
                }
            }
            default: 
    SendClientMessage(playerid,COLOR_GRAD1,"{FF0000}x {AFAFAF}Каптить доступно только 10 минут после нового часа.");
        }
        return 
    1;

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  7. #7
    Аватар для Maksim97
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    31.05.2014
    Сообщений
    110
    Репутация:
    -2 ±
    Не могу разобраться в чём warning заключается.
    PHP код:
    C:\Users\Ïîëüçîâàòåëü\Desktop\edit.pwn(2071) : warning 204symbol is assigned a value that is never used"GzCheckOn"
    Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase


    1 Warning

    Команда от мода Skrilax-rp я так понимаю? Систему capt'a я удалял полностью , а ставил с паблика.

  8. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Команда ваша. Оптимизирована и переделана под более логичный вид.
    А варнинг означает то, что вы не используете функцию. Просто удалите её
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. #9
    Аватар для Maksim97
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    31.05.2014
    Сообщений
    110
    Репутация:
    -2 ±
    Да Всё хорошо но одно но textdraw капта теперь не работает .

    - - - Добавлено - - -

    И что ещё заметил

    PHP код:
    if(12 PlayerInfo[playerid][pMemberop] > 18) return 1
    RM Могут каптить Sa news тоже:D

  10. #10
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Maksim97 Посмотреть сообщение
    Да Всё хорошо но одно но textdraw капта теперь не работает .
    Ну это уже никак к команде не относится, по-моему. Смотрите код, где должен обновляться текстдрав и смотрите условия, при которых текстдрав обновляется и которые не срабатывают

    Цитата Сообщение от Maksim97 Посмотреть сообщение
    И что ещё заметил

    PHP код:
    if(12 PlayerInfo[playerid][pMemberop] > 18) return 1
    RM Могут каптить Sa news тоже:D
    Ну так подгоните ID фракций под себя. Я сделал так, как было у вас в команде
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •