Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 7
    Гостей: 5
    Пользователи: - отсутствуют
    Роботы: Mail Ru, Google Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Nesquik Дата: 19-04-2013, 23:48 Просмотров: 5617

    Делаем приставку в чате

    В этой статье опишу как сделать приставку в чате для админов и випов на ваше усмотрение...
    Ну начнём пожалуй
    Подключаем нужные нам инклюды

    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>


    Они нам понадобятся в дальнейшем
    регистрируем плагин название автора версию

    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>

    #define PLGUIN "Message mod for http://amxxmodx.ru"
    #define AUTHOR "Nesquik" Вписать ваше имя ))
    #define VERSION "1.0"

    public plugin_init()
    {
    register_plugin(PLUGIN,AUTHOR,VERSION)
    register_cvar("admin_acces","m")
    register_message(get_user_msgid("SayText"),"Tekst") // Отлавливаем событие написания игроком сообщения
    }

    //Теперь перейдём к созданию нашего сообщения

    public Tekst(msgId,msgDest,msgEnt)
    {
    new id = get_msg_arg_int(1) // сокращаем ид игрока который пишет сообщения
    Отлавливаем подключен ли игрок к серверу или нет
    if(!is_user_connected(id))
    return PLUGIN_CONTINUE;
    if(get_user_flags(id) & admin_acces()) // Проверяем на наличие нужных нам флагов
    {
      new szTmp[256],szTmp2[256];
      get_msg_arg_string(2,szTmp, charsmax( szTmp ) ) // поулчаем написаное сообщение

      new szPrefix[64] = "^x04[Админ]"; // Наш префикс

      if(!equal(szTmp,"#Cstrike_Chat_All")) // Если чат между коммандой
      {
       add(szTmp2,charsmax(szTmp2),szPrefix); // Ставим наш префикс
       add(szTmp2,charsmax(szTmp2)," ");
       add(szTmp2,charsmax(szTmp2),szTmp); // Сообщение
      }else{ // Если чат общий
       add(szTmp2,charsmax(szTmp2),szPrefix); //наш префикс
       add(szTmp2,charsmax(szTmp2)," ^x03%s1^x01: ^x04%s2") // Имя игрока и сообщение
      }
      set_msg_arg_string(2,szTmp2); //Устанавливаем вид который мы сделали выше
    }
    return PLUGIN_CONTINUE // Продолжаем работу плагина
    }

    public admin_acces() // Эта функция получает флаг для определенного доступа в нашем случае это доступ к префиксу
    {
    new szFlags[24]
    get_cvar_string("admin_acces",szFlags,charsmax(szFlags)) // Здесь получаем какой флаг
    return (read_flags(szFlags)) // Читаем флаг
    }


    Ну вот собственно у нас получился неплохой чат с префиксом )))
    Делаем приставку в чате
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    Делаем приставку в чате
    gavrilyuc

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Не отлавливаем событие а подписываемся на событие(таким образом мы его заменяем)
    а отлавливать нада только в WinApi
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    gavrilyuc, в место того что бы придираться к словам, написал бы сам статейку.
    К стати, в твоих двух предложениях ошибок тоже достаточно.

    А вот у автора по смыслу все понятно.

    Если уж и написал что надо отлавливать только WinApi, пиши полностью что и почему!
    Нефиг отбивать желание у людей писать полезные статьи.
    --------------------
    SmootH

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    не компелируется!
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    #define PLUGIN "Message mod for http://amxxmodx.ru"

    #define AUTHOR "Nesquik"// Вписать ваше имя )) 

    register_plugin(PLUGIN,VERSION,AUTHOR)

    //Отлавливаем подключен ли игрок к серверу или нет
    gavrilyuc

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    а никто не пробовал это сделать через ColorChat ?
    глобально подписаться к нему... кстати вот я написал...
    главное в этом плагине :
    Он должен быть последним в plugins.ini

    http://www.ex.ua/923318591307

    Он конешно немного модифицирован... Но.
    OtherWorld

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    А цвет как поменять?
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Перед текстом

    ^x01 - вроде цвет по умолчанию жёлтый
    ^x03 - это зависит от команды в таблице счёта, какая команда, такой и цвет.
    белый серый красный синий.
    ^x04 - вроде зелёный

    Скорее всего я всё перепутал, сам проверь...

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама