I made this simple plugin for my clan's server so that we could advertise new ect. It works perfectly, but it causes a reliable channel overflow error eventually. we had msg_delay set to 90.0 and 60.0seconds the times this happened any ideas?
Code:
#include <amxmodx>
#include <amxmisc>
new msg_file[128];
new ReadData[512];
new MsgSayText;
public plugin_init() {
register_plugin("Message Display", "1.0", "Rolnaaba");
register_cvar("msg_delay", "120.0"); //how long between each message (seconds)
set_task(get_cvar_float("msg_delay"), "load_message");
MsgSayText = get_user_msgid("SayText");
}
public load_message() {
get_configsdir(msg_file, 127);
formatex(msg_file, 127, "%s/message.ini", msg_file);
new file = fopen(msg_file, "r");
if(file) {
while(!feof(file)) {
fgets(file, ReadData, 511);
if(ReadData[0] == ';')
continue;
display_message(ReadData);
}
fclose(file);
} else {
log_amx("Unable to find message.ini, Plugin Failed. Please place message.ini into your configs folder!");
set_fail_state("Unable to find message.ini, Plugin Failed. Please place message.ini into your configs folder!");
}
}
public display_message(message[]) {
new message2[536];
formatex(message2, 535, "^x04%s", message);
new players[32], num, i;
get_players(players, num);
for(i = 0; i <= num; i++) {
new y = players[i];
if(!is_user_connected(y) || is_user_bot(y)) continue;
message_begin(MSG_ONE, MsgSayText, {0,0,0}, y);
write_byte(y);
write_string(message2);
message_end();
}
set_task(get_cvar_float("msg_delay"), "load_message");
}
__________________