Difference between revisions of "Adding class based health differences"

From Valve Developer Community
Jump to: navigation, search
m (having fun finding out code tags don't work)
Line 32: Line 32:
 
sdk_playerclass_info_parse.cpp: Add
 
sdk_playerclass_info_parse.cpp: Add
  
[code]m_iHealth = pKeyValuesData->GetInt( "health", 0);
+
m_iHealth = pKeyValuesData->GetInt( "health", 0);
m_iMaxHealth = pKeyValuesData->GetInt( "maxhealth", 0);[/code]
+
m_iMaxHealth = pKeyValuesData->GetInt( "maxhealth", 0);
 +
 
 
at line 136, just after m_iArmor.
 
at line 136, just after m_iArmor.
  
  
 
sdk_playerclass_info_parse.h: Add
 
sdk_playerclass_info_parse.h: Add
[code]int m_iHealth;
+
 
int m_iMaxHealth;[/code]
+
int m_iHealth;
 +
int m_iMaxHealth;
 +
 
 
at line 50 ish, also after m_iArmor.
 
at line 50 ish, also after m_iArmor.
  

Revision as of 13:27, 14 February 2011

This is a short tutorial which will allow you to set different health values for different classes in your mod. Since I'm new to this tutorial business, this might make little sense. Feel free to tidy it up, post bug fixes and ask questions on the talk page. --Welsh Mullet 20:24, 14 February 2011 (UTC)

This tutorial is designed to work on the SDK template mod, on the 2007 base.

Open the solution in a C++ editor of your choise.


Edits are made to sdk_shareddefs.h, sdk_gamerules.cpp, sdk_playerclass_info_parse.cpp (and .h) and sdk_player_shared.h

sdk_player_shared.h: Add

int m_iHealth;
int m_iMaxHealth;

at around line 128, just after some stuff about sprinting.

sdk_gamerules.cpp: Add

pPlayer->SetHealth(pClassInfo.m_iHealth);
pPlayer->SetMaxHealth(pClassInfo.m_iMaxHealth);

at about line 705, just after the players armour is also set in a similar way.

sdk_shareddefs.h: Add

#define SDK_DEFAULT_PLAYER_HEALTH			100
#define	SDK_DEFAULT_PLAYER_MAXHEALTH		100

at line 138, around where the default runspeeds are declaired as well.

sdk_playerclass_info_parse.cpp: Add

m_iHealth		= pKeyValuesData->GetInt( "health", 0);
m_iMaxHealth		= pKeyValuesData->GetInt( "maxhealth", 0);

at line 136, just after m_iArmor.


sdk_playerclass_info_parse.h: Add

int m_iHealth;
int m_iMaxHealth;

at line 50 ish, also after m_iArmor.


Now you need to add the lines "health" and "maxhealth" to your class scripts (These work the same as armour)

Pictures to come soon~!