[Include] a_timer
#21

Quote:
Originally Posted by frog163
View Post
Т.е. тебе этот инклуд тоже не нужен?)
Пойми, я же не наезжаю на тебя Инклуд работает (без теста понятно), просто хочу узнать для каких целей/задачи, конкретно в сампе/павн, это необходимо?
Мне не нужен? Да я этот способ таймеров специально для себя и написал, месяца 3 назад, решил выложить. А сейчас его вдруг заметили и он стал интересный... Вот и сделал инклуд.

Ну например я его написал для того, что мне надоели все эти не точности. Длительные остановки у автобусников превращались в очень длительные. А битвы за территории у банд вообще длились на несколько минут дольше чем указано было перед началом. Да вообще примеров куча...
Reply
#22

Xemyl,молодец.
Reply
#23

Quote:
Originally Posted by XemyL
View Post
Мой код? Смищно. Тесты проводились на чистом моде. Код показать?
Слоты поправлю сейчас...
Это не важно. Суть в том, что таймер сам по себе просто так не откланяется от нормы. Его скорость зависит от тикрэйта потока. т.е. если таймер лагает то и весь сервер будет лагать.

Quote:
Originally Posted by XemyL
View Post
А лично я считаю, что когда указываешь во времени 10 минут, то и выполнится он должен через 10 минут, а не 15.
Quote:
Originally Posted by OKStyle
View Post
Я в шоке с некоторых вопросов к автору темы. Точные таймеры - недосягаемая идеальная цель. Автор максимально приблизил время выполнения таймеров к "нормальному".
Ну тут нечего собственно сказать. Разве что могу порекомендовать почитать основы программирования и принципы работы однопоточных языков программирования.

Quote:
Originally Posted by frog163
View Post
Т.е. тебе этот инклуд тоже не нужен?)
Пойми, я же не наезжаю на тебя Инклуд работает (без теста понятно), просто хочу узнать для каких целей/задачи, конкретно в сампе/павн, это необходимо?
А это разве не понятно? Цель исправить надуманную проблему "неточные таймеры", не понимая принципов работы однопоточных языков. Проще говоря скрипт для говнокодеров, которые для мест требующих точности не могут воспользоваться gettime. Хотя сам инклуд по сути это и делает, только лишний таймер, массивы и цикл.
Reply
#24

Quote:
Originally Posted by AirKite
View Post
Это не важно. Суть в том, что таймер сам по себе просто так не откланяется от нормы. Его скорость зависит от тикрэйта потока. т.е. если таймер лагает то и весь сервер будет лагать.
Ошибаешься... Сам по себе просто так и откланяется. Интернет быстрый, процессор мощный, мод чистый. Что же ему мешает точно сработать, а?
Reply
#25

Не знаю, у меня, например, никаких отклонений в таймерах нету. Может потому, что все они срабатывают с интервалом не выше 2 минуты. Но я в основном через gettime вызываю из односекундного таймера, впринципе аналогичная система. А вот в документации сказано: "Timer intervals are not accurate (roughly 25% off). There are fixes available for this on the SA-MP forums."
Reply
#26

Quote:
Originally Posted by XemyL
View Post
Ошибаешься... Сам по себе просто так и откланяется.
Если бы он сам по себе отклонялся, можно было бы решить проблему банальным вычетом от нужного времени, время отклонения.

Quote:
Originally Posted by XemyL
View Post
Интернет быстрый, процессор мощный, мод чистый. Что же ему мешает точно сработать, а?
Да хоть вообще без интернета. Мелкие отклонения могут быть внутренними ограничениями, попробуй в конфиг вписать "sleep 1", возможно задержка уменьшится. Тут важно учитывать, то что в таймере указывается не реальное время, а время выполнения потока без пауз. А паузы будут, и чем больше таких пауз, тем выше отклонения.

Quote:
Originally Posted by XemyL
View Post
AirKite, а что ты на это скажешь?
Если ты не понимаешь что пишут, лучше бы не цитировал. Если понял, тогда зачем спрашиваешь если я по сути об этом же и говорю. Ещё раз, что мешает использовать gettime\gettickcount ?

p.s. ****** тоже делал фикс таймеров. Но там это оправдывается фиксом передачи string в SetTimerEx
Reply
#27

Quote:
Originally Posted by AirKite
View Post
Если бы он сам по себе отклонялся, можно было бы решить проблему банальным вычетом от нужного времени, время отклонения.
Как же ты его рассчитывать собираешься, это время отклонения?
Reply
#28

Quote:
Originally Posted by AirKite
View Post
Выше уже было сказано как это сделать. Механизм работы инклуда смотрели? Это как создать инклуд с макросом stock на public, и назвать инклуд полезным дополнением, которое исправляет недуг, что таймеры вешаются только на public. Типа инклуд позволяет теперь и на stock.
Правда что ли? Если я сам придумал эту проблему, так почему я помог исправить её многим другим людям?
Давай, предложи нам своё более "умное" и удобное решение данной проблемы, и тогда я посчитаю свою работу не нужной. А пока что прошу больше не засорять тему глупыми спорами.
Reply
#29

Quote:
Originally Posted by AirKite
View Post
p.s. Попрошу всех протестующих на мои слова о непонимании языка, жаловаться авторам языка, почему они такие плохие и не сделали не тормозящие таймеры. По версии выходит они тупее вас. Кстати к авторам многих других языков, также можете обратится, и вообще выслать им гениально решение в виде инклуда или обычного описания принципа
Ладно. Лично я хочу чтобы мои таймеры просто работали точно, это проблема. И что же мне делать? Как решить? (ты мне более разумного решения так и не привёл) Пойду напишу создателям языка, ОК. По моему ты просто бред сейчас несёшь.
К тому же, на модах плохо оптимизированных, это решение так же является оптимизацией. По словам использующих "Все лаги пропали".
Reply
#30

Quote:
Originally Posted by AirKite
View Post
... т.е. данный инклуд костыль, несуществующий проблемы (как проблемы языка). Проблема в вашем не правильном представлении языка PAWN.
Ого, значит таймеры отстают от того, что мы не знаем язык PAWN
Значит, следую Вашей логике, как тока мы выучим язык, сразу всё начнёт работать как надо?

По сабжу. Читая Ваш срач, ничего кроме слов древнекитайского философа Лао-цзы не приходят на ум: "Знающий человек ничего не доказывает, а доказывающий - ничего не знает."
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)