66# define MSG_TASK 12335
77# define MSG_TASK_DELAY 120 .0
88
9+ new g_pLastMsg;
10+
911new g_iMessages;
1012new g_iCurrent;
1113
@@ -15,12 +17,9 @@ public plugin_init()
1517{
1618 register_plugin (" Pug Mod (Messages)" ,PUG_MOD_VERSION,PUG_MOD_AUTHOR);
1719
18- g_aMessages = ArrayCreate ( 384 );
20+ g_pLastMsg = create_cvar ( " pug_last_message " , " 0 " );
1921
20- new sLast[8 ]
21- get_localinfo (" _pug_last_message" ,sLast,charsmax (sLast));
22-
23- g_iCurrent = str_to_num (sLast);
22+ g_aMessages = ArrayCreate (384 );
2423}
2524
2625public plugin_cfg ()
@@ -31,37 +30,14 @@ public plugin_cfg()
3130
3231 remove_task (MSG_TASK);
3332
34- if (LoadMessages (sPatch))
33+ if (fnLoad (sPatch))
3534 {
36- set_task (MSG_TASK_DELAY," NextMessage" ,MSG_TASK);
35+ g_iCurrent = get_pcvar_num (g_pLastMsg);
36+ set_task (MSG_TASK_DELAY," fnSendMessage" ,MSG_TASK);
3737 }
3838}
3939
40- public NextMessage ()
41- {
42- if (g_iCurrent >= g_iMessages)
43- {
44- g_iCurrent = 0 ;
45- }
46-
47- if (g_iMessages)
48- {
49- new sMessage[384 ];
50- ArrayGetString (g_aMessages,g_iCurrent,sMessage,charsmax (sMessage));
51-
52- replace_all (sMessage,charsmax (sMessage)," !G" ," ^4" );
53- replace_all (sMessage,charsmax (sMessage)," !T" ," ^3" );
54- replace_all (sMessage,charsmax (sMessage)," !D" ," ^1" );
55-
56- client_print_color (0 ,print_team_grey," %s %s " ,g_sHead,sMessage);
57-
58- ++ g_iCurrent;
59-
60- set_task (MSG_TASK_DELAY," NextMessage" ,MSG_TASK);
61- }
62- }
63-
64- public LoadMessages (const sPatch[])
40+ public fnLoad (const sPatch[])
6541{
6642 if (file_exists (sPatch))
6743 {
@@ -90,10 +66,31 @@ public LoadMessages(const sPatch[])
9066 return 0 ;
9167}
9268
93- public plugin_end ()
69+ public fnSendMessage ()
9470{
95- new sLast[8 ];
96- num_to_str (g_iCurrent,sLast,charsmax (sLast));
71+ if (g_iCurrent >= g_iMessages)
72+ {
73+ g_iCurrent = 0 ;
74+ }
9775
98- set_localinfo (" pug_last_message" ,sLast);
76+ if (g_iMessages)
77+ {
78+ new sMessage[384 ];
79+ ArrayGetString (g_aMessages,g_iCurrent,sMessage,charsmax (sMessage));
80+
81+ replace_all (sMessage,charsmax (sMessage)," !G" ," ^4" );
82+ replace_all (sMessage,charsmax (sMessage)," !T" ," ^3" );
83+ replace_all (sMessage,charsmax (sMessage)," !D" ," ^1" );
84+
85+ client_print_color (0 ,print_team_grey," %s %s " ,g_sHead,sMessage);
86+
87+ ++ g_iCurrent;
88+
89+ set_task (MSG_TASK_DELAY," fnSendMessage" ,MSG_TASK);
90+ }
91+ }
92+
93+ public plugin_end ()
94+ {
95+ set_pcvar_num (g_pLastMsg,g_iCurrent);
9996}
0 commit comments