jix Posted July 10, 2019 Share Posted July 10, 2019 (edited) В одно время я не мог решить проблему с NAPI.World.GetTime (работает некорректно, инфу конечно же не найти почти) и решил залить для начинающих небольшой скрипт, который исправляет проблему + бонусом саму систему времени. class server_side : Script { // Переменные, которые будут заменять нам GetTime int serverHour = 6; int serverMin = 0; int serverSec = 0; // Метод, который при обращении к нему будет менять время на сервере private void server_Time(int hour, int minute, int second) { NAPI.World.SetTime(hour, minute, second); serverHour = hour; // ---------------------------------- serverMin = minute; // сохраняем в наши переменные время serverSec = second; // --------------------------------- } // Бонусный код, который создает игровое время (1 игровая минута = 20 секундам) async void time() { while (true) { serverMin++; NAPI.World.SetTime(serverHour, serverMin, 0); if (serverMin == 60) { if (serverHour >= 23) { serverHour = 0; serverMin = 0; NAPI.World.SetTime(serverHour, serverMin, 0); } else { serverHour++; serverMin = 0; NAPI.World.SetTime(serverHour, serverMin, 0); } } await Task.Delay(20000); } } [Command("time")] // команда, чтобы узнать текущее время на сервере public void CMD_time(Client client) { if (serverMin < 10) { NAPI.Chat.SendChatMessageToPlayer(client, $"Текущее время {serverHour.ToString()}:0{serverMin.ToString()}"); } else { NAPI.Chat.SendChatMessageToPlayer(client, $"Текущее время {serverHour.ToString()}:{serverMin.ToString()}"); } } // Смена времени на сервере [Command("settime")] public void CMD_settime(Client client, int hrs, int min) { server_Time(hrs, min, 0); NAPI.Chat.SendChatMessageToPlayer(client, $"Время выставлено на {hrs}:{min}"); } // Евент, чтобы время работало [ServerEvent(Event.ResourceStart)] public void OnResourceStart() { NAPI.World.SetTime(serverHour, serverMin, serverSec); time(); // Запуск цикла времени при старте сервера } Edited July 10, 2019 by jix 2 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