ROOM ID 284 NOCYBORGS NAME "Yahtzee 6 Rainbow Frog" PICT "dkrain.gif" PICTURE ID 1 NAME "onept.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 2 NAME "dicerain1.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 3 NAME "dicerain2.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 4 NAME "dicerain3.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 5 NAME "dicerain4.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 6 NAME "dicerain5.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 7 NAME "dicerain6.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 8 NAME "yholdrain.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 9 NAME "1mark.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 10 NAME "2mark.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 11 NAME "3mark.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 12 NAME "3xmark.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 13 NAME "4flylights.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 14 NAME "dicerainr1.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 15 NAME "dicerainr2.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 16 NAME "dicerainr3.gif" TRANSCOLOR 0 ENDPICTURE SPOT ID 1 OUTLINE 25,150 55,150 55,177 25,177 LOC 40,162 PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS ENDSPOT SPOT ID 2 OUTLINE 66,149 96,149 96,176 66,176 LOC 81,161 PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS ENDSPOT SPOT ID 3 OUTLINE 107,150 137,150 137,177 107,177 LOC 122,162 PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS ENDSPOT SPOT ID 4 OUTLINE 149,150 179,150 179,177 149,177 LOC 164,162 PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS ENDSPOT SPOT ID 5 OUTLINE 190,149 220,149 220,176 190,176 LOC 205,161 PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS ENDSPOT SPOT ID 6 OUTLINE 230,149 260,149 260,176 230,176 LOC 246,161 PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS ENDSPOT SPOT ID 13 DONTMOVEHERE OUTLINE 116,24 170,24 170,40 116,40 LOC 156,33 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL myturn GLOBAL { dd STRTOATOM EXEC 0 GET crv = ME co = "@167,34 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 14 DONTMOVEHERE OUTLINE 116,41 170,41 170,56 116,56 LOC 156,49 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL myturn GLOBAL { dd STRTOATOM EXEC 1 GET 2 * crv = ME co = "@167,51 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 15 DONTMOVEHERE OUTLINE 116,57 170,57 170,73 116,73 LOC 156,66 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL myturn GLOBAL { dd STRTOATOM EXEC 2 GET 3 * crv = ME co = "@167,66 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 16 DONTMOVEHERE OUTLINE 116,74 170,74 170,90 116,90 LOC 156,83 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL myturn GLOBAL { dd STRTOATOM EXEC 3 GET 4 * crv = ME co = "@167,84 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 17 DONTMOVEHERE OUTLINE 116,91 170,91 170,107 116,107 LOC 156,100 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL myturn GLOBAL { dd STRTOATOM EXEC 4 GET 5 * crv = ME co = "@167,100 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 18 DONTMOVEHERE OUTLINE 116,108 170,108 170,123 116,123 LOC 156,116 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL myturn GLOBAL { dd STRTOATOM EXEC 5 GET 6 * crv = ME co = "@167,117 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 19 DONTMOVEHERE OUTLINE 311,7 366,7 366,22 311,22 LOC 343,16 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd "[3456]" GREPSTR dt * crv = ME co = "@343,18 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 20 DONTMOVEHERE OUTLINE 311,23 366,23 366,40 311,40 LOC 343,32 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd "[456]" GREPSTR dt * crv = ME co = "@343,33 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 21 DONTMOVEHERE OUTLINE 311,41 366,41 366,56 311,56 LOC 343,49 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd "[56]" GREPSTR dt * crv = ME co = "@343,51 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 22 DONTMOVEHERE OUTLINE 311,57 366,57 366,72 311,72 LOC 343,65 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd "3.*3" GREPSTR 35 * crv = ME co = "@343,67 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 23 DONTMOVEHERE OUTLINE 311,73 366,73 366,88 311,88 LOC 343,81 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd "4" SUBSTR dd "2" SUBSTR AND 35 * crv = ME co = "@343,82 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 24 DONTMOVEHERE OUTLINE 311,106 366,106 366,121 311,121 LOC 343,114 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dt crv = ME co = "@343,117 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 25 DONTMOVEHERE OUTLINE 465,25 509,25 509,40 465,40 LOC 500,32 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd " [123] [123] [123] [123] " GREPSTR 25 * crv = ME co = "@500,32 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 26 DONTMOVEHERE OUTLINE 465,41 509,41 509,57 465,57 LOC 500,49 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd " [12] [12] [12] [12] [12] " GREPSTR 40 * crv = ME co = "@500,49 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 27 DONTMOVEHERE OUTLINE 465,58 509,58 509,74 465,74 LOC 500,66 PICTS 1,0,0 9,0,0 ENDPICTS SCRIPT ON SELECT { dd GLOBAL crv GLOBAL co GLOBAL dt GLOBAL myturn GLOBAL { dd " 1 1 1 1 1 1 " GREPSTR 50 * crv = ME co = "@500,66 That will give you a score of " crv ITOA & LOCALMSG } myturn ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 28 DONTMOVEHERE OUTLINE 311,89 366,89 366,105 311,105 LOC 343,97 PICTS 1,0,0 9,0,0 10,0,0 11,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 12,0,0 ENDPICTS SCRIPT ON SELECT { yhtz GLOBAL co GLOBAL dd GLOBAL myturn GLOBAL crv GLOBAL mysc GLOBAL btt GLOBAL { dd "6" SUBSTR yts = { { "Sorry, you zeroed out your Yahtzee-6 line earlier- you are ineligible for a bonus." LOCALMSG } yts yhtz 0 < AND IF { ")applause " USERNAME " collects a Yahtzee-6 bonus!" & & ROOMMSG "@511,0 Joker rules-- you get to score it on a regular line as well!" LOCALMSG 200 mysc += ME GETSPOTSTATE 1 + ME SETSPOTSTATE 1 btt = yhtz ++ } yts yhtz 0 > AND btt NOT AND IF } { ;yahtzee for the first time, -1 if yts is 0, 1 if yts is 1 yts 100 * crv = ME co = "@343,101 This will score you a " crv ITOA & LOCALMSG { "!WARNING: zeroing out this box makes you ineligible for Yahtzee-6 bonuses!" LOCALMSG } crv NOT IF } yhtz IFELSE } myturn IF } ENDSCRIPT ENDSPOT SPOT ID 29 DONTMOVEHERE OUTLINE 454,77 483,77 483,101 454,101 LOC 491,91 PICTS 1,0,0 9,9,0 ENDPICTS SCRIPT ON SELECT { ut GLOBAL myturn GLOBAL { { "@491,91 You need " 80 ut - ITOA & " more points to get the upper table bonus" & LOCALMSG } { "@491,91 You already have the upper table bonus!" LOCALMSG } ME GETSPOTSTATE NOT IFELSE } myturn IF ENDSCRIPT ENDSPOT SPOT ID 12 DONTMOVEHERE OUTLINE 232,140 266,140 266,184 232,184 LOC 245,162 PICTS 1,0,0 8,0,0 ENDPICTS SCRIPT ON SELECT { myturn GLOBAL { ME GETSPOTSTATE NOT ME SETSPOTSTATE } myturn 32 GETSPOTSTATE AND IF } ENDSCRIPT ENDSPOT SPOT ID 11 DONTMOVEHERE OUTLINE 184,140 231,140 231,184 184,184 LOC 205,162 PICTS 1,0,0 8,0,0 ENDPICTS SCRIPT ON SELECT { myturn GLOBAL { ME GETSPOTSTATE NOT ME SETSPOTSTATE } myturn 32 GETSPOTSTATE AND IF } ENDSCRIPT ENDSPOT SPOT ID 10 DONTMOVEHERE OUTLINE 141,140 184,140 184,184 141,184 LOC 164,162 PICTS 1,0,0 8,0,0 ENDPICTS SCRIPT ON SELECT { myturn GLOBAL { ME GETSPOTSTATE NOT ME SETSPOTSTATE } myturn 32 GETSPOTSTATE AND IF } ENDSCRIPT ENDSPOT SPOT ID 9 DONTMOVEHERE OUTLINE 99,140 141,140 141,184 99,184 LOC 122,162 PICTS 1,0,0 8,0,0 ENDPICTS SCRIPT ON SELECT { myturn GLOBAL { ME GETSPOTSTATE NOT ME SETSPOTSTATE } myturn 32 GETSPOTSTATE AND IF } ENDSCRIPT ENDSPOT SPOT ID 8 DONTMOVEHERE OUTLINE 58,140 99,140 99,184 58,184 LOC 81,162 PICTS 1,0,0 8,0,0 ENDPICTS SCRIPT ON SELECT { myturn GLOBAL { ME GETSPOTSTATE NOT ME SETSPOTSTATE } myturn 32 GETSPOTSTATE AND IF } ENDSCRIPT ENDSPOT SPOT ID 7 DONTMOVEHERE OUTLINE 17,140 58,140 58,184 17,184 LOC 40,162 PICTS 1,0,0 8,0,0 ENDPICTS SCRIPT ON SELECT { myturn GLOBAL { ME GETSPOTSTATE NOT ME SETSPOTSTATE } myturn 32 GETSPOTSTATE AND IF } ENDSCRIPT ENDSPOT SPOT ID 31 NAME "Start Game" DONTMOVEHERE LOC 459,27 SCRIPT ON ENTER { { "A game of yahtzee is currently being played- click play to join!" LOCALMSG } ME GETSPOTSTATE WHONAME "." GREPSTR IF { 0 ME SETSPOTSTATE } ME GETSPOTSTATE WHOME == IF { POSX 160 RANDOM 224 + SETPOS } POSY 225 < IF ad GLOBAL "" ad = "Script by Foxy, ©2003 Graphics by Tybalt & Speck ©2003" STATUSMSG "For free distribution only!" LOGMSG { DUP GLOBAL 0 SWAP = } [ ref rollt crv mysc ut yhtz plyrs ckbxs myturn co lastroll] FOREACH al27 GLOBAL { dt GLOBAL dd GLOBAL lastroll GLOBAL { { EXEC SETSPOTSTATE } lastroll STRTOATOM EXEC FOREACH } lastroll 0 != IF 0 dt = [ 0 0 0 0 0 0 ] dd = "[ " lastroll = { dc = dc 6 + GETSPOTSTATE lck = { 6 RANDOM 1 + dv = dv dc SETSPOTSTATE } { dc GETSPOTSTATE dv = } lck NOT IFELSE dv dt += dd dv 1 - GET 1 + dd dv 1 - PUT lastroll "{" + dv ITOA + " " + dc ITOA + " }" + lastroll = } [ 1 2 3 4 5 6 ] FOREACH "[ " { ITOA + " " + } dd FOREACH " ]" & dd = lastroll "]" + lastroll = { "@105,268 )applause !YAHTZEE-6!!" ROOMMSG } dd "6" SUBSTR IF } al27 DEF al26 GLOBAL { rollt GLOBAL dd GLOBAL dt GLOBAL crv GLOBAL 0 crv = co GLOBAL 0 co = { ")dice2" SAY } rollt 6 == IF { 0 cr = rollt -- { cr ++ { 7 rollt cr + DUP 3 / 3 * - + cr SETSPOTSTATE } cr 6 + GETSPOTSTATE NOT IF } { cr 6 < } WHILE al26 GLOBAL al26 30 ALARMEXEC } { al27 GLOBAL al27 EXEC } rollt IFELSE } al26 DEF al24 GLOBAL { plyrs GLOBAL hsc GLOBAL phsc GLOBAL ref GLOBAL { { "@0,100 !Game over!" ROOMMSG { "@100,100 ..and our winner is: " ROOMMSG "@160,160 )applause !" phsc & "!!" & ROOMMSG } hsc IF 0 ref = 1 sp = { 0 sp SETSPOTSTATE sp ++ } { sp 33 < } WHILE { ";Ÿ5" SAY } 60 ALARMEXEC } plyrs "." GREPSTR NOT IF } ref IF } al24 DEF al25 GLOBAL { plyrs GLOBAL al25 GLOBAL al24 GLOBAL plyrs "^-([0-9]+)-(.*)$" GREPSTR POP "$1" GREPSUB cp = "$2" GREPSUB oth = { oth GREPSUB plyrs = plyrs "^-([0-9]+)-(.*)$" GREPSTR POP "$1" GREPSUB cp = "$2" GREPSUB oth = } { cp ATOI WHONAME "." GREPSTR NOT plyrs "" == NOT AND } WHILE { "@" cp ATOI WHOPOS ITOA SWAP ITOA " " & SWAP & & cp ATOI WHONAME " is up!" & & ROOMMSG ";Ÿ3" cp & cp ATOI PRIVATEMSG oth "-" & cp & "-" & plyrs = } { al24 30 ALARMEXEC } plyrs "" == NOT IFELSE } al25 DEF } ON SELECT { ref GLOBAL plyrs GLOBAL ad GLOBAL hsc GLOBAL phsc GLOBAL { { "A game is currently in session. Click play to join." LOCALMSG } { "Resetting game, click again to start a new one." LOCALMSG 0 ME SETSPOTSTATE ";Ÿ5" SAY { cr ++ 0 cr SETSPOTSTATE } { cr 29 < } WHILE } ME GETSPOTSTATE WHONAME "." GREPSTR IFELSE } { WHOME ME SETSPOTSTATE 1 ref = "" plyrs = "-" ad = 0 hsc = "" phsc = USERNAME " has started a game of Yahtzee-6! Click play to join!" & ROOMMSG "@511,0" USERNAME & ", click the roll button to start play after everyone joins." & LOCALMSG } ME GETSPOTSTATE IFELSE } ON INCHAT { ref GLOBAL plyrs GLOBAL phsc GLOBAL hsc GLOBAL { { DUP GLOBAL 0 SWAP = } [ ref rollt crv mysc ut yhtz plyrs ckbxs myturn co phsc hsc btt lastroll] FOREACH "" plyrs = } CHATSTR ";Ÿ5" == IF { 0 ref = "" plyrs = "" phsc = 0 hsc = } ref WHOME ME GETSPOTSTATE <> AND IF ;26 inchat mysc GLOBAL ckbxs GLOBAL ut GLOBAL yhtz GLOBAL rollt GLOBAL myturn GLOBAL co GLOBAL dd GLOBAL dt GLOBAL { { 0 SWAP SETSPOTSTATE } [ 7 8 9 10 11 12] FOREACH 1 myturn = 13 sp = ckbxs tckbxs = { tckbxs DUP 2 / 2 * - sp SETSPOTSTATE 2 tckbxs /= sp ++ } { sp 28 < } WHILE { 1 28 SETSPOTSTATE { yhtz 28 SETSPOTSTATE } yhtz 1 > IF } { 0 28 SETSPOTSTATE } yhtz IFELSE 0 32 SETSPOTSTATE 0 crv = 0 co = "[0 0 0 0 0 0]" dd = 0 dt = ut 80 >= 29 SETSPOTSTATE { 0 SWAP SETSPOTSTATE } [ 1 2 3 4 5 6 ] FOREACH } ";Ÿ3" WHOME ITOA & CHATSTR == IF ;25 inchat ref GLOBAL plyrs GLOBAL ad GLOBAL mysc GLOBAL ckbxs GLOBAL ut GLOBAL yhtz GLOBAL plyrs GLOBAL hsc GLOBAL phsc GLOBAL al25 GLOBAL ad "." GREPSTR stt = { "-" WHOCHAT ITOA & "-" & ad = { "You're already in the game, " WHOCHAT WHONAME & WHOCHAT PRIVATEMSG } { WHOCHAT WHONAME " has joined the game!" & ROOMMSG ";Ÿ2" WHOCHAT ITOA & WHOCHAT PRIVATEMSG ad plyrs & plyrs = } plyrs ad SUBSTR IFELSE { "" ad = } stt NOT IF } CHATSTR ";Ÿ1" == ref AND IF { ;initialize variables to play 0 mysc = 0 ckbxs = 0 ut = 0 yhtz = } CHATSTR ";Ÿ2" WHOME ITOA & == IF { al25 90 ALARMEXEC } ";Ÿ3" CHATSTR == ref AND IF { "-$1-" GREPSUB pq = "$2" GREPSUB ATOI ps = ")applause !" "$1" GREPSUB ATOI WHONAME " has finished with a final score of " & & "$2!" GREPSUB & ROOMMSG { "@150,0 !New high score for the game!" ROOMMSG "$1" GREPSUB ATOI WHONAME phsc = ps hsc = } ps hsc > IF plyrs "^(.*)" pq & "(.*)$" & GREPSTR POP "$1$2" GREPSUB plyrs = al24 GLOBAL al24 60 ALARMEXEC al25 120 ALARMEXEC } CHATSTR "^;Ÿ4([0-9]+)-([0-9]+)$" GREPSTR ref AND IF { { "$1$2" GREPSUB plyrs = WHOCHAT WHONAME " has left the game." & ROOMMSG { al25 EXEC } "$2" GREPSUB "" == IF } plyrs "^(.*)-" WHOCHAT ITOA "-(.*)$" & & GREPSTR IF } CHATSTR ";Ÿ6" == ref AND IF } ON OUTCHAT { { "" CHATSTR = } CHATSTR "^;Ÿ" GREPSTR IF ref GLOBAL plyrs GLOBAL al25 GLOBAL { "" CHATSTR = plyrs tp = "[ " plar = "$1" GREPSUB ATOI drp = { plar " $1 " GREPSUB & plar = "$2" GREPSUB tp = } { tp "^-([0-9]+)-(.*)$" GREPSTR } WHILE plar "]" & STRTOATOM EXEC plar = { drp -- "" plyrs = 0 cnt = { ts = { plyrs "-" & ts ITOA & "-" & plyrs = } { "Dropping " ts WHONAME & " from the game" & LOGMSG } cnt drp != IFELSE cnt ++ } plar FOREACH } drp 0 > plar LENGTH drp >= AND IF { al25 25 ALARMEXEC } plar LENGTH drp 1 + == IF } ref CHATSTR "player drop *([0-9]+)$" GREPSTR AND IF { "" CHATSTR = plyrs tp = 0 ps = "Current players:" LOGMSG { ps ++ ps ITOA ". " & "$1" GREPSUB ATOI WHONAME & LOGMSG "$2" GREPSUB tp = } { tp "^-([0-9]+)-(.*)$" GREPSTR } WHILE } ref CHATSTR "player list" == AND IF } ON LEAVE { ";Ÿ6" SAY } ENDSCRIPT ENDSPOT SPOT ID 32 NAME "Start - Play - Roll - Quit - Instructions" DONTMOVEHERE OUTLINE 303,140 504,140 504,184 303,184 LOC 392,156 PICTS 13,79,-39 13,98,-39 13,117,-39 13,136,-39 1,0,0 ENDPICTS SCRIPT ON SELECT { MOUSEPOS POP ys = 0 ss = { ys < ss += } [ 341 383 423 464 ] FOREACH [ ;"Start" {31 SELECT} ;"Play" { myturn GLOBAL btt GLOBAL lastroll GLOBAL { co GLOBAL crv GLOBAL mysc GLOBAL ut GLOBAL ckbxs GLOBAL dd GLOBAL yhtz GLOBAL { crv mysc += 0 btt = { { "@491,91 !UPPER TABLE BONUS!" ROOMMSG 50 mysc += } ut 80 < crv ut + 80 >= AND IF crv ut += } co 19 < IF "I have a score of " mysc ITOA & SAY { 1 co SETSPOTSTATE } co 28 < IF { 1 co SETSPOTSTATE dd "6" SUBSTR 2 * 1 - yhtz = } co 28 == yhtz NOT AND IF 12 cs = 0 ckbxs = 1 vl = { cs ++ cs GETSPOTSTATE ckd = { 1 ckd = } cs co == IF { vl ckbxs += } ckd IF 2 vl *= } { cs 27 < } WHILE 0 myturn = { ";Ÿ3" SAY } { ; { 50 mysc += } ut 80 > IF ";Ÿ4" WHOME ITOA & "-" & mysc ITOA & SAY { DUP GLOBAL 0 SWAP = } [ rollt crv mysc ut yhtz ckbxs myturn co btt ] FOREACH } ckbxs 32767 < yhtz NOT OR IFELSE } co IF } { ";Ÿ1" SAY "dice2" SOUND } myturn IFELSE } ;"Roll" { ref GLOBAL ad GLOBAL rollt GLOBAL crv GLOBAL myturn GLOBAL al25 GLOBAL { "" ad = al25 EXEC } { { { ME GETSPOTSTATE 1 + ME SETSPOTSTATE 6 rollt = 0 crv = al26 GLOBAL al26 EXEC }ME GETSPOTSTATE 4 < IF } myturn IF } ref ad ".." GREPSTR AND IFELSE } ;"Instructions" { "Instructions are in your log" STATUSMSG { LOGMSG } [ "" "***YAHTZEE 6 RULES***" "" "Six dice, four rolls!" "Upper Table, Triples, Quads, Short & Full Straights, & Chance:" " --all qualify the same as regular Yahtzee" "Yahtzee is now 6 of a kind" "Pents is five of a kind" "Six Straight is 1, 2, 3, 4, 5, and 6, in any order" "Full House is 2 of a kind and 4 of a kind" "Half House is 3 of a kind and 3 of a kind" "Upper Table Bonus is fifty points when you score eighty in the upper table" "Check the board for other score changes!" "" "***General Play***" "" "To start a Yahtzee game, one person clicks on the start game button and becomes the referee." "Everyone who wants to play- including the referee- clicks on the Play button to join the game." "When everyone has joined, the referee clicks the Roll button to start play." "Anyone can join at any time by clicking play." "Anyone who wants to quit can click the quit button to do so." "Anyone who leaves the room automatically quits!" "If the referee leaves the room, the game is over!" "Click on the start game button to reset the game if that happens." "When play starts, the person whose turn it is clicks roll to roll for the first time and get their dice." "You lock and unlock the dice by clicking on them, locked dice are marked." "Click on the score sheet in the blank spot you want to score in, or click roll up to thrice more." "When you click on the score sheet, it tells you what you'll score with that option. If you like it, click Play to score that and finish your turn." "Clicking on the Upper Table Bonus Status box tells you how many points you need to get that bonus" "Scoring YAHTZEES- you score your first yahtzee the same way you score other scores, by clicking on yahtzee and then play. Score Yahtzee bonuses automatically by first clicking on Yahtzee when you roll one." "When someone fills out their score card, they automatically give their final score." "Stick around after you're through- the referee remembers the highest score, and will announce it when everyone finishes!" "Players can click play to rejoin an ongoing game after they finish. In that case the game continues until everyone either quits or finishes their game." "" "***Referee Commands" "" "\x22Player List\x22 produces a list in your log of all current players and numbers- THIS CHANGES EACH TURN" "\x22Player Drop x\x22 removes player number x from play and goes to the next one if needed" "NOTE: it is highly recommended that the referee have the new palace client!" ] FOREACH } ;"Quit" { ref GLOBAL ";Ÿ6" SAY { { DUP GLOBAL 0 SWAP = } [ rollt crv mysc ut yhtz ckbxs myturn co btt lastroll] FOREACH } {";Ÿ5" WHOME PRIVATEMSG } ref IFELSE } ] ss GET EXEC } ENDSCRIPT ENDSPOT ENDROOM