1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
; To use, run the /_timebomb_setenv
; alias in the channel you want to use
; as the timebomb channel.
;
; Users can start the timebomb by
; typing 'timebomb' in the timebomb
; channel. They can cut wires by
; typing 'cutwire [color]' in the
; channel.
;
; By adding someones nick to the
; %timebomb_admins variable, they
; will be able to initiate a timebomb
; for someone else by typing
; 'timebomb [nickname]' in the
; channel.
on *:text:cutwire*:#:{
if (%_timebomb == $nick $chan $scid($cid).server) {
if ($2 !isin %_timebomb_pick) return
if ($2 == %_timebomb_wire) {
msg $chan $nick cut the %_timebomb_wire wire. This has defused the bomb!
}
else {
if ($me isop $chan) kick $chan $nick snip...*BOOM!*
else msg $chan snip...*BOOM!* Type timebomb to start a new round
}
unset %_timebomb*
.timerbomb off
}
}
on *:text:timebomb*:#: {
if ((!$2) || ((!$nick($2,$chan)) && ($nick !isin %timebomb_admins))) tokenize 32 timebomb $nick
if (%timebomb_chan != $chan $scid($cid).server) { msg $chan I don't have a single bomb to spare. :-( | return }
if (%_timebomb) { describe $chan points at the bulge in the back of $gettok(%_timebomb,1,32) $+ 's pants. | return }
if ($nick isin %timebomb_admins) {
var %_timebomb_return = $_timebomb_plant($chan, $2, $nick, $scid($cid).server)
if ($2 != $nick) notice $nick $nick initiated timebomb for $2 in channel $chan on $scid($cid).server (Winning colour: %_timebomb_return $+ )
}
elseif ($2 != $nick) return
else _timebomb_plant $chan $nick $nick $scid($cid).server
}
alias _timebomb_setenv {
.timerbomb off
unset %_timebomb*
unset %timebomb*
set %timebomb_color Red Orange Yellow Green Blue Indigo Violet Black White Grey Brown Pink Mauve Beige Aquamarine Chartreuse Bisque Crimson Fuchsia Gold Ivory Khaki Lavender Lime Magenta Maroon Navy Olive Plum Silver Tan Teal Turquoise
set %timebomb_chan $$chan $$scid($cid).server
set %timebomb_minr 20
set %timebomb_maxr 60
set %timebomb_minw 1
set %timebomb_maxw 12
echo -atc info2 * Enviroment set successfully (Timebomb channel: $chan on $scid($cid).server $+ )
}
alias _timebomb_engcount { return $replace($1,10,ten,11,eleven,12,twelve,1,one,2,two,3,three,4,four,5,five,6,six,7,seven,8,eight,9,nine) }
alias _timebomb_englist { var %x, %y = 1
while (%y < $gettok($1-,0,32)) {
%x = %x $gettok($1-,%y,32) $+ ,
inc %y
}
return %x and $gettok($1-,%y,32))
}
alias _timebomb_explode {
if (($me isop $1) && ($1)) kick $1 $2 *BOOM!*
if (($me !isop $1) || (!$1)) msg $1 *BOOM!* Type timebomb to start a new round
.timerbomb off
unset %_timebomb*
}
alias _timebomb_plant {
unset %_timebomb*
.timerbomb off
var %_timebomb_twire = 1
while (%_timebomb_twire <= $rand(%timebomb_minw,%timebomb_maxw)) {
var %y $gettok(%timebomb_color,$rand(1,$gettok(%timebomb_color,0,32)),32)
if ((%y !isin %_timebomb_pick) && (%timebomb_minw <= $gettok(%timebomb_color,0,32))) {
set %_timebomb_pick %_timebomb_pick %y
inc %_timebomb_twire
}
}
var %_timebomb_countdown = $rand(%timebomb_minr,%timebomb_maxr)
describe $1 stuffs the bomb into $2 $+ 's pants. The display reads [ $+ %_timebomb_countdown $+ ] seconds.
if ($gettok(%_timebomb_pick,0,32) == 1) msg $1 Diffuse the bomb by cutting the correct wire. There is one wire. It is %_timebomb_pick $+ .
elseif ($gettok(%_timebomb_pick,0,32) <= 12) msg $1 Diffuse the bomb by cutting the correct wire. There are $_timebomb_engcount($gettok(%_timebomb_pick,0,32)) wires. They are $_timebomb_englist(%_timebomb_pick) $+ .
else msg $1 Diffuse the bomb by cutting the correct wire. There are $gettok(%_timebomb_pick,0,32) wires. They are $_timebomb_englist(%_timebomb_pick) $+ .
set %_timebomb_wire $gettok(%_timebomb_pick,$rand(1,$gettok(%_timebomb_pick,0,32)),32)
.timerbomb 1 %_timebomb_countdown _timebomb_explode $1 $2
set %_timebomb $2 $1 $iif($4,$4,$scid($cid).server)
echo -atc info2 * $3 initiated timebomb for $2 in channel $1 on $4 (Winning colour: %_timebomb_wire $+ )
return %_timebomb_wire
}
|
|