Код:
#include <amxmodx>
#define hour_start 22
#define hour_end 7
new bool:p_pause = false
new hour, minute, secound, min_for_end
public plugin_init()
{
register_plugin("time_flags_plugins", "0.5", "legenda_bredit")
set_task(1.0, "check_time")
set_task(60.0, "check_time",5522,_,_,"b")
set_task(30.0, "adv_in_chat",5577,_,_,"b")
}
public adv_in_chat()
{
client_print(0,print_chat,"С %d:00 по %d:00 всем бесплатный vip",hour_start,hour_end)
}
public check_time()
{
time(hour,minute,secound)
if (hour_end > hour)
min_for_end = (hour_end - hour)*60 - minute;
else
min_for_end = (hour_end + 24 - hour)*60 - minute;
// (hour_end >= hour) ? { min_for_end = (hour_end - hour)*60 - minute } : { min_for_end = (hour_end + 24 - hour)*60 - minute };
(hour_start <= hour < hour_end) ? set_task(0.1, "pausePlugin") : set_task(0.1, "unpausePlugin")
}
public pausePlugin()
{
if (!p_pause) {
server_cmd("amx_default_access tz")
set_task(1.0, "r_admins")
p_pause = true
set_task(3.0,"hud_time",5566,_,_,"b")
}
}
public unpausePlugin()
{
if (p_pause) {
server_cmd("amx_default_access z")
set_task(1.0, "r_admins")
p_pause = false
remove_task (5566)
}
}
public r_admins()
{
server_cmd("amx_reloadadmins")
}
public hud_time()
{
set_hudmessage(200, 200, 200, -1.0, -0.27, 1, 1.0, 3.0, 0.1, 0.1, 3)
show_hudmessage(0, "Осталось %d мин", min_for_end)
}