ROOM ID 312 NOCYBORGS NAME "Foxy's Hangman" PICT "hangman2003.gif" ARTIST "speck/kittypaws" PICTURE ID 1 NAME "hm1.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 2 NAME "hm2.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 3 NAME "hm3.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 4 NAME "hm4.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 5 NAME "hm5.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 6 NAME "hm6.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 7 NAME "hm7.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 8 NAME "hm8.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 9 NAME "image5bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 10 NAME "image6bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 11 NAME "image7bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 12 NAME "image8bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 13 NAME "image9bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 14 NAME "image10bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 15 NAME "image11bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 16 NAME "image12bl.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 17 NAME "arrowll.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 18 NAME "arrowrr.gif" TRANSCOLOR 0 ENDPICTURE SPOT ID 1 OUTLINE 269,158 302,158 302,192 269,191 LOC 294,190 PICTS 1,-4,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,-1,0 8,-1,0 ENDPICTS ENDSPOT SPOT ID 2 OUTLINE 142,321 358,322 359,343 142,345 LOC 252,327 PICTS 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS SCRIPT ON ENTER { pids GLOBAL "A935356597B935356670C935356715D935356736E935356774F935356820G935356833H935356858I935356868" "J935356876K935356905L935356913M935356920N935360840O935360859P935360870Q935360879R935360888" + "S935360901T935360916U935360922V935360928W935360934X935360943Y935360949Z935360955" + pids = } ON OUTCHAT { hngmn GLOBAL wrd GLOBAL vct GLOBAL al GLOBAL pids GLOBAL { CHATSTR UPPERCASE te = "" alph = { "$2" GREPSUB te = "$1" GREPSUB ltr = { alph ltr & alph = } al ltr GREPSTR IF } { te "^(.)(.*)$" GREPSTR } WHILE { "" CHATSTR = alph wrd = WHOTARGET vct = "!" vct WHONAME + " is on the gallows!" + ROOMMSG "@511,0 The word for them to guess is set to " alph & LOCALMSG 0 ss = alph "^.....(.*)" GREPSTR POP "$1" GREPSUB alph = { ss ++ "$1" GREPSUB alph = } { alph ".(.*)" GREPSTR } WHILE ss ME SETSPOTSTATE 2 hngmn = } alph "....." GREPSTR alph "............." GREPSTR NOT AND IF } 1 hngmn == WHOTARGET AND IF { pids "A(.*)B(.*)C(.*)D(.*)E(.*)F(.*)G(.*)H(.*)I(.*)J" GREPSTR POP "[ $1 $2 $3 $4 $5 $6 $7 $8 $9 ] SETPROPS" GREPSUB STRTOATOM EXEC pids "J(.*)K(.*)L(.*)M(.*)N(.*)O(.*)P(.*)Q(.*)R(.*)S" GREPSTR POP "[ $1 $2 $3 $4 $5 $6 $7 $8 $9 ] SETPROPS" GREPSUB STRTOATOM 90 ALARMEXEC pids "S(.*)T(.*)U(.*)V(.*)W(.*)X(.*)Y(.*)Z(.*)$" GREPSTR POP "[ $1 $2 $3 $4 $5 $6 $7 $8 ] SETPROPS" GREPSUB STRTOATOM 180 ALARMEXEC } ISWIZARD CHATSTR "refresh" == AND IF } ON INCHAT { hngmn GLOBAL al GLOBAL wrd GLOBAL vct GLOBAL pids GLOBAL { { CHATSTR UPPERCASE lt = pids lt "([-0-9]+)" + GREPSTR POP "$1" GREPSUB ATOI lpid = al "^(.*)" lt & "(.*)$" & GREPSTR POP "$1-$2" GREPSUB al = { "" nwrd = 0 cc = 0 tc = ME GETSPOTSTATE 5 + bc = 256 bc 20 * - bc = { "$2" GREPSUB wrd = { lpid bc cc 40 * + 310 ADDLOOSEPROP nwrd "-" & nwrd = tc ++ } { nwrd "$1" GREPSUB & nwrd = } "$1" GREPSUB lt == IFELSE cc ++ } { wrd "^(.)(.*)" GREPSTR } WHILE "Yes, there " [ "are " "is " ] tc 1 == GET & tc ITOA & " " & lt & { "'s." & } tc 1 > IF SAY nwrd wrd = { ")applause !" vct WHONAME & " has won!" & ROOMMSG { 5 SELECT } 500 ALARMEXEC } wrd "^-+$" GREPSTR IF } { "Nope, there are no " lt & "'s." & SAY 1 GETSPOTSTATE cs = { 0 } { cs 1 + } cs 8 == IFELSE DUP 1 SETSPOTSTATE 1 SETSPOTSTATELOCAL { vct WHONAME " has been hung." & ROOMMSG 0 cc = ME GETSPOTSTATE 5 + bc = 256 bc 20 * - bc = { "$2" GREPSUB wrd = "$1" GREPSUB cl = { pids cl "([-0-9]+)" & GREPSTR POP "$1" GREPSUB ATOI bc cc 40 * + 310 ADDLOOSEPROP } cl "-" == NOT IF cc ++ } { wrd "^(.)(.*)$" GREPSTR } WHILE { 5 SELECT } 1000 ALARMEXEC } 6 cs == IF } wrd lt GREPSTR IFELSE } { "Sorry, you already guessed " CHATSTR UPPERCASE & SAY } al CHATSTR UPPERCASE GREPSTR IFELSE } vct WHOCHAT == hngmn 2 == AND CHATSTR UPPERCASE "^[A-Z]$" GREPSTR AND IF { "Current free letters are: " al + SAY } vct WHOCHAT == hngmn 2 == AND CHATSTR "left?" SUBSTR AND IF } ENDSCRIPT ENDSPOT SPOT ID 3 DONTMOVEHERE OUTLINE 355,349 416,349 416,380 356,380 LOC 383,360 SCRIPT ON SELECT { "Instructions are in your log" LOCALMSG "To start, the player giving the word clicks on the Hangman button." LOGMSG "Next, they whisper a 5 to 12 letter word to the 'victim' (who doesn't hear it.)" LOGMSG "The announcement is made that the 'victim' is on the gallows, and they say the letters for their guess." LOGMSG "The hangman automatically tells them if they are right or wrong, and puts the letters in." LOGMSG "The victim can find what letters are left by asking 'what's left?'" LOCALMSG "To end the game prematurely, the Hangman can click the reset button." LOGMSG "If the Hangman leaves before the game is over, anyone else can either hit reset or the Hangman button to start a new game." LOGMSG { "To keep the props on the server, say 'refresh' to run through them all." LOGMSG } ISWIZARD IF } ENDSCRIPT ENDSPOT SPOT ID 4 DONTMOVEHERE OUTLINE 57,349 161,349 161,380 57,380 LOC 113,353 SCRIPT ON SELECT { hngmn GLOBAL al GLOBAL { "Sorry, but the position of Hangman is currently filled by " ME GETSPOTSTATE WHONAME + LOCALMSG } { "!" WHOME ME SETSPOTSTATE USERNAME + " is the Hangman!" + ROOMMSG 1 hngmn = CLEARLOOSEPROPS 8 1 SETSPOTSTATE "ABCDEFGHIJKLMNOPQRSTUVWXYZ" al = } ME GETSPOTSTATE WHONAME "." GREPSTR IFELSE } ENDSCRIPT ENDSPOT SPOT ID 5 DONTMOVEHERE OUTLINE 223,349 293,349 293,380 224,380 LOC 254,355 SCRIPT ON SELECT { hngmn GLOBAL { CLEARLOOSEPROPS 8 1 SETSPOTSTATE 0 hngmn = { ";reset" SAY } 4 GETSPOTSTATE WHOME == NOT IF 0 4 SETSPOTSTATELOCAL 0 4 SETSPOTSTATE "The position of Hangman is open." ROOMMSG } ISWIZARD hngmn OR 4 GETSPOTSTATE AND IF } ON OUTCHAT { { "" CHATSTR = } CHATSTR ";reset" == IF } ON LEAVE { hngmn GLOBAL { ME SELECT } hngmn IF } ON INCHAT { hngmn GLOBAL { 0 hngmn = } CHATSTR ";reset" == IF } ON ENTER { hngmn GLOBAL 0 hngmn = "Graphics by Speck and Kittypaws ©1999" STATUSMSG "Seed concept by Luminess. Script by Foxy ©1999" STATUSMSG } ENDSCRIPT ENDSPOT DOOR ID 6 DONTMOVEHERE DEST 136 OUTLINE 4,354 62,354 62,380 4,380 LOC 33,366 PICTS 17,0,0 ENDPICTS ENDDOOR DOOR ID 7 DONTMOVEHERE DEST 206 OUTLINE 448,354 508,354 508,379 448,379 LOC 480,368 PICTS 18,0,0 ENDPICTS SCRIPT ON INCHAT { nDoIt GLOBAL nDoIt EXEC } ON ENTER { { CLEARLOOSEPROPS PAINTCLEAR } NBRROOMUSERS 2 < IF } ENDSCRIPT ENDDOOR ENDROOM