rendered paste bodyalias 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
set %ticks $ticks
}
else {
.timer 1 5 msg $chan 2[Round %rounds. [ $+ [ $chan ] ] $+ ] Try and type: 4 $+ %typeword
.timer 1 5 set %ticks $ticks
}
inc %rounds. [ $+ [ $chan ] ]
unset %timerornot
}
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 }
}