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

Тема: Чат

  1. #11
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Спасибо, исправил.



    Нормальную функцию в плане кода ты получил, а те функции, что скинул ты - лишь имитируют правильную работу.
    Просто увидел сообщение, которое я цитировал, и понял, что после отправки сообщения, используя Ваш сток, его будет видно только окружающим, но не самому отправителю. Или это уже исправлено?

  2. #12
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Просто увидел сообщение, которое я цитировал, и понял, что после отправки сообщения, используя Ваш сток, его будет видно только окружающим, но не самому отправителю. Или это уже исправлено?
    Всё поправимо и да, исправлено.

  3. Пользователь сказал cпасибо:
    PawnoNoob (03.08.2016)
  4. #13
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Всё поправимо и да, исправлено.
    Было бы интересно узнать, что за что отвечает в Вашем стоке.

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

    Какой-то он немного странноватый max_range = 20.0

  5. #14
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Было бы интересно узнать, что за что отвечает в Вашем стоке.
    Изучай бинарные операции

    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Какой-то он немного странноватый max_range = 20.0
    Что не так?

  6. Пользователь сказал cпасибо:
    PawnoNoob (03.08.2016)
  7. #15
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Изучай бинарные операции



    Что не так?
    Ну, если отойти очень далеко, то текст будет чёрным, и его почти не видно. Можно ли как-нибудь "урезать" количество цветов?

  8. #16
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Ну, если отойти очень далеко, то текст будет чёрным, и его почти не видно. Можно ли как-нибудь "урезать" количество цветов?
    Исправил и добавил поддержку любых цветов. Если вдалеке будет слишком темно, то увеличь значение max_ratio.
    http://pro-pawn.ru/showthread.php?p=75874#post75874
    Последний раз редактировалось ziggi; 03.08.2016 в 15:53.

  9. Пользователь сказал cпасибо:
    PawnoNoob (04.08.2016)
  10. #17
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Исправил и добавил поддержку любых цветов. Если вдалеке будет слишком темно, то увеличь значение max_ratio.

    PHP код:
    stock ProxDetector(playeridFloat:max_rangecolorstring[], Float:max_ratio 1.6)
    {
        new
            
    Float:pos_x,
            
    Float:pos_y,
            
    Float:pos_z,
            
    Float:range,
            
    Float:range_ratio,
            
    Float:range_with_ratio,
            
    clr_rclr_gclr_b,
            
    Float:color_rFloat:color_gFloat:color_b;

        if (!
    GetPlayerPos(playeridpos_xpos_ypos_z)) {
            return 
    0;
        }

        
    color_r float(color >> 24 0xFF);
        
    color_g float(color >> 16 0xFF);
        
    color_b float(color >> 0xFF);
        
    range_with_ratio max_range max_ratio;

        foreach (new 
    Player) {
            if (!
    IsPlayerStreamedIn(playeridi)) {
                continue;
            }

            
    range GetPlayerDistanceFromPoint(ipos_xpos_ypos_z);
            if (
    range max_range) {
                continue;
            }

            
    range_ratio = (range_with_ratio range) / range_with_ratio;
            
    clr_r floatround(range_ratio color_r);
            
    clr_g floatround(range_ratio color_g);
            
    clr_b floatround(range_ratio color_b);

            
    SendClientMessage(i, (clr_b << 8) | (clr_g << 16) | (clr_r << 24), string);
        }

        
    SendClientMessage(playeridcolorstring);
        return 
    1;

    А за что max_ratio отвечает? И до этого разве нельзя было любой цвет вставить?

  11. #18
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А за что max_ratio отвечает?
    Это коэффициент уменьшения интенсивности цвета. Чем выше это значение, тем интенсивность будет уменьшаться на более дальнем расстоянии.

    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    И до этого разве нельзя было любой цвет вставить?
    Нельзя было, многое не учитывалось.

  12. Пользователь сказал cпасибо:
    PawnoNoob (03.08.2016)
  13. #19
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Это коэффициент уменьшения интенсивности цвета. Чем выше это значение, тем интенсивность будет уменьшаться на более дальнем расстоянии.


    Нельзя было, многое не учитывалось.
    Огромное спасибо за помощь!

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

    Хотя, всё-таки появился ещё один вопрос. А если я, например, буду делать команды, в которых не нужно менять цвет при отдалении (/me, /do, /try), то для этого нужно будет новый сток делать?

  14. #20
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Хотя, всё-таки появился ещё один вопрос. А если я, например, буду делать команды, в которых не нужно менять цвет при отдалении (/me, /do, /try), то для этого нужно будет новый сток делать?
    Да, так будет лучше, как с точки зрения логики (одна функция - один результат), так и с точки зрения производительности.
    Вот тебе такая функция:
    PHP код:
    stock SendMessageToNearPlayerPlayers(targetidFloat:rangecolormessage[])
    {
        new
            
    Float:x,
            
    Float:y,
            
    Float:z;

        if (!
    GetPlayerPos(targetidxyz)) {
            return 
    0;
        }

        foreach (new 
    playerid Player) {
            if (   
    IsPlayerStreamedIn(playeridtargetid)
                && 
    IsPlayerInRangeOfPoint(playeridrangexyz)
               ) {
                
    SendClientMessage(playeridcolormessage);
            }
        }

        
    SendClientMessage(targetid, -1message);
        return 
    1;

    Последний раз редактировалось ziggi; 03.08.2016 в 16:50.

  15. Пользователь сказал cпасибо:
    PawnoNoob (04.08.2016)
 

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

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

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

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

Ваши права

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