modernbb Posted January 3, 2017 Share Posted January 3, 2017 (edited) Вставляем в common.js может кому будет полезно var setTimeTimer = 0; //Таймер, нужен что бы игровое время обновлялось не моментально а с n интервалом // setTimeout(function() { var date = new Date(); //получаем реальное время mp.environment.time.hour = date.getHours(); //устанавливаем игровое время (часы) mp.environment.time.minute = date.getMinutes();// устанавливаем игровое время (минуты) },0); //Игровой цикл setInterval(function(){ setTimeTimer++; //инкрементируем таймер if(setTimeTimer == 60) //60 - интервал обновления времени { //Получаем и устанавливаем время var date = new Date(); mp.environment.time.hour = date.getHours(); mp.environment.time.minute = date.getMinutes(); setTimeTimer = 0; //Обнуляем таймер } },1000); // 1000 - задержка между следующим вызовом setInterval в мс. Edited January 3, 2017 by modernbb 1 Link to comment Share on other sites More sharing options...
N1kS Posted January 3, 2017 Share Posted January 3, 2017 @modernbb, оформите тему нормально, напишите теги и какие-то банальные комментарии к коду. Link to comment Share on other sites More sharing options...
CocaColaBear Posted January 4, 2017 Share Posted January 4, 2017 (edited) Зачем каждый час узнавать сколько сейчас времени (new Date()), если мы знаем, какое оно было час назад?) А минуты вообще не изменяются, а если и изменяются, то с очень маленькой погрешностью. К тому же, в теле функций лучше использовать let или const Edited January 4, 2017 by CocaColaBear Link to comment Share on other sites More sharing options...
modernbb Posted January 4, 2017 Author Share Posted January 4, 2017 20 минут назад, CocaColaBear сказал: Зачем каждый час узнавать сколько сейчас времени (new Date()), если мы знаем, какое оно было час назад?) А минуты вообще не изменяются, а если и изменяются, то с очень маленькой погрешностью. К тому же, в теле функций лучше использовать let или const время обновляется каждую минуту а не каждый час , насчет let, это не столь важно Link to comment Share on other sites More sharing options...
CocaColaBear Posted January 4, 2017 Share Posted January 4, 2017 9 минут назад, modernbb сказал: время обновляется каждую минуту а не каждый час , насчет let, это не столь важно Спутал, да. Каждую минуту. Все равно дергать каждый раз время - плохая затея. Нужно брать предыдущее значение и увеличивать на 1. Link to comment Share on other sites More sharing options...
modernbb Posted January 4, 2017 Author Share Posted January 4, 2017 13 минуты назад, CocaColaBear сказал: Спутал, да. Каждую минуту. Все равно дергать каждый раз время - плохая затея. Нужно брать предыдущее значение и увеличивать на 1. со временем есть возможность погрешности так как в цикле может быть и другая логика , Date не ресурсоемкая операция , тем более раз в минуту, так что так переживать из за этого не стоит, тем более если посмотреть какие сейчас сервера и мощности , они позволят эту функцию тисячи итераций за секунду вызывать без единого лага Link to comment Share on other sites More sharing options...
tmaslov22 Posted January 4, 2017 Share Posted January 4, 2017 Почему в SetInterval нельзя сразу задать правильный интервал обновления времени? Зачем каждую минуту обновлять время? Почему нельзя при старте сервера задать время и ВСЁ? Link to comment Share on other sites More sharing options...
modernbb Posted January 4, 2017 Author Share Posted January 4, 2017 4 часа назад, tmaslov22 сказал: Почему в SetInterval нельзя сразу задать правильный интервал обновления времени? Зачем каждую минуту обновлять время? Почему нельзя при старте сервера задать время и ВСЁ? можно задать сразу задержку в интервале , но так как я этот кусок взял из своего мода у меня кроме времени есть и другая логика которая должна обновлять намного быстрее чем само время, по желанию можно создать для этого отдельный интервал , но зачем? Насчет времени, оно задается и при старте сервера, но обновлять его нужно так как оно не обновляется на клиенте автоматически Link to comment Share on other sites More sharing options...
mrzoidberg123 Posted January 4, 2017 Share Posted January 4, 2017 Это будет просто дикая загрузка на сервер. Бред Link to comment Share on other sites More sharing options...
modernbb Posted January 4, 2017 Author Share Posted January 4, 2017 7 минут назад, mrzoidberg123 сказал: Это будет просто дикая загрузка на сервер. Бред что именно будет загружать ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now