diff --git a/config/admin.cfg b/config/admin.cfg index deae9e18..a55c40d8 100644 --- a/config/admin.cfg +++ b/config/admin.cfg @@ -22,89 +22,3 @@ const demo [ mode -1; map $_demofile ] ] - -// Kick/Ban/Reason menu script begins below. -tmpKBR = ""; tmpVic = 0; if (! (checkalias tmpKBP)) [ tmpKBP = "" ]; if (! (checkalias tmpKBMM)) [ tmpKBMM = 0 ] - -selKBItem = [ tmpVic = (getalias arg1); tmpKBR = ""; showmenu reason ] -genKBItem = [ - if (&& (> $numargs 0) (isclient $arg1)) [ - tmpArg1 = $arg1; tmpKArg = (format "execute %1" (addpunct (concat selKBItem $tmpArg1))) - if (curmodeattr team) [ - menuitem (concatword (player $arg1 name) (yellow) " (" $arg1 ")" (white) " - " (gray) (at (concat (concatword (red) CLA (gray)) (concatword (blue) RVSF (gray))) (player $arg1 team)) (white)) (addpunct $tmpKArg 2) - ] [ - menuitem (concatword (player $arg1 name) (yellow) " (" $arg1 ")" (white)) (addpunct $tmpKArg 2) - ] - ] -] -genKBMenu = [ loop gbl (curplayers) [ if (&& (! (strcmp (player $gbl name) "")) (&& (!= (player1 cn) $gbl) (isclient $gbl))) [ genKBItem $gbl ] ] ] -refreshKBM = [ if (!= $arg1 0) [ closemenu reason; sleep 0 [ showmenu reason ] ] [ closemenu kick/ban; sleep 0 [ showmenu kick/ban ] ] ] - -hasValidClients = [ - hvcOutput = 0 - loop hvl (curplayers) [ if (&& (! (strcmp (player $hvl name) "")) (&& (!= $hvl (player1 cn)) (isclient $hvl))) [ hvcOutput = 1; break ] ] - result $hvcOutput -] -kickBanMenu = [ - newmenu kick/ban - menuinit [ delmenu kick/ban; kickBanMenu ] - menuitem "Refresh list" [ refreshKBM ] - menuitem "Remove all bans" [ removebans; refreshKBM ] - menuitemtextinput "Admin password: " "" [ tmpKBP = $arg1 ] 0 256 - menuitem "Toggle admin status" [ if $connected [ if (currole) [ setadmin; echo you dropped admin status ] [ if (&& (strlen $tmpKBP) (! (strcmp $tmpKBP ""))) [ setadmin 1 $tmpKBP ] ] ]; refreshKBM ] - menuitem "Toggle autoteam" [ if $connected [ if (curautoteam) [ autoteam 0 ] [ autoteam 1 ] ]; refreshKBM ] - menuitemtextinput "Mastermode: " (getalias tmpKBMM) [ if (< $arg1 3) [ tmpKBMM = $arg1 ] [ echo (red)Error: (white)Valid range for mastermode is 0-2.; tmpKBMM = 0 ] ] 0 1 - menuitem "Change mastermode" [ if (&& (< $tmpKBMM 3) (!= (curmastermode) $tmpKBMM)) [ if $connected [ mastermode $tmpKBMM ] ]; refreshKBM ] - menuitem "" -1 - menuitem "OK" [ closemenu kick/ban ] - menuitem "" -1 - if (hasValidClients) [ menuitem "Choose a client: " -1 ] [ menuitem "No valid clients available." -1 ] - menuitem "" -1 - genKBMenu -] -kickBanMenu - -newmenu reason -menuitemvar [ if (currole) [ concat (blue)Note: (white)You currently have admin status. Your vote will be forced. ] ] -menuitemvar [ if (! (strcmp (player $tmpVic name) "")) [ if (curmodeattr team) [ concat (orange) Target client: " " (concatword (white) (player $tmpVic name) " - cn: " (yellow) $tmpVic (white) " - team: " (at (concat (concatword (red) CLA) (concatword (blue) RVSF)) (player $tmpVic team)) (white) " - tks: " (yellow) (player $tmpVic tks)) ] [ concat (orange) Target client: " " (concatword (white) (player $tmpVic name) " - cn: " (yellow) $tmpVic (white)) ] ] ] [ showmenu stats ] -menuitemvar [ if (> (strlen $tmpKBR) 3) [ concat (orange) Current reason: (concatword (white) $tmpKBR) ] ] -menuitemtextinput "Enter a reason: " "" [ tmpKStr = ""; loop gkl $numargs [ if (> $numargs 0) [ tmpKStr = (concatword $tmpKStr (getalias (format arg%1 $gkl)) " ") ] ]; if (< $numargs 2) [ tmpKBR = $arg1 ] [ tmpKBR = $tmpKStr ]; refreshKBM 1 ] 0 256 -menuitem "" -1 -menuitemvar [ concat (orange) Use a predefined reason: ] -menuitem "" -1 -menuitem "Lag" [ tmpKBR = "lagging"; refreshKBM 1 ] -menuitem "Away from keyboard" [ tmpKBR = "AFK/not playing"; refreshKBM 1 ] -menuitem "Vote abuse" [ tmpKBR = "kick/ban/other vote abuse"; refreshKBM 1 ] -menuitem "Avoiding kicks/bans" [ tmpKBR = "avoiding kicks/bans"; refreshKBM 1 ] -menuitem "Private match" [ tmpKBR = (concat sorry, organizing a private (concatword match ", " (player $tmpVic name))); refreshKBM 1 ] -menuitem "Obvious cheat" [ tmpKBR = "blatant cheating"; refreshKBM 1 ] -menuitem "Friendly fire/TK" [ if (curmodeattr team) [ tmpKBR = "intentional teamkills/team damage" ] [ echo (red)Error: (white) (getmode 1) is not a team mode. ]; refreshKBM 1 ] -menuitem "Spamming" [ tmpKBR = "spamming chat/voicecoms/etc."; refreshKBM 1 ] -menuitem "Poor/abusive behaviour" [ tmpKBR = "poor/abusive behaviour"; refreshKBM 1 ] -menuitem "Inappropriate language" [ tmpKBR = "inappropriate language"; refreshKBM 1 ] -menuitem "Inappropriate name" [ tmpKBR = (concat inappropriate name (addpunct (player $tmpVic name) 2)); refreshKBM 1 ] -menuitem "" -1 -menuitemvar [ concat (orange) Action: ] -menuitem "" -1 -menuitemvar [ concat (yellow)Kick ] [ if (> (strlen $tmpKBR) 3) [ if $votepending [ if (currole) [ vote 2 ]; sleep 250 [ kick $tmpVic $tmpKBR ] ] ] [ kick $tmpVic $tmpKBR ] ] -menuitemvar [ concat (red)Ban ] [ if (> (strlen $tmpKBR) 3) [ if $votepending [ if (currole) [ vote 2 ]; sleep 250 [ ban $tmpVic $tmpKBR ] ] ] [ ban $tmpVic $tmpKBR ] ] -menuitemvar [ concat (orange)Forceteam ] [ if (curmodeattr team) [ forceteam $tmpVic ] [ echo (red)Error: (white) (getmode 1) is not a team mode. ] ] -menuitemvar [ concat (blue)Whois ] [ whois $tmpVic ] -menuitem "Spectate" [ if (&& $connected (> (curplayers) 1)) [ spectate; setfollowplayer $tmpVic ] [ echo (red)Error: (white)Not connected or not enough players. ] ] -menuitemvar [ concat (green)Refresh] [ refreshKBM 1 ] -menuitem "" -1 -menuitem "Back" [ closemenu reason ] - -newmenu stats -menuitemvar [ concat (orange)Current statistics for client: (white) (player $tmpVic name) (yellow) (addpunct $tmpVic 2) ] -menuitemvar [ if (curmodeattr team) [ concat Team: (at (concat (concatword (red) CLA) (concatword (blue) RVSF)) (player $tmpVic team)) ] [ concat Mode: (yellow) (getmode 1) ] ] -menuitemvar [ if (curmodeattr team) [ concat Teamkills: (red) (player $tmpVic tks) ] ] -menuitemvar [ if (curmodeattr flag) [ concat Flags: (player $tmpVic flags) ] [ concat Flags: N/A ] ] -menuitemvar [ concat Frags: (player $tmpVic frags) ] -menuitemvar [ concat Deaths: (player $tmpVic deaths) ] -menuitemvar [ if $connected [ concat Score: (player $tmpVic score) ] [ concat Score: N/A ] ] -menuitem "" -1 -menuitem "Refresh" [ closemenu stats; sleep 0 [ showmenu stats ] ] -menuitem "Back" [ closemenu stats ] - -addListOnQuit "hvcOutput tmpArg1 tmpKArg tmpKBP tmpVic votepending" diff --git a/config/menus_multiplayer.cfg b/config/menus_multiplayer.cfg index 4c71a889..947ba1f4 100644 --- a/config/menus_multiplayer.cfg +++ b/config/menus_multiplayer.cfg @@ -96,6 +96,25 @@ menuitemtextinput "Server admin password: " "" [ acc3 = $arg1 ] "" 128 menuitem "" -1 menuitem " 2 [ Admin connect ] " [ connectadmin $acc1 $acc2 $acc3 ] +_kickbanaction = kick +newmenu reason +menuinit [ _kickbanreason = "None"; if (strcmp $_kickbanaction kick) [ ] [ if (strcmp $_kickbanaction ban) [ ] [ _kickbanaction = ban ] ] ] +menuitem "intentional TK" [ _kickbanreason = "intentional TK"; showmenu (concat $_kickbanaction player) ] +menuitem "abusive behaviour" [ _kickbanreason = "abusive behaviour"; showmenu (concat $_kickbanaction player) ] +menuitem "bad language" [ _kickbanreason = "bad language"; showmenu (concat $_kickbanaction player) ] +// TODO: more reasons +//menuitem "" [ _kickbanreason = ""; showmenu (concat $_kickbanaction player) ] +menuitemtextinput "Reason: " "" [ _kickbanreason = $arg1 ] "" 255 +menuitem $_kickbanaction [ showmenu (concat $_kickbanaction player) ] +menuinitselection 2 + +newmenu kick/ban +menuitem "Kick a player" [ _kickbanaction = kick; showmenu reason ] +menuitem "Ban a player" [ _kickbanaction = ban; showmenu reason ] +//menuitem "Kick a player" [ showmenu "kick player" ] +//menuitem "Ban a player" [ showmenu "ban player" ] +menuitem "Remove all bans" [ removebans ] + newmenu "Team adjustment" menuitem "Initiate shuffleteams" [ shuffleteams ]