Ultimate Bot

By MackBot on Aug 07, 2009

This is basically abunch of scripts put together.

I wrote every single command though and edited a few things I didn't like and want to know what you guys think and if theres anything I can do to improve it!!!

I know alot of it is crap but!!!

I think someone will get use out of it!!

I think its basically everything people want in a bot

; /googlesearch alias query
; Results will be passed to command
alias googlesearch {
  var %x = 1
  while ($sock($+(google,%x))) inc %x
  sockopen $+(google,%x) www.google.com 80
  sockmark $+(google,%x) $1-
}
ON *:SOCKOPEN:google*: {
  if ($sockerr) {
    var %cmd = $gettok($sock($sockname).mark,1,32)
    %cmd Socket error $sockerr
    return
  }

  sockwrite -n $sockname GET $+(/search?q=,$phex($gettok($sock($sockname).mark,2-,32)),&btnI=I%27m+Feeling+Lucky HTTP/1.0)
  sockwrite $sockname $crlf
}
on *:SOCKREAD:google*: {
  var %f, %cmd, %result
  %cmd = $gettok($sock($sockname).mark,1,32)

  if ($sockerr) {
    %cmd Socket error $sockerr
    return
  }

  while (1) {
    sockread %f
    if (!$sockbr) break
    if (<A HREF="*">here</a>. iswm %f) {
      %result = $gettok(%f,2,34)
      sockclose $sockname
      break
    }
    elseif (HTTP/1.0 200 OK = %f) {
      %result = There are no results.
      sockclose $sockname
      break
    }
  }

  if (%result) {
    %cmd %result
  }
}
alias google { googlesearch google2 $1- }
alias google2 { echo $colour(info) -a *** Google search: $1- }

; !google query in a channel will message the channel with the results.
alias google3 { msg %google3 Google search: $1- | unset %google3 }
on *:TEXT:!google *:#: {
  set %google3 $chan
  googlesearch google3 $2-
}

; Convert some text to hexadecimal form
alias phex {
  var %x = 1, %s = $len($1), %r, %w
  while (%x <= %s) {
    %w = $mid($1,%x,1)
    if ($asc(%w) = 32) {
      %r = $+(%r,+)
    }
    elseif ($asc(%w) !isnum 65-90) && ($asc(%w) !isnum 97-122) && ($asc(%w) !isnum 48-57) {
      %r = $+(%r,%,$base($asc(%w),10,16,2))
    }
    else {
      %r = $+(%r,%w)
    }
    inc %x
  }
  return %r
}

#Autovoice on
...
on *:JOIN:#:if ($istok(%avoice,#,32)) { mode # +v $Nick }
...
#Autovoice end
*:LOAD:set %AvoiceSwitch on
menu channel,menubar {
  Auto-Voice
  .$iif(%AvoiceSwitch == off,Enable Avoice,$style(1) Avoice Enabled): set %AvoiceSwitch on | describe $chan Avoice Script Now Enabled
  .$iif(%Avoice,Add/Remove,Disabled)
  .. Enable for $chan : .Enable #avoice | /msg $chan Auto Voice Is Now Enabled for this room | set %avoice $addtok(%avoice,$chan,32)
  .. Disable for $chan : .Disable #avoice | /msg $chan Auto Voice Is Now Disabled for this chan | set %avoice $remtok(%avoice,$matchtok(%avoice,$chan,1-,32),32)
  .$iif(%AvoiceSwitch == on,Disable Avoice,$style(1) Avoice Disabled): set %AvoiceSwitch off | Describe $chan Avoice Script Now Disbled
}

on !*:TEXT:!kill*:#:{
  if (!$($+(%,Kflood),3)) {
    set -u3 $+(%,Kflood) on
    if (!$2) { msg # 4No Nick Was Entered To Kill! } 
    if ($2 == $me) { msg # 11I'm Not Going To Kill Myself! }
    if ($2 !== $me) {
      if ($2) {
        var %K = Grabs a chainsaw and shoves it into $2 $+ 's stomach and watches them die a painful death!|slits they're throat with a buck knife.|pulls out a gun and shoots $2 in the throat.|grabs a knife and slits open the bottom of there stomach and watches their intestines fall to the ground!|Shove A Wii Remote Into The Head Of $2 And Laughs! lol >:D
        msg # 4 $+ $gettok(%K,$r(1,4),124)
      }
    }
  }
}

on $*:text:/^[!](w|weather|f|forecast)/Si:#: {
  if ($group(#weather) == on) { msg $chan Please wait a bit }
  if ($group(#weather) == off) {
    if ($istok(!w !weather,$1,32)) {
      if ($2 isnum && $len($2) = 5 && !$3) { 
        set %whzip $2 | set %whchan $chan | .enable #weather
        sockopen weather www.weather.com 80 
      }
      if ($2 isnum && $len($2) = 5 && $3 == forecast) { 
        set %whzip $2 | set %whfc on | set %whchan $chan
        .enable #weather | sockopen weather www.weather.com 80
      }
    }
    if ($istok(!f !forecast,$1,32)) { 
      if ($2 isnum && $len($2) = 5) {
        set %whzip $2 | set %whfc on | set %whchan $chan
        .enable #weather | sockopen weather www.weather.com 80
      }
    }
  }
}
; Usage /weatherm 12345 or /weatherm 12345 forecast
alias weatherm {
  if ($active ischan) {
    if ($1 isnum && $len($1) == 5) {
      if (!$2) { set %whzip $1 | set %whchan $chan | .enable #weather }
      if ($2) { set %whzip $1 | set %whfc on |  set %whchan $chan | .enable #weather }
      sockopen weather www.weather.com 80
    }
  }
  if ($active !ischan) { echo -a Invalid window. (Use a channel window) }
}
#weather off
on *:sockopen:weather: {
  sockwrite -n $sockname GET /outlook/travel/businesstraveler/local/ $+ %whzip $+ ?lswe= $+ %whzip $+ &lwsa=Weather36HourBusinessTravelerCommand&from=searchbox_localwx
  sockwrite -n $sockname Host: www.weather.com
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname Authorization: Basic 
  sockwrite -n $sockname $crlf
}
on *:sockread:weather: {
  sockread %whtemp
  if (Right Now for isin %whtemp) { set %whloc $remove($nohtml(%whtemp),Right Now for,Save Location,$chr(9)) }
  if (%whfc != on) {    
    if (alt=""/><br/><strong class="obsTextA"> isin %whtemp) { set %whcond $remove($nohtml(%whtemp),$chr(9)) }
    if (<strong class="obsTempTextA"> isin %whtemp) { set %whcurrent $remove($nohtml(%whtemp),&deg;F,$chr(9)) }
    if (Feels Like isin %whtemp) { set %whfeels $remove($nohtml(%whtemp),&deg;F,Feels Like,$chr(9)) }
    if (class="updated">Updated: isin %whtemp) { set %whupdated $remove($nohtml(%whtemp),Updated:,$chr(9)) }
    if (class="crowli">UV Index: isin %whtemp) { set %whuvindex $remove($gettok($nohtml(%whtemp),2-,58),$chr(9)) }
    if (class="crowli">Wind: isin %whtemp) { set %whwind $remove($gettok($nohtml(%whtemp),2-,58),$chr(9)) }
    if (class="crowli">Humidity: isin %whtemp) { set %whhumidity $remove($gettok($nohtml(%whtemp),2-,58),$chr(9)) }
    if (class="crowli">Pressure: isin %whtemp) { set %whpressure $remove($gettok($nohtml(%whtemp),2-,58),$chr(9)) }
    $iif(*steady_pressure.gif">* iswm %whtemp,set %whpressure1 and steady,$iif(*up_pressure.gif">* iswm %whtemp, set %whpressure1 and rising,$iif(*down_pressure.gif">* iswm %whtemp,set %whpressure1 and dropping))))  
    if (class="crowli">Dew Point: isin %whtemp) { set %whdewpoint $remove($gettok($nohtml(%whtemp),2-,58),&deg;F,$chr(9)) }
    if (class="crowli">Visibility: isin %whtemp) { set %whvisibility $remove($gettok($nohtml(%whtemp),2-,58),$chr(9)) }
    if (class="crowli">Sunrise: isin %whtemp) { set %whsunrise $remove($gettok($nohtml(%whtemp),2-,58),$chr(9)) }
    if (class="crowli">Sunset: isin %whtemp) { set %whsunset $remove($gettok($nohtml(%whtemp),2-,58),$chr(9)) }
  }
  if (%whfc == on) { 
    if (STYLE="padding:5px 5px 5px 0px;"> isin %whtemp) { inc %xx 1 | set %whfcond $+ %xx $remove($nohtml(%whtemp),$chr(9)) }
    if (class="whiteArialLink11"><B> isin %whtemp) { inc %xxx 1 | set %whfdays $+ %xxx $remove($nohtml(%whtemp),$chr(32),$chr(9)) }
    if (class="blueVerdanaText11" align="left"> isin %whtemp) { inc %xxxx | set %whfprecip $+ %xxxx $remove($nohtml(%whtemp),$chr(32),$chr(9)) }
    if (align="center" class="blueVerdanaText11"> isin %whtemp) { inc %xxxxx | set %whfsuns $+ %xxxxx $remove($nohtml(%whtemp),$chr(9)) }
  }
}
on *:sockclose:weather: {
  if (!%whloc) { msg %whchan Please try another zipcode as that does not exists. | unset %wh* | .disable #weather }
  else {
    msg %whchan $colored(Location:,4) %whloc
    if (%whfc != on) {
      set %whcurrentc $+($round($calc((%whcurrent - 32) * (5 / 9)),0),$chr(176),C)
      set %whfeelsc $+($round($calc((%whfeels - 32) * (5 / 9)),0),$chr(176),C)
      set %whdewpointc $+($round($calc($calc($calc(%whdewpoint) - 32) * $calc(5 / 9)),0),$chr(176),C)
      msg %whchan $colored(Currently:,12) $+(%whcurrent,$chr(176),F) $chr(47) %whcurrentc $colored(Feels like:,12) $+(%whfeels,$chr(176),F) $chr(47) %whfeelsc
      msg %whchan $colored(Conditions:,3) %whcond $colored(Pressure:,3) %whpressure %whpressure1 $colored(Humidity:,3) %whhumidity
      msg %whchan $colored(Visibility:,3) %whvisibility $colored(UV Index:,3) %whuvindex $colored(Wind:,3) %whwind 
      msg %whchan $colored(Dew Point:,3) $+(%whdewpoint,$chr(176),F) $chr(47) %whdewpointc $colored(Sunrise:,3) %whsunrise $colored(Sunset:,3) %whsunset
      msg %whchan $colored(Last Updated:,3) %whupdated $colored(Info From:,3) www.weather.com
      unset %wh* | .disable #weather
    }
    if (%whfc == on) {
      msg %whchan $colored($+(%whfdays1,:),3) Precip: $remove(%whfprecip1,$chr(32)) %whfsuns1
      msg %whchan $colored($+(%whfdays1,:),3) %whfcond1
      msg %whchan $colored($+(%whfdays2,:),3) Precip: $remove(%whfprecip2,$chr(32)) %whfsuns2
      msg %whchan $colored($+(%whfdays2,:),3) %whfcond2
      msg %whchan $colored($+(%whfdays3,:),3) Precip: $remove(%whfprecip3,$chr(32)) %whfsuns3
      msg %whchan $colored($+(%whfdays3,:),3) %whfcond3
      msg %whchan $colored(Info From:,3) www.weather.com
      unset %wh* %whf* %x* | .disable #weather
    }
  }
}
; Usage: $colored(TEXT,N1,N2) or $colored(TEXT,N1,N2).b
; N1 & N2 are both optional.
alias colored { if ($isid) { return $+($iif($prop = b,$chr(2)),$iif($2 isnum 0-15,$+($chr(3),$iif($len($2) == 1,$+($chr(48),$2),$2))),$iif($3 isnum 0-15,$+($chr(44),$iif($len($3) == 1,$+($chr(48),$3),$3))),$1,$chr(15)) } }
alias -l nohtml {
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;)
  return %x
}
#weather end                    

on *:ACTION:*slap Mack*:#:{
  describe $chan dodges and hits $nick over the head with an anvil.
}
on *:ban:#:{ 
  if ($bnick == $me || $banmask == $address($me,2) && $me isop $chan || $me ishop $chan )  {   
    mode $chan -o $nick 
    mode $chan -b $banmask
    ban -u90 $chan $nick 2
    kick $chan $nick HA IM FASTER >;) 
  } 
}
ON :s
start:{
  Hmake Uno 50
  if ($isfile(uno.dat)) hload uno uno.dat
}
on *:exit: hsave uno uno.dat  2=hmakeuno50
on *:nick:{
  var %i = $hget(0), %c
  while (%i) {
    if ($newnick ison $hget(%i)) {
      %c = $v2
      break
    }
    dec %i
  }
  if ($hget(%c,$nick)) {
    hadd %c $newnick $v1
    hadd %c $hfind(%c,$nick).data $newnick
  }
}
on *:quit:{
  var %i = $hget(0), %c
  while (%i) {
    if ($me ison $hget(%i)) && ($hget($hget(%i),$nick)) remplayer %c $nick $nick has been removed from the current game.
    dec %i
  }
}
on *:part:#:{
  if (!$hget(#)) return
  if ($hget(#,$nick)) remplayer # $nick $nick was removed from the current game.
  elseif ($nick == $me) hfree #
}
on *:kick:#:{
  if (!$hget(#)) return
  if ($hget(#,$nick)) remplayer # $nick $nick was removed from the current game.
  elseif ($nick == $me) hfree #
}
on $*:text:/^[@!.](uno)?score/Si:#:{
  var %u = $iif($2,$2,$nick)
  $iif($left($1,1) == @,msg #,notice $nick) %u has $bytes($iif($hget(uno,%u),$v1,0),b) wins.
}
on $*:text:/^[@!.](uno)?top10$/Si:#:{
  var %x, %i = $hget(uno,0).item, %o
  while (%i) {
    %x = $instok(%x,$hget(uno,$hget(uno,%i).item),0,32)
    dec %i
  }
  %x = $sorttok(%x,32,nr)
  %i = 1
  while (%i <= 10) {
    if (!$hget(uno,%i).item) break
    %o = $addtok(%o,$ord(%i) $+ : $hfind(uno,$gettok(%x,%i,32),$calc($findtok(%o,$gettok(%x,%i,32),0,32) +1)).data - $bytes($gettok(%x,%i,32),b) |,32)
    inc %i
  }
  $iif($left($1,1) == @,msg #,notice $nick) $left(%o,-1)
}
on $*:text:/^[@!.]uno$/Si:#:{
  if ($hget(#,players)) notice $nick There is already an uno game in progress in # $+ .
  else {
    if ($hget(#)) hfree #
    hmake #
    hadd # p1 $nick
    hadd # $nick $cards(7)
    hinc # players
    msg # $nick has started 3U04N12O v2.0 by BrAndo. Type !join to join the game.
    notice $nick Type !deal to start the game.
  }
}
on $*:text:/^[@!.]?join$/Si:#:{
  if (!$hget(#,p1)) return
  elseif ($hget(#,$nick)) notice $nick You are already playing!
  else {
    hinc # players
    hadd # p $+ $hget(#,players) $nick
    hadd # $nick $cards(7)
    msg # $nick will be player $hget(#,players) $+ .
  }
}
on $*:text:/^[@!.](deal|start( ?game)?|play|begin)$/Si:#:{
  if (!$hget(#,p1)) return
  elseif (!$hget(#,$nick)) notice $nick You aren't in this game.
  elseif ($hget(#,turn)) notice $nick The game has already started.
  elseif ($nick != $hget(#,p1)) msg # Only $v2 can start the game.
  elseif ($hget(#,players) !> 1) msg # You need atleast two people to play.
  else {
    var %c = 01
    while (01* iswm %c) %c = $cards(1)
    hadd # top %c
    hadd # turn 1
    hadd # rev $true
    msg # $hget(#,p1) $+ 's turn.
    msg # Top card: $hget(#,top)
    notice $nick Your cards: $hget(#,$nick)
  }
}
on $*:text:/^[@!.](endgame|uno(stop|end))$/Si:#:{
  if (!$hget(#,p1)) return
  elseif ($nick != $hget(#,p1)) msg # Only $v2 can end the game.
  else {
    hfree #
    msg # Game ended by $nick $+ .
  }
}
on $*:text:/^[@!.]quit$/Si:#:{
  if (!$hget(#,p1)) return
  elseif (!$hget(#,$nick)) notice $nick You aren't in this game.
  else remplayer # $nick $nick has left the game.
}
on $*:text:/^[@!.]kickplayer (.+)$/Si:#:{
  if (!$hget(#,p1)) return
  elseif ($nick != $hget(#,p1)) msg # Only $v1 can kick people from the game.
  elseif (!$hget(#,$regml(1))) msg # $regml(1) is not in this game.
  else remplayer # $regml(1) $regml(1) has been kicked from the game by $nick $+ .
}
on $*:text:/^[@!.](show)?(hand|cards?)$/Si:#:{
  if (!$hget(#,p1)) return
  elseif (!$hget(#,$nick)) notice $nick You aren't in this game.
  else notice $nick Your cards: $hget(#,$nick)
}
on $*:text:/^[@!.](uno)?count$/Si:#:{
  if (!$hget(#,p1)) return
  else {
    $iif($left($1,1) == @,msg #,notice $nick) Current score: $regsubex($str(.,$hget(#,players)),/./g,$+($hget(#,p\n),:,$chr(32),$numtok($hget(#,$hget(#,p\n)),32),$chr(32))) 
    $iif($left($1,1) == @,msg #,notice $nick) Its $hget(#,p $+ $hget(#,turn)) $+ 's turn.
  }
}
on $*:text:/^[@!.]topcard$/Si:#:{
  if (!$hget(#,p1)) return
  msg # Top card: $hget(#,top)
}
on $*:text:/^[@!.]draw ?(card)?$/Si:#:{
  if (!$hget(#,p1)) return
  elseif (!$hget(#,$nick)) notice $nick You aren't in this game.
  elseif ($hget(#,p $+ $hget(#,turn)) != $nick) notice $nick It is not your turn.
  else {
    var %c = $cards(1)
    hadd # $nick $instok($hget(#,$nick),%c,0,32)
    notice $nick You drew: %c
    hadd # pass $nick
  }
}
on $*:text:/^[@!.]pass$/Si:#:{
  if (!$hget(#,p1)) return
  elseif (!$hget(#,$nick)) notice $nick You aren't in this game.
  elseif ($hget(#,p $+ $hget(#,turn)) != $nick) notice $nick It is not your turn.
  elseif ($hget(#,pass) != $nick) notice $nick You have to draw once first.
  else {
    nextturn
    var %nnick = $hget(#,p $+ $hget(#,turn))
    msg # %nnick $+ 's turn
    msg # Top card: $hget(#,top)
    notice %nnick Your cards: $hget(#,%nnick)
    hdel # pass
  }
}
on $*:text:/^[@!.]play/Si:#:{
  if (!$hget(#,p1)) return
  elseif (!$hget(#,$nick)) notice $nick You aren't in this game.
  elseif ($hget(#,p $+ $hget(#,turn)) != $nick) notice $nick It is not your turn.
  elseif (!$iscard($2-)) notice $nick Syntax: !play <color> <card> or !play WD4/W <color>
  elseif (!$hascard($2-,$nick)) notice $nick You don't have that card.
  else {
    noop $regex($iscard($2-),/^\x03(\d{2})(\[.+?\])$/)
    var %co = $regml(1), %c = $regml(2)
    if (%co isin $hget(#,top)) || (%c == $strip($hget(#,top))) || (%c == [*]) {
      delcard $nick $2-
      hadd # top $iscard($2-)
      if (%c == [D2]) {
        nextturn
        var %snick = $hget(#,p $+ $hget(#,turn)), %nnick, %msg
        hadd # %snick $instok($hget(#,%snick),$cards(2),0,32)
        nextturn
        %nnick = $hget(#,p $+ $hget(#,turn))
        %msg = %snick draws 2 cards and is skipped! %nnick $+ 's turn.        
      }
      elseif (%c == [S]) {
        nextturn
        var %snick = $hget(#,p $+ $hget(#,turn)), %nnick, %msg
        nextturn
        %nnick = $hget(#,p $+ $hget(#,turn))
        %msg = %snick is skipped, %nnick $+ 's turn.
      }
      elseif (%c == [R]) {
        hadd # rev $iif($hget(#,rev),$false,$true)
        nextturn
        var %nnick = $hget(#,p $+ $hget(#,turn)), %msg = $nick reversed it $+ $chr(44) %nnick $+ 's turn.
      }
      elseif (%c == [*]) && (4 isin $2-) {
        nextturn
        var %snick = $hget(#,p $+ $hget(#,turn)), %nnick, %msg
        hadd # %snick $instok($hget(#,%snick),$cards(4),0,32)
        nextturn
        %nnick = $hget(#,p $+ $hget(#,turn))
        %msg = %snick draws 4 and is skipped! %nnick $+ 's turn.
      }
      elseif (%c == [*]) {
        nextturn
        var %nnick = $hget(#,p $+ $hget(#,turn)), %msg = %nnick $+ 's turn.
      }
      else {
        nextturn
        var %nnick = $hget(#,p $+ $hget(#,turn)), %msg = %nnick $+ 's turn.
      }
      if ($numtok($hget(#,$nick),32) == 1) msg # $nick has 3U04N12O!
      elseif (!$v1) {
        msg # Congratulations $nick you win!!!
        hfree #
        hinc uno $nick
        return
      }
      msg # %msg
      msg # Top card: $hget(#,top)
      notice %nnick Your cards: $hget(#,%nnick)
      hdel # pass
    }
    else notice $nick That card doesn't play.
  }
}
alias cards {
  var %c = 12[1] 12[2] 12[3] 12[4] 12[5] 12[6] 12[7] 12[8] 12[9] 09[1] 09[2] 09[3] 09[4] 09[5] 09[6] 09[7] 09[8] 09[9] $&
    08[1] 08[2] 08[3] 08[4] 08[5] 08[6] 08[7] 08[8] 08[9] 04[1] 04[2] 04[3] 04[4] 04[5] 04[6] 04[7] 04[8] 04[9] 01[WD4] $&
    01[WD4] 01[WD4] 01[WD4] 12[D2] 12[D2] 09[D2] 09[D2] 08[D2] 08[D2] 04[D2] 04[D2] 12[S] 12[S] 09[S] 09[S] 08[S] 08[S] $&
    04[S] 04[S] 12[R] 12[R] 09[R] 09[R] 08[R] 08[R] 04[R] 04[R] 01[W] 01[W] 01[W] 01[W]
  var %i = $1, %o
  while (%i) { 
    %o = $instok(%o,$gettok(%c,$r(1,68),32),0,32)
    dec %i
  }
  return %o
}
alias iscard {
  if ($regex($1,/^([bgyr])\w* (\d)$/i)) return $+($col($regml(1)),[,$regml(2),])
  elseif ($regex($1,/^w(?:ild)? ?d?(?:raw)? ?4? ([bgyr])/i)) return $col($regml(1)) $+ [*]
  elseif ($regex($1,/^([bgyr])\w* d(?:raw)?2$/i)) return $col($regml(1)) $+ [D2]
  elseif ($regex($1,/^([bgyr])\w* ([sr])\w*$/i)) return $+($col($regml(1)),[,$upper($regml(2)),])
}
alias col {
  if ($1 == b) return 12
  elseif ($1 == g) return 09
  elseif ($1 == y) return 08
  else return 04
}
alias nextturn {
  var %c = $iif(#,#,$1)
  $iif($hget(%c,rev),hinc,hdec) %c turn
  if (!$hget(%c,p $+ $hget(%c,turn))) hadd %c turn $iif($hget(%c,rev),1,$hget(%c,players))
}
alias hascard {
  var %c = $iscard($1)
  if ($strip(%c) == [*]) {
    if (4 isin $1) return $istok($hget(#,$2),01[wd4],32)
    else return $istok($hget(#,$2),01[W],32)
  }
  else return $istok($hget(#,$2),%c,32)
}
alias delcard {
  var %c = $iscard($2-), %o
  if ($strip(%c) == [*]) %o = $iif(4 isin $2-,01[wd4],01[W])
  else %o = %c
  hadd # $1 $remtok($hget(#,$1),%o,1,32)
}
alias remplayer {
  var %p = $hfind($1,$2).data, %i = $right(%p,-1)
  hdel $1 $2
  hdel $1 %p
  hdec $1 players
  msg $1 $3-
  if ($hget($1,players) == 1) { 
    msg $1 Game ended, you need atleast two people to uno.
    hfree $1
  }
  else {
    if (!$hget($1,p $+ $hget($1,turn))) {
      if (!$hget($1,top)) return
      nextturn $1
      var %nnick = $hget($1,p $+ $hget($1,turn))
      msg $1 %nnick $+ 's turn.
      msg $1 Top card: $hget($1,top)
      notice %nnick Your cards: $hget($1,%nnick)
    }
    while (%i <= $hget($1,players)) {
      hadd $1 p $+ %i $hget($1,p $+ $calc(%i +1))
      hdel $1 p $+ $calc(%i +1)
      inc %i
    }
  }
}
on 1:text:No U:#:msg $chan 4 NO U FAGGOT
on *:action:*slaps* *Mackbot*:*: { describe $chan hits $nick around a bit with the banhammer }
on 1:text:!Huggles:#:msg $chan 4 Huggles $nick
on 1:text:!tequila:#:msg $chan 4 slides a shot of tequila over to $nick (what a bum, go get a life)
ON 1:TEXT:!Buttsecks:#:describe $chan turns on $nick and gives suprise buttsecks
on 1:text:bad:#:msg $chan 4 well fuck you too $nick
ON 1:TEXT:!nick:#:describe $chan /nick _________
ON 1:TEXT:!sop:#:describe $chan /cs sop #Channel (add/del) Nick /cs aop #Channel (add/del) Nick
ON 1:TEXT:!sop:#:describe $chan /cs sop #Channel (add/del) Nick
ON 1:TEXT:!Faggot:#:describe $chan  We all know your a faggot $nick
ON 1:TEXT:!Coke:#:describe $chan 4 /me passes a kilo of coke to $nick
ON 1:TEXT:!nuke:#:describe $chan 4 nukes $nick
ON 1:TEXT:!Cig:#:describe $chan 4 $nick Thinks it's time for a   7===0============~~~~~~~4~~
ON 1:TEXT:!GreenTC:#:describe $chan  To sign up  for green team trade circles go to  ----    http://s1.zetaboards.com/United_Jungle_Accord/forum/766279/
ON 1:TEXT:!TC:#:describe $chan 4 To sign up for GGA Trade Circles Go to the link ---- http://z8.invisionfree.com/GGA/index.php?showtopic=1850
ON 1:TEXT:!steak:#:describe $chan 4 Hands $nick A Big, Juicy , Top of the line steak
ON 1:TEXT:!rstat1:#:describe $chan 4 A super smart IRC wiz that knows enough to steal your channel if he has sops!!!
ON 1:TEXT:!Koel:#:describe $chan 4 $nick Koel, Is the LEader Of the dirty Slcbers. not the alliance only the dirty people.
ON 1:TEXT:!Cig:#:describe $chan  $nick says its time for a 7,1 ====0==========4=15~~~~~~~~~ break
ON 1:TEXT:!Dog:#:Describe $chan 4 Gives a cute little puppy to $nick
ON 1:TEXT:!RandleMan:#:Msg $chan 4 Whore On corner with red pumps
ON 1:TEXT:!Burger:#:Describe $chan 4 hands $nick a Large CheeseBurger
ON 1:TEXT:!Beer:#:Describe $chan 4 hands $nick An ice cold beer!!!
ON 1:TEXT:!English:#:msg $chan 4 $chan is an english speaking chatroom, please speak english or type /list for the channel you require.
ON 1:TEXT:!Caps:#:msg $chan 4Stop using caps it's rude (seen as yelling) and may result in a kick and/or ban. 
ON 1:TEXT:!age:#:msg $chan 4This Channel Has no age limit aslong as ur not to OLD 
ON 1:TEXT:!Troll:#:msg $chan 4Do not troll in $chan Doing this results in :Ban or Kick
ON 1:TEXT:!Pm:#:msg $chan 4Do Not pm someone without there permission.
ON 1:TEXT:!Trolling:#:msg $chan 4Trolling Means : Looking for Boys/Girls/Asking For Cybers/
ON 1:TEXT:!Drama:#:msg $chan 4Do Not Start Drama In $chan 
ON 1:TEXT:!beg:#:msg $chan 4Dont Beg For Ops in $chan
ON 1:TEXT:!nick:#:msg $chan 4change your nick type /nick NickYouWantHere or (/Nick Bob)
ON 1:TEXT:!Ass:#:msg $chan  4Dont be a Ass, It Only Makes You Look Dumb.
ON 1:TEXT:!Spam:#:msg $chan 4No Spamming In $chan Leads To Perm Ban 
ON 1:TEXT:!Ignore:#:msg $chan 4To add someone to your ignore list Type /Ignore <Copy Nick Here> Or  /Ignore <Paste Hostmask Here>
ON 1:TEXT:!Owner:#:msg $chan 4To Make a temp owner type /mode #room +q nick
ON 1:TEXT:!Room:#:msg $chan 4To Make Ur Own Room Type /cs register #roomname URPasshere Descriptionofroomhere
ON 1:TEXT:!mIRC:#:msg $chan 4To Download mirc go to www.mirc.com((12And Download From The Website 4))
ON 1:TEXT:!wIRC:#:msg $chan 4To Download wIRC Go to www.warirc.com/ ((4And Download From There12)))  
ON 1:TEXT:!kick:#:msg $chan 4To Kick Someone from a room your op in type !k nick reason. 
ON 1:TEXT:!Ban:#:msg $chan    4To Ban Someone from a room your op in type !kb nick reason.
ON 1:TEXT:!Unban:#:msg $chan 4To Unban Someone From A Room Your Op In Type !unban nick || To Unban Yourself From a room you are perm op in type /cs unban #room.
ON 1:TEXT:!register:#:msg $chan 4To Register your NickName type /ns register Yourpasswordhere Youremailaddresshere
ON 1:text:!identify:#:msg $chan 4 After Registering Your Nick Each Time You Connect You Must Type /ns identify URPASSHERE
ON 1:text:!ghost:#:msg $chan 4 Type /ns ghost urmainnamehere urpasshere
ON 1:text:!racial:#:msg $chan 4 There Will Be NO Racial Remarks in $chan Results In A Ban.
On 1:text:!respect:#:msg $chan 4 Please Respect All Chatters in $chan
on 1:text:im back:#:msg $chan 4 Welcome Back $nick
on 1:text:ill brb:#:msg $chan 4 Hurry Back $nick
on 1:text:brb:#:msg $chan 4 Hurry Back $nick
on 1:text:back:#:msg $chan 4 Welcome Back $nick
on 1:text:g2g:#:msg $chan 4 GoodBye $nick
on 1:text:gtg:#:msg $chan 4 GoodBye $nick
on 1:text:bbl:#:msg $chan 4 See You Later $nick
on 1:text:!commands:#:msg $chan 4 !english !caps !age !troll !PM !trolling !drama !beg  !ass !spam  !racial !respect !beer !burger !dog !blow !MackJob !cig !greenTC !Tequila !nuke !steak !Faggot !restaurant !huggles* for IrcHelp commands Type !irchelp* for Uno commands type !unocom  *
on 1:text:!ircHelp:#:msg $chan 4  !nick !ignore !owner !room !mirc !wirc !kick !ban !unban !register !identify !ghost !sop !aop
on 1:text:!Unocom:#:msg $chan 4 !uno !join !deal !unostop !kickplayer <player> !cards !count !topcard !draw !pass !play !score !top10
on 1:text:!blow:#:describe $chan 4 Watches $nick Blow him self en a very disgusting matter (go buy a prostitute atleast)
on 1:text:!Win:#:msg $chan 4 &me MackBot wins and you lose, your whole life is epic fail. Get over it!!!
on 1:text:!MackJob:#:msg $chan 4 I'm a man you fucking idiot I wouldnt blow you if you had the largest dick in the world
on 1:text:!NoobSauce:#:msg $chan 4 Beer is Good (aka BiG) is the definition of noobsauce 2: BiG's new word
on 1:text:!Belka:#:msg $chan 4 A very important member of the GGA, that gets things done and can be trusted with most task
on 1:text:!Mackbot:#:msg $chan 4 A GGAer thats lazy but sets up Green team trade circles so Message in game if interesyed in TC! (aka General_Mack)
on 1:text:!SP:#:msg $chan 4 Trium of GGA that keeps to himself alot (from what I've seen) But knows when to joke around and when to be serious (unlike MackBoy[AKA shaneprice]
on 1:text:!win:#:msg $chan 4 I win you lose get over it( your whole life = epic fail)
on 1:text:!LT:#:msg $chan 4 LT is not AFK as much as he leads everyone to believe!!!(aka Lord Tarmikos)
on 1:text:!Q:#:msg $chan 4 Qauianna is best described as Hardworking stooge of the Triumvir (which one? MoE) (aka Qauianna)
on 1:text:!hello:#:msg $chan 4  hello $nick how are you doing???
on 1:text:!Good:#:msg $chan 4   That's great $nick , I'm doing great today, considering bots are always happy!!!
on 1:text:Fine:#:msg $chan 4   That's great $nick , I'm doing great today, considering bots are always happy!!
on 1:text:steak:#:describe $chan 4 Hands $nick A Big, Juicy , Top of the line steak

Description: Restaurant Script
URL: http://rafb.net/p/rMOdgJ18.html

ctcp *:VERSION: { ctcpreply $nick VERSION $me is using $me $+ 's Restaurant. Made by Mack. | halt }
alias restaurant {
  msg $chan I am using $me $+ 's restaurant, made by Your mum
}
on *:join:#:{ .notice $nick Welcome to $chan $+ , $me $+ 's Restaurant is open! Type !resturuant for more details. }
on *:text:!restaurant*:#:{
  .notice $nick Welcome to $me $+ 's Restaurant! Made by davey; Enjoy :)
  .notice $nick For the commands type: !rcmds
}
on *:text:!rcmds*:#:{
  .notice $nick Thanks for coming to $me $+ 's Restaurant!
  .notice $nick For all the types of food we have type: !food
  .notice $nick For all the types of beverages we have type: !beverages
  .notice $nick For all the types of soft drinks we have type: !sdrinks
  .notice $nick For all the types of candy we have type: !candy
  .notice $nick Enjoy :)
}
on *:text:!food*:#:{
  .notice $nick Here is our food menu!
  .notice $nick Burger, fries, pasta, steak, shrimp, bbqribs, ham, pork, sausages, green beans
  .notice $nick Strawberries, cakes, ice cream, waffles, pancakes, eggs, bacon, apples
  .notice $nick Bananas, oranges, peas, carrots, broccoli, asparagus, peaches, grapes, cauliflour
  .notice $nick Scrapples, candied yam, turkey, cheese, chicken and pizza.
  .notice $nick To get some food but a ! in front of the foods name :)
}
on *:text:!burger*:#:{ describe $chan gives $nick a burger }
on *:text:!fries*:#:{ describe $chan gives $nick a packet of fries }
on *:text:!pasta*:#:{ describe $chan gives $nick a bowl of pasta }
on *:text:!steak*:#:{ describe $chan gives $nick a piece of steak }
on *:text:!shrimp*:#:{ describe $chan gives $nick a bowl of shrimps }
on *:text:!bbqribs*:#:{ describe $chan gives $nick a plate of bbq ribs }
on *:text:!ham*:#:{ describe $chan gives $nick a palte of ham }
on *:text:!pork*:#:{ describe $chan gives $nick a plate of pork }
on *:text:!sausages*:#:{ describe $chan gives $nick a plate of sausages }
on *:text:!greenbeans*:#:{ describe $chan gives $nick a bowl of green beans }
on *:text:!strawberries*:#:{ describe $chan gives $nick a small bowl of strawberries }
on *:text:!cakes*:#:{ .notice $nick Please choose a cake from these five: Chocolate Cake, Ice cream Cake, Cheese Cake, Icing Cake and Orange and Poppy Sead Cake. Make sure to use a ! in front of the name. (Orange and Poppy Sead: !OPSCake. Chocolate Cake: !CCake. Ice Cream Cake: !ICCake. Icing Cake: !ICake. Cheese Cake: !ChCake } 
on *:text:!ccake*:#:{ describe $chan gives $nick a slice of Chocolate Cake }
on *:text:!opscake*:#:{ describe $chan gives $nick a slice of Orange and Poppy Seed Cake }
on *:text:!iccake*:#:{ describe $chan gives $nick a slice of Ice Cream Cake }
on *:text:!icake*:#:{ describe $chan gives $nick a slice of Icing Cake } 
on *:text:!chcake*:#:{ describe $chan gives $nick a slice of Cheese Cake }
on *:text:!icecream*:#:{ describe $chan gives $nick a scoop of icecream }
on *:text:!waffles*:#:{ describe $chan gives $nick a plate of waffles }
on *:text:!pancakes*:#:{ describe $chan gives $nick a plate of pancakes }
on *:text:!eggs*:#:{ describe $chan gives $nick a plate of scrambled eggs }
on *:text:!bacon*:#:{ describe $chan gives $nick a plate of bacon }
on *:text:!apples*:#:{ .notice $nick Please choice between; a red apple, a green apple or a yellow apple. For red type: !rapple For green type: !gapple For yellow type: !yapple }
on *:text:!rapple*:#:{ describe $chan gives $nick a juicy red apple }
on *:text:!gapple*:#:{ describe $chan gives $nick a juicy green apple }
on *:text:!yapple*:#:{ describe $chan gives $nick a juicy yellow apple }
on *:text:!bananas*:#:{ describe $chan gives $nick a yellow banana }
on *:text:!oranges*:#:{ describe $chan gives $nick an orange }
on *:text:!peas*:#:{ describe $chan gives $nick a bowl of peas }
on *:text:!carrots*:#:{ describe $chan gives $nick a orange carrot }
on *:text:!broccoli*:#:{ describe $chan gives $nick some broccoli }
on *:text:!asparagus*:#:{ describe $chan gives $nick an asparagus }
on *:text:!peaches*:#:{ describe $chan gives $nick a bowl of peaches }
on *:text:!grapes*:#:{ describe $chan gives $nick a bowl of grapes }
on *:text:!cauliflour*:#:{ describe $chan gives $nick some cauliflour }
on *:text:!Scrapples*:#:{ describe $chan gives $nick some scrapples }
on *:text:!candiedyam*:#:{ describe $chan gives $nick some candied yam }
on *:text:!turkey*:#:{ describe $chan gives $nick a big plate of turkey with salad dressing | msg $chan Happy thanksgiving! }
on *:text:!cheese*:#:{ describe $chan gives $nick a peice of cheese }
on *:text:!chicken*:#:{ describe $chan gives $nick a plate of chicken with salad dressing }
on *:text:!pizza*:#:{ .notice $nick Please choose between: Cheese and Bacon Pizza(!CBPizza) The Lot(!thelot) No Crusts(!NCPizza) and Cheese Pizza(!Cpizza) }
on *:text:!CBPizza*:#:{ describe $chan gives $nick a big plate of Cheese and Bacon Pizza }
on *:text:!thelot*:#:{ describe $chan gives $nick a big plate of The Lot }
on *:text:!NCPizza*:#:{ describe $chan gives $nick a big plate of No Crusts Pizza }
on *:text:!cpizza*:#:{ describe $chan gives $nick a big plate of Cheese Pizza }
on *:text:!beverages*:#:{ .notice $nick Please choose between wine, vodka, beer, whiskey, rum or cocktails. Wine: !wine Vodka: !vodka Beer: !beer Whiskey: !whiskey Rum: !rum Cocktails: !cocktails }
on *:text:!cocktails*:#:{
  .notice $nick Here is the cocktail menu:
  .notice $nick Martini, Long Island Iced Tea(!LIIT), Midori Limedrop(!MLime), Bubble Gum Kamikaze(!BGK)
  .notice $nick Electric Screwdriver(!Escrew), Sour Apple Pussycat(!SAP), Blue Valium(!BV)
  .notice $nick Peach Zima Sprite(!PZS), Frothy Lemonade(!FLemon), Jager Bomb(!JBomb)
  .notice $nick Daiquiri, Cosmopolitan, Margarita, White Russian(!WhiteRussian)
  .notice $nick Mudslide, Sex on the Beach(!SexBeach), Cordial Daisy(!CDaisy), BlueBerry Tequila Sour(!BTSour)
  .notice $nick Pear Sourball(!PSour), Jello Shooters(!JShoot).
}
on *:text:!Martini*:#:{ describe $chan gives $nick a bottle of Martini }
on *:text:!LIIT*:#:{ describe $chan gives $nick a bottle of Long Island Iced tea }
on *:text:!Mlime*:#:{ describe $chan gives $nick a bottle of Midori Limedrop }
on *:text:!BGK*:#:{ describe $chan gives $nick a bottle of Bubble Gum Kamikaze }
on *:text:!Escrew*:#:{ describe $chan gives $nick a bottle of Electric Screwdriver }
on *:text:!SAP*:#:{ describe $chan gives $nick a bottle of Sour Apple Pussycat }
on *:text:!BV*:#:{ describe $chan gives $nick a bottle of Blue Valium }
on *:text:!PZS*:#:{ describe $chan gives $nick a bottle of Peach Zima Sprite }
on *:text:!FLemon*:#:{ describe $chan gives $nick a bottle of Frothy Lemonade }
on *:text:!Jbomb*:#:{ describe $chan gives $nick a bottle of Jager Bomb }
on *:text:!daiquiri*:#:{ describe $chan gives $nick a bottle of Daiquiri }
on *:text:!cosmoplitan*:#:{ describe $chan gives $nick a bottle of Cosmopolitan }
on *:text:!Margarita*:#:{ describe $chan gives $nick a bottle of Margarita }
on *:text:!whiterussian*:#:{ describe $chan gives $nick a bottle of White Russian }
on *:text:!mudslide*:#:{ describe $chan gives $nick a bottle of Mudslide }
on *:text:!sexbeach*:#:{ describe $chan gives $nick a bottle of Sex on the Beach }
on *:text:!CDaisy*:#:{ describe $chan gives $nick a bottle of Cordial Daisy }
on *:text:!BTsour*:#:{ describe $chan gives $nick a bottle of Blueberry Tequila Sour }
on *:text:!Psour*:#:{ describe $chan gives $nick a bottle of Pear Sourball }
on *:text:!JShoot*:#:{ describe $chan gives $nick a bottle of Jello Shooters }
on *:text:!beer*:#:{
  .notice $nick Miller, Miller Lite(!MLite), Miller Genuine Draft(!MGB)
  .notice $nick Rolling Rock(!RR), Yuenling, Molson, Corona, Coors, Coors Lite(!CLite)
  .notice $nick Budweiser, BudLight
}
on *:text:!Miller*:#:{ describe $chan gives $nick a bottle of Miller }
on *:text:!MLite*:#:{ describe $chan gives $nick a bottle of Miller Lite }
on *:text:!MGD*:#:{ describe $chan gives $nick a bottle of Miller Genuine Draft }
on *:text:!RR*:#:{ describe $chan gives $nick a bottle of Rolling Rock }
on *:text:!yuenling*:#:{ describe $chan gives $nick a bottle of Yuenling }
on *:text:!Molson*:#:{ describe $chan gives $nick a bottle of Molson }
on *:text:!Corona*:#:{ describe $chan gives $nick a bottle of Corona }
on *:text:!Coors*:#:{ describe $chan gives $nick a bottle of Coors }
on *:text:!Clite*:#:{ describe $chan gives $nick a bottle of Coors Lite }
on *:text:!Budweiser*:#:{ describe $chan gives $nick a bottle of Budweiser }
on *:text:!Budlite*:#:{ describe $chan gives $nick a bottle of Budlite }
on *:text:!wine*:#:{
  .notice $nick White Wine(!white), Red Wine(!red), Cabernet Savignon(!CabSav)
  .notice $nick Champagne, Sparkling Wine(!SparkleW), Sparkling Cider(SparkleC)
  .notice $nick Riesling, Chardonnay, Sauvignon, Pinot Noir(!pinotn)
  .notice $nick Merlot, Shiraz, Syrah, Zinfandel
}
on *:text:!white*:{ describe $chan gives $nick a glass of White Wine }
on *:text:!red*:{ describe $chan gives $nick a glass of Red Wine }
on *:text:!CabSac*:#:{ describe $chan gives $nick a glass of Cabernet Savignon }
on *:text:!Champagne*:#:{ describe $chan pops the cork | describe $chan gives $nick a glass of champagne }
on *:text:!SparkleW*:#:{ describe $chan gives $nick a glass of Sparkling Wine }
on *:text:!sparklec*:#:{ describe $chan gives $nick a glass of Sparkling Cider }
on *:text:!Riesling*:#:{ describe $chan gives $nick a glass of Riesling }
on *:text:!Chardonnay*:#:{ describe $chan gives $Nick a glass of Chardonnay }
on *:text:!Sauvignon*:#:{ describe $chan gives $nick a glass of Sauvignon }
on *:text:!PinotN*:#:{ describe $chan gives $nick a glass of Pinot Noir }
on *:text:!merlot*:#:{ describe $chan gives $nick a glass of Merlot }
on *:text:!Shiraz*:#:{ describe $chan gives $nick a glass of Shiraz }
on *:text:!Syrah*:#:{ describe $chan gives $Nick a glass of Syrah }
on *:text:!Zinfandel*:#:{ describe $chan gives $nick a glass of Zinafandel }
on *:text:!whiskey*:#:{
  .notice $nick Charbay, McCarthy's(!McCarthys), Notch, Old Potrero(!OldP), Peregrine Rock(!PerRock)
  .notice $nick St. George(!StG), Stranahan's(!Stranahans), Templeton Rye(!TempleR)
  .notice $nick Wasmud's(!Wasmuds), Woodstone Creek(!WoodCreek)
}
on *:text:!Charbay*:#:{ describe $chan gives $nick a bottle of Charbay }
on *:text:!McCarthys*:#:{ describe $chan gives $nick a bottle of McCarthy's }
on *:text:!Notch*:#:{ describe $chan gives $nick a bottle of Notch }
on *:text:!OldP*:#:{ describe $chan gives $nick a bottle of Old Potrero }
on *:text:!PerRock*:#:{ describe $chan gives $nick a bottle of Peregrine Rock }
on *:text:!StG*:#:{ describe $chan gives $nick a bottle of St. George }
on *:text:!Stranahans*:#:{ describe $chan gives $nick a bottle of Stranahan's }
on *:text:!TempleR*:#:{ describe $chan gives $nick a bottle of Templeton Rye }
on *:text:!Wasmuds*:#:{ describe $chan gives $nick a bottle of Wasmud's }
on *:text:!WoodCreek*:#:{ describe $chan gives $nick a bottle of Woodstone Creek }
on *:text:!vodka*:#:{
  .notice $nick Absolut, Belvedere, Grey Goose(!GreyG), Imperia, Seagram's(!Seagrams)
  .notice $nick Skyy, Smirnoff
}
on *:text:!Absolut*:#:{ describe $chan gives $nick a bottle of Absolut }
on *:text:!Belvedere*:#:{ describe $chan gives $nick a bottle of Belvedere }
on *:text:!GreyG*:#:{ describe $chan gives $nick a bottle of Grey Goose }
on *:text:!Imperia*:#:{ describe $chan gives $nick a bottle of Imperia }
on *:text:!Seagrams*:#:{ describe $chan gives $nick a bottle of Seagram's }
on *:text:!Skyy*:#:{ describe $chan gives $nick a bottle of Skyy }
on *:text:!Smirnoff*:#:{ describe $chan gives $nick a bottle of Smirnoff }
on *:text:!rum*:#:{
  .notice $nick Bacardi, Captain Morgan(!CaptainM), Malibu
}
on *:text:!Bacardi*:#:{ describe $chan gives $nick a bottle of Bacardi }
on *:text:!CaptainM*:#:{ describe $chan gives $Nick a bottle of Captain Morgan }
on *:text:!Malibu*:#:{ describe $chan gives $nick a bottle of Malibu }
on *:text:!sdrinks*:#:{
  .notice $nick Coke, Fanta, Lemonade, Raspberry Soda(!raspsoda)
  .notice $nick Solo, Pepsi
}
on *:text:!coke*:#:{ notice $nick Please choose between; Diet Coke(!DietC), Coke Zero(!CZero), Lemonade Coke(!LemonCoke) or Coca Cola(!CocaCola) }
on *:text:!DietC*:#:{ describe $chan gives $nick a can of Diet Coke }
on *:text:!CZero*:#:{ describe $chan gives $nick a can of Coke Zero }
on *:text:!LemonCoke*:{ describe $chan gives $nick a can of Lemonade flavoured Coke }
on *:text:!CocaCola*:#:{ describe $chan gives $nick a can of Coca Cola }
on *:text:!fanta*:#:{ describe $chan gives $nick a can of Fanta }
on *:text:!Lemonade*:#:{ describe $chan gives $nick a can of Lemonade }
on *:text:!raspsoda*:#:{ describe $chan gives $nick a can of Raspberry Soda }
on *:text:!Solo*:#:{ describe $chan gives $nick a can of solo }
on *:text:!pepsi*:#:{ .notice $nick Please choose between; Normal Pepsi(!NPepsi), Pepsi Max(!PMax) or Vanilla Pepsi(!VPepsi) }
on *:text:!npepsi*:#:{ describe $chan gives $nick a can of Pepsi }
on *:text:!Pmax*:#:{ describe $chan gives $nick a can of Pepsi Max }
on *:text:!VPepsi*:#:{ describe $chan gives $nick a can of Vanilla flavoured pepsi }
on *:text:!candy*:#:{
  .notice $nick Boost, Flake, Cherry Ripe(!CherryR), Mars, Snickers
  .notice $nick Kambly
}
on *:text:!Boost*:#:{ describe $chan gives $nick a Boost }
on *:text:!Flake*:#:{ describe $chan gives $nick a Flake }
on *:text:!CherryR*:#:{ describe $chan gives $nick a Cherry Ripe }
on *:text:!Mars*:#:{ describe $chan gives $nick a Mars }
on *:text:!Snickers*:#:{ describe $chan gives $nick a Snickers }
on *:text:!kambly*:#:{ .notice $nick Please choose between; Chocolate Hearts(!ChocoHearts), Florentin or Mont Choco(!MontChoco) }
on *:text:!ChocoHearts*:#:{ describe $chan gives $nick a box of Chocolate Hearts }
on *:text:!Florentin*:#:{ describe $chan gives $nick a box of Florentins }
on *:text:!MontChoco*:#:{ describe $chan gives $nick a box of Mont Chocos }

on *:TEXT:your gay:#:{ msg $chan $nick your mama  is }
on *:TEXT:!joke1:#:{ msg $chan Yo mama so fat she eats Wheat Thicks. }
on *:TEXT:!joke2:#:{ msg $chan Yo mama so fat she had to go to Sea World to get baptized. }
on *:TEXT:!joke3:#:{ msg $chan Yo mama so fat she's got her own area code! }
on *:TEXT:!joke4:#:{ msg $chan Yo mama so stupid that she put lipstick on her head just to make-up her mind. }
on *:TEXT:!joke5:#:{ msg $chan Yo mama so stupid it took her 2 hours to watch 60 minutes. }
on *:TEXT:!joke6:#:{ msg $chan Yo mama so ugly her mom had to be drunk to breast feed her. }
on *:TEXT:!joke7:#:{ msg $chan Yo mama so ugly when she walks into a bank, they turn off the surveillence cameras. }
on *:TEXT:!joke8:#:{ msg $chan Yo mama so stupid you have to dig for her IQ! }
on *:TEXT:!joke9:#:{ msg $chan Yo mama so stupid when your dad said it was chilly outside, she ran outside with a spoon. }
on *:TEXT:!joke9:#:{ msg $chan Yo mama so fat people jog around her for exercise. }
on *:TEXT:!joke10:#:{ msg $chan Yo mama so fat her neck looks like a pair of hot dogs! }
on *:TEXT:you smell:#:{ msg $chan $nick No you do! Go take a shower. }
on *:TEXT:!info:#:{ msg $chan $nick Before typing any of my commands you should know that all of my commands are jokes they are not to be taken personally.To access jokes type !joke ex.!joke2 }
on *:TEXT:!cool:#:{ msg $chan $nick your not cool so dont type this. }
on *:TEXT:!loser:#:{ msg $chan $nick this is exactly what you are. }
on *:TEXT:!me:#:{ msg $chan $nick I found a picture of you look -> http://www.mediocrefilms.com/images/retarded-title.jpg <- }
on *:TEXT:!joke11:#:{ msg $chan Yo mammas teeth are so yellow, traffic slows down when she smiles! }
on *:TEXT:!joke12:#:{ msg $chan Yo mamma so poor she can't afford to pay attention! }
on *:TEXT:!joke13:#:{ msg $chan Yo Mamma so poor when I ring the doorbell she says, "DING!" }
on *:TEXT:!joke14:#:{ msg $chan Yo Mamma so poor she waves around a popsicle stick and calls it air conditioning. }
on *:TEXT:!joke15:#:{ msg $chan Do you know the story about the little old woman that lives in a shoe?  Well, Yo mama so poor she live in a flip flop! }
on *:TEXT:!joke16:#:{ msg $chan Yo mamma like spoiled milk, fat and chunky! }
on *:TEXT:!joke17:#:{ msg $chan Yo mamma so stupid, she studied for a drug test! }
on *:TEXT:!joke18:#:{ msg $chan Yo mamma so stupid that she tried to put M&M's in alphabetical order! }
on *:TEXT:!joke19:#:{ msg $chan Yo mamma so stupid she stole free bread. }
on *:TEXT:!joke20:#:{ msg $chan Yo mamma so stupid she sold her car for gasoline money! }
on *:TEXT:!joke21:#:{ msg $chan Yo mamma so black, she sat down on a jacuzzi and made coffee. }
on *:TEXT:!joke22:#:{ msg $chan Yo mamma so old, she used to play for the raiders when they had both eyes. }
on *:TEXT:!joke23:#:{ msg $chan Your mama's so fat when she goes to McDonalds they ask her what she doesn't want! }
on *:TEXT:!joke24:#:{ msg $chan Authorities say a Florida woman called 911 three times after McDonald's employees told her they were out of McNuggets. A spokesman for McDonalds said that this was unusual because most customers don’t call 911 until after they’ve eaten McDonalds. } 
on *:TEXT:!joke25:#:{ msg $chan Q:why did the burger queen get pregnant? }
on *:TEXT:!why:#:{ msg $chan A:the burger king forgot to wrap his whopper. }

on *:LOAD:{ 
  echo $color(info) -a Setup for bot owner..
  set %myowner $?="enter the nick you wish to set as the owner for this script"
}

on *:TEXT:*:#:{ 
  if ($1 iswm !addef) && ($2-3) { 
    while (!$readini(bot.ini,words,$2)) { 
      writeini -n bot.ini words $2 $3-
      notice $nick Word $2 has been added!
      halt
    }
    if ($readini(bot.ini,words,$2)) { notice $nick Definition $+(',$2,') is in the dictionary! | halt }
  }
  if ($1 iswm !deldef) && ($2) { 
    while ($readini(bot.ini,words,$2)) { 
      remini bot.ini words $2 
      notice $nick Word $2 has been deleted.
      halt
    }
    if (!$readini(bot.ini,words,$2)) { notice $nick Definition $+(',$2,') in the dictionary! | halt }
  }
  if ($1 iswm !editdef) && ($2-3) { 
    while ($readini(bot.ini,words,$2)) { 
      writeini -n bot.ini words $2 $3-
      notice $nick Word $2 has been edited.
      halt
    }
    if (!$readini(bot.ini,words,$2)) { notice $nick Definition $+(',$2,') isn't in the dictionary! | halt }
  } 
  if ($1 iswm !viewdictionary) { run bot.ini } 
  if ($1 iswm !define) && ($2) { 
    while ($readini(bot.ini,words,$2)) { 
      msg $chan Definition for word $+($2,:) $readini(bot.ini,words,$2)
      halt
    }
    if (!$readini(bot.ini,words,$2)) { notice $nick Definition $+(',$2,') isn't in the dictionary! | halt }
  } 
}

on *:TEXT:*:#: {tokenize 32 $strip($1-)if (!$($+(%,barflood),2)) {set -u3 $+(%,barflood) on var %% = $iif(!$2,$nick,$2)>    if (!bday == $1) { describe $chan sings happy bday to %% }
on *:TEXT:*:#: {
  tokenize 32 $strip($1-)
  if (!$($+(%,barflood),2)) {
    set -u3 $+(%,barflood) on
    var %% = $iif(!$2,$nick,$2)
    if (!bday == $1) { describe $chan sings happy bday to %% }
  }

Comments

Sign in to comment.
Xaric   -  Jun 10, 2010

Taking other peoples stuff, when not giving credit is considered STEALING.

 Respond  
GlobalAnomaly   -  Aug 21, 2009

Late reply here. was lookin' through the recently added scripts.

This thing is so long when i first looked i disliked it. Try splitting it up into several different scripts ;x no one wants to read 1 big blob of scripting

It was. These scripts (snippets?) were posted all over Hawkee. He threw them all into one and posted it as one large script. The majority of this script is lulzworthy ...It should have been added as a script

Anyways. I do believe MackBot likes to take code and say it's his

Sorry for all the URLs. I feel really trollworthy today.

...yes that last link is right.

Can we get the Ban Hammer?

 Respond  
Cracker200   -  Aug 17, 2009

@ Phoenix- > @Cracker200: I hope you're being sarcastic.
Your way has only closing brackets and you don't need one extra closing bracket at the end. Yes, i was being sarcastic Lawl.

 Respond  
Cracker200   -  Aug 17, 2009

LMAO! /me ^5's Ghost-writer

 Respond  
Ghost-writer   -  Aug 13, 2009

This thing is so long when i first looked i disliked it. Try splitting it up into several different scripts ;x no one wants to read 1 big blob of scripting

 Respond  
PATX   -  Aug 10, 2009

also why did it not highlight ??? summons @Hawkee

 Respond  
PATX   -  Aug 10, 2009

lol, sry Spanky. i did not read comments... so i was like wth???

 Respond  
sunslayer   -  Aug 10, 2009

I wrote every single command

I took a few of these scripts off hawkee.

rofl.

 Respond  
Spanky   -  Aug 10, 2009

Lol quoting the rules dude

couldnt write a weather script my self (yet)

this is my first script so.
I took a few of these scripts off hawkee.
but I had to do some fizing right all the commands etc etc. and theres no mention of that in the intro so i was just pointing out the rules ;D

 Respond  
PATX   -  Aug 10, 2009

Spanky ???

 Respond  
Spanky   -  Aug 10, 2009

Your snippet will be deleted if you break any of the following rules:

Snippet needs to be tested and functional.
Introduction must describe what the snippet does and how it is used.
At least 25% of the code must be written by you.
If you used somebody else's snippet you must include a URL to the original.
You may not post an updated snippet separately, you need to edit your first post.

 Respond  
MackBot   -  Aug 10, 2009

Not ocmpletely, I took a few of the larger scripts, ex - weather uno

and I wrote all the commands for stuff in there I have aded stuff and ultimately made it better I owuld like to think!

 Respond  
PATX   -  Aug 10, 2009

Cracker200 your comment scarred me. i guess there are just some people who don't use the pink squishy things inside there skulls.

 Respond  
Scakk   -  Aug 10, 2009

So you took scripts from others and made nomention of doing so. That is not a good practice and is not very rude to the people that took the time to write the script to begin with.

 Respond  
MackBot   -  Aug 10, 2009

LOL yep

couldnt write a weather script my self (yet)

this is my first script so.
I took a few of these scripts off hawkee.
but I had to do some fizing right all the commands etc etc.

 Respond  
Scakk   -  Aug 09, 2009

/me eyes his weather script in there

http://www.hawkee.com/snippet/3661/

 Respond  
Phoenix-   -  Aug 08, 2009

@Cracker200: I hope you're being sarcastic.
Your way has only closing brackets and you don't need one extra closing bracket at the end.

 Respond  
Şąŧąŋ   -  Aug 08, 2009

lol yet another "ultimate bot script" i like it :D

 Respond  
Cracker200   -  Aug 08, 2009
on *:TEXT:*your gay*:#:{ msg $chan $nick your mama  is }

<== why this way not this way

on *:TEXT:*your gay*:#: } msg $chan $nick your mama  is 
 } 
}
 Respond  
VinX   -  Aug 08, 2009

@ 2nd comment ... :D thanks .. i learned my second lesson :D

 Respond  
Phoenix-   -  Aug 08, 2009

I'll show an example by what I mean putting the On Texts together.

ON 1:TEXT:!age:#:msg $chan 4This Channel Has no age limit aslong as ur not to OLD 
ON 1:TEXT:!Troll:#:msg $chan 4Do not troll in $chan Doing this results in :Ban or Kick

You could make this

on *:text:*:#:{ if ($1 == !age) { msg $chan 4This Channel Has no age limit aslong as ur not to OLD }
if ($1 == !Troll) { msg $chan 4Do not troll in $chan Doing this results in :Ban or Kick } 
}

Or another example which would make this nicer (and more professional) would be this:

on *:text:*:#:{ if (%text.flood [ $+ [ $nick ] ] != 1) { $iif($left($1,1) == @,msg $chan $text.return,$iif($left($1,1) isin !.`,notice $nick $text.return,halt)) | set -u10 %text.flood [ $+ [ $nick ] ] 1 } }
alias text.return {
if ($mid($1,2,$len($1)) == age) { return 4This Channel Has no age limit aslong as ur not to OLD }
if ($mid($1,2,$len($1)) == Troll) { return 4Do not troll in $chan Doing this results in :Ban or Kick } 
if ($mid($1,2,$len($1)) == Ass) { return 4Dont be a Ass, It Only Makes You Look Dumb. }
}

Now, what does this do? It will check if @ is the first character, and if it is, then it will message the channel. If its either any of these characters >>> `!. <<< , then it will notice the user.
It adds a flood protection per nick for 10 seconds (you can change the wait time by changing 10 to whatever number you want.
The alias named $text.return will be especially useful to you.
When using $mid($1,2,$len($1)), it will find the middle portion.
It finds the 2nd character between the length of $1.
So if $mid($1,2,$len($1)) would be age, then it would return the comment "4This Channel Has no age limit aslong as ur not to OLD" (no quotes).

You can not only make different ways to message/notice but add flood protection and organize your comments with a single alias.

I hope this helps you a lot more.
And remember, /help is your friend.

 Respond  
MackBot   -  Aug 07, 2009

im not that good at scripting.

I would love some help with that though

 Respond  
Phoenix-   -  Aug 07, 2009

hmm.. Abuse on the On Text events, they should be put into one.
But with just looking through it, I found an error (sort of)

on *:TEXT:your gay:#:{ msg $chan $nick your mama  is }

Could be

on *:TEXT:*your gay*:#:{ msg $chan $nick your mama  is }

So it would check for it anywhere in the sentence, but what you have would work fine only if the person says "your gay" and thats it.

All of these can be spammed as well, quite easily. Spam filters should be put on them so it would be harder to flood you off the network.

 Respond  
pickle16   -  Aug 07, 2009

/me pokes mackbot
:o

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.