Mvm Robot Icons

Vaconcovat

L3: Member
Jan 15, 2012
116
188
This is a guide and information resource for the icons used to describe a wave in Mann v Machine.

Before I start, I'm assuming that you have the basic knowledge of how to create a population file for mvm. If you don't, this guide is not for you.

leaderboard_class_demo_bomber.png
CHANGING A BOTS ICON
leaderboard_class_demo_bomber.png

If you're entering the MVM competition or are just playing around with MVM to try and make something cool, you've attempted to make custom bots. The only problem is, the HUD doesn't accurately represent your ultra-cool bot.

Here's an example of a Giant bot for my custom population file
Code:
TFBot
				{
					Health	5000
					Name	"Giant Fire Heavy"
					Class	HeavyWeapons
					Skill	Hard
					WeaponRestrictions	PrimaryOnly
					Item	"The Huo Long Heatmaker"
					Item	"Storm Spirit's Jolly Hat"
					CharacterAttributes
					{
						"ring of fire while aiming"	50
						"set damagetype ignite"	1
						"ragdolls become ash"	1
						"move speed bonus"	0.5
						"damage force reduction"	0.4
						"airblast vulnerability multiplier"	0.4
						"override footstep sound set"	3
					}
				}
It's a giant heavy that uses the Huo Long Heatmaker, but also ignites players with its bullets. that's really cool but the problem is, the icon just represents a normal heavy, so the players probably will be wondering why they're burning to death.

leaderboard_class_heavy.png


So to avoid the confusion, let's add a single line inside TFBot{}

Code:
ClassIcon		heavy_heater

Instead of using the default heavy icon (because your bot is a heavy), it now uses the following icon:
leaderboard_class_heavy_heater.png


So now our new TFbot looks like:

Code:
TFBot
				{
					Health	5000
					Name	"Giant Fire Heavy"
					Class	HeavyWeapons
					Skill	Hard
					WeaponRestrictions	PrimaryOnly
					Item	"The Huo Long Heatmaker"
					Item	"Storm Spirit's Jolly Hat"
					ClassIcon		heavy_heater
					CharacterAttributes
					{
						"ring of fire while aiming"	50
						"set damagetype ignite"	1
						"ragdolls become ash"	1
						"move speed bonus"	0.5
						"damage force reduction"	0.4
						"airblast vulnerability multiplier"	0.4
						"override footstep sound set"	3
					}
				}

And that's all there is to it! Pretty simple.

leaderboard_class_scout_giant_fast.png
DEFAULT ICONS
leaderboard_class_scout_giant_fast.png

All these icons can be found in tf/materials/HUD, but you'll need to use GCFScape to get to them.

The following lists all the default icons along with their filenames:

----------------------------------------------------------
SCOUT


leaderboard_class_scout.png
"scout" "scout_giant" "scout_d"
leaderboard_class_scout_bat.png
"scout_bat"
leaderboard_class_scout_bonk.png
"scout_bonk"
leaderboard_class_scout_giant_fast.png
"scout_giant_fast"
leaderboard_class_scout_stun.png
"scout_stun" "scout_stun_giant"

----------------------------------------------------------
SOLDIER


leaderboard_class_soldier.png
"soldier" "soldier_giant" "soldier_d"
leaderboard_class_soldier_backup.png
"soldier_backup" "soldier_backup_giant"
leaderboard_class_soldier_buff.png
"soldier_buff" "soldier_buff_giant"
leaderboard_class_soldier_conch.png
"soldier_conch" "soldier_conch_giant"
leaderboard_class_soldier_crit.png
"soldier_crit"
leaderboard_class_soldier_sergeant_crits.png
"soldier_sergeant_crits"
leaderboard_class_soldier_spammer.png
"soldier_spammer"

----------------------------------------------------------
PYRO


leaderboard_class_pyro.png
"pyro" "pyro_giant" "pyro_d"
leaderboard_class_pyro_flare.png
"pyro_flare" "pyro_flare_giant"

----------------------------------------------------------
DEMOMAN


leaderboard_class_demo.png
"demo" "demo_giant" "demo_d"
leaderboard_class_demo_bomber.png
"demo_bomber"
leaderboard_class_demoknight.png
"demoknight" "demoknight_giant"

----------------------------------------------------------
HEAVYWEAPONS


leaderboard_class_heavy.png
"heavy" "heavy_giant" "heavy_d"
leaderboard_class_heavy_heater.png
"heavy_heater" "heavy_heater_giant"
leaderboard_class_heavy_deflector.png
"heavy_deflector"
leaderboard_class_heavy_chief.png
"heavy_chief"
leaderboard_class_heavy_champ.png
"heavy_champ" "heavy_champ_giant"
leaderboard_class_heavy_gru.png
"heavy_gru" "heavy_gru_giant"
leaderboard_class_heavy_urgent.png
"heavy_urgent"
leaderboard_class_heavy_steelfist.png
"heavy_steelfist"
leaderboard_class_heavy_mittens.png
"heavy_mittens"

----------------------------------------------------------
ENGINEER


leaderboard_class_engineer.png
"engineer" "engineer_d"
leaderboard_class_teleporter.png
"teleporter"

----------------------------------------------------------
MEDIC


leaderboard_class_medic.png
"medic" "medic_giant" "medic_d"
leaderboard_class_medic_uber.png
"medic_uber"

----------------------------------------------------------
SNIPER


leaderboard_class_sniper.png
"sniper" "sniper_d"
leaderboard_class_sniper_bow.png
"sniper_bow"
leaderboard_class_sniper_jarate.png
"sniper_jarate"
leaderboard_class_sniper_sydneysleeper.png
"sniper_sydneysleeper"

----------------------------------------------------------
SPY


leaderboard_class_spy.png
"spy" "spy_d"

----------------------------------------------------------
MISC


leaderboard_class_tank.png
"tank"
leaderboard_class_sentry_buster.png
"sentry_buster"


Note: "class_d" is a greyed-out version of the classes plain icon
Note2: "class_giant" doesn't actually appear to be any different than "class" It could be something with their VMT files

leaderboard_class_soldier_buff.png
SEE IT IN ACTION
leaderboard_class_soldier_buff.png

This is a pop file utilizing all 61 default icons. It contains 3 waves, each spawning 20 scouts all with a different icon.

class_icons_wave1.png

class_icons_wave2.png

class_icons_wave3.png


CUSTOM ICONS

I MIGHT write this up later. If you know what you're doing, for a custom icon you need a VMT and a VTF of the same name in tf/materials/HUD.
They need to be called leaderboard_class_[NAME], then use ClassIcon [NAME] to access it.

Here's the VMT for leaderboard_class_soldier
Code:
"UnlitGeneric"
{
	"$baseTexture" "hud\leaderboard_class_soldier"
	"$vertexcolor" 1
	"$no_fullbright" 1
	"$ignorez" 1
	"%keywords" "tf"
	"$translucent" 1
}

EDIT
Okay, I just tested the custom icons and it does work. They have to be 64x64 and completely transparent around the weapon, unless you want the icon to be a slightly different colour like the teleporter.

test.PNG


I grabbed a screenshot of the shotgun from the official wiki page (they have a nice little 3d viewer thing), then used gimp to resize and make it transparent.
Then I made it into a vtf using VTFEdit and stole the VMT from above (but changed the filepath).
Placed them both under tf/materials/hud and viola!
 
Last edited:

henke37

aa
Sep 23, 2011
2,076
513
Hmm, I suspect that the $vertextcolor part could be related to the background color...
 

Vaconcovat

L3: Member
Jan 15, 2012
116
188
Ok, I figured out the correct use of the _giant icons. They're used so that you can group giants away from similar, normal sized bots.

For example, if i have some normal heavies and some giant heavies in a wave, and they're all using the same icon, 'heavy', they'll all appear under the same group (or stack? idk). Even if the giants have the miniboss attribute (making their icon red) they'll still appear in the same stack and even worse will make it appear that ALL the heavies are giants. If you use the _giant icon for the giants, (there is no actual difference in the icon), it lets you separate the stacks (groups) asdfghj
 

taxlor203

L1: Registered
Feb 10, 2013
5
1
Already tried this thing and works for myself. The only 2 differences is that I took my custom vtfs directly from the image inventory of the corresponding weapon in TF2 files, but the 3D wiki looks much better.
This still merits a "Thanks".
 

Leadamse

L1: Registered
Feb 15, 2013
10
0
Thanks for this great tutorial.

For the MOST PART I got the custom icons working, however, every icon i've added seems to change its brightness as you move around the map, constantly flickering.

I have tried quite a lot to fix the problem, so I wondered if any of you would happen to know why this is the case.
 

iWantcoal

L1: Registered
Sep 7, 2013
19
3
Now working on dedicated servers

every icon i've added seems to change its brightness as you move around the map, constantly flickering.

Not sure if you tried this but, the icon might not be exactly 64x64, which have caused similar problems in other applications before.

I have a problem with using custom icons on a server (mine), the icons show up fine on a listen server but when I put the same files onto a dedicated server directory it still shows up as missing texture...
 

BlazingDiancie

L1: Registered
Jan 7, 2015
40
17
Thanks for this great tutorial.

For the MOST PART I got the custom icons working, however, every icon i've added seems to change its brightness as you move around the map, constantly flickering.

I have tried quite a lot to fix the problem, so I wondered if any of you would happen to know why this is the case.
Im having this problem as well and is very annoying.
 

UKCS-Alias

Mann vs Machine... or... Mapper vs Meta?
aa
Sep 8, 2008
1,264
816
Check the vmt. is it like this:
Code:
"UnlitGeneric"
{
	"$baseTexture" "hud\leaderboard_class_soldier_whatever"
	"$vertexcolor" 1
	"$no_fullbright" 1
	"$ignorez" 1
	"%keywords" "tf"
	"$translucent" 1
}
If not, then its most likely your problem. (specificly note: UnlitGeneric)