dvernoff
Добрая душа
- Сообщения
- 638
- Реакции
- 591
Autorestart:
#include sourcemod
// Глобальные
float TIME_SECOND = 60.0; //72000
int g_Player,
i_Player;
stock const char g_sLogFile[] = "addons/sourcemod/logs/Restart_Logs.log";
public void OnPluginStart()
{
CreateTimer(120.0, TimerHandler);
LogToFile(g_sLogFile, "Авто рестарт запущен, и будет сделан через %f секунд", TIME_SECOND);
}
public Action TimerHandler(Handle timer)
{
for (new i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsFakeClient(i))
{
i_Player++;
}
}
LogToFile(g_sLogFile, "После рестарта на сервере осталось %i игроков.", i_Player);
}
public OnMapEnd()
{
if(TIME_SECOND > GetEngineTime())
{
for (new i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsFakeClient(i))
{
ClientCommand(i,"retry");
g_Player++;
}
}
}
LogToFile(g_sLogFile, "[УСПЕШНО] Был сделан автоматический рестарт сервера, на сервере было %i игроков.", g_Player);
ServerCommand("_restart");
}
Написал небольшой плагин который рестартит сервер после таймера в конце карты, и реконектит игрока.
В общем не могу разобраться почему часть кода OnMapEnd не выполняется :/
60 сек сделал специально для теста.