Автор: Fastkill
Доброго времени суток, сейчас я расскажу вам о "Автоматическом рестарте". Я думаю многие видели на серверах в определенное время происходит рестарт сервера, при этом администрации не приходится вводить команду. Сервер делает это автоматически. Как это сделать?
Ко всем forward'aм
forward AutoRestart();
В public OnGameModeInit
SetTimer("AutoRestart", 60000, 1); // каждые 60 секунд вызываем паблик AutoRestart ( 1 сек. = 1000)
В самый низ мода
Примечания:
Доброго времени суток, сейчас я расскажу вам о "Автоматическом рестарте". Я думаю многие видели на серверах в определенное время происходит рестарт сервера, при этом администрации не приходится вводить команду. Сервер делает это автоматически. Как это сделать?
Ко всем forward'aм
forward AutoRestart();
В public OnGameModeInit
SetTimer("AutoRestart", 60000, 1); // каждые 60 секунд вызываем паблик AutoRestart ( 1 сек. = 1000)
В самый низ мода
public AutoRestart()
{
new string[128];
new h, m, s;
gettime(h, m, s); // Узнаем время
if(h == 1 && m == 25) // Если 1 час 25 минут (Можно заменить время на свое)
{
format(string, 128, "Уважаемые игроки, через 5 минут произойдет АвтоРестарт."); // Тест, отправляемый в чат
SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат
}
if(h == 1 && m == 30) // Если 1 час 30 минут (Можно заменить время на свое)
{
SaveAccounts(); // Замените эту строчку на функции сохранения у вас в моде (С помощью вашей команды рестарта можно их найти (там они будут написаны))
format(string, 128, "Происходит автоматический рестарт сервера, подождите 10-15 секунд..."); // Тест, отправляемый в чат
SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат
SendRconCommand("gmx"); // Делаем рестарт
}
}
{
new string[128];
new h, m, s;
gettime(h, m, s); // Узнаем время
if(h == 1 && m == 25) // Если 1 час 25 минут (Можно заменить время на свое)
{
format(string, 128, "Уважаемые игроки, через 5 минут произойдет АвтоРестарт."); // Тест, отправляемый в чат
SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат
}
if(h == 1 && m == 30) // Если 1 час 30 минут (Можно заменить время на свое)
{
SaveAccounts(); // Замените эту строчку на функции сохранения у вас в моде (С помощью вашей команды рестарта можно их найти (там они будут написаны))
format(string, 128, "Происходит автоматический рестарт сервера, подождите 10-15 секунд..."); // Тест, отправляемый в чат
SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат
SendRconCommand("gmx"); // Делаем рестарт
}
}
Примечания:
- За 5 минут перед рестартом будет писать в общий чат: Уважаемые игроки, через 5 минут произойдет АвтоРестарт.
- Через 5 минут выведется еще одно сообщение: Происходит автоматический рестарт сервера, подождите 10-15 секунд...