Vlatitude Archive: Making domination-style maps Last edited 5 years ago2019-04-25 02:41:26 UTC

You are viewing an older revision of this wiki page. The current revision may be more detailed and up-to-date. Click here to see the current revision of this page.

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 example

This '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_got


Don'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_master


Env_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 = False


Trigger_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 = true


A 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 = empty


You 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 = 0


Now 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 players


So 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.

Comments

You must log in to post a comment. You can login or register a new account.