# 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 # ################################################################################################################# 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; ### End ### ### Give global variables a value to start with ### $admins_present=0; $style="last"; #value can be "last" (default) or "list" ### End ### EndSub Sub OnConnect_Admin_Notify() ### Set userName variable and load the nicknames of admins specified in admin.txt ### $userName = GetCurrentPlayerVar( "UserName" ); UserGroupFromFile( "admin", "./../AB-configs/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" ); ENDIF ### End ### Admin_status( $KeyFlags ); 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; ENDIF ### End ### $admin_name = GetPlayerVar($userName,"NickName"); closeGlobalButton("admins_present_".$admin_name); Admin_status( $KeyFlags ); 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 $top_bot_adm_not=194; IF ($style == "list") THEN FOR ($admin_button=1;$admin_button<=$admins_present;$admin_button=$admin_button+1) 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; ENDFOR ENDIF ### End ### EndSub