Single Player end & change map trigger entity chain in RtCW

RtCW endmap trigger

The "Exit" trigger itself is another of several undocumented 'functions' and 'commands' that are hardwired into the game so the properties and setup is not explained nearly as well as with other entities, where such information is available.

The End ^

The "End map" trigger is the walk-able exit trigger at the end of a level, usually indicated by the appearance of the "Exit" sign (text) bottom-middle of the screen with a 'health bar' below - the player is usually able to walk a few paces before the current level exits and the next one loads.

Although this transition can be done via level script it is more often actioned through the use of game Entities with specific properties. The following explains what needs to be done to set-up the End or Change Level trigger event using entities and level script.

RtCW endmap trigger

Setting up the "endmap" trigger in GtkRadiant ( from "escape1" sample map)

To get this to work properly you need two trigger fields, one directly behind the other (when using an entity chain and not using a triggered script). The first is a func_inv_user with key/value pair of;

cursorhint / hint_exit

Targeted at the second one behind it (don't know if you need to do this atm). This trigger field sets the 'thickness' or the 'distance' into which a player can walk before hitting the 2nd trigger directly behind so you can make it a lot thicker... The second is a 'normal' trigger field; trigger_once, trigger_multiple or ai_trigger. This is the actual trigger that makes the call to change the map. Keep in mind it'll need a key/value of;

wait / [time value]

Otherwise it'll trigger once only and the player won't be able to get out of the map - in the case of missing an objective and going back for it on returning to exit the trigger will have been fired previously. This second trigger also needs to be the one that points to your 'changelevel' call in the script file

player
{
     spawn
     {
     }

     trigger endmap
     {
           changelevel mapname persistent
     }
}

Note the word 'endmap', this is very important as that's the 'hardwired' command which makes the exit trigger behave correctly - without it you don't see the exit 'health' indicator and the trigger itself won't work properly - you need to have 'endmap' as your script_trigger; once you've targeted the in game trigger field at this you'll find you have a nice blue health bar on walking into the exit trigger... (it goes red if an objective is still left incomplete). Done.

^