Интервал CreateTimer

Тема в разделе "Программирование / Скриптинг", создана пользователем janka37, 29 янв 2013.

  1. janka37

    janka37

    Сообщения:
    11
    Симпатии:
    0
    Привет,
    Как я понимаю по документации SM, функция CreateTimer позволяет создовать таймер с интервалом 0.1 и не менее.
    Но дело в том, что меня интересует интервал по меньше - сотые или тысячные (хотя с сотыми вполне хватило бы)
    Есть ли способ добится этого? Используя тот же CreateTimer или другую функцию?

    P.S. Это мне нужно для плагина-таймера, который смеряет время как быстро кто добрался от точки А к точки Б (для сервов типо Bhop, Surf, XC/KZ). Нынешний интервал не достаточно точен если расстояние не большое - у многих совпадает время (на пример 5.600)
    Я знаю что это как то возможно, так как есть достаточно сервов, где таймер под SM, но отоброжает точное время даже до тысячных!

    P.S.S. Я сравнительно новичок в этом, так что если можно, поподробнее ))
     
  2. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Ну у меня вроде как работало при 0.05, так что таймер по идее должен и с большей точностью, чем 0.1 работать, тут надо пробовать... Например создать таймер который будет запускаться по комманде и вырубаться по другой с выводом счетчика, и по нему проверять точность...
    Хотя я точно не знаю, но возможно что есть проблема с временем меньшим 1/66 секунды, то есть временем меньше одного игрового фрейма. Хотя возомжно что я ошибаюсь...
     
  3. janka37

    janka37

    Сообщения:
    11
    Симпатии:
    0
    Ну он у меня как то рандомно работает - иногда бывает там 18.660, или 6.770 (Форматируется в тысячных, но не ловит в тысячных), Вот и на маленьких картах результат часто совпадает 5.500 или 5.600 У первых 2-3 игроков :/
     
  4. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Пардон.. Нашел..
    http://wiki.alliedmods.net/Timers_(SourceMod_Scripting)#Accuracy
    То есть да, пока тикрейт не будет равен 100, точность будет получаться сомнительная, да и то если провисания сервера на 100 тикрейте будут, то точность тоже страдать будет
     
  5. janka37

    janka37

    Сообщения:
    11
    Симпатии:
    0
    Сервер и так на 100 )
    Вот про провисание не скажу толком, заметных лагов вроде нет, но машина весьма напряжена!
    Всё же это все увеличивает точность только не много, а на eventscripte на пример, есть сервер который ловит точность где то с 5-6 цыфрами (21.53120) на пример, и делает это точно, без особых проблем (кроме мощной машины наверное :D).
    Чел с одного сервера (KSF) говорил что на SM ему пришлось писать отдельное разширение (extension), чтобы увеличить точность а по дефу, SM не разрешает это :/
     
  6. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Провисания эти могут быть и не заметны и не сказываться на игре, поскольку сервер может сам некоторые тики пропускать, об этом же и говорилось. Фактически прип падении серверного фпс скажем до 66 лагов заметно не будет, а вот таймер будет подтормаживать и не праильно считать. И да, видимо чтобы использовать системные часы нужно писать расширение, просто так не получится...
     
  7. janka37

    janka37

    Сообщения:
    11
    Симпатии:
    0
    Ясно, ну что же, спасибо за инфу ^