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

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Все заглавные - значит все буквы верхнего регистра до единой.

    PHP код:
    const
        
    DADMIN_TPMENU_MAIN 1,
        
    DADMIN_TPMENU_POPULARPLACES 2
    Да и обычно оператором "const" выделяют вроде как максимальное значение чего либо,я бы оставил просто энуменатор id диалогов, и варианты никакие не нужны.
    "Все заглавные - значит все буквы верхнего регистра до единой." - в таком случае, не знаю, как для остальных, но, лично для меня, сильно падает читабельность кода.

  2. #12
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от Twixyck Посмотреть сообщение
    "Все заглавные - значит все буквы верхнего регистра до единой." - в таком случае, не знаю, как для остальных, но, лично для меня, сильно падает читабельность кода.
    Так у тебя вначале :

    PHP код:
    const
        
    MAX_ADMIN_TELEPORTS 2// Максимальное количество телепортов. При добавлении нового телепорта инкрементируйте данное значение (добавляйте +1 к значению).
        
    MAX_ADMIN_TELEPORT_NAME 17// Максимальное количество символов в названии телепорта
        
    MAX_AT_SECTIONS_NAME 28// Максимальное количество символов в названии раздела телепортов 
    ?? что тут не читабельного, так-же в предыдущим сообщение я оставил примечание: "Да и обычно оператором "const" выделяют вроде как максимальное значение чего либо,я бы оставил просто энуменатор id диалогов, и варианты никакие не нужны.", как у тебя это сделано сейчас.

  3. #13
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Так у тебя вначале :

    PHP код:
    const
        
    MAX_ADMIN_TELEPORTS 2// Максимальное количество телепортов. При добавлении нового телепорта инкрементируйте данное значение (добавляйте +1 к значению).
        
    MAX_ADMIN_TELEPORT_NAME 17// Максимальное количество символов в названии телепорта
        
    MAX_AT_SECTIONS_NAME 28// Максимальное количество символов в названии раздела телепортов 
    ?? что тут не читабельного, так-же в предыдущим сообщение я оставил примечание: "Да и обычно оператором "const" выделяют вроде как максимальное значение чего либо,я бы оставил просто энуменатор id диалогов, и варианты никакие не нужны.", как у тебя это сделано сейчас.
    А, ты просто показал на примере перечисления диалогов. Я это имел ввиду.
    А так да, я согласен с тобой.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Twixyck Посмотреть сообщение
    Вот именно по этой причине я боюсь браться за это. Ибо я не особо хорошо знаком с перехватами и реализацией подобных систем в FS/Include.
    Ну так нужно ведь когда-нибудь учиться, не? :) Почему бы не начать?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  5. #15
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну так нужно ведь когда-нибудь учиться, не? :) Почему бы не начать?
    Да, думаю, что самое время попробовать :)

    Уже нашёл информацию от DC по поводу перехватов. Попробую освоить в ближайшее время, и, если всё будет благополучно - постараюсь реализовать твою задумку по поводу FS/Include

    Upd: обновил первый пост (убрал вариант с константами для диалогов).

  6. #16
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от Twixyck Посмотреть сообщение
    Да, думаю, что самое время попробовать :)

    Уже нашёл информацию от DC по поводу перехватов. Попробую освоить в ближайшее время, и, если всё будет благополучно - постараюсь реализовать твою задумку по поводу FS/Include
    Кстати лучше в FS , дабы просто подключить его и больше никаких действий не делать))

  7. #17
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Ето моя задумка(
    Да, твоя тоже
    (Не заметил твой пост по этому поводу на первой странице, извиняюсь)

  8. #18
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Update: Релиз системы в include.
    Ссылка на скачивание в первом посте.

    P.S Сегодня осилил только знакомство с перехватами и написание include-версии.
    P.S.S Возможно, в скором времени, при наличии времени, займусь реализацией обновлений (но это не точно :D)
    Последний раз редактировалось whale; 04.06.2017 в 19:40.

  9. #19
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Мне кажется можно избежать циклов, когда игрок входит/выходит в динамическую зону (если создаются динамические зоны одновременно, то есть в данном случае)

    PHP код:
    public OnPlayerEnterDynamicArea(playeridareaid// Когда игрок входит в динамическую зону 
    {
        if(
    atInfo[0][atDynamicArea] <= areaid <= atInfo[MAX_ADMIN_TELEPORTS 1][atDynamicArea])
        {
            new
                
    cout areaid atInfo[0][atDynamicArea];

               
    atInfo[cout][atNumberOfPlayers]++; // Инкрементируем количество игроков в указанной динамической зоне 

            
    if(atData[cout][atGreenZone] == 1// Если зона, в которую вошёл игрок, является "зелёной" (anti-dm) 
            

                
    p_green_zone_status{playerid} = 1// Устанавливаем игроку статус "находится в зелёной зоне" 
                
    SetPVarInt(playerid"damage_in_green_zone"0); // Устанавливаем игроку количество попыток нанести урон в "зелёной зоне" на 0 
            


            return 
    1
        } 

        return 
    1
    }

    public 
    OnPlayerLeaveDynamicArea(playeridareaid// Когда игрок покидает динамическую зону 

        if(
    atInfo[0][atDynamicArea] <= areaid <= atInfo[MAX_ADMIN_TELEPORTS 1][atDynamicArea])
        {
            new
                
    cout areaid atInfo[0][atDynamicArea]; 
            
            
    atInfo[cout][atNumberOfPlayers]--; // Декрементируем количество игроков в указанной динамической зоне 

            
    if(atData[cout][atGreenZone] == 1// Если зона, из которой вышел игрок, является "зелёной" (anti-dm) 
            

                
    p_green_zone_status{playerid} = 0// Устанавливаем игроку статус "не находится в зелёной зоне" 
                
    DeletePVar(playerid"damage_in_green_zone"); // Удаляем PVar с информацией о количестве попыток нанести урон в "зелёной зоне" 
            


            return 
    1
        } 

        return 
    1

    Да и не совсем понятно зачем было создавать итератор, если ты их используешь лишь в данных пабликах

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от execution Посмотреть сообщение
    Мне кажется можно избежать циклов, когда игрок входит/выходит в динамическую зону (если создаются динамические зоны одновременно, то есть в данном случае)

    PHP код:
    public OnPlayerEnterDynamicArea(playeridareaid// Когда игрок входит в динамическую зону 
    {
        if(
    atInfo[0][atDynamicArea] <= areaid <= atInfo[MAX_ADMIN_TELEPORTS 1][atDynamicArea])
        {
            new
                
    cout areaid atInfo[0][atDynamicArea];

               
    atInfo[cout][atNumberOfPlayers]++; // Инкрементируем количество игроков в указанной динамической зоне 

            
    if(atData[cout][atGreenZone] == 1// Если зона, в которую вошёл игрок, является "зелёной" (anti-dm) 
            

                
    p_green_zone_status{playerid} = 1// Устанавливаем игроку статус "находится в зелёной зоне" 
                
    SetPVarInt(playerid"damage_in_green_zone"0); // Устанавливаем игроку количество попыток нанести урон в "зелёной зоне" на 0 
            


            return 
    1
        } 

        return 
    1
    }

    public 
    OnPlayerLeaveDynamicArea(playeridareaid// Когда игрок покидает динамическую зону 

        if(
    atInfo[0][atDynamicArea] <= areaid <= atInfo[MAX_ADMIN_TELEPORTS 1][atDynamicArea])
        {
            new
                
    cout areaid atInfo[0][atDynamicArea]; 
            
            
    atInfo[cout][atNumberOfPlayers]--; // Декрементируем количество игроков в указанной динамической зоне 

            
    if(atData[cout][atGreenZone] == 1// Если зона, из которой вышел игрок, является "зелёной" (anti-dm) 
            

                
    p_green_zone_status{playerid} = 0// Устанавливаем игроку статус "не находится в зелёной зоне" 
                
    DeletePVar(playerid"damage_in_green_zone"); // Удаляем PVar с информацией о количестве попыток нанести урон в "зелёной зоне" 
            


            return 
    1
        } 

        return 
    1

    С учётом того, что это паблик-система, цикл тут является защитой "от дурака". Если до вызова функции с загрузкой зон будет создано несколько динамических зон, а потом какая-нибудь одна из зон будет удалена, твой код уже не будет работать нормально

    Цитата Сообщение от execution Посмотреть сообщение
    Да и не совсем понятно зачем было создавать итератор, если ты их используешь лишь в данных пабликах
    Чтоб быстрее искать нужную зону?
    Хотя вообще такое актуально только для ситуаций, когда зоны могут во время работы сервера удаляться. Если удаления нет, то можно обойтись обычным циклом.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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