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

    Всего на сайте: 6
    Гостей: 3
    Пользователи: - отсутствуют
    Роботы: crawl Bot, Google Bot, Google Bot

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 24-08-2011, 17:03 Просмотров: 5451

    server_print Функция выводит сообщение в консоль сервера

    Эта функция бесполезна для игроков и админов, но очень полезна для разработчиков плагинов.
    Так как с ее помощью можно выводить сообщения в консоль сервера, что визуализирует работу плагина в консоли.

    Инфо из amxmodx.inc:
    /* Prints message to server console.
    * You may use text formating (f.e. server_print("%-32s %.2f!","hello",7.345)) */
    native server_print(const message[], any:...);


    Синтаксис:
    server_print ( const message[], [ ... ])

    1. const message[] - Сообщение в виде массива, или текста заключенного в кавычки
    2. [ ... ] - Массивы для подстановки в сообщение


    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "Server print"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init ( )
    {
        register_plugin ( PLUGIN, VERSION, AUTHOR )

        register_concmd("hello_server","Function")
        register_concmd("now_map","map_name")

    }

    public Function(){
        
        server_print("Hello admin")
        
        new message[] = "Hello admin"
        server_print(message)
        
        new msg[] = "Hello mega admin"
        server_print("Server print: %s",msg)

    }
    public map_name(){
        new map[32]
        get_mapname(map,31)
        server_print("Now map in server: %s",map)
        
    }


    Описание:
    Для начала научим сервер здороваться с нами, при помощи команды hello_server, которая вызывает функцию Function.
    Внутри которой мы рассмотрим сразу 3 варианта работы с рассматриваемой функцией.

    Первый вариант: Без переменных, просто текст заключенный в кавычки, выводится точно так же в консоль.

    Второй вариант: Создали массив message и записали в него сообщение и подставляем в функцию только массив

    Третий вариант: Создали массив msg и заполнили текстом приветствия, в самой же функции мы вводим текст и подставляем в нужное место (%s) значение из массива.

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

    Я обычно использую эту функцию когда отлаживаю плагины, которые работают с различными массивами. В консоле очень хороша видна последовательность выполнения команд/функций, если в нужных местах кода поставить server_print и в сообщение писать что это за место кода.

    Сообщение может быть подготовлено и с помощью функции format/
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Наверх

Реклама