alias type { if (!$exists(fasttype.txt)) { write fasttype.txt ROUND write fasttype.txt RANDOM write fasttype.txt SUPER-MAN write fasttype.txt LAPTOP write fasttype.txt TELEPHONE write fasttype.txt RUNESCAPE write fasttype.txt HAIRBRUSH write fasttype.txt TELEVISION write fasttype.txt BOTTLE write fasttype.txt PUNCHBAG write fasttype.txt GUITAR write fasttype.txt BELT write fasttype.txt LIGHTS write fasttype.txt ESTABLISHMENT write fasttype.txt PHOTOSYNTHESIS write fasttype.txt MOBILE write fasttype.txt SHELVES write fasttype.txt FOLDER write fasttype.txt CARPET write fasttype.txt FIREPLACE write fasttype.txt CHAIRS write fasttype.txt KITCHEN write fasttype.txt SOUND-SYSTEM write fasttype.txt ORDER write fasttype.txt DEBIT write fasttype.txt WHITEBOARD write fasttype.txt HARD-DRIVE write fasttype.txt RAM write fasttype.txt HAPPINESS write fasttype.txt MATHEMATICS write fasttype.txt WALL write fasttype.txt HAMMER write fasttype.txt OUTSIDE write fasttype.txt COMPUTER write fasttype.txt DESKTOP write fasttype.txt SHIRT write fasttype.txt TOP-HAT write fasttype.txt KITTEN write fasttype.txt SHOE write fasttype.txt WEAPON } set %fastgame 1 set %typeword $read(fasttype.txt) if (%timerornot == 1) { msg $chan 2[Round %rounds. [ $+ [ $chan ] ] $+ ] Try and type: 4 $+ %typeword } else { .timer 1 5 msg $chan 2[Round %rounds. [ $+ [ $chan ] ] $+ ] Try and type: 4 $+ %typeword } inc %rounds. [ $+ [ $chan ] ] unset %timerornot set %ticks $ticks } on *:TEXT:!type*:#:{ if (%cantplay) { notice $nick Sorry, this game is offline, due to: time errors. | halt } if (%typegame == 1) set %round [ $+ [ $chan ] ] $iif($2,$2,%default) set %rounds. [ $+ [ $chan ] ] 1 set %timerornot 1 set %typegame 1 type } on *:TEXT:%typeword:#:{ msg $chan Well done $nick $+ , you were fastest with $calc(($ticks - %ticks) / 1000) seconds. unset %typeword inc %wins. [ $+ [ $nick ] ] ranks $nick $chan if (%rounds. [ $+ [ $chan ] ] < %round [ $+ [ $chan ] ]) { type } if (%rounds. [ $+ [ $chan ] ] >= %round [ $+ [ $chan ] ]) { unset %rounds. [ $+ [ $chan ] ] %round [ $+ [ $chan ] ] %typegame } } alias ranks { if ($1 == $gettok(%typed1,1,32)) { set %typed1 $1 %wins. [ $+ [ $1 ] ] } if ($1 == $gettok(%typed2,1,32)) { set %typed2 $1 %wins. [ $+ [ $1 ] ] } if ($1 == $gettok(%typed3,1,32)) { set %typed3 $1 %wins. [ $+ [ $1 ] ] } if (%wins. [ $+ [ $1 ] ] > $gettok(%typed1,2,32)) && ($1 != $gettok(%typed1,1,32)) { set %typed2 %typed1 set %typed1 $1 %wins. [ $+ [ $1 ] ] msg $2 Well done to $1 $+ , who is now rank 1! goto end } if (%wins. [ $+ [ $1 ] ] > $gettok(%typed2,2,32)) && ($1 != $gettok(%typed2,1,32)) && ($1 != $gettok(%typed1,1,32)) { set %typed3 %typed2 set %typed2 $1 %wins. [ $+ [ $1 ] ] msg $2 Well done to $nick $+ , who is now rank 2! goto end } if (%wins. [ $+ [ $1 ] ] > $gettok(%typed3,2,32)) && ($1 != $gettok(%typed3,1,32)) && ($1 != $gettok(%typed1,1,32)) && ($1 != $gettok(%typed2,1,32)) { set %typed3 $1 %wins. [ $+ [ $1 ] ] msg $2 Well done to $nick $+ , who is now rank 3! } :end } on *:TEXT:!offtype:#:{ if ($nick isop $chan) { set %typegame 0 notice $nick The typing game is now OFF. } else { notice $nick Only ops in a channel can change this } } on $*:TEXT:/^[!@.^]scores/Si:#:{ $iif($left($1,1) == @, msg $chan, notice $nick) In first is $gettok(%typed1,1,32) with $gettok(%typed1,2,32) points. In second is $gettok(%typed2,1,32) with $gettok(%typed2,2,32) points. In third is $gettok(%typed3,1,32) with $gettok(%typed3,2,32) points. } on $*:TEXT:/^[!@.^]myscore/Si:#:{ if (!$2) { $iif($left($1,1) == @, msg $chan, notice $nick) $nick $+ , you have %wins. [ $+ [ $nick ] ] wins. } if ($2) { $iif($left($1,1) == @, msg $chan, notice $nick) $2 has %wins. [ $+ [ $2 ] ] wins. } } on *:TEXT:!ontype:#:{ if ($nick isop $chan) { set %typegame 1 notice $nick The typing game is now ON. } else { notice $nick Only ops in a channel can change this } }