Код:
#include <amxmodx>
#define AUTORR_TIME 30 // Auto Restart Time
#define NUM_RR 1 // Кол-во рестартов
#if NUM_RR > 1
#define LATENCY 1.5 // Задержка между рестартами
#endif
new g_iCountDown = AUTORR_TIME, g_HudSync;
public plugin_init()
{
register_plugin("Auto Restart", "1.0.4", "neygomon");
register_event("TextMsg", "eGameCommencing", "a", "2=#Game_Commencing");
g_HudSync = CreateHudSyncObj();
}
public eGameCommencing()
set_task(1.0, "CountDown", 3355255, _, _, "a", AUTORR_TIME);
public CountDown()
{
switch(--g_iCountDown)
{
case 0:
{
#if NUM_RR > 1
set_task(LATENCY, "SV_Restart", _, _, _, "a", NUM_RR);
#else
SV_Restart();
#endif
remove_task(3355255);
}
default:
{
set_hudmessage(192, 255, 62, -1.0, 0.4, 0, 6.0, 1.0);
ShowSyncHudMsg(0, g_HudSync, "Автоматический рестарт через %i секунд", g_iCountDown);
nChatPrint(0, "^1[^4Сервер|18+|^1] ^4Welcome to ^3ВСЕ Реальные Пацаны© ^4Желаем ^1Вам ^3приятной игры!")
stock nChatPrint(const id, const input[], any:...)
{
new nCount = 1, nNum[32]
static nMsgs[191]
vformat(nMsgs, 190, input, 3)
replace_all(nMsgs, 190, "!g", "^4")
replace_all(nMsgs, 190, "!n", "^1")
replace_all(nMsgs, 190, "!t", "^3")
if(id) nNum[0] = id; else get_players(nNum, nCount, "ch")
{
for(new i = 0; i < nCount; i++)
{
if(is_user_connected(nNum[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, nNum[i])
write_byte(nNum[i])
write_string(nMsgs)
message_end()
}
}
}
public SV_Restart()
set_cvar_num("sv_restart", 1);