# Admin notify V1.00 01-11-2015 - Initial release # # Admin notify V1.01 23-11-2015 - Added a global message to be send when an admin connects # # Admin notify V1.02 12-06-2016 - Fixed a bug which prevented spotting a disconnect # # Admin notify V1.03 15-07-2024 - Added GlobalVar $style (value can be "last" (default) or "list") # # - Added routine to display a list of online admins # # Admin notify V1.04 16-07-2024 - Added GlobalVar $top_bot_adm_not_default # # - Added GlobalVar $top_bot_adm_not # # - Restructured code to display / remove admin button # ################################################################################################################# # If you want all admins to be displayed, change line 39 # # Make sure to have set the correct path to your admin file in line 48 # ################################################################################################################# CatchEvent OnLapperStart() OnLapperStart_Admin_Notify(); EndCatchEvent CatchEvent OnConnect( $userName ) OnConnect_Admin_Notify(); EndCatchEvent CatchEvent OnDisConnect( $userName, $reason ) OnDisConnect_Admin_Notify( $userName, $reason ); EndCatchEvent Sub OnLapperStart_Admin_Notify() ### Declare global variables ### GlobalVar $admins_present; GlobalVar $admin_status; GlobalVar $admin_name; GlobalVar $admin_time_online; GlobalVar $style; GlobalVar $top_bot_adm_not_default; GlobalVar $top_bot_adm_not; ### End ### ### Give global variables a value to start with ### $admins_present=0; $style="last"; #value can be "last" (default) or "list" $top_bot_adm_not_default=194; $top_bot_adm_not=$top_bot_adm_not_default; ### End ### EndSub Sub OnConnect_Admin_Notify() ### Set userName variable and load the nicknames of admins specified in admin.txt ### $userName = GetCurrentPlayerVar( "UserName" ); UserGroupFromFile( "admin", "./../default/admin.txt" ); ### End ### ### Check if connecting player is an admin, if so, raise number by one ### IF( UserInGroup( "admin", $userName ) == 1 ) THEN $admins_present=$admins_present+1; $admin_name = GetCurrentPlayerVar( "NickName" ); $admin_time_online = getLapperVar( "ShortTime" ); GlobalMsg ( GetCurrentPlayerVar( "NickName" ) . "^7 connected and is server admin" ); IF ($style == "last") THEN Admin_status( $KeyFlags ); ELSE openGlobalButton( "admins_present_".$admin_name,1,$top_bot_adm_not,50,5,1,-1,80,"^7Admin: ". $admin_name ); $top_bot_adm_not=$top_bot_adm_not-5; ENDIF ENDIF ### End ### EndSub Sub OnDisConnect_Admin_Notify( $userName, $reason ) ### Check if discconnecting player is an admin, if so, lower number by one ### IF( UserInGroup( "admin", $userName ) == 1 ) THEN $admins_present=$admins_present-1; ### When admins present goes to 0, set $top_bot_adm_not back to default value ### IF ($admins_present == 0) THEN $top_bot_adm_not=$top_bot_adm_not_default; ENDIF ### End ### IF ($style == "last") THEN Admin_status( $KeyFlags ); ELSE $admin_name = GetPlayerVar($userName,"NickName"); closeGlobalButton("admins_present_".$admin_name); ENDIF ENDIF ### End ### EndSub Sub Admin_status ( $KeyFlags ) ### Check how many admins are online , if value above 0 ,status is 'online' , otherwise status is 'offline' and last name and time are removed ### IF ( $admins_present > 0 ) THEN $admin_status="^2online"; ELSE $admin_status="^1offline"; $admin_name="^3(-N.A.-)"; $admin_time_online="^3(-N.A.-)"; ENDIF ### End ### ### Display button ### IF ($style == "last") THEN openGlobalButton( "admins_present",50,1,100,5,1,-1,36,"^7Admin(s): ". $admin_status . " ^7| Last entered: " . $admin_name . " ^7| At: " . $admin_time_online ); ENDIF ### End ### EndSub