[Half-Life AMXX] / imessage.sma Repository:
ViewVC logotype

Diff of /imessage.sma

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1, Tue Oct 30 09:08:11 2007 UTC revision 17, Fri Nov 16 15:29:57 2007 UTC
# Line 35  Line 35 
35  #include <amxmodx>  #include <amxmodx>
36  #include <amxmisc>  #include <amxmisc>
37    
 #define MAX_MESSAGES  6  
38  #define X_POS         -1.0  #define X_POS         -1.0
39  #define Y_POS         0.20  #define Y_POS         0.20
40  #define HOLD_TIME     12.0  #define HOLD_TIME     12.0
41    
42  new g_Values[MAX_MESSAGES][3]  new Array:g_Values
43  new g_Messages[MAX_MESSAGES][384]  new Array:g_Messages
44  new g_MessagesNum  new g_MessagesNum
45  new g_Current  new g_Current
46    
47    #define charsof(%1) (sizeof(%1)-1)
48    
49    new amx_freq_imessage;
50    
51  public plugin_init()  public plugin_init()
52  {  {
53            g_Messages=ArrayCreate(384);
54            g_Values=ArrayCreate(3);
55          register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team")          register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team")
56          register_dictionary("imessage.txt")          register_dictionary("imessage.txt")
57          register_dictionary("common.txt")          register_dictionary("common.txt")
58          register_srvcmd("amx_imessage", "setMessage")          register_srvcmd("amx_imessage", "setMessage")
59          register_cvar("amx_freq_imessage", "10")          amx_freq_imessage=register_cvar("amx_freq_imessage", "10")
60    
61          new lastinfo[8]          new lastinfo[8]
62          get_localinfo("lastinfomsg", lastinfo, 7)          get_localinfo("lastinfomsg", lastinfo, 7)
# Line 64  Line 69 
69          if (g_Current >= g_MessagesNum)          if (g_Current >= g_MessagesNum)
70                  g_Current = 0                  g_Current = 0
71    
72          new hostname[64]          // No messages, just get out of here
73            if (g_MessagesNum==0)
74            {
75                    return;
76            }
77    
78            new values[3];
79            new Message[384];
80    
81            ArrayGetString(g_Messages, g_Current, Message, charsof(Message));
82            ArrayGetArray(g_Values, g_Current, values);
83    
84            new hostname[64];
85    
86          get_cvar_string("hostname", hostname, 63)          get_cvar_string("hostname", hostname, 63);
87          replace(g_Messages[g_Current], 380, "%hostname%", hostname)          replace(Message, 380, "%hostname%", hostname);
88    
89          set_hudmessage(g_Values[g_Current][0], g_Values[g_Current][1], g_Values[g_Current][2], X_POS, Y_POS, 0, 0.5, HOLD_TIME, 2.0, 2.0, -1)          set_hudmessage(values[0], values[1], values[2], X_POS, Y_POS, 0, 0.5, HOLD_TIME, 2.0, 2.0, -1);
         show_hudmessage(0, "%s", g_Messages[g_Current])  
         client_print(0, print_console, "%s", g_Messages[g_Current])  
         ++g_Current  
90    
91          new Float:freq_im = get_cvar_float("amx_freq_imessage")          show_hudmessage(0, "%s", Message);
92    
93            client_print(0, print_console, "%s", Message);
94            ++g_Current;
95    
96            new Float:freq_im = get_pcvar_float(amx_freq_imessage);
97    
98          if (freq_im > 0.0)          if (freq_im > 0.0)
99                  set_task(freq_im, "infoMessage", 12345)                  set_task(freq_im, "infoMessage", 12345);
100  }  }
101    
102  public setMessage()  public setMessage()
103  {  {
104          if (g_MessagesNum >= MAX_MESSAGES)  
105          {          new Message[384];
                 server_print("%L", LANG_SERVER, "INF_REACH")  
                 return PLUGIN_HANDLED  
         }  
106    
107          remove_task(12345)          remove_task(12345)
108          read_argv(1, g_Messages[g_MessagesNum], 380)          read_argv(1, Message, 380)
109    
110          while (replace(g_Messages[g_MessagesNum], 380, "\n", "^n")) {}          while (replace(Message, 380, "\n", "^n")) {}
111    
112          new mycol[12]          new mycol[12]
113            new vals[3];
114    
115          read_argv(2, mycol, 11)         // RRRGGGBBB          read_argv(2, mycol, 11)         // RRRGGGBBB
116          g_Values[g_MessagesNum][2] = str_to_num(mycol[6])          vals[2] = str_to_num(mycol[6])
117    
118          mycol[6] = 0          mycol[6] = 0
119          g_Values[g_MessagesNum][1] = str_to_num(mycol[3])          vals[1] = str_to_num(mycol[3])
120    
121          mycol[3] = 0          mycol[3] = 0
122          g_Values[g_MessagesNum][0] = str_to_num(mycol[0])          vals[0] = str_to_num(mycol[0])
123    
124          g_MessagesNum++          g_MessagesNum++
125    
126          new Float:freq_im = get_cvar_float("amx_freq_imessage")          new Float:freq_im = get_pcvar_float(amx_freq_imessage)
127    
128            ArrayPushString(g_Messages, Message);
129            ArrayPushArray(g_Values, vals);
130    
131          if (freq_im > 0.0)          if (freq_im > 0.0)
132                  set_task(freq_im, "infoMessage", 12345)                  set_task(freq_im, "infoMessage", 12345)

Legend:
Removed from v.1  
changed lines
  Added in v.17

Contact
ViewVC Help
Powered by ViewVC 1.0.4