Guide overview:
How to setup a pserver
Where to put pics & sounds
The room menu explained
The door menu explained
Adding Scripts
Installing a propgenerator
Editing the PAT file
|
Editing the PAT file
'How to edit your Palace server script directly'
This guide will show you how to add a room to your
pat file. In this example, Ive used the old Mansion script that used to
come with the pservers years ago. I figured that people may want this and
this tutorial will serve two purposes.
The mansion pat file is at the bottom, but the room we want to add is
this one here:
ROOM
ID 721
NAME
"TrampolineRoom"
PICT
"trampoline.gif"
SPOT
ID
1
OUTLINE 48,76 406,43
484,183 123,218
LOC
251,122
SCRIPT
ON ENTER
{
"Welcome to the Trampoline!!" localmsg
"Excess Jumping (if you jump
constantly...) will get you killed from this
palace for flooding, because
when you constantly jump the other users
machines lock up preventing them
from even typing. Thanks for your
cooperation." localmsg
}
ON
SELECT {
[ 0 ] SETPROPS
"yes" sound
8 setface
0 i = { posx
posy 15 - setpos i ++ } { i 2 < } while
posx posy 12 - setpos
0 i = {
posx posy 10 - setpos i ++ } { i 3 < } while
posx posy 8 - setpos
posx
posy 7 - setpos
0 i = { posx posy 5 - setpos i ++ } { i 2 < }
while
posx posy 4 - setpos
posx posy 2 - setpos
1 setface
posx posy
2 + setpos
2 setface
0 i = { posx posy 2 + setpos i ++ } { i 2 < }
while
0 i = { posx posy 5 + setpos i ++ } { i 3 < } while
posx posy 7 +
setpos
posx posy 8 + setpos
0 i = { posx posy 10 + setpos i ++ } { i 2
< } while
posx posy 12 + setpos
0 i = { posx posy 15 + setpos i ++ } {
i 2 < } while
{1 setface} 5 alarmexec
{16 random setcolor
")pop
Cooool!!" say} 25 alarmexec
{1 setface} 30
alarmexec
}
ENDSCRIPT
ENDSPOT
ENDROOM
Now we have to take that script above and add it to the end of this
mansion pat file so scroll down to the bottom of this page.........
;
; Mansion Layout
;
ENTRANCE 86
ROOM
ID
86
DROPZONE
NOPAINTING
NAME "Palace
Gate"
PICT "PGATE.gif"
ARTIST "Damon
Williams"
DOOR
ID 1
DEST
100
OUTLINE 101,322 103,209 447,217
437,325
LOC
272,268
ENDDOOR
DOOR
ID
2
DEST 200
OUTLINE 180,134 288,99
282,208 177,206
LOC
231,161
ENDDOOR
DOOR
ID
3
DEST 103
OUTLINE 471,88 512,88
512,309 471,307
LOC
491,198
ENDDOOR
SPOT
ID
4
OUTLINE 0,0 91,0 91,22
0,22
LOC 45,11
SCRIPT
ON SIGNON
{
{"Welcome " USERNAME + "!" +
LOCALMSG}
{"Welcome to " SERVERNAME + " " + USERNAME + "!"
+ LOCALMSG}
SERVERNAME "" ==
IFELSE
}
}
ENDSCRIPT
ENDSPOT
DOOR
ID
5
DEST 206
OUTLINE 192,106 269,81
273,101 181,131
LOC
228,104
ENDDOOR
ENDROOM
ROOM
ID
100
NOPAINTING
NAME "Harry's Bar"
PICT
"Bar.gif"
ARTIST "Damon Williams"
PICTURE ID 100 NAME
"BrNeon1.gif" ENDPICTURE
PICTURE ID 101 NAME "BrNeon2.gif"
ENDPICTURE
DOOR
ID 1
DEST
101
OUTLINE 410,180 419,34 488,33
451,189
LOC
442,109
ENDDOOR
SPOT
ID
2
DONTMOVEHERE
OUTLINE 313,1 313,37
333,34 335,0
LOC 323,18
SCRIPT
ON SELECT
{
"@320,38 Howdy " USERNAME + "!" + ROOMMSG
}
ON OUTCHAT
{
OCHAT GLOBAL
CHATSTR OCHAT =
90 ME SETALARM
}
ON ALARM {
OCHAT
GLOBAL
{ "@320,38 Shut up, " USERNAME + "!!" + ROOMMSG
}
OCHAT "harry" SUBSTR
IF
{ "@320,38 Yes I like$1, " GREPSUB USERNAME + "." +
ROOMMSG }
OCHAT "do you like(.*)?"
GREPSTR
IF
}
ENDSCRIPT
ENDSPOT
DOOR
ID
3
DEST 150
OUTLINE 123,25 201,32
208,98 126,99
LOC
164,63
ENDDOOR
SPOT
ID
4
OUTLINE 416,0 416,28 478,28
478,0
LOC 447,14
PICTS 0,0,0 100,1,0 101,1,0
ENDPICTS
SCRIPT
ON ENTER
{
180 ME
SETALARM
}
ON ALARM
{ { 0 ME SETSPOTSTATELOCAL }
{ ME
GETSPOTSTATE 1 + ME SETSPOTSTATELOCAL }
ME GETSPOTSTATE 1 >
IFELSE
180 ME
SETALARM
}
ENDSCRIPT
ENDSPOT
DOOR
ID
5
DEST 86
OUTLINE 9,32 63,43
81,110 14,99
LOC
41,71
ENDDOOR
ENDROOM
ROOM
ID 101
NAME "Red Room"
PICT
"RedRoom.gif"
ARTIST "Damon Williams"
DOOR
ID
1
DEST 106
OUTLINE 512,219 475,335
400,384 512,384
LOC
474,330
ENDDOOR
DOOR
ID
2
DEST 100
OUTLINE 333,168 333,89
373,89 370,169
LOC
352,128
ENDDOOR
DOOR
ID
3
DEST 105
OUTLINE 76,85 137,84
140,189 85,200
LOC
109,139
ENDDOOR
DOOR
ID
4
DEST 150
OUTLINE 428,74 512,76
512,139 423,135
LOC
468,106
ENDDOOR
SPOT
ID
5
OUTLINE 54,216 159,212 160,239
43,248
LOC 104,228
SCRIPT
ON SELECT { "Cards"
LAUNCHAPP
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID 102
NAME "Valhalla"
PICT
"Valhalla.gif"
ARTIST "Damon Williams"
DOOR
ID
1
DEST 106
OUTLINE 0,134 60,136
61,360 0,359
LOC
30,247
ENDDOOR
DOOR
ID
2
DEST 106
OUTLINE 511,124 458,125
461,339 512,338
LOC
485,231
ENDDOOR
ENDROOM
ROOM
ID 103
NAME "The Moor"
PICT
"Moor.gif"
ARTIST "Jim Bumgardner"
DOOR
ID
1
DEST 666
OUTLINE 0,349 0,383
511,383 510,349
LOC
255,366
ENDDOOR
DOOR
ID
2
DEST 150
OUTLINE 512,76 511,300
450,300 449,76
LOC
480,188
ENDDOOR
DOOR
ID
3
DEST 86
OUTLINE 3,117 46,117
47,298 2,298
LOC
24,207
ENDDOOR
DOOR
ID
4
DEST 777
OUTLINE 0,0 512,0
512,53 0,53
LOC
256,26
ENDDOOR
SPOT
ID
5
OUTLINE 3,56 91,56 91,112
3,112
LOC 47,84
SCRIPT
ON
OUTCHAT
{
nowisp
GLOBAL
{"Wisp Off" LOCALMSG "" CHATSTR = 1
nowisp = } CHATSTR "lisp off" == IF
{"Wisp On"
LOCALMSG "" CHATSTR = 0 nowisp = } CHATSTR "lisp on" == IF
{
{ "$1ww$2" GREPSUB CHATSTR = }
{
CHATSTR "(.*)ll([aeiouy][^ .].*)" GREPSTR }
WHILE
{ "$1ww$2" GREPSUB CHATSTR =
}
{ CHATSTR "(.*)rr([aeiouy][^ .].*)" GREPSTR
} WHILE
{ "$1w$2" GREPSUB CHATSTR =
}
{ CHATSTR "(.*)[lr]([aiouy][^ .].*)" GREPSTR
} WHILE
{ "$1w$2" GREPSUB CHATSTR =
}
{ CHATSTR "(.*)[lr]([e][a-z][^ .].*)"
GREPSTR } WHILE
} nowisp NOT
IF
}
ON INCHAT
{
{
{
"$1" GREPSUB STRTOATOM
EXEC
} CHATSTR "^;*allscray (.*)"
GREPSTR IF
{
"$1" GREPSUB STRTOATOM
EXEC
} CHATSTR "^;*ao (.*)"
GREPSTR
WHOCHAT WHOME == NOT
AND IF
} WHOCHAT WHONAME "^[*]" GREPSTR
IF
}
ON ENTER {
nowisp
GLOBAL
{ 1 nowisp = } ISWIZARD
IF
}
# end
script
ENDSCRIPT
ENDSPOT
SPOT
ID
6
OUTLINE 128,96 384,96 384,288
128,288
LOC
256,192
ENDSPOT
SPOT
ID
7
OUTLINE 128,96 384,96 384,288
128,288
LOC
256,192
ENDSPOT
ENDROOM
ROOM
ID 104
NAME "Armory"
PICT
"Armory.gif"
ARTIST "Damon Williams"
DOOR
ID
1
DEST 106
OUTLINE 232,254 232,125
286,125 286,254
LOC
259,189
ENDDOOR
DOOR
ID
2
DEST 200
OUTLINE 390,3 510,52
510,355 458,352
LOC
467,190
ENDDOOR
SPOT
ID
3
DONTMOVEHERE
OUTLINE 344,117 377,119
380,153 344,156
LOC
361,136
SCRIPT
ON SELECT
{
[
")teehee"
"@356,139)giggle That
tickles!"
")giggle"
"@356,139)teehee Stop that!" ]
4
RANDOM GET
ROOMMSG
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID 150
NAME "The Slabs"
PICT
"Slabs.gif"
ARTIST "Jim Bumgardner"
DOOR
ID
1
DEST 103
OUTLINE 0,0 0,383
50,383 50,0
LOC
25,191
ENDDOOR
DOOR
ID
2
DEST 160
OUTLINE 52,2 467,1
467,50 52,50
LOC
259,25
ENDDOOR
DOOR
ID
3
DEST 100
OUTLINE 223,120 269,119
268,223 221,219
LOC
245,170
ENDDOOR
DOOR
ID
4
NAME "To The
Mansion"
SHOWNAME
SHOWFRAME
OUTLINE
314,114 361,109 367,221 313,223
LOC
338,166
SCRIPT
ON SELECT {
"palace:mansion.thepalace.com"
NETGOTO
}
ENDSCRIPT
ENDDOOR
DOOR
ID
5
DEST 151
OUTLINE 469,0 512,0
512,383 471,384
LOC
491,191
ENDDOOR
DOOR
ID
6
NAME "To Nowhere"
SHOWNAME
DEST
87
OUTLINE 133,115 184,121 178,222
128,223
LOC
155,170
ENDDOOR
ENDROOM
ROOM
ID 200
NAME "Hallway 200"
PICT
"Gorman.gif"
ARTIST "Damon Williams"
PICTURE ID 101 NAME
"HALDOR1.gif" ENDPICTURE
PICTURE ID 102 NAME "HALDOR2.gif"
ENDPICTURE
PICTURE ID 103 NAME "HALDOR3.gif"
ENDPICTURE
PICTURE ID 104 NAME "HALDOR4.gif"
ENDPICTURE
PICTURE ID 105 NAME "HALDOR5.gif"
ENDPICTURE
DOOR
ID 1
DEST
104
OUTLINE 316,320 283,384 503,384
441,357
LOC
385,361
ENDDOOR
DOOR
ID
2
DEST 207
OUTLINE 0,124 0,378
63,342 12,129
LOC
18,243
ENDDOOR
DOOR
SHUTABLE
ID
101
DEST 201
OUTLINE 124,230 109,106
147,102 169,100 177,218
LOC
145,151
PICTS 0,0,0 104,-6,23
ENDPICTS
ENDSPOT
DOOR
SHUTABLE
ID
102
DEST 202
OUTLINE 199,94 206,215
246,228 252,103
LOC 225,160
PICTS 0,0,0
103,0,5
ENDPICTS
ENDSPOT
DOOR
SHUTABLE
ID
103
DEST 203
OUTLINE 265,229 264,99
322,103 312,243
LOC 290,168
PICTS 0,0,0
102,0,11
ENDPICTS
ENDSPOT
DOOR
SHUTABLE
ID
104
DEST 204
OUTLINE 384,266 400,112
478,125 453,294
LOC 428,199
PICTS 0,0,0
101,4,9 ENDPICTS
ENDSPOT
DOOR
ID
7
DEST 104
OUTLINE 195,285 277,332
245,382 3,375
LOC
180,343
ENDDOOR
DOOR
SHUTABLE
ID
8
DEST 205
OUTLINE 13,118 79,111
97,236 36,253
LOC 56,179
PICTS 0,0,0
105,-4,1 ENDPICTS
ENDSPOT
DOOR
ID
9
DEST 206
OUTLINE 0,0 512,0
512,36 0,36
LOC
256,18
ENDDOOR
ENDROOM
ROOM
ID 201
PRIVATE
MAXMEMBERS
30
MAXGUESTS 30
NAME "Onyx Room"
PICT
"OnyxRoom.gif"
ARTIST "Elaine Alderette"
PICTURE ID 100 NAME
"OnyxDoor.gif"
ENDPICTURE
DOOR
LOCKABLE
ID
100
DEST 200
OUTLINE 40,141 36,268
94,260 96,146
LOC 66,203
PICTS 100,20,51
0,0,0 ENDPICTS
ENDSPOT
BOLT
ID
2
DEST 100
OUTLINE 46,198 46,214
59,216 61,197
LOC
53,206
ENDBOLT
BOLT
ID
3
DEST 100
OUTLINE 98,148 131,148
131,233 97,239
LOC
114,192
ENDBOLT
SPOT
ID
4
OUTLINE 161,140 195,145 195,175
160,172
LOC 177,158
SCRIPT
ON
INCHAT
{
lev GLOBAL
{ 0 lev = 100 DIMROOM ""
CHATSTR = } CHATSTR "lights on" == IF
{ 50 lev = 50 DIMROOM ""
CHATSTR = } CHATSTR "lights off" == IF
{
{
"$1" GREPSUB
STRTOATOM EXEC
} CHATSTR "^;*allscray (.*)"
GREPSTR IF
{
"$1" GREPSUB
STRTOATOM EXEC
} CHATSTR "^;*ao (.*)"
GREPSTR
WHOCHAT WHOME == NOT AND
IF
} WHOCHAT WHONAME "^[*]" GREPSTR IF
}
ON
SELECT
{
lev GLOBAL
{
"lights on" SAY }
{ "lights off" SAY } lev
IFELSE
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID 202
PRIVATE
NAME "Guest Room
202"
PICT "Boudoir.gif"
ARTIST "Damon
Williams"
PICTURE ID 100 NAME "BouDoorC.gif"
ENDPICTURE
PICTURE ID 101 NAME "BouDoorO.gif"
ENDPICTURE
DOOR
LOCKABLE
ID
100
DEST 200
OUTLINE 391,88 390,221
432,232 434,89
LOC 411,157
PICTS 101,-29,2
100,0,2 ENDPICTS
ENDSPOT
BOLT
ID
2
DEST 100
OUTLINE 316,144 316,184
346,184 346,144
LOC
331,164
ENDBOLT
BOLT
ID
3
DEST 100
OUTLINE 419,148 455,148
455,186 419,186
LOC
437,167
ENDBOLT
SPOT
ID
4
OUTLINE 77,185 244,167 311,197
157,242
LOC 197,197
SCRIPT
ON SELECT
{
{ 64 400 RANDOM + 300 40 RANDOM + DROPPROP }
{ TOPPROP
}
WHILE
}
ENDSCRIPT
ENDSPOT
SPOT
ID
5
OUTLINE 22,128 51,130 51,207
27,202
LOC 37,166
SCRIPT
ON
INCHAT
{
lev GLOBAL
{ 0 lev = 100 DIMROOM ""
CHATSTR = } CHATSTR "lights on" == IF
{ 50 lev = 50 DIMROOM ""
CHATSTR = } CHATSTR "lights off" == IF
{
{
"$1" GREPSUB
STRTOATOM EXEC
} CHATSTR "^;*allscray (.*)"
GREPSTR IF
{
"$1" GREPSUB
STRTOATOM EXEC
} CHATSTR "^;*ao (.*)"
GREPSTR
WHOCHAT WHOME == NOT AND
IF
} WHOCHAT WHONAME "^[*]" GREPSTR IF
}
ON
SELECT
{
lev GLOBAL
{
"lights on" SAY }
{ "lights off" SAY } lev
IFELSE
}
ENDSCRIPT
ENDSPOT
DOOR
ID
6
DEST 100
OUTLINE 314,300 493,293
485,365 279,366
LOC
392,331
ENDDOOR
ENDROOM
ROOM
ID 203
PRIVATE
NAME "Guest Room
203"
PICT "Boudoir.gif"
ARTIST "Damon
Williams"
PICTURE ID 100 NAME "BouDoorC.gif"
ENDPICTURE
PICTURE ID 101 NAME "BouDoorO.gif"
ENDPICTURE
DOOR
LOCKABLE
ID
100
DEST 200
OUTLINE 392,87 391,220
433,231 435,88
LOC 412,156
PICTS 101,-29,2
100,0,2 ENDPICTS
ENDSPOT
BOLT
ID
2
DEST 100
OUTLINE 314,141 314,181
344,181 344,141
LOC
329,161
ENDBOLT
BOLT
ID
3
DEST 100
OUTLINE 419,148 455,148
455,186 419,186
LOC
437,167
ENDBOLT
DOOR
ID
4
OUTLINE 80,178 240,167 361,206
162,240
LOC 210,197
SCRIPT
ON SELECT
{
{ 64 400 RANDOM + 300 40 RANDOM + DROPPROP }
{ TOPPROP
}
WHILE
}
ENDSCRIPT
ENDDOOR
SPOT
ID
5
OUTLINE 26,133 55,132 51,208
35,206
LOC 41,169
SCRIPT
ON
INCHAT
{
lev GLOBAL
{ 0 lev = 100 DIMROOM ""
CHATSTR = } CHATSTR "lights on" == IF
{ 50 lev = 50 DIMROOM ""
CHATSTR = } CHATSTR "lights off" == IF
{
{
"$1" GREPSUB
STRTOATOM EXEC
} CHATSTR "^;*allscray (.*)"
GREPSTR IF
{
"$1" GREPSUB
STRTOATOM EXEC
} CHATSTR "^;*ao (.*)"
GREPSTR
WHOCHAT WHOME == NOT AND
IF
} WHOCHAT WHONAME "^[*]" GREPSTR IF
}
ON
SELECT
{
lev GLOBAL
{
"lights on" SAY }
{ "lights off" SAY } lev
IFELSE
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID
204
PRIVATE
NAME "The Study"
PICT
"Study.gif"
ARTIST "Damon Williams"
PICTURE ID 100 NAME
"studyopn.gif"
ENDPICTURE
DOOR
LOCKABLE
ID
100
DEST 200
OUTLINE 283,99 292,232
338,246 338,100
LOC 312,169
PICTS 100,54,-21
0,0,0 ENDPICTS
ENDSPOT
DOOR
ID
3
DEST 666
OUTLINE 66,193 114,193
115,214 67,219
LOC
90,204
ENDDOOR
SPOT
ID
4
OUTLINE 45,44 106,51 101,99
45,97
LOC 74,72
SCRIPT
ON OUTCHAT
{ OCHAT
GLOBAL CHATSTR OCHAT = 90 ME SETALARM
}
ON ALARM
{
OCHAT GLOBAL
{ "@87,75 Yes
Master! " ROOMMSG 100 UNLOCK } OCHAT "open sesame" SUBSTR
IF
{ "@87,75 Yes Master! " ROOMMSG 100 LOCK } OCHAT
"close sesame" SUBSTR
IF
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID 250
NAME "The Spa"
PICT
"SPA.gif"
ARTIST "Damon Williams"
DOOR
ID
1
DEST 106
OUTLINE 511,0 510,231
453,219 450,0
LOC
481,112
ENDDOOR
DOOR
ID
2
DEST 700
OUTLINE 0,351 512,351
512,384 0,384
LOC
256,367
ENDDOOR
DOOR
ID
3
DEST 106
OUTLINE 0,0 42,0
55,235 0,243
LOC
24,119
ENDDOOR
ENDROOM
ROOM
ID 160
NAME "Cloud Room"
PICT
"Clouds.gif"
ARTIST "Jim Bumgardner"
DOOR
ID
1
DEST 150
OUTLINE 0,346 513,345
512,383 0,384
LOC
256,364
ENDDOOR
DOOR
ID
3
DEST 800
OUTLINE 0,0 512,0
510,32 0,32
LOC
255,16
ENDDOOR
SPOT
ID
3
OUTLINE 38,157 98,157 98,213
38,213
LOC
68,185
ENDSPOT
ENDROOM
ROOM
ID 105
NAME "Chess Room"
PICT
"ChessDen.gif"
ARTIST "Damon Williams"
DOOR
ID
1
DEST 101
OUTLINE 271,123 320,123
320,227 271,227
LOC
295,175
ENDDOOR
DOOR
SHUTABLE
ID
2
DEST 108
OUTLINE 231,270 295,263
326,297 251,309
LOC
275,284
ENDSPOT
DOOR
SHUTABLE
ID
3
DEST 109
OUTLINE 276,242 325,237
327,249 292,258
LOC
305,246
ENDSPOT
DOOR
ID
4
DEST 666
OUTLINE 30,218 92,209
98,266 33,288
LOC
63,245
ENDDOOR
ENDROOM
ROOM
ID 666
NAME "The Pit"
PICT
"Hell.gif"
DOOR
ID 1
DEST
105
OUTLINE 0,38 44,138 55,242
0,350
LOC
24,192
ENDDOOR
DOOR
ID
2
DEST 204
OUTLINE 468,123 512,56
512,318 472,253
LOC
491,187
ENDDOOR
SPOT
ID
3
OUTLINE 255,340 284,342 289,368
255,369
LOC
270,354
SCRIPT
ON
ENTER {
CLEARPROPS
{ "Devil Horns" } { "Steer Horns" } 4 RANDOM IFELSE
DONPROP
{
"cig" } { "pitchfork" } 3 RANDOM IFELSE
DONPROP
0
SETCOLOR
1
SETFACE
}
ENDSCRIPT
ENDSPOT
DOOR
ID
4
DEST 103
OUTLINE 0,0 512,0
512,46 0,49
LOC
256,23
ENDDOOR
ENDROOM
ROOM
ID 700
NAME "The Beach"
PICT
"Beach.gif"
ARTIST "Jim Bumgardner"
DOOR
ID
1
DEST 250
OUTLINE 0,339 512,342
512,384 0,384
LOC
256,362
ENDDOOR
ENDROOM
ROOM
ID 800
NAME "Nrutas"
PICT
"Nrutas.gif"
DOOR
ID 1
DEST
160
OUTLINE 0,353 510,353 511,384
0,384
LOC
255,368
ENDDOOR
ENDROOM
ROOM
ID 106
NAME "Game Room"
PICT
"GameRoom.gif"
ARTIST "Damon Williams"
DOOR
ID
1
DEST 101
OUTLINE 0,0
LOC
0,0
ENDDOOR
DOOR
ID 2
DEST
102
OUTLINE 153,93 206,94 207,188
162,193
LOC
182,142
ENDDOOR
DOOR
ID
3
DEST 104
OUTLINE 390,96 446,95
438,251 383,250
LOC
414,173
ENDDOOR
DOOR
ID
4
DEST 250
OUTLINE 264,86 341,85
339,157 262,145
LOC
301,118
ENDDOOR
DOOR
ID
5
DEST 107
OUTLINE 163,268 278,249
334,270 207,299
LOC
245,271
ENDDOOR
DOOR
ID
6
DEST 101
OUTLINE 0,0 45,1
42,382 0,382
LOC
21,191
ENDDOOR
ENDROOM
ROOM
ID 777
NAME "Heaven's Gate"
PICT
"Heaven.gif"
ARTIST "Elaine Alderette"
DOOR
ID
1
DEST 103
OUTLINE 0,357 509,357
512,384 0,384
LOC
255,370
ENDDOOR
SPOT
ID
2
OUTLINE 35,35 96,35 94,76
34,77
LOC
64,55
SCRIPT
ON
ENTER { CLEARPROPS "Halo" DONPROP 8 SETCOLOR
}
ENDSCRIPT
ENDSPOT
SPOT
ID
3
OUTLINE 387,24 444,21 437,57
390,51
LOC
414,38
SCRIPT
ON
SELECT { "palace:192.187.228.30" NETGOTO
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID 205
PRIVATE
NAME "Honeymoon
Suite"
PICT "Vegas.gif"
ARTIST "Elaine
Alderette"
PICTURE ID 100 NAME "VegasDor.gif"
ENDPICTURE
PICTURE ID 101 NAME "VegasBed.gif"
ENDPICTURE
PICTURE ID 200 NAME "VegasTV1.gif"
ENDPICTURE
DOOR
LOCKABLE
ID
100
DEST 200
OUTLINE 335,152 390,146
388,264 334,252
LOC 361,203
PICTS 0,0,0
100,-33,2 ENDPICTS
ENDSPOT
BOLT
ID
10
DONTMOVEHERE
DEST 100
OUTLINE
281,190 299,190 299,215 281,215
LOC
290,202
ENDBOLT
BOLT
ID
20
DONTMOVEHERE
DEST 100
OUTLINE
374,193 387,191 389,212 374,210
LOC
381,201
ENDBOLT
SPOT
ID
200
DONTMOVEHERE
OUTLINE 136,40
134,177 253,172 252,89
LOC
193,119
PICTS 101,36,39 0,0,0
ENDPICTS
SCRIPT
ON
ENTER
{ 120 ME SETALARM
}
ON
ALARM
{ ME GETSPOTSTATE NOT ME
SETSPOTSTATELOCAL
120
ME SETALARM
}
ENDSCRIPT
ENDSPOT
SPOT
ID
666
DONTMOVEHERE
DEST 106
OUTLINE
419,125 454,100 460,167 427,183
LOC
440,143
PICTS 0,0,0 200,-1,4
ENDPICTS
SCRIPT
ON
ALARM { 1 ME SETSPOTSTATELOCAL 0 ME SETSPOTSTATELOCAL
600 RANDOM ME
SETALARM }
ON ENTER { 600
RANDOM ME SETALARM
}
ENDSCRIPT
ENDSPOT
SPOT
ID
6
OUTLINE 185,232 294,218 329,238
259,244
LOC 266,233
SCRIPT
ON
ALARM
{
VTIME GLOBAL
VSTATE
GLOBAL
{
{ 0 -1 MOVE } 6
INSPOT IF
2 6
SETALARM
1 VSTATE =
}
{
{ 0 1
MOVE } 6 INSPOT IF
VTIME 1 +
VTIME =
{ 2 6 SETALARM }{ 0 VTIME
= }
VTIME 20 < IFELSE
0
VSTATE =
} VSTATE 0 ==
IFELSE
}
ENDSCRIPT
ENDSPOT
SPOT
ID
7
DONTMOVEHERE
OUTLINE 115,215 151,216
158,234 121,238
LOC
136,225
SCRIPT
ON SELECT { 0 6 SETALARM
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID
108
PRIVATE
NOPAINTING
NOCYBORGS
NAME "Chess
Table"
PICT "ChessBrd.gif"
ARTIST "Damon
Williams"
PICTURE ID 100 NAME "CHESSHLP.gif"
ENDPICTURE
PICTURE ID 200 NAME "CHESSLCK.gif"
ENDPICTURE
PICTURE ID 201 NAME "CHESSUNL.gif"
ENDPICTURE
DOOR
ID 1
DEST
105
OUTLINE 0,369 512,369 512,384
0,384
LOC
256,376
ENDDOOR
DOOR
ID
2
DEST 105
OUTLINE 0,0 512,0
512,20 0,22
LOC
256,10
ENDDOOR
DOOR
LOCKABLE
ID
3
DEST 105
OUTLINE 0,0 32,0
31,21 0,21
LOC
15,10
ENDSPOT
SPOT
ID
10
DONTMOVEHERE
DEST 3
OUTLINE
18,31 50,31 50,63 18,63
LOC
34,47
PICTS 201,0,0 200,0,0
ENDPICTS
SCRIPT
ON
SELECT
{
{ 0 10
SETSPOTSTATE DEST UNLOCK
}
{ 1 10
SETSPOTSTATE DEST LOCK } DEST ISLOCKED
IFELSE
}
ON
ENTER
{
DEST
ISLOCKED 10 SETSPOTSTATE
}
ENDSCRIPT
ENDSPOT
SPOT
ID
20
DONTMOVEHERE
OUTLINE 16,324 48,324
48,356 16,356
LOC 32,340
PICTS 100,0,0
ENDPICTS
SCRIPT
ON
SELECT
{
"@32,340 Say <<start
chess>> to play chess,
"
"<<start
checkers>> to play checkers, "
+
"<<clear>> to
clear the board" +
ROOMMSG
}
ON
OUTCHAT
{
{
CLEARLOOSEPROPS
"BR" 88 26 ADDLOOSEPROP "BR" 380 26
ADDLOOSEPROP
"BN" 133 26 ADDLOOSEPROP "BN" 338 26
ADDLOOSEPROP
"BB" 172 26 ADDLOOSEPROP "BB" 296 26
ADDLOOSEPROP
"BQ" 212 26 ADDLOOSEPROP "BK" 256 26
ADDLOOSEPROP
"BP" 88 67 ADDLOOSEPROP "BP" 131 67
ADDLOOSEPROP
"BP" 172 67 ADDLOOSEPROP "BP" 214 67
ADDLOOSEPROP
"BP" 259 67 ADDLOOSEPROP "BP" 298 67
ADDLOOSEPROP
"BP" 340 67 ADDLOOSEPROP "BP" 383 67
ADDLOOSEPROP
"WR" 84 312 ADDLOOSEPROP "WR" 380 312
ADDLOOSEPROP
"WN" 127 312 ADDLOOSEPROP "WN" 338 312
ADDLOOSEPROP
"WB" 172 312 ADDLOOSEPROP "WB" 298 312
ADDLOOSEPROP
"WQ" 212 312 ADDLOOSEPROP "WK" 256 312
ADDLOOSEPROP
"WP" 85 270 ADDLOOSEPROP "WP" 129 270
ADDLOOSEPROP
"WP" 172 270 ADDLOOSEPROP "WP" 214 270
ADDLOOSEPROP
"WP" 259 270 ADDLOOSEPROP "WP" 298 270
ADDLOOSEPROP
"WP" 340 270 ADDLOOSEPROP "WP" 383 270
ADDLOOSEPROP
} CHATSTR "start chess" ==
IF
{
CLEARLOOSEPROPS
"CheckerR" 88 312 ADDLOOSEPROP "CheckerR" 172 312
ADDLOOSEPROP
"CheckerR" 256 312 ADDLOOSEPROP "CheckerR" 338 312
ADDLOOSEPROP
"CheckerR" 133 270 ADDLOOSEPROP "CheckerR" 212 270
ADDLOOSEPROP
"CheckerR" 296 270 ADDLOOSEPROP "CheckerR" 380 270
ADDLOOSEPROP
"CheckerR" 88 228 ADDLOOSEPROP "CheckerR" 172 228
ADDLOOSEPROP
"CheckerR" 256 228 ADDLOOSEPROP "CheckerR" 338 228
ADDLOOSEPROP
"CheckerB" 133 26 ADDLOOSEPROP "CheckerB" 212 26
ADDLOOSEPROP
"CheckerB" 296 26 ADDLOOSEPROP "CheckerB" 380 26
ADDLOOSEPROP
"CheckerB" 88 68 ADDLOOSEPROP "CheckerB" 172 68
ADDLOOSEPROP
"CheckerB" 256 68 ADDLOOSEPROP "CheckerB" 338 68
ADDLOOSEPROP
"CheckerB" 133 110 ADDLOOSEPROP "CheckerB" 212 110
ADDLOOSEPROP
"CheckerB" 296 110 ADDLOOSEPROP "CheckerB" 380 110
ADDLOOSEPROP
"CheckerRK" 460 68 ADDLOOSEPROP "CheckerBK" 460 270
ADDLOOSEPROP
} CHATSTR "start checkers" ==
IF
{
CLEARLOOSEPROPS } CHATSTR "clear" ==
IF
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID
109
PRIVATE
NOPAINTING
NOCYBORGS
NAME "Chess
Table 2"
PICT "ChessBrd.gif"
ARTIST "Damon
Williams"
PICTURE ID 100 NAME "CHESSHLP.gif"
ENDPICTURE
PICTURE ID 200 NAME "CHESSLCK.gif"
ENDPICTURE
PICTURE ID 201 NAME "CHESSUNL.gif"
ENDPICTURE
DOOR
ID 1
DEST
105
OUTLINE 0,369 512,369 512,384
0,384
LOC
256,376
ENDDOOR
DOOR
ID
2
DEST 105
OUTLINE 0,0 512,0
512,22 0,22
LOC
256,11
ENDDOOR
DOOR
LOCKABLE
ID
3
DEST 105
OUTLINE 0,0 32,0
31,21 0,21
LOC
15,10
ENDSPOT
SPOT
ID
10
DONTMOVEHERE
DEST 3
OUTLINE
18,31 50,31 50,63 18,63
LOC
34,47
PICTS 201,0,0 200,0,0
ENDPICTS
SCRIPT
ON
SELECT {
{
0 10 SETSPOTSTATE DEST UNLOCK
}
{ 1 10
SETSPOTSTATE DEST LOCK } DEST ISLOCKED
IFELSE
}
ON ENTER { DEST ISLOCKED 10
SETSPOTSTATE
}
ENDSCRIPT
ENDSPOT
SPOT
ID
20
DONTMOVEHERE
OUTLINE 16,324 48,324
48,356 16,356
LOC 32,340
PICTS 100,0,0
ENDPICTS
SCRIPT
ON
SELECT
{
"@32,340
Say <<start chess>> to play chess,
"
"<<start checkers>> to play checkers, "
+
"<<clear>> to clear the board"
+
ROOMMSG
}
ON
OUTCHAT
{
{
CLEARLOOSEPROPS
"BR" 88 26 ADDLOOSEPROP "BR" 380 26
ADDLOOSEPROP
"BN" 133 26 ADDLOOSEPROP "BN" 338 26
ADDLOOSEPROP
"BB" 172 26 ADDLOOSEPROP "BB" 296 26
ADDLOOSEPROP
"BQ" 212 26 ADDLOOSEPROP "BK" 256 26
ADDLOOSEPROP
"BP" 88 67 ADDLOOSEPROP "BP" 131 67
ADDLOOSEPROP
"BP" 172 67 ADDLOOSEPROP "BP" 214 67
ADDLOOSEPROP
"BP" 259 67 ADDLOOSEPROP "BP" 298 67
ADDLOOSEPROP
"BP" 340 67 ADDLOOSEPROP "BP" 383 67
ADDLOOSEPROP
"WR" 84 312 ADDLOOSEPROP "WR" 380 312
ADDLOOSEPROP
"WN" 127 312 ADDLOOSEPROP "WN" 338 312
ADDLOOSEPROP
"WB" 172 312 ADDLOOSEPROP "WB" 298 312
ADDLOOSEPROP
"WQ" 212 312 ADDLOOSEPROP "WK" 256 312
ADDLOOSEPROP
"WP" 85 270 ADDLOOSEPROP "WP" 129 270
ADDLOOSEPROP
"WP" 172 270 ADDLOOSEPROP "WP" 214 270
ADDLOOSEPROP
"WP" 259 270 ADDLOOSEPROP "WP" 298 270
ADDLOOSEPROP
"WP" 340 270 ADDLOOSEPROP "WP" 383 270
ADDLOOSEPROP
} CHATSTR "start chess" ==
IF
{
CLEARLOOSEPROPS
"CheckerR" 88 312 ADDLOOSEPROP "CheckerR" 172 312
ADDLOOSEPROP
"CheckerR" 256 312 ADDLOOSEPROP "CheckerR" 338 312
ADDLOOSEPROP
"CheckerR" 133 270 ADDLOOSEPROP "CheckerR" 212 270
ADDLOOSEPROP
"CheckerR" 296 270 ADDLOOSEPROP "CheckerR" 380 270
ADDLOOSEPROP
"CheckerR" 88 228 ADDLOOSEPROP "CheckerR" 172 228
ADDLOOSEPROP
"CheckerR" 256 228 ADDLOOSEPROP "CheckerR" 338 228
ADDLOOSEPROP
"CheckerB" 133 26 ADDLOOSEPROP "CheckerB" 212 26
ADDLOOSEPROP
"CheckerB" 296 26 ADDLOOSEPROP "CheckerB" 380 26
ADDLOOSEPROP
"CheckerB" 88 68 ADDLOOSEPROP "CheckerB" 172 68
ADDLOOSEPROP
"CheckerB" 256 68 ADDLOOSEPROP "CheckerB" 338 68
ADDLOOSEPROP
"CheckerB" 133 110 ADDLOOSEPROP "CheckerB" 212 110
ADDLOOSEPROP
"CheckerB" 296 110 ADDLOOSEPROP "CheckerB" 380 110
ADDLOOSEPROP
"CheckerRK" 460 68 ADDLOOSEPROP "CheckerBK" 460 270
ADDLOOSEPROP
} CHATSTR "start checkers" ==
IF
{
CLEARLOOSEPROPS } CHATSTR "clear" ==
IF
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID
107
NOPAINTING
NOCYBORGS
NAME "Backgammon
Table"
PICT "BGMN.gif"
ARTIST "Damon
Williams"
PICTURE ID 101 NAME "Dice1.gif" ENDPICTURE
PICTURE
ID 102 NAME "Dice2.gif" ENDPICTURE
PICTURE ID 103 NAME "Dice3.gif"
ENDPICTURE
PICTURE ID 104 NAME "Dice4.gif" ENDPICTURE
PICTURE
ID 105 NAME "Dice5.gif" ENDPICTURE
PICTURE ID 106 NAME "Dice6.gif"
ENDPICTURE
DOOR
LOCKABLE
ID
1
DEST 106
OUTLINE 0,360 512,360
512,384 0,384
LOC
256,372
ENDSPOT
DOOR
LOCKABLE
ID
2
DEST 106
OUTLINE 0,0 512,0
512,17 0,16
LOC
256,8
ENDSPOT
SPOT
ID
3
OUTLINE 8,298 41,298 42,332
8,332
LOC 24,315
SCRIPT
ON OUTCHAT
{
{
CLEARLOOSEPROPS
"Black Tile" 295 89 ADDLOOSEPROP
"Black Tile"
294 64 ADDLOOSEPROP
"Black Tile" 294 39 ADDLOOSEPROP
"Black Tile" 415 195
ADDLOOSEPROP
"Black Tile" 415 222 ADDLOOSEPROP
"Black Tile" 415 247
ADDLOOSEPROP
"Black Tile" 416 272 ADDLOOSEPROP
"Black Tile" 415 299
ADDLOOSEPROP
"Black Tile" 206 141 ADDLOOSEPROP
"Black Tile" 206 115
ADDLOOSEPROP
"Black Tile" 206 90 ADDLOOSEPROP
"Black Tile" 206 64
ADDLOOSEPROP
"Black Tile" 207 38 ADDLOOSEPROP
"Black Tile" 56 272
ADDLOOSEPROP
"Black Tile" 55 299 ADDLOOSEPROP
"Red Tile" 207 198
ADDLOOSEPROP
"Red Tile" 207 223 ADDLOOSEPROP
"Red Tile" 207 249
ADDLOOSEPROP
"Red Tile" 207 275 ADDLOOSEPROP
"Red Tile" 414 65
ADDLOOSEPROP
"Red Tile" 414 39 ADDLOOSEPROP
"Red Tile" 56 67
ADDLOOSEPROP
"Red Tile" 56 41 ADDLOOSEPROP
"Red Tile" 415 91
ADDLOOSEPROP
"Red Tile" 415 116 ADDLOOSEPROP
"Red Tile" 415 141
ADDLOOSEPROP
"Red Tile" 293 301 ADDLOOSEPROP
"Red Tile" 293 275
ADDLOOSEPROP
"Red Tile" 293 247 ADDLOOSEPROP
"Red Tile" 207 300
ADDLOOSEPROP
} CHATSTR "start backgammon" == IF
{ CLEARLOOSEPROPS }
CHATSTR "clear" == IF
{ 6 RANDOM X =
6 RANDOM Y =
X 100
SETSPOTSTATE
Y 101 SETSPOTSTATE
X 1 + X =
Y 1 + Y
=
"@0,10 Dice Roll: " X ITOA + " + " + Y ITOA + ROOMMSG
}
CHATSTR "dice" ==
IF
}
ENDSCRIPT
ENDSPOT
SPOT
ID
100
OUTLINE 80,170 80,210 120,210
120,170
LOC 100,190
PICTS 101,0,0 102,0,0 103,0,0
104,0,0 105,0,0 106,0,0
ENDPICTS
ENDSPOT
SPOT
ID
101
OUTLINE 130,170 130,210 170,210
170,170
LOC 150,190
PICTS 101,0,0 102,0,0 103,0,0
104,0,0 105,0,0 106,0,0
ENDPICTS
ENDSPOT
SPOT
ID
6
DONTMOVEHERE
OUTLINE 79,170 176,171
176,211 78,210
LOC 127,190
SCRIPT
ON
SELECT {
6 RANDOM X =
6 RANDOM Y =
X 100
SETSPOTSTATE
Y 101 SETSPOTSTATE
X 1 + X =
Y 1 + Y
=
"@0,10 Dice Roll: " X ITOA + " + " + Y ITOA +
ROOMMSG
}
ENDSCRIPT
ENDSPOT
ENDROOM
ROOM
ID 206
NAME "Grand Central"
PICT
"GCENTRAL.gif"
ARTIST "Kevin Tudish"
DOOR
ID
1
DEST 200
OUTLINE 0,339 512,340
512,384 0,384
LOC
256,361
ENDDOOR
DOOR
ID
2
DEST 207
OUTLINE 383,30 487,20
466,235 372,211
LOC
427,124
ENDDOOR
ENDROOM
ROOM
ID 151
NOPAINTING
NAME "Court
Room 151"
PICT "Court.gif"
ARTIST "Damon/Moyer
Williams"
DOOR
ID 1
DEST
150
OUTLINE 115,62 169,67 168,176
118,164
LOC
142,117
ENDDOOR
ENDROOM
ROOM
ID
207
PRIVATE
NOPAINTING
NAME "The
Lounge"
PICT "Lounge.gif"
ARTIST "Elaine
Alderette"
DOOR
ID 1
DEST
200
OUTLINE 356,143 445,142 445,194
355,195
LOC
400,168
ENDDOOR
DOOR
ID
2
DEST 206
OUTLINE 128,96 159,110
167,264 133,269
LOC
146,184
ENDDOOR
SPOT
ID
3
OUTLINE 199,42 253,42 249,83
209,81
LOC 227,62
SCRIPT
ON
SELECT
{
lev1 GLOBAL
{ 0
lev1 = }
{ 50 lev1 = } lev1
IFELSE
lev1
DIMROOM
}
ENDSCRIPT
ENDSPOT
DOOR
ID
4
DEST 87
OUTLINE 225,227 249,229
248,249 229,248
LOC
237,238
ENDDOOR
ENDROOM
ROOM
ID 87
NAME "The Void"
PICT
"Spiral.gif"
ARTIST "Jim Bumgardner"
DOOR
ID
1
DEST 207
OUTLINE 0,0 507,2
509,36 0,34
LOC
254,18
ENDDOOR
SPOT
ID
2
DONTMOVEHERE
OUTLINE 2,18 510,20
512,382 1,381
LOC 256,200
SCRIPT
ON
SELECT {
POSX 256 + 2 / POSX + 2 / POSY 182 + 2 / POSY + 2 /
SETPOS
}
ENDSCRIPT
ENDSPOT
DOOR
ID
3
DEST 777
OUTLINE 231,168 281,172
281,214 229,210
LOC 255,191
SCRIPT
ON
ENTER {
"@256,182 Abandon Hope all ye who enter here" SAY
60
ME SETALARM
X GLOBAL
0 X =
}
ON ALARM {
X
GLOBAL
{ DEST GOTOROOM 1 X = } ME INSPOT X NOT AND IF
60 ME
SETALARM
}
ENDSCRIPT
ENDDOOR
ENDROOM
;<--------------------------This is
where you add all new scripts to the pat file. They MUST go before the
word END and
;after the word ENDROOM for the previous room. So, here is
where I paste in the trampoline
room
ROOM
ID 721
NAME "TrampolineRoom"
PICT
"trampoline.gif"
SPOT
ID
1
OUTLINE 48,76 406,43
484,183 123,218
LOC
251,122
SCRIPT
ON ENTER
{
"Welcome to the Trampoline!!" localmsg
"Excess Jumping (if you jump
constantly...) will get you killed from this
palace for flooding, because
when you constantly jump the other users
machines lock up preventing them
from even typing. Thanks for your
cooperation." localmsg
}
ON
SELECT {
[ 0 ] SETPROPS
"yes" sound
8 setface
0 i = { posx
posy 15 - setpos i ++ } { i 2 < } while
posx posy 12 - setpos
0 i = {
posx posy 10 - setpos i ++ } { i 3 < } while
posx posy 8 - setpos
posx
posy 7 - setpos
0 i = { posx posy 5 - setpos i ++ } { i 2 < }
while
posx posy 4 - setpos
posx posy 2 - setpos
1 setface
posx posy
2 + setpos
2 setface
0 i = { posx posy 2 + setpos i ++ } { i 2 < }
while
0 i = { posx posy 5 + setpos i ++ } { i 3 < } while
posx posy 7 +
setpos
posx posy 8 + setpos
0 i = { posx posy 10 + setpos i ++ } { i 2
< } while
posx posy 12 + setpos
0 i = { posx posy 15 + setpos i ++ } {
i 2 < } while
{1 setface} 5 alarmexec
{16 random setcolor
")pop
Cooool!!" say} 25 alarmexec
{1 setface} 30
alarmexec
}
ENDSCRIPT
ENDSPOT
ENDROOM
END
Now, the Trampoline room
has been added. There are some things you need to do to prep before you
add a script to your pat file. You need to make sure that there are no
other rooms in the pat file with the same room id as the room you are about to
add. The easiest way to do that is to go into your palace first, and make
a new room. Pay attention to the room id and delete it. Now change
this line in the new room you are about to add:
ID 721
Make 721 whatever room id you just
found out could be added to your palace and you are ensured of no duplicate room
ids this way. |