[Resource] mpl_ game type setups / coding

Oct 6, 2008
1,965
450
Hi,

Setting up a place holder for this thread (from work) since my home computer is sort of in pieces and needs a complete reinstall of the OS to fix the constant crahes and lock ups I have been getting recently :sneaky2:

What this tutorial will contain.

1. VMF(x2), working BSP(x2) of the mpl_ format, resource files you can copy over and work with. 1 will be for snyc'd final payload and the other non sync'd (see B below)
2. Instructions in how to do it since it is fairly complicated to set up.
3. Updates as I continue my experimentation with this new format.

That being said, with my current version of the game mode, here are the known bugs:

A] Since it's modified payload race coding - one cart will have the red glow - no current fix as it's hard coded into the entity formats - I'm currently working (well once my PC is back up) on trying to use multiple pl_ train watchers and modifying the HUD Positions for each so that I can have all payloads have the blue hue.

B] Duplicate voice warnings on approaching final Cap point on the sync'd final game mode - this happens because the warning system is still watching both carts. If you are pushing the final carts to victory separately - then you will still get the announcement for each cart as it approaches the final cap - you may get the duplicate warning at the same time or very close together depending on how closely the two carts are together.

C] The cart glow cannot be currently transferred over to a new final payload cart at the moment but I may have some new trickery coming up for it.
 
Last edited:
Oct 6, 2008
1,965
450
You can create chokes , modify spawn locations as needed to help red fight off those pesky blue fellas but by the same token, blue is face with what cart or route to take first - do we all push one cart or both at the same time and how far do we go with one before we start pushing the other one :)
 
Oct 6, 2008
1,965
450
Here are some of the fundamentals items of the map design with this game mode so you understand the craziness in advance for what you are doing.

The HUD

If sync’d ending style - the final payload uses route Path03 - both trains move along that same path to the final cap point, and once there, victory happens. If you wanted to ensure absolute syncing you could also use a conditional relay to activate the victory sequence.

If non-sync’d style - the final payloads - will travel along two different paths (hence the need for 4 carts) and when they get to the final cap you will have use a conditional relay to trigger victory to happen.

Now to clarify the above - when I mean sync’d, I’m talking about the HUD.

In the first, the payload will travel out of sync at the start - like it does in plr mode - and when it resets for the last cart push, it will then be sync’d on the HUD and as you push the cart BOTH HUD lines will travel at the same time an be in sync to its final destination.

In the second, the HUD will always be out of sync and will act independently like it does in plr hence the need for a final relay trigger for the victory thing.

Payload Routes

So far, I have been using the mirrored map method so all the path nodes have matched up and the route lengths are the exact same.

Sync’d method - I have not yet tried it yet - if you have chosen to do routes that are different route lengths - you may or may not get a proper sync for the third route, although this is unlikely since everything is snapping to point Path03 and then the final push is on. If anyone has definite results - please post them.

Un-sync’d - Since all carts will be taking different routes it doesn’t really matter on the length - what’s given to both the red and blue teams on the HUD is the progression status of where each cart is in terms of progression not location. Once Cart 1 & 2 reach their final destination, a trigger relay will activate carts 3 and 4 - you can start carts 3/4 off at the same starting location or somewhere totally different - it’s completely up to you - as for the end for continuity, the should end at the exact same spot or somewhere else entirely since a trigger relay will trigger victory - red and blue would again be advised of cart progression not necessarily cart location on the map.​

The Cap Points

All cap points will be controlled by the red team at the start of the round - blue has to cap them all. Most typical set up is 7 total but you can do 8 if needed - possibly more but haven’t tried since this format is break the traditional cap rules.

YOU CANNOT USE THE ONCAP CHANGE TEAM OWNERSHIP METHOD.

If you try to use the ownership method - your maps will always end in victory before your other carts have capped their points. You have to use onpass - HIDE the CAP Point thus giving it the appearance that the cap point has captured by the blue team. The red cap point hologram will disappear from view using this method. If you are doing a 4 point only capture type of game, then you can also add in an onpass unhide the blue cap point hologram - thus at the start of the round you would have 4 red points enabled and unhidden and 4 blue points enabled and hidden - set a delay of unhiding the blue blue one by 0.10 to make sure it always unhides after the red one disappears​

The relay_triggers (thanks to YM for this one)

Because you always have 2 carts in play at any given time (carts 1/2 and 3/4) you will most likely need something to happen when both carts have achieved some sort goal i.e when 1 cart reaches x disable it, when 2nd cart gets to Y, re-enable cart 1 and open door A. Thus:

Cart 1 - two conditions
- On pass path track x enable relay_x (fire once only - unless you want it to happen again if the cart goes backwards and then forwards again and the trigger needs to be refired)
- On pass path track x trigger relay_x

Cart 2 - two conditions
- On pass path track Y enable relay_x (fire once only - unless you want it to happen again if the cart goes backwards and then forwards again and the trigger needs to be refired)
- On pass path track Y trigger relay_x

Note that the two different carts are triggering the same relay. The relay can then do whatever it is you want it to do like open the door. If the cart rolled back you would then have another node with a relay to close the door and disable the relay the first so you can repeat it - beware - if one of the carts rolls back and the other is still being pushed ahead by blue and will probably never return to reactivate the door, then you have just broken your map and made it unplayable since the other cart can never progress passed the closed door.

The Path Tracks

3 path track routes (or 4 if you using non-sync’d finale method) with two path_tack nodes each - name them:

Path01_start (Cart 1 will start here) > Path01_end (main game play)
Path02_start (Cart 1 will start here) > Path02_end (main game play)
Path03_start (Cart 1 will start here) > Path03_end (used for the final push)
Path04_start (Cart 1 will start here) > Path04_end (used for the final push)*

* only needed for 4 carts in the non-sync’d style.

All your other nodes for triggers, cap points, etc. will go between these nodes​

The HUD Coding so you can see it properly in game

This part involves, modifying the HUD files and other resources outside of hammer right in the TF folders - you will have to pack the files into the map and then when you run it, you’ll see the changes in game.​

I’ll stop here for the moment until I get my home computer up and give you the other details but you will need to start out with this:

You might want to do all coding on a test map get it working there and then import the coding into your actual map
 
Last edited:
Oct 6, 2008
1,965
450

Tenn1502

L1: Registered
Jul 23, 2009
27
1
Is your desktop back up and running? I was hoping to find out when you would be able to help me get my map into working condition. Honestly the gametype you're proposing here seems quite a bit more complex then what I'm going for, so if you felt up to it you could download my map directly and get it all wired up.

Obviously if you managed to pull it off you would have co-creator status on my map. In my hands alone it's as good as scrapped, and considering the time I've put into it that would be a tragedy.

Let me know.
 
Oct 6, 2008
1,965
450
Is your desktop back up and running? I was hoping to find out when you would be able to help me get my map into working condition. Honestly the gametype you're proposing here seems quite a bit more complex then what I'm going for, so if you felt up to it you could download my map directly and get it all wired up.

Obviously if you managed to pull it off you would have co-creator status on my map. In my hands alone it's as good as scrapped, and considering the time I've put into it that would be a tragedy.

Let me know.

PC up and running - been extremely busy - today last day for rest of week that I can map - working on the vmfs/bsp's for these threads as I type - will hopefully have an add on shortly today.

Edit: I have one of the maps/vmf's good to go and the other is 90% done.
 
Last edited:
Oct 6, 2008
1,965
450
Ok, here’s the next instalment of this tutorial

I have the resource files for you here:

http://forums.tf2maps.net/downloads.php?do=file&id=6332

The zip contains both the working bsp and the vmf for sync’d and non-sync’d versions.

Again, this mpl_ game mode is still a work in progress and I may update this entire thread once I get a chance to play around with my multiple train watcher idea (but the 72 hour contest is just around the corner )

The following is broken down into two sections - common components (used by both) and the non-common items.

Here are the common components for both styles:

Triggers - these can be any independent item that can happen in the game - they can cause each cart to do DIFFERENT things if needed. i.e. Cart 1 would have to pass x to have the gate open for cart 2.

Trigger_relays - these ARE NOT independent - both carts will have to do something in order for it to happen i.e. If Cart 1 passes or reaches Node 1 AND Cart 2 passes or reaches Node 2 THEN - trigger the relay - the relay will then do whatever the trigger is set up for - i.e. Open the main door so that both cart can continue.

Text hints - you may want to use these a lot so that players who are not in battleground A know what’s happening in battleground B.

Let’s set up your entities (things like environment lights, sun, fog/water control are not included here -do what you like with those items) - for the mpl_ format you can:

A] Copy them over from my VMF
B] Do it from scratch

Note: you can always use Boojumsnark’s plr_ coding but you’ll end up deleting a lot of stuff and then have to recode which may take you longer 

You will need to reference the vmf files (I’ll add in the explanation as to what’s going on after them if it’s needed):

----------------------------------------

2 Team Train Watchers - here’s the setup (refer to the vmf then see here for explanation):

Trainwatcher_01
- note -
Team = red ALWAYS - this is hard coded into the game - removing it makes the hud disappear in game
no outputs
inputs should say standard stuff

Trainwatcher_02
Nothing new here
no outputs
inputs should say standard stuff

-------------------------

team_control_point_round
Name ROUND 1 - or it will not work - or at least your spawn points won't - wrong teams will spawn in the wrong rooms regardless of coding - look at the spawns also I think I also named them round 1 to help make sure they spawned right - also spawns MUST be off the floor or this too will cause them to spawn in the wrong room regardless of whether they are active or not.

Cap points - cp_blu_A cp_red_A
- note - these are for path 1 and 2 - DO NOT put in the others (i.e. Game end) these two end the first paths and force the resetting of the HUD that you see in game. It can also prematurely end your game as a win/loose. Of course for the non-sync's ending - you could put in more have cart's move point A/B have them stop, do your other payload movement, then once done reactivate them and have them go to the end and then trigger a victory
- no in/outputs/flags

-------------------------

team_control_point_master - standard set up
no in/outputs/flags

-------------------------

logic_auto - standard
- note - you must stop the cart (that drops the item into the pit) or it fires prematurely either ending your game (if you have it coded that way) or it just ruins your last animation sequence. Also note that you will be changing the parent of your payload prop enabling it to drop into the pit.

-------------------------

team_round_timer - standard set up
tf_logic_multiple_escort - standard set up
tf_gamerules - standard set up

-------------------------

game_round_win - needed to trigger win for the blue team - this is a must or game will just sit there in limbo doing nothing

------------------------

Logic cases / branches - I have no idea what these do (lol) - don't touch them

------------------------

filter_activator_class - standard
3 filter_activator_team - 1 red, 1 blue, 1 sspl_filter_players
________________

Other than that go through the coding on all the nodes and have fun with it ;)
 
Last edited:
Oct 6, 2008
1,965
450
Forgot to add in the information about making the custom HUD - Might add that in tonight
 
Oct 6, 2008
1,965
450
the HUD Coding

Ok – here it is the last part of this tutorial – How to modify the HUD for pl/plr maps.

Let’s start off with, unlike other game modes pl/plr HUDs do not have all of their information placed into a single file. You will need to extract the following files using GCFScape:

Note: you will need to keep these in the EXACT SAME ORDER ON YOUR LOCAL as you see them in GCFScape.

Go to TF Folder > select tf2_misc_dir.vpk < open in
Go to Materials Folder > Select HUD folder > extract all (you can delete unused later)
Go to Scripts Folder > Get files: hudanimations_manifest.txt, hudanimations_tf.txt, hudlayout.res

Go to Resource Folder – two items here

Resource > Clientscheme.res
Resource > ui folder > objectivestatusescort.res and objectivestatusmultipleescort.res

Got the files?

ONLY MODIFY – ONE ITEM AT A TIME AND THEN TEST IT

Open file objectivestatusescort you will see this code – make all the changes indicated (start with the home icon first – easiest to see working right or not) then pak the version and test it (you will end up having multiple versions of your map as you progress – name them hud-test-01, hud-test-02, etc until you are done:

"Resource/UI/ObjectiveStatusEscort.res"
{
"ObjectiveStatusEscort"
{
"ControlName" "EditablePanel"
"fieldName" "ObjectiveStatusEscort"
"xpos" "c-200"
"ypos" "r150"
"zpos" "1"
"wide" "400"
"tall" "150"
"visible" "1"
"enabled" "1"
"progress_xpos" "79"
"progress_wide" "270"

"if_multiple_trains"
{
"ypos" "r200"
"tall" "200"
}
}

"LevelBar"
{
"ControlName" "ImagePanel"
"fieldName" "LevelBar"
"xpos" "73"
"ypos" "123"
"zpos" "0"
"wide" "254"
"tall" "4"
"visible" "1"
"enabled" "1"
"labelText" ""
"image" "../hud/lh_cart_track" <<Note this matches the HUD Icon in the HUD ICONS FOLDER
"scaleImage" "1"

"if_multiple_trains"
{
"ypos" "114"
"zpos" "3"
"tall" "12"
"image" "../hud/lh_cart_track_neutral_opaque"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}

"if_single_with_hills"
{
"ypos" "116"
"ypos_minmode" "120"
"tall" "18"
"tall_minmode" "10"
"image" "../hud/lh_cart_track_neutral_opaque"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}
}

"ProgressBar"
{
"ControlName" "CTFHudEscortProgressBar"
"fieldName" "ProgressBar"
"xpos" "73"
"ypos" "123"
"zpos" "4"
"wide" "254"
"tall" "4"
"visible" "0"
"enabled" "1"
"scaleImage" "1"

"if_multiple_trains"
{
"ypos" "114"
"zpos" "6"
"tall" "12"
"visible" "1"
}
}

"HomeCPIcon"
{
"ControlName" "ImagePanel"
"fieldName" "HomeCPIcon"
"xpos" "59"
"xpos_minmode" "64"
"ypos" "111"
"ypos_minmode" "116"
"zpos" "1"
"wide" "28"
"wide_minmode" "18"
"tall" "28"
"tall_minmode" "18"
"autoResize" "0"
"pinCorner" "0"
"visible" "1"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/lh_cart_home_blue"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

"scaleImage" "1"

"if_team_red"
{
"image" "../hud/lh_cart_home_blue"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}

"if_single_with_hills_blue"
{
"image" "../hud/lh_cart_home_blue_opaque"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER
}

"if_single_with_hills_red"
{
"image" "../hud/lh_cart_home_blue_opaque"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER
}

"if_multiple_trains"
{
"xpos" "59"
"zpos" "5"
"wide" "14"
"tall" "14"
"image" "../hud/lh_cart_track_neutral_opaque"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}

"if_multiple_trains_top"
{
"ypos" "113"
}

"if_multiple_trains_bottom"
{
"ypos" "113"
}

"if_multiple_trains_red"
{
"image" "../hud/lh_cart_home_blue_square"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}

"if_multiple_trains_blue"
{
"image" "../hud/lh_cart_home_blue_square"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER
}
}

"SimpleControlPointTemplate"
{
"ControlName" "ImagePanel"
"fieldName" "SimpleControlPointTemplate"
"xpos" "60"
"xpos_minmode" "65"
"ypos" "111"
"ypos_minmode" "116"
"zpos" "1"
"wide" "28"
"wide_minmode" "18"
"tall" "28"
"tall_minmode" "18"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/lh_cart_point_neutral"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

"scaleImage" "1"

"if_multiple_trains"
{
"xpos" "61"
"ypos" "114"
"zpos" "5"
"wide" "12"
"tall" "12"
}
}

"EscortItemPanel"
{
"ControlName" "EditablePanel"
"fieldName" "EscortItemPanel"
"xpos" "0"
"ypos" "8"
"ypos_minmode" "48"
"zpos" "2"
"wide" "80"
"wide_minmode" "52"
"tall" "115"
"tall_minmode" "75"
"visible" "1"
"enabled" "1"

"if_multiple_trains"
{
"ypos" "48"
"zpos" "8"
"wide" "52"
"tall" "170"
}

"RecedeTime"
{
"ControlName" "CExLabel"
"fieldName" "RecedeTime"
"font" "HudFontSmallest"
"font_minmode" "ItemFontAttribSmall"
"xpos" "35"
"xpos_minmode" "23"
"ypos" "82"
"ypos_minmode" "53"
"zpos" "2"
"wide" "10"
"wide_minmode" "7"
"tall" "10"
"tall_minmode" "7"
"autoResize" "0"
"pinCorner" "0"
"visible" "1"
"enabled" "1"
"labelText" "%recede%"
"textAlignment" "center"
"dulltext" "0"
"brighttext" "0"

"if_multiple_trains"
{
"font" "ItemFontAttribSmall"
"xpos" "21"
"wide" "11"
"tall" "10"
}

"if_multiple_trains_top"
{
"ypos" "46"
}

"if_multiple_trains_bottom"
{
"ypos" "82"
}
}

"EscortItemImage"
{
"ControlName" "ImagePanel"
"fieldName" "EscortItemImage"
"xpos" "20"
"xpos_minmode" "13"
"ypos" "77"
"ypos_minmode" "50"
"zpos" "1"
"wide" "40"
"wide_minmode" "26"
"tall" "40"
"tall_minmode" "26"
"autoResize" "0"
"pinCorner" "0"
"visible" "1"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/lh_cart_neutral"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

"scaleImage" "1"

"if_team_blue"
{
"image" "../hud/lh_cart_blue"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}

"if_team_red"
{
"image" "../hud/lh_cart_blue"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}

"if_multiple_trains"
{
"xpos" "11"
"ypos" "43"
"wide" "30"
"tall" "30"
}
}

"EscortItemImageBottom"
{
"ControlName" "ImagePanel"
"fieldName" "EscortItemImageBottom"
"xpos" "20"
"ypos" "117"
"zpos" "1"
"wide" "40"
"tall" "40"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/lh_cart_neutral_bottom"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

"scaleImage" "1"

"if_team_blue"
{
"image" "../hud/lh_cart_blue_bottom"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER

}

"if_team_red"
{
"image" "../hud/lh_cart_blue_bottom"" <<Note this matches the HUD Icon in the HUD ICONS FOLDER
}

"if_multiple_trains"
{
"xpos" "11"
"ypos" "71"
"wide" "30"
"tall" "30"
}
}

"EscortItemImageAlert"
{
"ControlName" "ImagePanel"
"fieldName" "EscortItemImageAlert"
"xpos" "-4"
"ypos" "38"
"zpos" "0"
"wide" "60"
"tall" "30"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/cart_alert"
"scaleImage" "1"

"if_multiple_trains_bottom"
{
"xpos" "-5"
"ypos" "75"
}
}

"Speed_Backwards"
{
"ControlName" "ImagePanel"
"fieldName" "Speed_Backwards"
"xpos" "35"
"xpos_minmode" "23"
"ypos" "82"
"ypos_minmode" "53"
"zpos" "2"
"wide" "10"
"wide_minmode" "7"
"tall" "10"
"tall_minmode" "7"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/cart_arrow_left"
"scaleImage" "1"

"if_multiple_trains"
{
"xpos" "22"
"wide" "8"
"tall" "8"
}

"if_multiple_trains_top"
{
"ypos" "46"
}

"if_multiple_trains_bottom"
{
"ypos" "83"
}
}

"CapPlayerImage"
{
"ControlName" "ImagePanel"
"fieldName" "CapPlayerImage"
"xpos" "33"
"xpos_minmode" "20"
"ypos" "80"
"ypos_minmode" "52"
"zpos" "3"
"wide" "6"
"wide_minmode" "4"
"tall" "12"
"tall_minmode" "8"
"visible" "0"
"enabled" "1"
"image" "capture_icon_white"
"scaleImage" "1"

"if_multiple_trains"
{
"xpos" "20"
"wide" "5"
"tall" "10"
}

"if_multiple_trains_top"
{
"ypos" "45"
}

"if_multiple_trains_bottom"
{
"ypos" "81"
}
}

"CapNumPlayers"
{
"ControlName" "CExLabel"
"fieldName" "CapNumPlayers"
"font" "HudFontSmallest"
"font_minmode" "ItemFontAttribSmall"
"xpos" "39"
"xpos_minmode" "25"
"ypos" "82"
"ypos_minmode" "53"
"zpos" "4"
"wide" "30"
"wide_minmode" "20"
"tall" "10"
"tall_minmode" "7"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"labelText" "#ControlPointIconCappers"
"textAlignment" "west"
"dulltext" "0"
"brighttext" "0"

"if_multiple_trains"
{
"font" "ItemFontAttribSmall"
"xpos" "25"
"wide" "30"
"tall" "10"
}

"if_multiple_trains_top"
{
"ypos" "46"
}

"if_multiple_trains_bottom"
{
"ypos" "82"
}
}

"Blocked"
{
"ControlName" "ImagePanel"
"fieldName" "Blocked"
"xpos" "35"
"xpos_minmode" "23"
"ypos" "82"
"ypos_minmode" "53"
"zpos" "2"
"wide" "10"
"wide_minmode" "7"
"tall" "10"
"tall_minmode" "7"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/cart_blocked"
"scaleImage" "1"

"if_multiple_trains"
{
"xpos" "22"
"wide" "8"
"tall" "8"
}

"if_multiple_trains_top"
{
"ypos" "46"
}

"if_multiple_trains_bottom"
{
"ypos" "83"
}
}

"EscortTeardrop"
{
"ControlName" "EditablePanel"
"fieldName" "EscortTeardrop"
"xpos" "13"
"xpos_minmode" "9"
"ypos" "13"
"ypos_minmode" "8"
"zpos" "20"
"wide" "100"
"wide_minmode" "65"
"tall" "65"
"tall_minmode" "42"
"visible" "0"
"enabled" "1"

"if_multiple_trains"
{
"xpos" "9"
"ypos" "2"
"wide" "65"
"tall" "42"
}

"Teardrop"
{
"ControlName" "CIconPanel"
"fieldName" "Teardrop"
"xpos" "0"
"ypos" "0"
"zpos" "0"
"wide" "54"
"wide_minmode" "35"
"tall" "65"
"tall_minmode" "42"
"visible" "1"
"enabled" "1"
"scaleImage" "1"
"icon" "cappoint_progressbar_teardrop"
"iconColor" "255 0 0 0"

"if_multiple_trains"
{
"xpos" "0"
"ypos" "0"
"wide" "35"
"tall" "42"
}
}

"ProgressText"
{
"ControlName" "Label"
"fieldName" "ProgressText"
"font" "DefaultSmall"
"font_minmode" "DefaultVerySmall"
"xpos" "0"
"ypos" "8"
"ypos_minmode" "3"
"zpos" "23"
"wide" "54"
"wide_minmode" "35"
"tall" "40"
"tall_minmode" "28"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"labelText" "progress"
"dulltext" "0"
"brighttext" "0"
"centerwrap" "1"

"if_multiple_trains"
{
"font" "DefaultVerySmall"
"xpos" "0"
"ypos" "3"
"wide" "35"
"tall" "28"
}
}

"Blocked"
{
"ControlName" "CIconPanel"
"fieldName" "Blocked"
"xpos" "2"
"ypos" "3"
"ypos_minmode" "2"
"zpos" "1"
"wide" "50"
"wide_minmode" "31"
"tall" "50"
"tall_minmode" "31"
"visible" "1"
"enabled" "1"
"scaleImage" "1"
"icon" "cappoint_progressbar_blocked"
"iconColor" "255 0 0 0"

"if_multiple_trains"
{
"xpos" "2"
"ypos" "2"
"wide" "31"
"tall" "31"
}
}

"Capping"
{
"ControlName" "ImagePanel"
"fieldName" "Capping"
"xpos" "12"
"xpos_minmode" "8"
"ypos" "13"
"ypos_minmode" "8"
"zpos" "1"
"wide" "30"
"wide_minmode" "20"
"tall" "30"
"tall_minmode" "20"
"autoResize" "0"
"pinCorner" "0"
"visible" "0"
"enabled" "1"
"tabPosition" "0"
"labelText" ""
"image" "../hud/cart_arrow_right"
"scaleImage" "1"

"if_multiple_trains"
{
"xpos" "8"
"ypos" "8"
"wide" "20"
"tall" "20"
}
}
}
}
}
_______________________________________

Ok - this should be enough to get you started - just keep making all of these types of changes in any of the other files if you see them and remember ALL of the files need to be packed into your map in order for them to work properly and before I forget - one last info bit on the HUD

Blue players and red players will typically see their HUD TEAM ICON on the bottom of the screen when you are on that team (blue/red) this is important because the HUD Icons themselves (and in the coding) are indicated as BOTTOM.

Have fun and may the HUD BE WITH YOU!!

I'll do another post wehn I update the resource file :)
 
Last edited:

Zed

Certified Most Crunk™
aa
Aug 7, 2014
1,241
1,025
Use a spoiler, please.
 
Oct 6, 2008
1,965
450
would like to if I knew how :)
 
Oct 6, 2008
1,965
450
thanks - not spoiled :)
 
Oct 6, 2008
1,965
450
This isn't a necro bump but an add on since I am looking at doing another one of these for the current contest.

I have also solved another issue that wasn't included in the above :)

One of the problems that I was also having was that one cart (for this game type) was always red and the other blue when looking at the outlines through walls floors etc. Today I have solved the issue!!

Click on your team_control_point_master
Look for both the material for the red/blue base icon setting
make sure you have sprites/obj_icons/icon_base_blu in both the red and blue slots

run your map - both payloads should now show the blue outline on it

I couldn't find it before because I thought it was part or the HUD coding that I was modifying.
 
Oct 6, 2008
1,965
450
Nuts just when you get something working above - it bugs out on you :( I'll update it later
 
Oct 6, 2008
1,965
450
Click on your team_control_point_master
Look for both the material for the red/blue base icon setting

Go to GCFScape and get the below:

materials/sprites/obj_icons/icon_base_blu

Copy it into your custom folder
Change name from icon_base_blu to Icon_base_red

Pack it into your map, run map and test that the blue halo is on both carts.
 
Oct 6, 2008
1,965
450