This article was recovered from an archive and needs to be reviewed
The formatting may be incorrect as it was automatically converted to WikiCode from HTML, it needs to be revised and reformatted.
Download exampleThis 'tutorial' (more of a list of entities) shows you how to create your very own domination map (as seen in Unreal Tournament). NOTE: you need to have reasonable background knowledge of entities, and how they work. This is not for the faint hearted! Are you sitting comfortably? Then I shall begin.
You need 2 'sets' of entities for each domination point (and a few other entities). Lets say one of the dom points was in the middle of your level, prefix all entity names to do with that dom point mid_ ; that way you can easily identify them. Also after the location prefix add a team model prefix. So your entities will have names like mid_barney_score, or mid_barney_mm. Create a
multimanager with the name mid_barney_mm. Make it target the following entities, with the delay shown (if no delay shown let it be 0);
mid_barney_on 1
mid_barney_master_on
mid_gman_mm_trigger_on
mid_gman_master_on
mid_barney_show
mid_barney_mm_trigger_off
mid_barney_gotDon't worry - they're not all this bad.
Create another
multimanager called mid_barney_on_start. Targetting the following; mid_barney_on, mid_barney_score.
Create a
multimanager called mid_barney_on, targeting only the entity mid_barney_on_start.
The reason that I didn't use a
trigger_relay for this is that, strangely HL crashes if it detects a targeting loop (of something like that anyway), this doesn't happen with 2
multimanager s.
Create a
multimanager with the name mid_barney_master_on_mm, targeting mid_barney_master_on and mid_barney_trigger_off
I will use the following format for the rest of the entities I use;
Entity_type - (explanation)
FLAG = (true = ticked)
Trigger_relay - mid_barney_master_on (this controls the state of the master)
Target = mid_barney_master
Delay before trigger = 0
Trigger state = toggle
Multisource - mid_barney_master (this is the master for the scoring system)
Game_score - mid_barney_score (this adds a point to the player that gets the point)
Points to add = 1
Master - mid_barney_masterEnv_render - mid_barney_show (this changes the dom point's colour)
Target = mid_show
Render FX = normal
Render mode = normal
FX amount = 0
FX colour = 255 0 0
FLAG No render FX = True
FLAG No renderamt = True
FLAG No rendermode = True
FLAG No rendercolour = FalseTrigger_changetarget - mid_barney_trigger_off
Target = mid_barney_trigger
Delay before trigger = 0
New target = blank (this can be anything, but not left empty, or the name of another entity)Now for the really hard to explain bit. The entities you have just created will work, but you need to add and change a few more to get a working dom point. First you need to duplicate the entities you have made. Then rename them, replacing places where you put barney with gman, and the ones where you put gman with barney (so u just swap the barney and gman parts around).
Trigger_changetarget - mid_gman_mm_trigger_on
Target = mid_gman_mm_trigger
Delay before trigger = 0
New target = mid_gman_mm
Trigger_changetarget - mid_gman_mm_trigger_off
Target = mid_gman_mm_trigger
Delay before trigger = 0
New target = blank (this can be anything - but do put something in here)
Trigger_changetarget - mid_barney_mm_trigger_on
Target = mid_barney_mm_trigger
Delay before trigger = 0
New target = mid_barney_mm
Trigger_changetarget - mid_barney_mm_trigger_off
Target = mid_barney_mm_trigger
Delay before trigger = 0
New target = blank (this can be anything - but do put something in here)Those 4 entities make sure that a dom point controlled by a gman can't be controlled by another gman by walking over it. Basically it stops team squabling over who gets the points for controlling a dom point.
Game_text - mid_gman_got
Message text = The gmen got the mid point (or words to that effect)
Text effect = fade in/fade out (could be anything you want really)
Colour 1 = 0 64 128
Colour 2 = 0 64 128
Fade in time = 1
Fade out time = 0.5
Hold time = 0.25
Text channel = Channel 1
FLAG All players = true
Game_text - mid_barney_got
Message text = The barneys got the mid point (or words to that effect)
Text effect = fade in/fade out (could be anything you want really)
Colour 1 = 255 0 0
Colour 2 = 255 0 0
Fade in time = 1
Fade out time = 0.5
Hold time = 0.25
Text channel = Channel 1
FLAG All players = trueA quick note about the text channel: if you have 2 text messages played at the same time on the same channel, HL crashes. So for each dom point you have you should have the 2 game_texts at a different channel (since 2 or more dom points may be captured at the same time) This limits the number of dom points to the number of channels (4). You could of course build in a delay using multisources and relays... but I won't go into that.
Now you have all the 'hidden' entities, now you have to make some brushed based ones.
OK, decide where your dom point is positioned, then put a this block for the player to stand on (symbolizing a capture), using almost any texture (as it won't be shown).
Func_illusionary - mid_show
Render FX - normal
Render mode - colour
FX amount = 255
FX colour = 255 255 255
Contents = emptyYou can have more of these of the same name, perhaps on a room with all the other dom point indicators so people can see which ones they don't control.
Now you need to create the entities that trigger the scoring...
Trigger_multiple - mid_barney_mm_trigger
Target - mid_barney_mm
Master - barneys
Sound style - no sound
Delay before trigger = 0
Delay before reset = 3
Trigger_once - mid_barney_master_on_mm
Target = mid_barney_master_on
Master = barneys
Sound style - no sound
Delay before trigger = 0
Trigger_multiple - mid_gman_mm_trigger
Target - mid_gman_mm
Master - gmen
Sound style - no sound
Delay before trigger = 0
Delay before reset = 3
Trigger_once - mid_gman_master_on_mm
Target = mid_gman_master_on
Master = gmen
Sound style - no sound
Delay before trigger = 0Now we are nearly there. Two more entities - the ones that set the teams.
Game_team_master - barneys
Delay before trigger = 0
Triggerstate = off
Team index = 0
Game_team_master - gmen
Delay before trigger = 0
Triggerstate = off
Team index = 1
Now the level properties.
Map team list = barney;gman
Default team = fewest playersSo far you have created one fully functioning dom point. Now you need to copy all of the entities (except the 2 game_team_master ones) for each dom point, replacing mid with a different prefix - e.g. north, or south.
There is a lot more stuff you can have, e.g. more teams, but this is just a starting point. Enjoy.
This article was originally published on
69th Vlatitude.
TWHL only archives articles from defunct websites. For more information on TWHL's archiving efforts, please visit the
TWHL Archiving Project page.