-
Notifications
You must be signed in to change notification settings - Fork 13
RTS Level Commands
RTS contains many commands for interacting with the current level. You can move sectors, change the lighting, modify the textures on walls and floors, and even play sounds.
COMMAND | ARGUMENTS | DESCRIPTION | DETAILS |
---|---|---|---|
ACTIVATE_LINETYPE | <type> <sector tag> | Use this to activate a line effect that is tagged to a sector, just as if the player had walked over (or pushed) a linedef with the same type and tag numbers. | <type> is the type number from LINES.DDF.
<sector tag> is the tag number you give a sector in your map editor. This is most useful for triggering multiple line types with one trigger, using multiple ACTIVATE_LINETYPE commands in the script. |
CHANGE_MUSIC | <music number> | When this is triggered, the music changes in the game, just like using IDMUS ##. | <music number> references a music entry number from PLAYLIST.DDF.
Useful for triggering music changes for special events, like action music for a fight area (same way Unreal handled music). |
CHANGE_TEX | <surface> <tex> <tag> | Use this to change textures. | <surface> is what surface we want to change.
Allowed values are:
<text> is the texture or flat we want to assign (Note that in EDGE flats and textures are interchangeable). <map tag> is the line or sector tag in your map editor. Useful mostly for special events, like making the sky change from day to night, making a TV that is switched on or off (or shows different programs), special animations, etc. Also, you can only change one surface texture at a time. For example, if you want to change an entire right side of a wall (upper/middle/lower), you must use three different entries. Same if you want to change the ceiling and floor, you'll need to use two seperate entries. |
FOG_SECTOR | <tag> <fog colour> <fog density> <ABSOLUTE> | Use this to change the fog level of a sector (or multiple sectors, if they share the same tag). | <tag> is the sector tag in your map editor.
<fog colour> references a colormap entry in COLMAP.DDF. Can also be set to SAME (preserves the existing value) or CLEAR (sets it to the default (no fog) values). <fog density> is the amount to add to the current level. Use a positive number to raise the fog level, and a negative number to lower it. The maximum is 100%, the minimum is -100%. Can also be set to SAME (preserves the existing value) or CLEAR (sets it to the default (no fog) values). <ABSOLUTE> if used means the amount will be set to the current level, not added to the current level. You can use this command multiple times, for example to change the fog level of multiple sectors in a single script. You could also combine it with TAGGED_REPEATABLE for a gradual fog change instead of an instant change to the desired level (obviously this won't work with ABSOLUTE). |
LIGHT_SECTOR | <tag> <light change> | Use this to change the light level of a sector (or multiple sectors, if they share the same tag). | <tag> is the sector tag in your map editor.
<light change> is the amount to add to the current level. Use a positive number to raise the light level, and a negative number to lower it. The maximum is 255, the minimum is -255. You can use this command multiple times, for example to change the light level of multiple sectors in a single script. You could also combine it with TAGGED_REPEATABLE for a faded light change instead of an instant change to the desired level. |
MOVE_SECTOR | <tag> <change> <surface> | Use this to move the floor or ceiling of a sector (or multiple sectors, if they share the same tag). | <tag> is the sector tag in your map editor.
<change> is how far the sector is to move. Use a positive number to raise, and a negative number to lower. <surface> specifies whether you want to move the floor or the ceiling. Possible values are:
You can use MOVE_SECTOR multiple times, for example to raise or lower the floor and ceiling of a sector at the same time. Combine a small <height change> with TAGGED_REPEATABLE for a gradual movement (like a door or platform), instead of an instant movement to the specified height. |
UNBLOCK_LINES | <line tag> | All lines on the map with the same tag will be unblocked, allowing players and monsters to pass. Only affects two-sided lines. | <line tag> is the line tag in your map editor. |
BLOCK_LINES | <line tag> | Almost the same as UNBLOCK_LINES except that all lines on the map
with the same tag will be blocked, and will NOT allow players
and monsters to pass. Only affects two-sided lines. NOTE: Any things (including the player) touching the line will get permanently stuck. Use with care! |
<line tag> is the line tag in your map editor. |
PLAY_MOVIE | <movie name> | Play a movie | <movie name> references a lump in a wad or file in a packfile |
PLAY_SOUND | <sound name> [X] [Y] [Z] | Play a sound and (optionally) define the location from where the sound will come. | <sound> references a sound name from SOUNDS.DDF.
It's best to use your map editor to determine the exact points for the [X] and [Y] values you want (most map editors show the grid location in real time). NOTE: if you define [X] then obviously [Y] is required. The optional [Z] value is to create a sound in the air for example. If you use [Z] then both [X] and [Y] are required. When the coordinates are omitted, the sound will be played at the origin of the trigger. |
PLAY_SOUND_BOSSMAN | <sound name> [X] [Y] [Z] | Play a sound at max volume
throughout the entire level. |
<sound> references a sound name from SOUNDS.DDF. EDGE Classic 1.35.1 or Higher: sfx location is set on player |
SKILL | <skill> <respawn> <fast> | Use this to change the skill setting in mid-game. This won't have much effect until the next level is loaded. | <skill> is a number from 1 to 5, as follows:
<respawn> monsters. It is either TRUE or FALSE. <fast> mosters. It is either TRUE or FALSE. For Skill 5 (Nightmare), you should also set <respawn monsters> and <fast monsters> to TRUE. The main usage for this command is to make a skill selection level like in Quake 1. |
GOTO_MAP | <Map Name> [options] | This causes the level to end when triggered, but goes to the next level entered as <Map Name> instead of the one defined in LEVELS.DDF. | <Map Name> is the same as the lump name, for example e#m#
for DOOM1, and map## for DOOM2.
[options] At the moment the only value allowed is SKIP_ALL. If used this allows you to HIDE the level's PreText, EndText and Intermission screens which you would normally see when you finish a level. SKIP_ALL is useful when you are using GOTO_MAP to "punish a player" and make him repeat the same map. In this case you don't want to see the map's PRETEXT screen again. |
EXIT_LEVEL | [delay] | This causes the level to end. | [delay] is an optional time value indicating how long before the level exits after this trigger is activated (in either ticks or seconds). |
EXIT_GAME | Exits out of the map and back to the main title screen. EDGE Classic 1.35.1 or Higher |
This example will teleport the player to the sector with tag 4444 whenever he presses the USE button. (The target sector must also contain the teleport object, type 14, like you need for normal teleporter linedefs).
RADIUS_TRIGGER 0 0 -1
TAGGED_USE
TAGGED_INDEPENDENT
TAGGED_REPEATABLE
TIP "Prepare for teleport!" 2
WAIT 2
ACTIVATE_LINETYPE 97 4444
END_RADIUS_TRIGGER
Changing the music
START_MAP map01
RADIUS_TRIGGER 0 0 -1
TAGGED_USE
CHANGE_MUSIC 02
END_RADIUS_TRIGGER
END_MAP
This script will slowly darken the starting area on DOOM2's MAP08 (Tricks and Traps).
START_MAP map08
RADIUS_TRIGGER 0 0 -1
TAGGED_REPEATABLE 255 1T
LIGHT_SECTOR 8 -2<
END_RADIUS_TRIGGER
END_MAP
This script will slowly raise the starting area on DOOM2's MAP08 (Tricks and Traps).
START_MAP map08
RADIUS_TRIGGER 0 0 -1
TAGGED_REPEATABLE 64 1T
MOVE_SECTOR 8 1 floor
END_RADIUS_TRIGGER
END_MAP
RTS docs written by many contributors.