[TuT]Цветной чат



Ну что приступим:

Шаг 1:
В начале плагина вводим новую переменную:

new SayText


Шаг 2:
В функции plugin_init объявляем её значение

SayText = get_user_msgid("SayText")  


Шаг 3:
В конце плагина создаём сток нашего цветного чата:

stock Color_chat(const id, const input[], any:...) 
{ 
    new count = 1, players[32]; 
    static msg[191]; 
    vformat(msg, 190, input, 3); 
    replace_all(msg, 190, "!g", "^4"); // Green Color 
    replace_all(msg, 190, "!y", "^1"); // Default Color (у©°  湫) 
    replace_all(msg, 190, "!t", "^3"); // Team Color 
    if (id) players[0] = id; else get_players(players, count, "ch"); 
    { 
        for ( new i = 0; i < count; i++ ) 
        { 
            if ( is_user_connected(players[i]) ) 
            { 
                message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]); 
                write_byte(players[i]); 
                write_string(msg); 
                message_end(); 
            } 
        } 
    } 
}


Шаг 4:
Ну и наконец самое важное: Применение нашего цветного чата
Вот пример его использования
 Color_chat( id, "^g[ZP] ^yВы купили ^t[1000 HP]") 


В игре это сообщение будет выглядеть так

Для террористов:
[ZP] Вы купили [1000 HP]

Для Контр-террористов:
[ZP] Вы купили [1000 HP]



Источник: hlds.us
За код отдельное спасибо: Shidla


Простите если что не так - это моя 1 статья

Комментарии 28

  1. Freezet от 27 ноября 2012 12:24
    Картинка огонь! :26:
  2. Mapaky9 от 27 ноября 2012 12:26
    Лучше использовать инклуд чем стоки...
  3. Freezet от 27 ноября 2012 12:30
    Mapaky9,
    и чем же в данном случаи инклуд лучше чем сток?
  4. Alexander.3 от 27 ноября 2012 14:07
    омг... статья в два шага, расписана на пять шагов -_-.

    Разницы что использовать - нет.
    Но я за стоки, они мобильнее.
    --------------------
    Разработка игровых режимов:
    http://ZombieLite.Ru/

    Связь со мной:
    http://Alexander3.Ru/
  5. LARS-BLOODLIKER от 27 ноября 2012 14:14
    Я тоже за стоки, долой инклуды...
    Для новичков статья покатит.
    --------------------


  6. flymik24 от 27 ноября 2012 14:19
    Alexander.3,
    Статья для того и писалась, что-бы всем было понятно как что и где использовать :04:
  7. Freezet от 27 ноября 2012 14:20
    Mapaky9,
    Ты как всегда слоупочиш :38: :60:
  8. Alexander.3 от 27 ноября 2012 14:33
    flymik24, мне кажется наоборот вышло более запутаннее. Сразу в массагу запилить. Зачем же создавать глобальные переменные? =)
    --------------------
    Разработка игровых режимов:
    http://ZombieLite.Ru/

    Связь со мной:
    http://Alexander3.Ru/
  9. Mapaky9 от 27 ноября 2012 15:04
    Freezet, кому как угодно, мне удобнее будет работать через инклуды чем копировать каждый раз стоки. ы
  10. fl0wer от 27 ноября 2012 15:29
    Какие еще инклуды? Вставили один раз и делаете систему из плагинов... И мне мой больше нравится, хоть и он для одного игрока. :P
    MessageSayText(id, szMessage[])
    {
    message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, id)
    write_byte(id)
    write_string(szMessage)
    message_end()
    }
  11. Sugarv от 27 ноября 2012 16:02
    Это кстати да, так по-лучше будет, если делать систему плагинов

    Mapaky9,
    Лучше использовать инклуд чем стоки...


    Freezet, кому как угодно, мне удобнее будет работать через инклуды чем копировать каждый раз стоки. ы


    ты уж определись
  12. Freezet от 27 ноября 2012 16:11
    Цитата: Mapaky9
    Freezet, кому как угодно, мне удобнее будет работать через инклуды чем копировать каждый раз стоки. ы

    Как удобней и как лучше разные вещи :19: Если ты говоришь , что инклуд лучше - обоснуй, а если просто удобней, то вопросов нет, не нужно вводить в заблуждение :33:
  13. underwoker от 27 ноября 2012 16:11
    Kazan727,
    Перечитай то что он написал еще раз и пойми что суть сообщений одна и та же.
    --------------------
    Тута будет подпись.
  14. Freezet от 27 ноября 2012 16:13
    underwoker, именно :43:
  15. Sugarv от 27 ноября 2012 16:22
    underwoker,да ты что, то что в первом он утверждает что инклюды однозначно лучше, а во втором говорит что это все дело вкуса(после того как его люди отчитали), ну да, смысл одинаков
  16. Opo4uMapy от 27 ноября 2012 16:28
    не проще без переменных ?

    stock Color_chat(const id, const input[], any:...)
    {
    new count = 1, players[32];
    static msg[191];
    vformat(msg, 190, input, 3);
    replace_all(msg, 190, "!g", "^4"); // Green Color
    replace_all(msg, 190, "!y", "^1"); // Default Color (у©° ж№«ој©)
    replace_all(msg, 190, "!t", "^3"); // Team Color
    if (id) players[0] = id; else get_players(players, count, "ch");
    {
    for ( new i = 0; i < count; i++ )
    {
    if ( is_user_connected(players[i]) )
    {
    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
    write_byte(players[i]);
    write_string(msg);
    message_end();
    }
    }
    }
    }
  17. Freezet от 27 ноября 2012 16:29
    Kazan727, ну если так, то да, именно! :26:
  18. flymik24 от 27 ноября 2012 16:32
    Opo4,
    Перечитай Комментарий #8
  19. Mapaky9 от 27 ноября 2012 16:39
    Kazan727, я не твердил там что инклуд лучше, а как бы совет дал чтоб делали так, я же не пишу что там "однозначна использовать инклуд". Смысл моих постов одинаковы, если кто то не понял суть постов ...
    fl0wer, кому как)).
  20. Freezet от 27 ноября 2012 16:57
    Цитата: Mapaky9
    Лучше использовать инклуд чем стоки...

    Цитата: Mapaky9
    Kazan727, я не твердил там что инклуд лучше

    :51:
  21. Opo4uMapy от 27 ноября 2012 18:40
    flymik24, Ну ок
  22. Mapaky9 от 27 ноября 2012 19:51
    Freezet, таким как ты нубам не понять смысл предложений ...
  23. Sugarv от 27 ноября 2012 20:33
    Mapaky9,видимо, я нуб
  24. fl0wer от 27 ноября 2012 20:44
    Kazan727, фэйлишь жестко.
  25. Mapaky9 от 27 ноября 2012 21:33
    Да мне пофигу как вы там делаете :D, к каждому свое)).
  26. TEXHAPb90 от 28 ноября 2012 00:55
    эт типа купил дроб в экстре и в чате написано \вы купили дроб\ правильно я понял
  27. flymik24 от 28 ноября 2012 17:41
    TEXHAPb90,
    Да
  28. Sugarv от 28 ноября 2012 20:06
    fl0wer,ок, примем меры


    Мне допустим нравится как сделано в ZP5.0, там допустим тот же ланг сделан через систему
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.