202 lines
6.5 KiB
Text
202 lines
6.5 KiB
Text
Overview
|
|
--------
|
|
The script file, associated with each layer file, is used for the
|
|
definition of virtual objects, those objects which are outside the influence
|
|
of other sprites. Only the player (or network player) can affect triggers
|
|
and wall switches. The script file is also used for the initialization of
|
|
sprites and elevators. Monsters should be defined with the script file
|
|
rather than placed in the map directly although both methods are valid.
|
|
Defining monsters in the script, however, allows for more options than
|
|
would normally be possible.
|
|
|
|
|
|
Definitions
|
|
-----------
|
|
zone: area effect defined by a rectanglar region of the map
|
|
|
|
sprite: monsters or objects that have hitpoints and the ability to move
|
|
|
|
trigger: pressure sensitive map locations
|
|
|
|
wall switch: player must press space bar while facing a switch texture
|
|
defined in the map editor.
|
|
|
|
event: a value (eval) is broadcast.
|
|
|
|
broadcast: all zones, elevators, and spawn events are activated if they
|
|
equal the event value being sent.
|
|
|
|
|
|
|
|
Syntax
|
|
------
|
|
keyword parameters
|
|
-------------- ----------------------------------------------------
|
|
activationzone x1 y1 x2 y2 eval removeable
|
|
mapzone x1 y1 x2 y2 eval endeval layer mval mrate removeable
|
|
elevator x y eval endeval etype upper lower speed
|
|
sprite x y stype ceval def1 def2
|
|
spawn x y eval stype ceval def1 def2 removeable
|
|
areatrigger x1 y1 x2 y2 eval
|
|
trigger x y eval
|
|
wallswitch x y eval
|
|
primary pnum val total psprite
|
|
secondary snum val total psprite
|
|
bonustime time
|
|
levelscore val
|
|
spawntrigger x y eval teval removeable
|
|
spawnsound x y eval snum removeable
|
|
spawnfli eval fn
|
|
spawnelevator x y eval etype upper lower speed
|
|
forceload name n
|
|
|
|
|
|
Description
|
|
-----------
|
|
activationzone wakes up sprites in the zone
|
|
mapzone changes the map
|
|
elevator spawns an elevator
|
|
sprite spawns sprite at begginning
|
|
spawn spawns a sprite at event
|
|
areatrigger creates triggers in an area (quicker than a
|
|
billion triggers)
|
|
trigger pressure sensitive floor tile
|
|
wallswitch must have a switch texure
|
|
primary primary goal information
|
|
secondary secondary goal information
|
|
bonustime time for bonus items to respawn
|
|
levelscore score to complete the level
|
|
spawntrigger spawns a trigger at event
|
|
spawnsound spawns sound effect at event
|
|
spawnfli plays a fli file
|
|
spawnelevator creates an elevator but doesn't activate it until eval
|
|
forceload force sprites for a monster to be loaded
|
|
|
|
|
|
Parameter Descriptions
|
|
----------------------
|
|
x1 : upper left corner x position (0..XMAX)
|
|
y1 : upper left corner y position (0..YMAX)
|
|
x2 : lower right corner x position (0..XMAX && x2>=x1)
|
|
y2 : lower right corner y position (0..YMAX && y2>=y1)
|
|
eval : event value to be broadcast or reacted upon (1..255)
|
|
removeable : if 0, erase after event, if 1, do not erase
|
|
endeval : event value to broadcast after completed action
|
|
layer : map layer (0..NUMLAYERS, see below)
|
|
mval : new map layer value (0..255)
|
|
mrate : rate to change from old value to new map value (1..255)
|
|
1=slowest, 255=instantaneous
|
|
etype : elevator type (0=start low, 1=start high)
|
|
upper : highest height value for elevator (0..255 && upper>lower)
|
|
lower : lowest height value for elevator (0..255)
|
|
speed : rate of change for elevator (1..255, default=4 currently)
|
|
stype : sprite number
|
|
ceval : event value that sprite broadcasts when it croaks (0..255, 0
|
|
is no broadcast)
|
|
def1 : lower difficulty value (0..MAXDIFF
|
|
def2 : upper difficulty value (0..MAXDIFF && def2>=def1)
|
|
sprite is spawned only if the current difficulty level is
|
|
between def1 & def2 inclusive.
|
|
x : x map location (0..XMAX)
|
|
y : y map location (0..YMAX)
|
|
pnum : primary item number (0,1)
|
|
snum : secondary item number (0..6)
|
|
psprite : indexed number of the sprite for the item
|
|
val : point value
|
|
total : total number of this secondary item
|
|
time : time in seconds (1..120)
|
|
teval : trigger's new value removeable
|
|
snum : sound effect number (see below)
|
|
fn : fli file number
|
|
name : lump name of sprite
|
|
n : number of frames to load
|
|
|
|
|
|
Examples & Possibilities
|
|
------------------------
|
|
1) sprite 1 50 0 23 0 0 3
|
|
sprite 1 50 0 24 0 4 5
|
|
means: a sprite with number 23 is spawned at location 1,50 at the beginning
|
|
(eval=0) if the difficulty level is between 0 and 3. a sprite with number
|
|
24 is spawned at 1,50 at the beginning if the difficulty is between 4 and
|
|
5.
|
|
|
|
|
|
Layers
|
|
------
|
|
NORTHWALL 0
|
|
NORTHFLAGS 1
|
|
WESTWALL 2
|
|
WESTFLAGS 3
|
|
FLOOR 4
|
|
FLOORFLAGS 5
|
|
CEILING 6
|
|
CEILINGFLAGS 7
|
|
FLOORHEIGHT 8
|
|
CEILINGHEIGHT 9
|
|
FLOORDEF 10
|
|
FLOORDEFFLAGS 11
|
|
CEILINGDEF 12
|
|
CEILINGDEFFLAGS 13
|
|
LIGHTS 14
|
|
EFFECTS 15
|
|
|
|
|
|
Sound Effects (subject to change!)
|
|
----------------------------------
|
|
SN_MON1_DIE 0
|
|
SN_MON3_WAKE 1
|
|
SN_MON3_FIRE 2
|
|
SN_MON3_DIE 3
|
|
SN_MON4_WAKE 4
|
|
SN_MON4_FIRE 5
|
|
SN_MON4_DIE 6
|
|
SN_MON5_WAKE 7
|
|
SN_MON5_FIRE 8
|
|
SN_MON5_DIE 9
|
|
SN_MON6_WAKE 10
|
|
SN_MON6_FIRE 11
|
|
SN_MON6_DIE 12
|
|
SN_MON7_WAKE 13
|
|
SN_MON7_FIRE 14
|
|
SN_MON7_DIE 15
|
|
SN_MONSTERBULLET1 16
|
|
SN_MONSTERBULLET2 17
|
|
SN_DOOR 18
|
|
SN_BULLET1 19
|
|
SN_BULLET3 20
|
|
SN_BULLET4 21
|
|
SN_BULLET5 22
|
|
SN_BULLET8 23
|
|
SN_BULLET9 24
|
|
SN_BULLET10 25
|
|
SN_BULLET12 26
|
|
SN_BULLET13 27
|
|
SN_EXPLODE1 28
|
|
SN_EXPLODE2 29
|
|
SN_PICKUP0 30
|
|
SN_PICKUP1 31
|
|
SN_PICKUP2 32
|
|
SN_PICKUP3 33
|
|
SN_PICKUP4 34
|
|
SN_HIT0 35
|
|
SN_HIT1 36
|
|
SN_HIT2 37
|
|
SN_HIT3 38
|
|
SN_HIT4 39
|
|
SN_DEATH0 40
|
|
SN_DEATH1 41
|
|
SN_DEATH2 42
|
|
SN_DEATH3 43
|
|
SN_DEATH4 44
|
|
SN_WEAPPICKUP0 45
|
|
SN_WEAPPICKUP1 46
|
|
SN_WEAPPICKUP2 47
|
|
SN_WEAPPICKUP3 48
|
|
SN_WEAPPICKUP4 49
|
|
SN_GRENADE 50
|
|
SN_TRIGGER 51
|
|
SN_NEXUS 52
|
|
|
|
|
|
|