// MasterMode :: by MeatROme [20060905] // // use MMset as alias for mastermode, it will automatically grab master first if required // // MMallspec sends everybody to SPECTATOR - good for when they won't stop & listen ;-) // // calling MMiam N, with N your clientnum (see scoreboard when you are master), // is completely optional. Currently only MMallspec uses it to your benefit. // // relinquish your powers by calling "MMset -1" // // suggested bindings : bind RETURN "MMset 0" bind PAUSE "MMallspec" bind V "MMset 1" // data used to display information on the MM lommn = "OPEN VETO LOCKED PRIVATE" mmdt0 = "regular gaming and voting" mmdt1 = "voting vetoed by MASTER" mmdt2 = "newcomers become SPECTATORs" mmdt3 = "nobody can join anymore" // internal flags iammaster = 0 iamclient = -1 MMiam = [ iamclient = $arg1 echo clientnum : 3 $iamclient ] MMset = [ if (= -1 $arg1) [ setmaster 0 iammaster = 0 ] [ if (= 1 $iammaster) [ mastermode $arg1 ] [ //echo please call 1MMiam 2clientnum say I hereby claim MASTER setmaster 1 iammaster = 1 // in case of setting master give network time to react sleep 314 [mastermode $arg1] ] say new mastermode: 3 (at $lommn $arg1) say (concat :: (getalias (concatword "mmdt" $arg1))) ] ] MMallspec = [ // if we decide allspec, we can go MM 2 too say "Everybody To SPECTATOR 3!" if (= 1 $iammaster) [ // silently go to MM:LOCKED mastermode 2 loop i 255 [spectator 1 $i] if (= -1 $iamclient) [ echo 0call 1MMiam 2clientnum 0beforehand - then I can de-spectate you right away :) ] [ sleep 300 [spectator 0 $iamclient] ] ] [ // grab master and go to MM:LOCKED MMset 2 sleep 314 [MMallspec] ] ] // wanna kick everybody? MMgriefkick = [ setmaster 1 say say BYE BYE .. sleep 314 [loop i 256 [kick $i]] ] // :: MasterMode