alias hc1 { return 12 } alias hc2 { return 4 } on *:Text:!*:#:{ if ($chan == #pc-hq) { halt } else { do.hang $1- } } on *:Input:#:{ if ((.* iswm $1) || (!* iswm $1)) { do.hang ! $+ $right($1-,-1) } } alias do.hang { if (($1 == !hangman) && (!$hget(hangman))) { set %hangman [ $+ [ $chan ] ] on hmake hangman 10 set %hangmanword [ $+ [ $chan ] ] $read(hangman.txt) hadd hangman word %hangmanword [ $+ [ $chan ] ] hadd hangman chan $chan hadd hangman man $iif($2 ison $chan, $2, $nick($chan, $rand(1,$nick($chan,0)))) echo 1-12 Game:4 Hangman 1- Channel:4 $chan 1- 12Answer:4 %hangmanword [ $+ [ $chan ] ] 1- hmsg $msg.hang.start } if ($1 == !shangman) { if (%hangman [ $+ [ $chan ] ] == on) { hfree hangman set %hangman [ $+ [ $chan ] ] off unset %hangmanword [ $+ [ $chan ] ] msg $chan 12Hangman game has been stopped in4 $chan 12by4 $nick $+ 12. } else { msg $chan 12There is not a current hangman game on. Type "4!hangman12" to start one. } } if ($1 == !answer) { if ($2- == %hangmanword [ $+ [ $chan ] ]) { msg $chan 12Good job4 $nick $+ 12! You have just saved4 $hget(hangman,man) 12by guessing the correct word.7 Answer:1 (4 %hangmanword [ $+ [ $chan ] ] 1) hfree hangman set %hangman [ $+ [ $chan ] ] off unset %hangmanword [ $+ [ $chan ] ] halt } else { msg $chan 12Sorry4 $nick $+ 12, but that is not the correct answer. } } if (!$hget(hangman)) { return } if ($1 == !hang) { if (%hangman [ $+ [ $chan ] ] == on) { if (($2 !isalpha) || ($len($2) != 1)) { hmsg $hc1 $+  $+ You gotta pick a letter moron. return } elseif (%hangman [ $+ [ $chan ] ] == off) { msg # 12There is no hangman game currently on. Type: "4!hangman12" to start one. } elseif ($hget(hangman,Picked. $+ $2)) { hmsg $hc1 $+  $+ Idiot... Try picking a letter that somebody else hasn't picked. return } else { hadd hangman Picked. $+ $2 1 if ($2 isin $hget(hangman,word)) { hmsg $msg.hang.right hang.checkwin } else { var %hang.part = $hang.part hmsg $msg.hang.wrong(%hang.part) hmsg $msg.hang.answerc } } } } } alias hang.part { hadd hangman wrong $calc($hget(hangman, wrong) + 1) if ($hang.partname($hget(hangman, wrong)) == hanging) { hmsg $msg.hang.dead hfree hangman set %hangman [ $+ [ $chan ] ] off unset %hangmanword [ $+ [ $chan ] ] halt } return $hang.partname($hget(hangman, wrong)) } alias hang.checkwin { if ($hang.got != $hget(hangman,word)) { return } hmsg $msg.hang.save hfree hangman set %hangman [ $+ [ $chan ] ] off unset %hangmanword [ $+ [ $chan ] ] halt } alias hang.partname { return $gettok(a head;a neck;torso;arms;hands;legs;feet;hanging, $1, $asc(;)) } alias hang.got { var %i = 1,%hang.got = $hget(hangman, word) unset %hang.left while (%i <= 26) { if (!$hget(hangman, Picked. $+ $chr($calc(96 + %i)))) { %hang.got = $replace(%hang.got, $chr($calc(96 + %i)), @) set -u120 %hang.left %hang.left $+ $chr($calc(96 + %i)) } inc %i } return %hang.got } alias hmsg { msg $$hget(hangman,chan) $1- } alias msg.hang.clue { return $hc1 $+ Current clue: $hc2 $+ $hang.got $hc1 $+ Letters remaining: $hc2 $+ %hang.left } alias msg.hang.save { return $hc2 $+  $+ $hget(hangman,man) $+ $hc1 is saved! You're the best channelmates a person could want. } alias msg.hang.dead { return $hc2 $+  $+ $hget(hangman,man) $+ $hc1 is DEAD! You all suck. Word: $hc2 $+ $hget(hangman,word) } alias msg.hang.wrong { return $hc1 $+  $+ Smooth gimp! One step closer to dead. You just got $hc2 $+ $hget(hangman, man) $+ $hc1 $+ : $+ $hc2 $1 $+ $hc1 $+ ! $msg.hang.clue } alias msg.hang.answerc { return 12You can use "4!answer Word(s)12" to guess the word(s) straight off. } alias msg.hang.right { return $hc1 $+  $+ Well done, $hc2 $+ $nick $+ $hc1 $+ ! You picked a winning letter. $msg.hang.clue } alias msg.hang.start { return $hc1 $+  $+ Get ready for some hangman... We are hanging $hc2 $+ $hget(hangman,man) $+ $hc1 $+ , unless you can prevent it. $hc2 $+ !hang $+ $hc1 to guess a letter. $msg.hang.clue }