All pastes #569859 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-06-16 13:12 UTC
rendered paste body

alias gban {
  var %a = 1, %net = $network
  while $scon(%a) {
    scid %a
    if ($network == %net) {
      var %p 1
      while (%p <= $chan(0)) {
        if ($me isop $chan(%p)) || ($me ishop $chan(%p)) {
          mode $chan(%p) +b $1
        }
        inc %p
      }
    }
    inc %a
  }
  scid -r
}
alias gunban {
  var %a = 1, %net = $network
  while $scon(%a) {
    scid %a
    if ($network == %net) {
      var %p 1
      while (%p <= $chan(0)) {
        if ($me isop $chan(%p)) || ($me ishop $chan(%p)) {
          mode $chan(%p) -b $1
        }
        inc %p
      }
    }
    inc %a
  }
  scid -r
}
g unban
on *:input:#: {
  if ($2) && (!$3) {
    if ($2 ison $chan) || ($2 == me) {
      if ($left($1,2) == +q) { mode $chan +q $iif($2 == me,$me,$2) }
      if ($left($1,2) == +a) { mode $chan +a $iif($2 == me,$me,$2) }
      if ($left($1,2) == +o) { mode $chan +o $iif($2 == me,$me,$2) }
      if ($left($1,2) == +h) { mode $chan +h $iif($2 == me,$me,$2) }
      if ($left($1,2) == +v) { mode $chan +v $iif($2 == me,$me,$2) }
      if ($left($1,2) == -q) { mode $chan -q $iif($2 == me,$me,$2) }
      if ($left($1,2) == -a) { mode $chan -a $iif($2 == me,$me,$2) }
      if ($left($1,2) == -o) { mode $chan -o $iif($2 == me,$me,$2) }
      if ($left($1,2) == -h) { mode $chan -h $iif($2 == me,$me,$2) }
      if ($left($1,2) == -v) { mode $chan -v $iif($2 == me,$me,$2) }
      if ($left($1,2) == +e) { mode $chan +e $address($2,3) }
      if ($left($1,2) == -e) { mode $chan -e $address($2,3) }
      if ($left($1,2) == +I) { mode $chan +I $address($2,3) }
      if ($left($1,2) == -I) { mode $chan -I $address($2,3) }
      if ($left($1,2) == +b) { mode $chan +b $address($2,3) }
      if ($left($1,2) == -b) { mode $chan -b $address($2,3) }
      if ($left($1,3) == +eI) { mode $chan +eI $address($2,3) $address($2,3) }
      if ($left($1,3) == -eI) { mode $chan -eI $address($2,3) $address($2,3) }
      if ($left($1,5) == .mute) {  mode $chan +b-aohv ~q: $+ $address($2,2) $2 $2 $2 $2 }
      if ($left($1,7) == .unmute) { ban -r $chan ~q: $+ $address($2,2) }
      if ($left($1,4) == .inv) { invite $2 $chan }
      if ($left($1,2) == .k) { kick $chan $iif($2 == me,$me,$2) }
      if ($left($1,3) == .kb) || ($left($1,7) == .kaybee) { mode $chan +b $address($2,3) | kick $chan $2 Banned }
    }
    if ($2 !ison $chan) {
      if ($left($1,2) == +b) { mode $chan +b $2 }
      if ($left($1,2) == -b) { mode $chan -b $2 }
    }
  }
  if (!$2) {
    if ($left($1,2) == +E) && ($len($1) == 2) { mode $chan +E }
    if ($left($1,2) == -E) && ($len($1) == 2) { mode $chan -E }
    if ($left($1,2) == +V) { mode $chan +V }
    if ($left($1,2) == -V) { mode $chan -V }
    if ($left($1,2) == +Q) { mode $chan +Q }
    if ($left($1,2) == -Q) { mode $chan -Q }
    if ($left($1,2) == +m) { mode $chan +m }
    if ($left($1,2) == -m) { mode $chan -m }
    if ($left($1,2) == +i) { mode $chan +i }
    if ($left($1,2) == -i) { mode $chan -i }
    if ($left($1,2) == +p) { mode $chan +p }
    if ($left($1,2) == -p) { mode $chan -p }
    if ($left($1,2) == +s) { mode $chan +s }
    if ($left($1,2) == -s) { mode $chan -s }
    if ($left($1,2) == -f) { mode $chan -f }
    if ($left($1,3) == +eI) { mode $chan +eI $address($me,3) $address($me,3) }
    if ($left($1,3) == -eI) { mode $chan -eI $address($me,3) $address($me,3) }
  }
}
menu * { 
  Autotalker:dialog -m Autotalker Autotalker
}

dialog -l AutoTalker {
  title "mIRC AutoTalker by JtRacer"
  size -1 -1 215 103
  option dbu
  combo 1, 6 45 60 50, size drop
  edit "Enter text here", 2, 5 10 205 16, multi
  edit "10", 3, 136 44 22 10
  combo 4, 161 44 40 33, size drop
  text "Channel to msg:", 5, 7 32 40 8
  text "Repeat text once every", 6, 72 44 61 10
  button "Start", 7, 72 60 37 12
  button "Stop", 8, 114 60 37 12
  button "Close", 9, 94 83 37 12, ok cancel
}

on *:dialog:Autotalker:init:0: {
  var %i = 1, %x = AMSG, %y = Seconds Minutes Hours
  while (%i <= $chan(0)) {
    %x = %x $chan(%i)
    inc %i
  }
  did -r Autotalker 1
  didtok Autotalker 1 32 %x
  did -c Autotalker 1 1
  didtok Autotalker 4 32 %y
  did -c Autotalker 4 1
}
on *:dialog:Autotalker:sclick:7: {
  var %t $did(Autotalker,3) $replace($did(Autotalker,4),seconds,*1,minutes,*60,hours,*3600)
  var %o $iif($did(Autotalker,1) == AMSG,amsg,msg $v1)
  timerat 0 $calc(%t) %o $did(Autotalker,2)
}
on *:dialog:Autotalker:sclick:8: {
  timerat off
}
=========================================================-=
on *:start: { 
  hmake nucsban 100 
  if ($isfile(nucsban.hsh)) hload nucsban nucsban.hsh 
} 
on *:exit: if ($hget(nucs)) hsave -o nucsban nucsban.hsh 
on $*:text:/^!(addban|delban) */si:#: { 
  if (#nucs* !iswm $chan) || ($nick isreg $chan) || ($nick isvoice $chan) { halt } 
  if ($right($1,6) == addban) {
    var %a $iif($2 ison $chan,$address($2,3),$iif($chr(64) isin $2,$2,$+($2,$chr(33),$chr(42),$chr(64),$chr(42))))
    .notice $nick $2 ( $+ %a $+ ) added to Banlist.
    hadd nucsban $2 %a 
    mode $chan +b %a 
    if ($2 ison $chan) { kick $chan $2 } 
  } 
  if ($right($1,6) == delban) {
    if ($hget(nucsban,$2)) { 
      .notice $nick $2 ( $+ $hget(nucsban,$2) $+ ) removed from Banlist. 
      hdel nucsban $2 
    } 
  } 
} 
on *:text:!address*:#: { 
  if (#nucs* !iswm $chan) || ($nick isreg $chan) || ($nick isvoice $chan) { halt } 
  .notice $nick $hget(nucsban,$2) 
} 
on *:text:!banlist:#: { 
  if (#nucs* !iswm $chan) || ($nick isreg $chan) || ($nick isvoice $chan) { halt } 
  if ($hget(nucsban,0).item == 0) { 
    .notice $nick No entries in banlist 
    halt 
  } 
  var %i = 1, %x 
  while ($hget(nucsban,%i).item) { 
    %x = %x $v1 
    inc %i 
  } 
  .notice $nick Nicknames in Banlist: %x 
} 
on *:text:!ban noobs:#: { 
  if (#nucs* !iswm $chan) || ($nick isreg $chan) || ($nick isvoice $chan) { halt } 
  var %i = 1, %x 
  while ($hget(nucsban,%i).data) { 
    %x = %x $v1 
    inc %i 
  } 
  mode $chan $+(+,$str(b,$numtok(%x,32))) %x 
  %i = 1 
  while ($hget(nucsban,%i).item) { 
    if ($v1 ison $chan) { kick $chan $v1 } 
    inc %i 
  } 
}
alias addban {
  var %a $iif($1 ison $chan,$address($1,3),$iif($chr(64) isin $1,$1,$+($1,$chr(33),$chr(42),$chr(64),$chr(42))))
  .notice $nick $1 ( $+ %a $+ ) added to Banlist.
  hadd nucsban $1 %a 
  echo -a $1 ( $+ %a $+ ) added to Banlist.
  mode $chan +b %a 
  if ($1 ison $chan) { kick $chan $1 } 
}
alias delban {
  if ($hget(nucsban,$1)) { 
    echo -a $1 ( $+ $hget(nucsban,$1) $+ ) removed from Banlist. 
    hdel nucsban $1
  } 
}
alias meop { var %x = 1 | var %y | while (%x <= $chan(0)) { if ($me isop $chan(%x)) { inc %y 1 } | inc %x } | return %y }
alias mevoice { var %x = 1 | var %y | while (%x <= $chan(0)) { if ($me isvoice $chan(%x)) { inc %y 1 } | inc %x } | return %y }
alias mehop { var %x = 1 | var %y | while (%x <= $chan(0)) { if ($me ishop $chan(%x)) { inc %y 1 } | inc %x } | return %y }

alias oppower {
  /say 01I'm On04 $chan(0) 01Channels On This Network; I Am Op On04 $meop 01 $+ , Halfop On04 $mehop 01And Voice On04 $mevoice 01 $+ . I Can Kick And Ban About04 $calc($calc($meop + $mehop) / $chan(0) * 100) $+ % 01Of The Retards.
}
alias mass {
  var %c = $nick(#,0)
  while (%c) {
    $1- $nick(#,%c)
    dec %c 1
  }
}
alias big {
  set %bl.buffer1 A | set %bl.buffer2 A | set %bl.buffer3 A | set %bl.buffer4 A | set %bl.buffer5 A
  var %bl.cmd say, %bl.col1, %bl.col2
  if ($$1 == echo) { set %bl.cmd echo -at | tokenize 32 $2- }
  if ($1 !isnum) { set %bl.col1 1 | set %bl.col2 0 }
  elseif ($2 !isnum) { set %bl.col1 $1 | set %bl.col2 0 | tokenize 32 $2- }
  else { set %bl.col1 $1 | set %bl.col2 $2 | tokenize 32 $3- }
  var %bl.idx1 1,  %bl.idx2 1,  %bl.idx3 1
  ;set the block field
  while (%bl.idx1 <= $0) {
    set %bl.idx2 1
    while (%bl.idx2 <= $len($ [ $+ [ %bl.idx1 ] ])) {
      blockappend $blockletter($mid($ [ $+ [ %bl.idx1 ] ],%bl.idx2,1))
      inc %bl.idx2
    }
    if (%bl.idx1 < $0) blockappend $blockletter
    inc %bl.idx1
  }
  ;colorize the block field
  blockcolor %bl.col1 %bl.col2
  ;output the block field
  set %bl.idx3 1
  while (%bl.idx3 <= 5) { %bl.cmd %bl.buffer [ $+ [ %bl.idx3 ] ] | unset %bl.buffer [ $+ [ %bl.idx3 ] ] | inc %bl.idx3 }
}

alias -l blockletter {
  if ($1 === A) return ABA BAB BBB BAB BAB
  elseif ($1 === B) return BBA BAB BBA BAB BBA
  elseif ($1 === C) return ABB BAA BAA BAA ABB
  elseif ($1 === D) return BBA BAB BAB BAB BBA
  elseif ($1 === E) return BBB BAA BBA BAA BBB
  elseif ($1 === F) return BBB BAA BBA BAA BAA
  elseif ($1 === G) return ABB BAA BAB BAB ABB
  elseif ($1 === H) return BAB BAB BBB BAB BAB
  elseif ($1 === I) return BBB ABA ABA ABA BBB
  elseif ($1 === J) return BBB ABA ABA ABA BBA
  elseif ($1 === K) return BAB BAB BBA BAB BAB
  elseif ($1 === L) return BAA BAA BAA BAA BBB
  elseif ($1 === M) return ABBBA BABAB BABAB BAAAB BAAAB
  elseif ($1 === N) return BAAB BBAB BABB BAAB BAAB
  elseif ($1 === O) return BBB BAB BAB BAB BBB
  elseif ($1 === P) return BBB BAB BBB BAA BAA
  elseif ($1 === Q) return BBB BAB BAB BBB AAB
  elseif ($1 === R) return BBB BAB BBB BBA BAB
  elseif ($1 === S) return ABB BAA ABA AAB BBA
  elseif ($1 === T) return BBB ABA ABA ABA ABA
  elseif ($1 === U) return BAB BAB BAB BAB BBB
  elseif ($1 === V) return BAB BAB BAB BAB ABA
  elseif ($1 === W) return BAAAB BAAAB BABAB BABAB ABBBA
  elseif ($1 === X) return BAB BAB ABA BAB BAB
  elseif ($1 === Y) return BAB BAB BAB ABA ABA
  elseif ($1 === Z) return BBB AAB ABA BAA BBB
  elseif ($1 === a) return AAAA AAAA ABBA BABA BBAB
  elseif ($1 === b) return BAA BAA BBB BAB BBB
  elseif ($1 === c) return AAA AAA BBB BAA BBB
  elseif ($1 === d) return AAB AAB BBB BAB BBB
  elseif ($1 === e) return AAA ABB BAB BBA ABB
  elseif ($1 === f) return ABB ABA BBB ABA ABA
  elseif ($1 === g) return AAA BBB BAB ABB BBA
  elseif ($1 === h) return BAA BAA BBB BAB BAB
  elseif ($1 === i) return A B A B B
  elseif ($1 === j) return AB AA AB AB BB
  elseif ($1 === k) return BAA BAA BAB BBA BAB
  elseif ($1 === l) return BA BA BA BA BB
  elseif ($1 === m) return AAAAA AAAAA ABABA BABAB BABAB
  elseif ($1 === n) return AAA AAA BBA BAB BAB
  elseif ($1 === o) return AAA AAA BBB BAB BBB
  elseif ($1 === p) return AAA BBB BAB BBB BAA
  elseif ($1 === q) return AAA BBB BAB BBB AAB
  elseif ($1 === r) return AAA AAA BAB BBA BAA
  elseif ($1 === s) return AA AB BA AB BB
  elseif ($1 === t) return ABA ABA BBB ABA ABA
  elseif ($1 === u) return AAA AAA BAB BAB BBB
  elseif ($1 === v) return AAA AAA BAB BAB ABA
  elseif ($1 === w) return AAAAA AAAAA BABAB BABAB ABABA
  elseif ($1 === x) return AAA AAA BAB ABA BAB
  elseif ($1 === y) return AAA BAB BAB ABA BAA
  elseif ($1 === z) return AAA BBB AAB ABA BBB
  elseif ($1 == 0) return ABA BAB BAB BAB ABA
  elseif ($1 == 1) return ABA BBA ABA ABA BBB
  elseif ($1 == 2) return BBA AAB ABA BAA BBB
  elseif ($1 == 3) return BBA AAB ABA AAB BBA
  elseif ($1 == 4) return BAB BAB BBB AAB AAB
  elseif ($1 == 5) return BBB BAA BBA AAB BBA
  elseif ($1 == 6) return ABB BAA BBB BAB BBB
  elseif ($1 == 7) return BBB AAB AAB ABA ABA
  elseif ($1 == 8) return BBB BAB BBB BAB BBB
  elseif ($1 == 9) return BBB BAB BBB AAB BBA
  elseif ($1 == .) return A A A A B
  elseif ($1 == !) return B B B A B
  elseif ($1 == ?) return BBB AAB ABA AAA ABA
  elseif ($1 == -) return AAA AAA BBB AAA AAA
  elseif ($1 == _) return AAAA AAAA AAAA AAAA BBBB
  elseif ($1 == ^) return ABA BAB AAA AAA AAA
  elseif ($1 == +) return AAA ABA BBB ABA AAA
  elseif ($1 == =) return AAA BBB AAA BBB AAA
  elseif ($1 == /) return AAAAB AAABA AABAA ABAAA BAAAA
  elseif ($1 == \) return BAAAA ABAAA AABAA AAABA AAAAB
  elseif ($1 == ]) return BB AB AB AB BB
  elseif ($1 == [) return BB BA BA BA BB
  elseif ($1 == :) return A B A B A
  elseif ($1 == $chr(59)) return AA AB AA AB BA
  elseif ($1 == <) return AAB ABA BAA ABA AAB
  elseif ($1 == >) return BAA ABA AAB ABA BAA
  elseif ($1 == $chr(40)) return AB BA BA BA AB
  elseif ($1 == $chr(41)) return BA AB AB AB BA
  elseif ($1 == ") return BAB BAB AAA AAA AAA
  elseif ($1 == ') return B B A A A
  elseif ($1 == `) return BA AB AA AA AA
  elseif ($1 == ,) return AA AA AA AB BA
  elseif ($1 == ~) return AAAA ABAB BABA AAAA AAAA
  elseif ($1 == $chr(37)) return BAB AAB ABA BAA BAB
  elseif ($1 == $chr(124)) return B B B B B
  elseif ($1 == *) return BAB ABA BAB AAA AAA
  else return A A A A A
}

alias -l blockappend {
  set %bl.buffer1 $+(%bl.buffer1,$$1,A)
  set %bl.buffer2 $+(%bl.buffer2,$$2,A)
  set %bl.buffer3 $+(%bl.buffer3,$$3,A)
  set %bl.buffer4 $+(%bl.buffer4,$$4,A)
  set %bl.buffer5 $+(%bl.buffer5,$$5,A)
}

alias -l blockcolor {  
  var %bl.buff 1, %bl.string 5  
  while (%bl.buff <= 5) {  
    while (%bl.string >= 1) {  
      set %bl.buffer [ $+ [ %bl.buff ] ] $replace(%bl.buffer [ $+ [ %bl.buff ] ] ,$str(A,%bl.string),$+(,$$2,$chr(44),$$2,$str($blockrand,%bl.string)))  
      set %bl.buffer [ $+ [ %bl.buff ] ] $replace(%bl.buffer [ $+ [ %bl.buff ] ] ,$str(B,%bl.string),$+(,$$1,$chr(44),$$1,$str($blockrand,%bl.string)))  
      dec %bl.string  
    }  
    set %bl.string 5  
    inc %bl.buff  
  }  
}

alias -l blockrand return $iif($rand(0,1) == 0,<,>)
alias ra1 {
  set %rainbow $1-
  %rainbow = $replace(%rainbow,a,2a,b,3b,c,4c,d,5d,e,6e,f,7f,g,8g,h,9h,i,10i,j,11j,k,12k,l,13l,m,14m,n,15n,o,2o,p,3p,q,4q,r,5r,s,6s,t,7t,u,8u,v,9v,w,10w,x,11x,y,12y,z,13z,=,14=,?,2?,!,3!,",4",£,5£,$,6$,%,7%,^,8^,&,9&,*,10*,$chr(40),11 $+ $chr(40),$chr(41),13 $+ $chr(41),-,3-,_,4_,=,5=,+,6+)
  say %rainbow
  unset %rainbow
}

alias ascii {
  set %ascii $1-
  %ascii = $replace(%ascii,a,å,b,ß,c,©,d,Ð,e,ê,f,f,g,g,h,h,i,ï,j,j,k,K,l,£,m,m,n,ñ,o,ð,p,þ,q,q,r,®,s,§,t,t,u,ü,v,V,w,w,x,×,y,¥,z,z,?,¿,!,¡,1/4,¼,1/2,½,3/4,¾,ae,Æ,1,¹,2,²,3,³)
  say %ascii
  unset %ascii
}
on *:TEXT:*:#: {
  if ($left($1,1) == !) { halt }
  if (%mimic == 1) && ($nick == %mnick) {
    msg # $1-
  }
  elseif (%rmimic == 1) && ($nick == %mnick) {
    set %n 250
    while (%n > 0) {
      set %msgreverse %msgreverse $+ $mid($1-, $+ %n $+ ,1)
      if ($mid($1-, $+ %n $+ ,1) == $chr(32)) { set %msgreverse %msgreverse $chr(32) }
      %n = %n - 1
    }
    msg # %msgreverse
    unset %msgreverse
  }
  elseif (%mimic == 1) && (# == %chnl) {
    msg # $1-
  }
  elseif (%rmimic == 1) && (# == %chnl) {
    set %n 250
    while (%n > 0) {
      set %msgreverse %msgreverse $+ $mid($1-, $+ %n $+ ,1)
      if ($mid($1-, $+ %n $+ ,1) == $chr(32)) { set %msgreverse %msgreverse $chr(32) }
      %n = %n - 1
    }
    msg # %msgreverse
    unset %msgreverse
  }
}

menu Channel,Query {
  Mimicer:mimicer
}

alias mimicer {
  if ( $dialog(mimicerd) ) { dialog -v mimicerd mimicerd  }
  else { dialog -md mimicerd mimicerd }
}

;, $did, xlocation ylocation length height
dialog mimicerd {
  title "MIMIC"
  size -1 -1 113 74
  option dbu
  text "Channel", 1, 5 26 35 8
  edit "#", 2, 5 35 75 10
  button "OK", 3, 85 34 20 12
  button "Copy cat", 4, 5 48 50 12
  button "Reverse", 5, 60 48 50 12
  button "Copy off", 6, 5 61 50 12
  button "Rev off", 7, 60 61 50 12
  button "OK", 8, 85 11 20 12
  text "Nick", 9, 5 3 35 8
  edit "", 10, 5 12 75 10
}

on *:dialog:mimicerd:*:*: {
  if ( $devent == sclick ) {

    if ($did == 3) { set %chnl $did(2) }

    if ($did == 4) { set %mimic 1 }

    if ($did == 5) { set %rmimic 1 }

    if ($did == 6) { unset %mimic }

    if ($did == 7) { unset %rmimic }

    if ($did == 8) { set %mnick $did(10) }


  }
}
;______________________________________________________________________________________________________________________________
;|															       |
;|Shooting game created by FRISH :)											       |
;|															       |
;|For you to play just type /fsg (short for FRISH'S Shooting/suicide Game) and click on any of the buttons.		       |
;|If you pick a name from the list in /fsg then click "SHOOT PLAYER" then that player will be chose to be shot.                |
;|Alternatively you can right click, then click "suicide game" and click the button	                   	       	       |
;|Other players have to type the commands to play.									       |
;|															       |
;|There is now no need to manually enter your channel to play, 								       |
;|it now auto does it on typing !suicicdegame or pressing the button in /fsg ;)						       |
;|															       |
;|Commands in this game are commands are !suicidegame, !shootme, !shoothim/her, !newshooter, !shootsetme, and !stopsuicidegame |
;|These are shown in !scommands when THEY type it in.									       |
;|															       |
;|Remember to replace:													       |
;|*botname1/2/3 with your bot names, if any in this section (there are 2 to replace on the 3 lines below                       |
;|alias picknewrandom { 												       |
;|  %nospam = 1														       |
;|  :repick														       |
;|  set %victim $nick($1,$rand(1,$nick($1,0)))                                                                                 |
;|  msg %mychan 9 %victim 2type !shootme, its your turn to put the gun to your head                            	       |
;|  if (%victim == botname1) { msg %mychan 4 botname1 can't play, hes a bot :P, rechoosing | goto repick }       	       |
;|  if (%victim == botname2) { msg %mychan 4 botname2 can't play, hes a bot :P, rechoosing | goto repick }       	       |
;|  if (%victim == botname3) { msg %mychan 4 botname3 can't play, hes a bot :P, rechoosing | goto repick }       	       |
;|}															       |
;|															       |
;|_____________________________________________________________________________________________________________________________|

;this code below may be buggy when the round is over
;elseif (%nospam == 2) { notice $nick dont spam!! wait till round is over!! }
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;                                 CoDING                                        ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


on 1:load:{ .echo -a Frish's Suicide Game Loaded }

on *:text:!scommands:#:{ if (# == %mychan) {
    .notice $nick the suicidegames commands are !suicidegame, !shootme, !shoothim/her, !newshooter, !shootsetme, !stopsuicidegame, !victim and !smaker
  }
}

menu Channel,Query {
  Suicide game:fsg
}

menu menubar {
  -
  Frish's Suicide Game:{ .dialog -md suicide_game suicide_game }
  -
}

on *:text:!smaker:#:{ if (%FRISH != 4) {
    %FRISH = 4
    msg # maker of the suicidegame is FRISH
    .notice $nick 0,0#########################################
    .notice $nick 0,0###4,4####0,0###4,4#####0,0#####4,4#####0,0###4,4#####0,0###4,4#0,0###4,4#
    .notice $nick 0,0##7,7####0,0###7,7#####4,4#0,0####7,7#####0,0###7,7#####0,0###7,7#4,4#0,0##7,7#4,4#
    .notice $nick 0,0##7,7#4,4#0,0#####7,7#4,4#0,0##7,7#4,4#0,0######7,7#4,4#0,0####7,7#4,4#0,0######7,7#4,4#0,0##7,7#4,4#
    .notice $nick 0,0##7,7#4,4#0,0#####7,7#4,4#0,0##7,7#4,4#0,0######7,7#4,4#0,0####7,7#4,4#0,0######7,7#4,4#0,0##7,7#4,4#
    .notice $nick 0,0##7,7#4,4###0,0###7,7#4,4###7,7#4,4#0,0######7,7#4,4#0,0####7,7#4,4####0,0###7,7#4,4###7,7#4,4#
    .notice $nick 0,0##7,7###0,0####7,7#####0,0#######7,7#4,4#0,0####7,7####4,4#0,0###7,7#####4,4#
    .notice $nick 0,0##7,7#4,4#0,0#####7,7#4,4#7,7#4,4#0,0########7,7#4,4#0,0#######7,7#4,4#0,0###7,7#4,4#0,0##7,7#4,4#
    .notice $nick 0,0##7,7#4,4#0,0#####7,7#4,4#0,0#7,7#4,4#0,0#######7,7#4,4#0,0#######7,7#4,4#0,0###7,7#4,4#0,0##7,7#4,4#
    .notice $nick 0,0##7,7#4,4#0,0#####7,7#4,4#0,0##7,7#4,4#0,0#####4,4#7,7#4,4###0,0###4,4##7,7#4,4#0,0###7,7#4,4#0,0##7,7#4,4#
    .notice $nick 0,0##7,7#0,0######7,7#0,0####7,7#0,0####7,7#####0,0###7,7####0,0####7,7#0,0###7,7#0,0#
    .notice $nick 0,0#########################################
  }
  .timer2 1 15 set %FRISH 9
  else .notice $nick please wait a bit, (15 secs after the last person)
}

on *:TEXT:*!suicidegame*:#: { 
  if (%no!suigaspam == 7) && (%gamelock != 1) {
    if (%chanlock != 1) {  set %mychan $chan }
    msg %mychan 13,1 $nick has activated the suicide game... you will take it in turns to put the gun against your head and shoot! Will you live another day or die? Other commands: "!scommands", "!shoothim/her" "!newshooter" and "!shootsetme"
    set %no!suigaspam 8
    set %nicks $nick(#,0) 
    set %Nuz $rand(1,%nicks)
    set %RandomNick $nick(#,%Nuz)
    set %nospam 1
  picknewrandom %mychan }
  elseif (%no!suigaspam == 8) .notice $nick game is already active :P
  elseif (%gamelock != 1) .notice $nick game lock is on :P, ask the host to play it
}

on *:text:!victim:#:{ 
  if (%victim == $NULL) && (%victimspam != 5) && (%no!suigaspam == 8) { 
    msg %mychan there is no victim ¬_¬ 
    set %victimspam 5
    .timer 1 22 unset %victimspam
  }
  elseif (%victimspam != 5) && (%no!suigaspam == 8) && (%victim != $NULL) {
    set %victimspam 5
    msg %mychan Victim is %victim $+ !!
    .timer 1 22 unset %victimspam
  }
  elseif (%no!suigaspam == 7) .notice $nick there's no victim as the game isnt active
} 

on *:text:!shootme:#:{ if (%nospam == 2) { .notice $nick dont spam!! wait till round is over!! }
  elseif (%victim != $nick) && (%no!suigaspam == 8) { .notice $nick 4wait your turn }
  elseif (%no!suigaspam == 8) { set %sher 2 | shootgame }
  elseif (%no!suigaspam == 7) && (%gamelock != 1) { .notice $nick type !suicidegame to activate the game ;) }
  elseif (%gamelock == 1) { .notice $nick tell the host to activate the game, the game lock is on }
}

on *:text:!shoothim/her:#:{ if (%nospam == 2) { .notice $nick dont spam!! wait till round is over!! }
  elseif (%no!suigaspam == 8) { set %sher 2 | shootgame  }
  elseif (%no!suigaspam == 7) && (%gamelock != 1) { .notice $nick type !suicidegame to activate the game ;) }
  elseif (%gamelock == 1) { .notice $nick tell the host to activate the game, the game lock is on }
}

on *:text:!shoothim:#:{ if (%nospam == 2) { .notice $nick dont spam!! wait till round is over!! }
  elseif (%no!suigaspam == 8) { unset %sher | shootgame }
  elseif (%no!suigaspam == 7) && (%gamelock != 1) { .notice $nick type !suicidegame to activate the game ;) }
  elseif (%gamelock == 1) { .notice $nick tell the host to activate the game, the game lock is on }
}

on *:text:!shoother:#:{ if (%nospam == 2) { .notice $nick dont spam!! wait till round is over!! }
  elseif (%no!suigaspam == 8) { set %sher 1 | shootgame }
  elseif (%no!suigaspam == 7) && (%gamelock != 1) { .notice $nick type !suicidegame to activate the game ;) }
  elseif (%gamelock == 1) { .notice $nick tell the host to activate the game, the game lock is on }
}

on *:text:!newshooter:#:{ if (%no!suigaspam == 8) && (%nospam == 1) {
    msg %mychan 11,12 NEW VICTIM SET 
    unset %victim
  picknewrandom %mychan }
  else .notice $nick type !suicidegame to activate the game ;)
}

on *:text:!shootsetme:#:{ if (%no!suigaspam == 8) { unset %victim 
    set %victim $nick
    msg %mychan 11,12 NEW VICTIM SET 
  msg %mychan 9 %victim 2type !shootme, its your turn to put the gun to your head }
  else .notice $nick type !suicidegame to activate the game ;)
}

on *:TEXT:*!stopsuicidegame*:#: {  if (%no!suigaspam == 8)  && (%gamelock != 1) { msg %mychan 13,1 $nick has stopped the suicide game!! Type !suicidegame to start again 
    set %no!suigaspam 7
    unset %victim
    elseif (%gamelock != 1) .notice $nick game lock is on :P, you cant stop the game
  }
}

alias picknewrandom { 
  set %nospam 1
  :repick
  set %victim $nick($1,$rand(1,$nick($1,0)))
  msg %mychan 9 %victim 2type !shootme, its your turn to put the gun to your head
  if (%victim == botname1) { msg %mychan 4 botname1 can't play, hes a bot :P, rechoosing | goto repick }
  if (%victim == botname2) { msg %mychan 4 botname2 can't play, hes a bot :P, rechoosing | goto repick }
  if (%victim == botname3) { msg %mychan 4 botname3 can't play, hes a bot :P, rechoosing | goto repick }
}

alias shootgame {
  if (%victim == $NULL) { .notice $nick there is no victim ¬_¬ | halt }
  set %shot $rand(1,9)
  if (%nospam == 1) {
    set %nospam 2
    if (%sher == 1) { 
      .timer 1 1 msg %mychan 2 %victim puts the gun towards her head 
      .timer 1 2 msg %mychan 2 %victim prepares herself
    }
    if (%sher == 2) { 
      .timer 1 1 msg %mychan 2 %victim puts the gun towards his/her head 
      .timer 1 2 msg %mychan 2 %victim prepares him/herself
    }
    if (%sher != 1) && (%sher != 2) { 
      .timer 1 1 msg %mychan 2 %victim puts the gun towards his head 
      .timer 1 2 msg %mychan 2 %victim prepares himself
    }
    .timer 1 3 msg %mychan 2 %victim sweats
    .timer 1 6 msg %mychan 2 Think of your last thoughts!
    .timer 1 7 msg %mychan 2 SHOOT IN:
    .timer 1 8 msg %mychan 2 5
    .timer 1 10 msg %mychan 2 4
    .timer 1 12 msg %mychan 2 3
    .timer 1 13 msg %mychan 2 2
    .timer 1 14 msg %mychan 2 1
    .timer 1 15 msg %mychan 2 0!!
    if (%shot == 1) .timer 1 17 msg %mychan 0,1 %victim lives another day 
    if (%shot == 2) .timer 1 17 msg %mychan 0,1 lucky %victim has longer to live 
    if (%shot == 3) .timer 1 17 msg %mychan 0,1 %victim panics and cant go through with pulling the trigger and collapses 
    if (%shot == 4) .timer 1 17 msg %mychan 0,1 looks like someone up there loves you %victim 
    if (%shot == 5) .timer 1 17 msg %mychan 4BANG!! 0,1 what a waste, %victim shoots himself and goes to a better (or worse) place 
    if (%shot == 6) .timer 1 17 msg %mychan 0,1 %victim takes a deep breath to find that he's safe 
    if (%shot == 7) .timer 1 17 msg %mychan 14CLICK!! 0,1 phew that was close 
    if (%shot == 8) .timer 1 17 msg %mychan 4BANG!! 0,1 Christ %RandomNick dont slam the door like that!! Anyway %victim lives 
    if (%shot == 9) .timer 1 17 msg %mychan 0,1 %victim cries asking for his mummy but is safe 
    .timer 1 20 msg %mychan 1NEXT!!
    .timer 1 22 picknewrandom %mychan
  }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;chan select dialogue;;;;;;;;;;;;;;;;;;;;;;;;;

alias chanslectxz {
  if ( $dialog(channel_select) ) { dialog -v channel_select channel_select  }
  else { dialog -md channel_select channel_select }
}

;, $did, xlocation ylocation length height
dialog channel_select {
  title "Choose new channel to play"
  size -1 -1 132 50
  option dbu
  text "Enter channel to activate game below: (#chan)", 10, 11 5 135 8
  edit "", 2, 10 16 112 10
  button "Change channel", 3, 10 30 112 12
}

on *:dialog:channel_select:*:*: {
  if ( $devent == init ) {
    set %cc.chan $active
    var %total = $nick($active,0), %x = 1
    while ( %x <= %total ) {
      inc %x
    }
  }
  elseif ( $devent == sclick ) {

    if ($did == 3) {
      msg %mychan 13,1 Game will now play in $did(2) 
      set %mychan $did(2)
      msg %mychan 13,1 Game is now set in this channel 
    }

  }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;main dialogue;;;;;;;;;;;;;;;;;;;;;;;;;

alias fsg {
  if (%chanlock != 1) {  set %mychan $chan }
  if ( $dialog(suicide_game) ) { dialog -v suicide_game suicide_game  }
  else { dialog -md suicide_game suicide_game }
}

;, $did, xlocation ylocation length height
dialog suicide_game {
  title "FRISH's suicide game"
  size -1 -1 132 198
  option dbu
  menu "&Help", 60
  item "&Help", 70
  item "&About", 80
  box "Select player to shoot and click 'SHOOT PLAYER'", 2, 9 5 115 104
  list 1, 15 15 103 77, size vsbar
  button "SHOOT PLAYER", 3, 13 94 50 12
  button "SHOOTSET PLAYER", 16, 70 94 50 12
  box "commands", 4, 8 111 117 78
  button "!shootme", 5, 13 119 50 12
  button "!shoothim/her", 6, 70 119 50 12
  button "!newshooter", 7, 13 133 50 12
  button "!shootsetme", 8, 70 133 50 12
  button "!suicidegame", 9, 13 147 50 12
  button "!stopsuicidegame", 10, 70 147 50 12
  button "set new channel", 13, 13 161 50 12
  button "lock/unlock channel", 14, 70 161 50 12
  button "game lock on/off", 17, 13 175 50 12
  button "!victim", 12, 70 175 50 12
  text "Made by FRISH", 11, 47 190 45 8
}

on 1:dialog:suicide_game:menu:70: {
  helpxz
}

on 1:dialog:suicide_game:menu:80: {
  aboutfsg
}

on *:dialog:suicide_game:*:*: {
  if ( $devent == init ) {
    set %fsg.chan $active
    var %total = $nick($active,0), %x = 1
    while ( %x <= %total ) {
      did -i suicide_game 1 %x $nick($active,%x)
      inc %x
    }
  }
  elseif ( $devent == sclick ) {
    if ($did == 2) { .mode %fsg.chan +e $did(1).seltext }
    elseif ($did == 3) {
      if (%SHOOTPLAYERSPAM != 7) {
        set %victim $did(1).seltext
        if (%victim == $NULL) { echo -a click on a name in the list first | halt }
        set %SHOOTPLAYERSPAM 7
        msg %mychan 8,4 YOU GOT PWNT %victim $+ ! $nick forces the gun to %victim $+ 's head 
        shootgame %mychan
        .timer 1 22 unset %SHOOTPLAYERSPAM
      }
    }
    elseif ($did == 5) { 
      if (%no!suigaspam == 8) && (%victim === $nick) { shootgame | msg %mychan !shootme }
      elseif (%victim != $nick) && (%no!suigaspam == 8) { .notice $nick 4wait your turn }
      elseif (%no!suigaspam == 7) { .notice $nick press !suicidegame button to activate the game ;) }
      elseif (%nospam == 2) { .notice $nick dont spam!! wait till round is over!! (possibly another game is current in another channel) }
    }
    elseif ($did == 6) { 
      if (%no!suigaspam == 8) {
        msg %mychan !shoothim/her
        shootgame 
        set %sher 2  
      }
      if (%no!suigaspam == 7) { .notice $nick type !suicidegame to activate the game ;) }
      elseif (%nospam == 2) { .notice $nick dont spam!! wait till round is over!! (possibly another game is current in another channel) }
    }
    elseif ($did == 7) { 
      if (%no!suigaspam == 8) && (%nospam == 1) {
        msg %mychan !newshooter
        msg %mychan 11,12 NEW VICTIM SET 
        unset %victim
      picknewrandom %mychan }
      elseif (%no!suigaspam == 7) { .notice $nick press !suicidegame button to activate the game ;) }
    }
    elseif ($did == 8) { 
      if (%no!suigaspam == 8) { unset %victim
        msg %mychan !shootsetme 
        set %victim $nick
        msg %mychan 11,12 NEW VICTIM SET 
      msg %mychan 9 %victim 2type !shootme, its your turn to put the gun to your head }
      else .notice $nick type !suicidegame to activate the game ;)
    }
    elseif ($did == 9) { 
      if (%no!suigaspam == 7) {
        msg %mychan !suicidegame
        msg %mychan 13,1 $nick has activated the suicide game... you will take it in turns to put the gun against your head and shoot! Will you live another day or die? Other commands: "!scommands", "!shoothim/her" "!newshooter" and "!shootsetme"
        set %no!suigaspam 8
        set %nicks $nick(#,0) 
        set %Nuz $rand(1,%nicks)
        set %RandomNick $nick(#,%Nuz)
        set %nospam 1
      picknewrandom %mychan }
      else .notice $nick game is already active :P
    }
    elseif ($did == 10) { 
      msg %mychan !stopsuicidegame
      msg %mychan 13,1 $nick has stopped the suicide game!! Type !suicidegame to start again 
      set %no!suigaspam 7
      unset %victim
    }
    elseif ($did == 12) { if (%victim == $NULL) { echo -a there is no victim ¬_¬ }
      if (%victimspam2 != 5) && (%no!suigaspam == 8) && (%victim != $NULL) {
        msg %mychan !victim
        set %victimspam2 5
        msg %mychan Victim is %victim $+ !!
        .timer 1 5 unset %victimspam2
      }  
    }  
    elseif ($did == 13) { 
      chanslectxz
    }

    elseif ($did == 14) { 
      if (%chanlock != 1) { 
        set %chanlock 1
        msg %mychan Channel been locked to %mychan
      }
      else { msg %mychan Channel has been unlocked from %mychan
        unset %chanlock
      }
    }

    elseif ($did == 16) { 
      if (%nospam != 2) {
        if (%SHOOTSETPLAYERSPAM != 7) {
          set %victim $did(1).seltext
          if (%victim == $NULL) { echo -a click on a name in the list first | halt }
          set %SHOOTSETPLAYERSPAM 7
          msg %mychan 8,4 PWNT, $nick chooses %victim to play next 
          .timer 1 3 unset %SHOOTSETPLAYERSPAM
        }
      }
    }

    elseif ($did == 17) { 
      if (%gamelock != 1) {
        set %gamelock 1
        msg %mychan Game lock on, you can't type !suicidegame to restart the game
      }
      else {
        unset %gamelock
        msg %mychan Game lock off, you can now type !suicidegame when the game isnt active
      }
    }

    ; elseif ($did == 18) { .mode %fsg.chan -v $did(1).seltext }
    ; elseif ($did == 19) { .mode %fsg.chan +a $did(1).seltext }
    ; elseif ($did == 20) { .mode %fsg.chan -a $did(1).seltext }
  }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;HELP dialogue;;;;;;;;;;;;;;;;;;;;;;;;;

alias helpxz {
  if ( $dialog(command_help) ) { dialog -v command_help command_help  }
  else { dialog -md command_help command_help }
}

;, $did, xlocation ylocation length height
dialog command_help {
  title "Help, command explanations"
  size -1 -1 317 196
  option dbu
  menu "&These commands have anti spam protection so when activated may take time to reactivate, but wont cause any disadvantages ;)", 99
  item "&BOO!", 98
  item "", 97
  item "&Note that other people type the commands in, you can only click the buttons, but you have more commands", 96
  item "&No buttons on this help page do any of the game commands :P", 95
  text "Commands", 12, 5 5 45 8
  text "What it does (on the previous form :P)", 13, 65 5 100 8
  button "SHOOT PLAYER", 1, 5 15 50 12
  button "SHOOTSET PLAYER", 2, 5 30 50 12
  button "!shootme", 3, 5 45 50 12
  button "!shoothim/her", 4, 5 60 50 12
  button "!newshooter", 5, 5 75 50 12
  button "!shootsetme", 6, 5 90 50 12
  button "!suicidegame", 7, 5 105 50 12
  button "!stopsuicidegame", 8, 5 120 50 12
  button "set new channel", 9, 5 135 50 12
  button "lock/unlock channel", 10, 5 150 50 12
  button "!victim", 11, 5 165 50 12
  button "game lock on/off", 30, 5 180 50 12
  text "Click on a name in the list then press this button to set that person as the victim and shoot themself", 14, 65 17 250 8
  text "Click on a name in the list then press this button to set that person as the victim", 15, 65 32 250 8
  text "If you are the victim, this shoots you, will you live?", 16, 65 47 250 8
  text "This will shoot the victim (preferably use if they are afk)", 17, 65 62 250 8
  text "This picks randomly a new shooter as the victim", 18, 65 77 250 8
  text "This sets you as the victim", 19, 65 92 250 8
  text "This starts the game", 20, 65 107 75 8
  text "This stops the game", 21, 65 122 75 8
  text "This brings up a form to enter the channel to continue the game", 22, 65 136 250 8
  text "This locks/unlocks the channel so that when other players type !suicidegame in a channel, the game", 23, 65 148 250 8
  text "won't/will change to the channel they typed it into", 24, 65 157 250 8
  text "This shows who is the victim", 25, 65 167 250 8
  text "Click this to toggle game lock on/off, this makes the game unable/able to start/stop when someone", 26, 65 178 250 8
  text "types !suicidegame/!stopsuicidegame", 27, 65 187 250 8
}

on *:dialog:command_help:*:*: {
  if ( $devent == sclick ) {

    if ($did == 5) {
      echo -a cheese is gooood
    }

    elseif ($did == 3) {
      describe %mychan shoots self
    }


  }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;About dialogue;;;;;;;;;;;;;;;;;;;;;;;;;

alias aboutfsg {
  if ( $dialog(about_fsg) ) { dialog -v about_fsg about_fsg  }
  else { dialog -md about_fsg about_fsg }
}

;, $did, xlocation ylocation length height
dialog about_fsg {
  title "About this game"
  size -1 -1 170 150
  option dbu
  text "This game has been created fully by:", 1, 5 5 135 8
  text "        //////////      ///////            ///////////       /////         ///      ///", 2, 8 13 155 8
  text "       //////////    ////    ////              ///          ///   ///       ///      ///", 3, 8 19 155 8
  text "      ///             ///       ///              ///         ///               ///      ///", 4, 8 25 155 8
  text "     ///             ///        ///             ///          ///              ///      ///", 5, 8 31 155 8
  text "    //////         ///      ///               ///             ///           ///////////", 6, 8 37 155 8
  text "   //////         //////////                ///                ///        ///      ///", 7, 8 43 155 8
  text "  ///             ///     ///                ///                 ///       ///      ///", 8, 8 49 155 8
  text " ///             ///       ///              ///            /// ///       ///      ///", 9, 8 55 155 8
  text "///             ///         ///       ///////////          ///        ///      ///", 10, 8 61 155 8
  text "In this game you take it in turns (random choice) to put the gun", 11, 8 75 165 8
  text "towards your head and shoot, will you live or die?", 12, 8 83 165 8
  text "You have an 8/9 chance of surviving.", 13, 8 91 165 8
  text "You will use the buttons on the previous page to play, and your", 14, 8 99 165 8
  text "opponents will type the commands out, all of their commands will", 15, 8 107 165 8
  text "show in a notice to them if they type !scommands.", 16, 8 115 165 8
  text "What each command does is shown in the help section.", 17, 8 123 165 8
  text "Enjoy :)", 18, 73 137 165 8
}

on *:dialog:about_fsg:*:*: {
  if ( $devent == sclick ) {

    if ($did == 3) {}

  }
}
on *:INPUT:*:{
  if (%rainbowtexton == 1) && ($left($1,1) != /) {
    unset %msgrbw
    set %r1 1
    while (%r1 < 250) {

      set %msgrbw %msgrbw $+  $+ 04 $+ $mid($1-,%r1,1)
      if ($mid($1-, $+ %r1 $+ ,1) == $chr(32)) { set %msgrbw %msgrbw $chr(32) }
      %r1 = %r1 + 1

      set %msgrbw %msgrbw $+  $+ 07 $+ $mid($1-,%r1,1)
      if ($mid($1-, $+ %r1 $+ ,1) == $chr(32)) { set %msgrbw %msgrbw $chr(32) }
      %r1 = %r1 + 1

      set %msgrbw %msgrbw $+  $+ 08 $+ $mid($1-,%r1,1)
      if ($mid($1-, $+ %r1 $+ ,1) == $chr(32)) { set %msgrbw %msgrbw $chr(32) }
      %r1 = %r1 + 1

      set %msgrbw %msgrbw $+  $+ 09 $+ $mid($1-,%r1,1)
      if ($mid($1-, $+ %r1 $+ ,1) == $chr(32)) { set %msgrbw %msgrbw $chr(32) }
      %r1 = %r1 + 1

      set %msgrbw %msgrbw $+  $+ 12 $+ $mid($1-,%r1,1)
      if ($mid($1-, $+ %r1 $+ ,1) == $chr(32)) { set %msgrbw %msgrbw $chr(32) }
      %r1 = %r1 + 1

      set %msgrbw %msgrbw $+  $+ 06 $+ $mid($1-,%r1,1)
      if ($mid($1-, $+ %r1 $+ ,1) == $chr(32)) { set %msgrbw %msgrbw $chr(32) }
      %r1 = %r1 + 1

      set %msgrbw %msgrbw $+  $+ 13 $+ $mid($1-,%r1,1)
      if ($mid($1-, $+ %r1 $+ ,1) == $chr(32)) { set %msgrbw %msgrbw $chr(32) }
      %r1 = %r1 + 1


    }
    say %msgrbw
    unset %msgrbw
    halt
  }

  elseif (%rainbowtextandbackgroundon == 1)  && ($left($1,1) != /) {
    unset %msgrbw2
    set %r2 1
    while (%r2 < 115) {

      set %msgrbw2 %msgrbw2 $+  $+ 06,04 $+ $mid($1-,%r2,1)
      if ($mid($1-, $+ %r2 $+ ,1) == $chr(32)) { set %msgrbw2 %msgrbw2 $chr(32) }
      %r2 = %r2 + 1

      set %msgrbw2 %msgrbw2 $+  $+ 13,07 $+ $mid($1-,%r2,1)
      if ($mid($1-, $+ %r2 $+ ,1) == $chr(32)) { set %msgrbw2 %msgrbw2 $chr(32) }
      %r2 = %r2 + 1

      set %msgrbw2 %msgrbw2 $+  $+ 12,08 $+ $mid($1-,%r2,1)
      if ($mid($1-, $+ %r2 $+ ,1) == $chr(32)) { set %msgrbw2 %msgrbw2 $chr(32) }
      %r2 = %r2 + 1

      set %msgrbw2 %msgrbw2 $+  $+ 03,09 $+ $mid($1-,%r2,1)
      if ($mid($1-, $+ %r2 $+ ,1) == $chr(32)) { set %msgrbw2 %msgrbw2 $chr(32) }
      %r2 = %r2 + 1

      set %msgrbw2 %msgrbw2 $+  $+ 08,12 $+ $mid($1-,%r2,1)
      if ($mid($1-, $+ %r2 $+ ,1) == $chr(32)) { set %msgrbw2 %msgrbw2 $chr(32) }
      %r2 = %r2 + 1

      set %msgrbw2 %msgrbw2 $+  $+ 07,13 $+ $mid($1-,%r2,1)
      if ($mid($1-, $+ %r2 $+ ,1) == $chr(32)) { set %msgrbw2 %msgrbw2 $chr(32) }
      %r2 = %r2 + 1

      set %msgrbw2 %msgrbw2 $+  $+ 04,06 $+ $mid($1-,%r2,1)
      if ($mid($1-, $+ %r2 $+ ,1) == $chr(32)) { set %msgrbw22 %msgrbw2 $chr(32) }
      %r2 = %r2 + 1


    }
    say %msgrbw2
    unset %msgrbw2
    halt
  }

}

menu channel {
  -
  Rainbow
  .text On:{
    unset %rainbowtextandbackgroundon
    set %rainbowtexton 1
    ;echo -a Rainbow text turned on
  }
  .text + background On:{
    unset %rainbowtexton
    set %rainbowtextandbackgroundon 1
    ;echo -a Rainbow text and background colour turned on
  }
  .Colour Off:{
    unset %rainbowtexton
    unset %rainbowtextandbackgroundon
    ;echo -a Rainbow text, and Rainbow text with background colour turned off
  }
  -
}