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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    PHP код:
    new buffer[144]; // 144 - максимальная длина сообщения.
    format(buffersizeof buffer"Игрок {FF00FF}%s{FFFFFF} говорит: %s"/* ... */);
    ProxDetectorChat(playerid/* дистанция *//* основной цвет */buffer); 
    144 - это не максимальная длинна сообщения, насколько я знаю максимальная длинна сообщения - 128 символов. Правильнее было бы написать 144 - максимальная длинна сообщения + длинна ника игрока в информационном тексте (Игрок {FF00FF}%s{FFFFFF} говорит)

  2. #12
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от qwezert Посмотреть сообщение
    144 - это не максимальная длинна сообщения, насколько я знаю максимальная длинна сообщения - 128 символов. Правильнее было бы написать 144 - максимальная длинна сообщения + длинна ника игрока в информационном тексте (Игрок {FF00FF}%s{FFFFFF} говорит)
    Вы не правы. Я указал длину выводимого в чат сообщения. Вы же говорите о длине вводимого игроком сообщения.

    wiki Limits

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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Вы не правы. Я указал длину выводимого в чат сообщения. Вы же говорите о длине вводимого игроком сообщения.

    wiki Limits
    Да ошибся. Извиняюсь

  4. #14
    Аватар для middlematt
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.01.2016
    Сообщений
    40
    Репутация:
    7 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Плохие примеры)
    Без форматирования SendClientMessage не вывезет аргументы(если канеш у тебя не где не стоит перехватчик с внутренним форматированием в функции),
    а с цветом лучше первый вариант выбрать,
    так как во втором варианте он будет занимать 8 символов, из за того что юзается в строке.
    Не по теме:
    То есть, цвет тоже считается в тексте как символ?

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

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от middlematt Посмотреть сообщение
    Не по теме:
    То есть, цвет тоже считается в тексте как символ?
    Да, занимает 8 ячеек,
    PHP код:
    {FFFFFF

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

    Статус
    Оффлайн
    Регистрация
    14.12.2016
    Сообщений
    27
    Репутация:
    2 ±
    Фух, ну и срач) Проблему решил.
    PHP код:
    stock ProxDetectorChat(playeridFloat:max_rangecolortext[], 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,
            
    coloredstring[128], playercolor;
        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;
        
    playercolor GetPlayerColor(playerid);
        foreach (new 
    Player) {
        if (
    GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(i)) continue;
        if (!
    playerlogged{i}) 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);
        
    colored = (color 0xFF) | (clr_b << 8) | (clr_g << 16) | (clr_r << 24);
           switch(
    PlayerInfo[i][pChatSet])
           {
            case 
    1:
            {
                switch(
    PlayerInfo[i][pIdChatSet])
                {
                    case 
    1format(stringsizeof(string), "%s(%d): {%06x}%s"PlayerInfo[playerid][pName], playeridcolored >>> 8text);
                    case 
    2format(stringsizeof(string), "%s: {%06x}%s"PlayerInfo[playerid][pName], colored >>> 8text);
                }
                
    SCM(iplayercolorstring);
            }
            case 
    2:
            {
                switch(
    PlayerInfo[i][pIdChatSet])
                {
                    case 
    1format(stringsizeof(string), " - %s {%06x}(%s)[%d]"textplayercolor >>> 8PlayerInfo[playerid][pName], playerid);
                    case 
    2format(stringsizeof(string), " - %s {%06x}(%s)"textplayercolor >>> 8PlayerInfo[playerid][pName]);
                }
                 
    SCM(icoloredstring);
            }
        }
        }
        return 
    1;

    Не откажусь от помощи в оптимизации данной функции)

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    foreach (new Player) {
        if (
    GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(i)) continue; 
    Перед циклом вытащи GetPlayerVirtualWorld(playerid) в переменную, и вроде всё...
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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