/* This plugin will announce the connection/disconnection of clients with the * correct access level. * * Setup: * 1) Setup users with 2048 access. * * Known issues: * 1) If a person with 2048 access is the first to join the server after a map * change, they may recieve a warning message in the console. That ADMIN * cannot find the user. Ignore it. :) * * This seems to be due to AM loading the users.ini and not finding the user * in time to validate the accesslevel. * * This is just a test but for v2.50.1 I have added a timer so that after 20 * seconds from the connection, the announcment is attempted. * * [fah-q] Dio */ #include <core> #include <console> #include <string> #include <admin> #include <adminlib> #define ACCESS_ANNOUNCE 2048 #define ANNOUNCE_DELAY 20 new STRING_VERSION[MAX_DATA_LENGTH] = "2.50.1"; plr_announce(strName[], lConnect=0) { new Text[MAX_TEXT_LENGTH] = ""; if (lConnect == 1) { strcat(Text,"You're in luck!!^n",MAX_DATA_LENGTH); strcat(Text, strName,MAX_DATA_LENGTH); strcat(Text, " has completed your ranks!",MAX_DATA_LENGTH); } else { strcat(Text, strName,MAX_DATA_LENGTH); strcat(Text, "^nhas left the building!",MAX_DATA_LENGTH); } centersay(Text, 7, 12, 125, 12); } public plugin_connect(HLUserName, HLIP, UserIndex) { new strName[MAX_NAME_LENGTH]; convert_string(HLUserName, strName, MAX_NAME_LENGTH); set_timer("ann_timer",ANNOUNCE_DELAY, 1, strName); return PLUGIN_CONTINUE; } public plugin_disconnect(HLUserName, UserIndex) { new strName[MAX_NAME_LENGTH]; convert_string(HLUserName, strName, MAX_NAME_LENGTH); if (access(ACCESS_ANNOUNCE, strName)!=0) plr_announce(strName, 0); return PLUGIN_CONTINUE; } public ann_timer(Timer,Repeat,HLName,HLParam) { new strName[MAX_NAME_LENGTH]; convert_string(HLParam,strName,MAX_NAME_LENGTH); if (access(ACCESS_ANNOUNCE, strName)!=0) plr_announce(strName, 1); } public plugin_init() { plugin_registerinfo("Admin Connection Announcment Plugin","Announces the (dis)connection of players with correct access level.",STRING_VERSION); return PLUGIN_CONTINUE; }