Участник
Пользователь
- Сообщения
- 491
- Реакции
- 89
- Помог
- 5 раз(а)
Приветствую всех, имеется
Хотел бы узнать, что можно в нем упростить/изменить, делал все "хардкорово". И хотел бы узнать, как отловить изначальный
И есть ли смысл переводить на ReAPI?
Код:
#include <amxmodx>
#define WAIT_TIME 10
#define OLD_TIME 0
#define Task_WAP_ID 666
new const PLUGINS[][] =
{
"warmup.amxx", "vip_rbs.amxx", "ad_manager.amxx"
}
new message[128]
new g_pFreezeTime, g_pWaitRound, g_HudSync, g_pCountDown
public plugin_init()
{
register_plugin("Wait All Players", "1.1", "WILL BE")
register_event("TextMsg", "EV_Start_Game", "a", "2=#Game_Commencing")
register_event("HLTV", "EV_Start_Round", "a", "1=0", "2=0")
g_pFreezeTime = get_cvar_pointer("mp_freezetime")
g_HudSync = CreateHudSyncObj()
}
public EV_Start_Game()
{
g_pWaitRound = 0
Toggle_Plugins(false)
}
public EV_Start_Round()
{
if(++g_pWaitRound == 1)
{
if(task_exists(Task_WAP_ID)) return
g_pCountDown = WAIT_TIME
set_task(0.1, "Task_WAP", Task_WAP_ID)
set_pcvar_num(g_pFreezeTime, WAIT_TIME)
Toggle_Plugins(true)
}
return;
}
public Task_WAP()
{
g_pCountDown--
if(g_pCountDown > 0)
{
format(message, sizeof(message) - 1, "Ожидание игроков!^nДо рестарта %i сек!", g_pCountDown)
set_hudmessage(220, 160, 0, -1.0, 0.3, 1, 0.0, 1.03, 0.0, 0.0, 5)
show_hudmsg(0)
}
else if(g_pCountDown == 0)
{
set_cvar_num("sv_restart", 1)
set_pcvar_num(g_pFreezeTime, OLD_TIME);
}
set_task(1.0, "Task_WAP", Task_WAP_ID)
}
show_hudmsg(id)
{
ShowSyncHudMsg(id, g_HudSync, "%s", message)
}
Toggle_Plugins(const bool:enable)
{
for (new i = 0; i < sizeof(PLUGINS); i++)
{
enable ? unpause("ac", PLUGINS[i]) : pause("ac", PLUGINS[i])
}
}
public plugin_end()
{
if(task_exists(Task_WAP_ID)) remove_task(Task_WAP_ID)
}
mp_freezetime
?И есть ли смысл переводить на ReAPI?