/
zero_round.sma
103 lines (85 loc) · 2.16 KB
/
zero_round.sma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <amxmodx>
#define PLUGIN "Zero Round"
#define VERSION "1.0.1"
#define AUTHOR "SPiNX|victorrr"
#define MAX_NAME_LENGTH 32
#define charsmin -1
#define URL "https://github.com/djearthquake/amxx/tree/main/scripting/cstrike"
new bool:bCalled
new const szZeroRnd[][] =
{
"Hostages_Not_Rescued",
"Round_Draw",
"Target_Saved",
"VIP_Not_Escaped"
}
#if AMXX_VERSION_NUM == 182
new g_cvar_cmd_182
#endif
new g_cvar_rnd, g_cvar_cmd[MAX_NAME_LENGTH]
public plugin_init()
{
register_event("ScoreInfo", "plugin_log", "a", "1=Team");
///register_logevent("@rnd_zero", 2, "1=Round_End")
register_logevent("@rnd_start", 2, "1=Round_Start")
#if AMXX_VERSION_NUM != 182
bind_pcvar_string(create_cvar("rnd_cmd_cvar", "say Round over!"), g_cvar_cmd, charsmax(g_cvar_cmd))
#else
g_cvar_cmd_182 = register_cvar("rnd_cmd_cvar", "say Round over!")
#endif
#if AMXX_VERSION_NUM >= 179 || AMXX_VERSION_NUM <= 190
register_plugin(PLUGIN, VERSION, AUTHOR)
#else
register_plugin(PLUGIN, VERSION, AUTHOR, URL)
#endif
g_cvar_rnd = get_cvar_pointer("mp_roundtime") //For maps without objectives.
state ON
}
@rnd_start()
{
new iRestart = get_cvar_pointer("sv_restartround")
switch(iRestart)
{
case 0: state ON
default: state OFF
}
@plugin_control()
}
@rnd_zero()
{
if(!bCalled)
{
#if AMXX_VERSION_NUM == 182
get_pcvar_string(g_cvar_cmd_182, g_cvar_cmd, charsmax(g_cvar_cmd))
console_cmd( 0, g_cvar_cmd )
#else
console_cmd( 0, g_cvar_cmd )
#endif
state ON
}
@plugin_control()
}
public plugin_log()
{
new szDummy[ MAX_NAME_LENGTH ];
read_logargv(3,szDummy, charsmax(szDummy))
for(new list;list < sizeof szZeroRnd;list++)
if(containi(szDummy, szZeroRnd[list]) != charsmin)
{
@rnd_zero()
}
}
@plugin_control()<ON>
{
bCalled = true;
remove_task(2023);
}
@plugin_control()<OFF>
{
bCalled = false;
#if AMXX_VERSION_NUM == 182
set_task(get_pcvar_num(g_cvar_rnd)*60.0, "@rnd_zero", 2023);
#else
set_task(get_pcvar_float(g_cvar_rnd)*60.0, "@rnd_zero", 2023);
#endif
}