Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Оххх, старые-добрые вопросы о каптах. Что же вы не можете открыть гугл и поискать там ответы на свои вопросы? Тем более тема с каптами затрагивалась миллиард раз... Хотя да, лучше потратить на ожидание ответа несколько часов, чем найти самостоятельно ответ за 10 минут.

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

    Широко известно, что идеи стоят 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Ну так если вы новичок в 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
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    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;

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

    Широко известно, что идеи стоят 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Команда ваша. Оптимизирована и переделана под более логичный вид.
    А варнинг означает то, что вы не используете функцию. Просто удалите её
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от Maksim97 Посмотреть сообщение
    Да Всё хорошо но одно но textdraw капта теперь не работает .
    Ну это уже никак к команде не относится, по-моему. Смотрите код, где должен обновляться текстдрав и смотрите условия, при которых текстдрав обновляется и которые не срабатывают

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

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

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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