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

    Всего на сайте: 10
    Гостей: 4
    Пользователи: umk0
    Роботы: Mail Ru, Mail Ru, Mail Ru, Mail Ru, crawl Bot

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 16-11-2011, 01:13 Просмотров: 5296

    get_systime Функция получает системное время

    Если кто не знал, то время в компьютерах считается как секунда плюс секунда поюс .... и так длиться уже долго и будет длиться.
    В итоге на момент написания статьи уже наплюсовалось 1320782311 секунд. Сразу возникает вопрос, а где же была первая секунда?
    Вопрос правильный, а началась она 1 января 1970 года. О истории этой даты вы сможете найти на других сайтах.

    Функция get_systime и возвращает значение количества секунд на данный момент.
    Мы можем запомнить сколько секунд сейчас и затем,через какое то время, узнать его заново, разница этих двух значений будет количеством секунд прошедшим между этими двумя событиями. Таким образом можно считать например количество проведенного времени игроком на сервере.

    Инфо из amxmodx.inc:
    /* Returns system time in seconds elapsed since 00:00:00 on January 1, 1970. 
    * Offset is given in seconds.*/
    native get_systime(offset = 0);


    Синтаксис:
    get_systime()


    Тип функции:
    Native

    Пример:

    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[amxmodx.inc] get_systime"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init() {

        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        //2 Команды для тестов
        register_srvcmd("systime","systime")
        register_srvcmd("systime2","systime2")
    }
    //Глобальная переменная
    new g_sys_time

    public systime(){

        //Записываем системное время в переменную
        g_sys_time = get_systime()
        //вывод в консоль
        server_print("Sys time: %d", g_sys_time)
        
    }
    public systime2(){

        //новая переменная и получение разницы между моментом ( прямо сейчас)
        // и записанным в предыдущей функции
        new sec_time = get_systime() - g_sys_time
        //Вывод результата в консоль
        server_print("Sys time2: %d", sec_time)
        
    }


    Описание:
    Данный пример позволяет получить текущее системное время и разницу времени в секундах между вводом команды systime и systime2.
    В коде я постарался максимально подробно оставить комментарии.

    Задача для самоконтроля:
    После выхода игрока с сервера, в общи чат выводилась информация о времени проведенном этим игроком на сервере.
    Новость отредактировал Admin - 10-06-2012, 18:13
    Причина: Опечатка в примре (g_sys_time спасибо Hunter)
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    get_systime Функция получает системное время
    Hunter

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

    //Глобальная переменная
    new g_sys_time
    //Записываем системное время в переменную
        sys_time = get_systime()


    опечатка ?
    Admin

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

    Да, спасибо подправил.
    --------------------

    Информация

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

Реклама