ROOM ID 125 NOCYBORGS NAME "Christmas Tree Lane" PICT "crlhouse.gif" ARTIST "Moonwind & Alan" PICTURE ID 1 NAME "snowrm.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 2 NAME "crl2.gif" ENDPICTURE PICTURE ID 5 NAME "crl5.gif" ENDPICTURE PICTURE ID 6 NAME "crl6.gif" ENDPICTURE PICTURE ID 7 NAME "crl7.gif" ENDPICTURE PICTURE ID 8 NAME "crl8.gif" ENDPICTURE PICTURE ID 9 NAME "crl9.gif" ENDPICTURE PICTURE ID 10 NAME "crl3.gif" ENDPICTURE PICTURE ID 11 NAME "crl4.gif" ENDPICTURE PICTURE ID 12 NAME "M2.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 13 NAME "e.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 14 NAME "r.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 15 NAME "y.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 16 NAME "C2.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 17 NAME "h.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 18 NAME "i.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 19 NAME "s.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 20 NAME "t.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 21 NAME "m.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 22 NAME "a.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 23 NAME "arrowll.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 24 NAME "arrowrr.gif" TRANSCOLOR 0 ENDPICTURE SPOT ID 5 NAME "Ribbon" DONTMOVEHERE OUTLINE 414,357 444,357 444,378 414,378 LOC 429,367 SCRIPT ;Ribbon spot ON ENTER { 0 ME SETSPOTSTATELOCAL } ON SELECT { L1 GLOBAL treespot GLOBAL { 0 L1 SETALARM 0 treespot SETALARM 1 ME SETSPOTSTATE } treespot GETSPOTSTATE 3 == ME GETSPOTSTATE NOT AND IF } ENDSCRIPT ENDSPOT SPOT ID 10 NAME "Xmas Tree" DONTMOVEHERE OUTLINE 360,90 374,88 469,359 239,352 LOC 360,222 PICTS 0,0,0 2,0,0 10,0,0 11,0,0 9,0,0 5,0,0 6,0,0 8,0,0 7,0,0 8,0,0 6,0,0 5,0,0 ENDPICTS SCRIPT ;Moonie's animated tree script ON ENTER { { "What, no Christmas Tree on Christmas Tree Lane?" LOCALMSG "If we click on the sign will the name change?" LOCALMSG } 1800 ALARMEXEC treespot GLOBAL ME treespot = 0 ME SETSPOTSTATELOCAL } ON SELECT { ;***Sign coordinates*** 328 xleft = 418 xright = 310 yup = 323 ydown = ;***end of coordinates*** [ ;***Candle coordinates in format [ x y ]*** [ 362 135 ] [ 384 159 ] [ 360 180 ] [ 333 204 ] [ 396 202 ] [ 367 227 ] [ 323 252 ] [ 396 253 ] [ 303 205 ] [ 357 278 ] [ 431 274 ] [ 327 311 ] [ 373 322 ] [ 415 311 ] ;***end of coordinates*** ] moarray = ;***Candle height and width*** 5 width = 15 height = ;***end of height and width*** ;look for a candle { { temparray = { "Looks great. What's that under the tree?" LOCALMSG 3 ME SETSPOTSTATELOCAL } MOUSEPOS DUP temparray 1 GET height 2 / - >= SWAP temparray 1 GET height 2 / + <= AND SWAP DUP temparray 0 GET width 2 / - >= SWAP temparray 0 GET width 2 / + <= AND AND IF } moarray FOREACH } ME GETSPOTSTATE 2 == IF ;if tree showing { "Nice job, now light a candle." LOCALMSG 2 ME SETSPOTSTATELOCAL } ME GETSPOTSTATE 1 == IF ;look for road sign { { "There's the tree but it looks pretty bare. Can you decorate it?" LOCALMSG 1 ME SETSPOTSTATELOCAL } MOUSEPOS DUP yup >= SWAP ydown <= AND SWAP DUP xleft >= SWAP xright <= AND AND IF } ME GETSPOTSTATE 0 == IF } ON ALARM { { 4 ME SETSPOTSTATELOCAL } { ME GETSPOTSTATE 1 + ME SETSPOTSTATELOCAL } ME GETSPOTSTATE 11 == IFELSE 30 ME SETALARM } ENDSCRIPT ENDSPOT SPOT ID 2 NAME "Falling Snow" OUTLINE 256,195 279,195 279,217 256,217 LOC 267,206 PICTS 1,0,-84 1,0,-78 1,0,-72 1,0,-66 1,0,-60 1,0,-54 1,0,-48 1,0,-42 1,0,-36 1,0,-30 1,0,-24 1,0,-18 1,0,-12 1,0,-6 1,0,0 ENDPICTS SCRIPT ;Alan's 'snow' script ;This script will automatically set door picture positions for you ;if you are an owner/operator. ;First you must customize the information between the lines of asterisks. ;Then say "setpictures " to automatically set the picture locations. ;Other useful commands provided are: ;Say "reset " to set the door to the first picture. ;Say "mp" to find out the current mouse position. ON ENTER { 0 ME SETSPOTSTATELOCAL 0 ME SETALARM } ON OUTCHAT { nbrpictures GLOBAL { { ;************************************************* ;Set the picture parameters. ;Start and stop positions are relative to the door. ;You must be an Owner/Operator for the script to work. 0 start_x = -84 start_y = 0 stop_x = 0 stop_y = ;************************************************* nbrpictures 1 - steps = stop_x start_x - range_x = stop_y start_y - range_y = ; ;Move the pictures. Multiply before divide to reduce error! ; 0 i = { i ME SETSPOTSTATE start_x range_x i * steps / + start_y range_y i * steps / + ME SETPICLOC i ++ } { i nbrpictures 1 - <= } WHILE 0 ME SETSPOTSTATE 0 inout = "" CHATSTR = } "$1" GREPSUB ATOI ME == IF } CHATSTR "^setpictures ([0-9]+)" GREPSTR IF ; { { 0 ME SETSPOTSTATE 0 inout = "" CHATSTR = } "$1" GREPSUB ATOI ME == IF } CHATSTR "^reset ([0-9]+)" GREPSTR IF ; { MOUSEPOS y = x = "@" x ITOA & " " & y ITOA & " x = " & x ITOA & ", y = " & y ITOA & LOCALMSG "" CHATSTR = } CHATSTR "mp" == IF } ON ALARM { treespot GLOBAL nbrpictures GLOBAL ;************************************************* ;Set the number of pictures. 15 nbrpictures = ;************************************************* ME GETSPOTSTATE 1 + DUP nbrpictures / nbrpictures * - ME SETSPOTSTATELOCAL ;cycle up ; { 30 ME SETALARM } treespot GETSPOTSTATE 3 <= IF 30 ME SETALARM } ENDSCRIPT ENDSPOT SPOT ID 6 NAME "Banner L1" OUTLINE 39,32 67,32 67,68 39,68 LOC 53,50 PICTS 0,0,0 12,0,0 ENDPICTS SCRIPT ;Alan's Banner Script ;Turns letters on/off to create a moving banner ;Place this script in the left-most letter spot in the room ON ENTER { L1 GLOBAL ME L1 = bstep GLOBAL 0 bstep = 0 ME SETSPOTSTATELOCAL } ON ALARM { bstep GLOBAL { GLOBAL } [ L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12 L13 L14 ] FOREACH [ ;***Banner Movement*** [ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ] [ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 ] [ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 ] [ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 ] [ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 ] [ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 ] [ 1 1 1 1 1 1 0 0 0 0 0 0 0 0 ] [ 1 1 1 1 1 1 1 0 0 0 0 0 0 0 ] [ 1 1 1 1 1 1 1 1 0 0 0 0 0 0 ] [ 1 1 1 1 1 1 1 1 1 0 0 0 0 0 ] [ 1 1 1 1 1 1 1 1 1 1 0 0 0 0 ] [ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 ] [ 1 1 1 1 1 1 1 1 1 1 1 1 0 0 ] [ 1 1 1 1 1 1 1 1 1 1 1 1 1 0 ] [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] ;***end of data*** ] barray = [ ME L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12 L13 L14] spotarray = barray bstep GET temparray = 0 i = { temparray i GET spotarray i GET SETSPOTSTATELOCAL i ++ } { i temparray LENGTH < } WHILE { bstep ++ 60 ME SETALARM } bstep barray LENGTH 1 - < IF } ON OUTCHAT { { bstep GLOBAL 0 bstep = 0 ME SETALARM "" CHATSTR = } CHATSTR "banner" == IF } ENDSCRIPT ENDSPOT SPOT ID 7 NAME "L2" OUTLINE 73,40 92,40 92,59 73,59 LOC 82,49 PICTS 0,0,0 13,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L2 GLOBAL ME L2 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 8 NAME "L3" OUTLINE 99,42 118,42 118,61 99,61 LOC 108,51 PICTS 0,0,0 14,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L3 GLOBAL ME L3 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 9 NAME "L4" OUTLINE 124,43 141,43 141,60 124,60 LOC 132,51 PICTS 0,0,0 14,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L4 GLOBAL ME L4 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 11 NAME "L5" OUTLINE 149,47 167,47 167,65 149,65 LOC 158,56 PICTS 0,0,0 15,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L5 GLOBAL ME L5 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 12 NAME "L6" OUTLINE 197,30 228,30 228,68 197,68 LOC 213,45 PICTS 0,0,0 16,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L6 GLOBAL ME L6 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 13 NAME "L7" OUTLINE 236,38 255,38 255,56 236,56 LOC 245,47 PICTS 0,0,0 17,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L7 GLOBAL ME L7 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 14 NAME "L8" OUTLINE 263,40 279,40 279,57 263,57 LOC 271,48 PICTS 0,0,0 14,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L8 GLOBAL ME L8 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 15 NAME "L9" OUTLINE 286,39 301,39 301,56 286,56 LOC 293,47 PICTS 0,0,0 18,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L9 GLOBAL ME L9 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 16 NAME "L10" OUTLINE 308,36 326,36 326,54 308,54 LOC 317,45 PICTS 0,0,0 19,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L10 GLOBAL ME L10 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 17 NAME "L11" OUTLINE 338,39 355,39 355,56 338,56 LOC 346,47 PICTS 0,0,0 20,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L11 GLOBAL ME L11 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 18 NAME "L12" OUTLINE 364,39 383,39 383,56 364,56 LOC 373,47 PICTS 0,0,0 21,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L12 GLOBAL ME L12 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 19 NAME "L13" OUTLINE 393,39 410,39 410,56 393,56 LOC 401,47 PICTS 0,0,0 22,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L13 GLOBAL ME L13 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT SPOT ID 20 NAME "L14" OUTLINE 419,36 436,36 436,51 419,50 LOC 427,43 PICTS 0,0,0 19,0,0 ENDPICTS SCRIPT ;Place this script in the remaining letter spots. ;Change L2 to L3 through L14 for letter spots 3 through 14. ON ENTER { L14 GLOBAL ME L14 = 0 ME SETSPOTSTATELOCAL } ENDSCRIPT ENDSPOT DOOR ID 21 DONTMOVEHERE DEST 282 OUTLINE 7,6 63,6 63,28 7,28 LOC 33,17 PICTS 23,0,0 ENDPICTS ENDDOOR DOOR ID 22 DONTMOVEHERE DEST 188 OUTLINE 450,4 505,4 505,24 450,24 LOC 479,14 PICTS 24,0,0 ENDPICTS SCRIPT ON INCHAT { nDoIt GLOBAL nDoIt EXEC } ON ENTER { { CLEARLOOSEPROPS PAINTCLEAR } NBRROOMUSERS 2 < IF } ENDSCRIPT ENDDOOR ENDROOM