Some people were asking about this so I took the time to make it after I found out thanks to Neekoken.
Alright, you see this thread in _damage.gsc called
Code:
Callback_PlayerDamage_internal( eInflictor, eAttacker, victim, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime )
Code:
iDamage = how much damage is dealt
sWeapon = which weapon was used to cause damage
sHitLoc = where the bullet hit the player
Okay, now Neekoken has made a new thread and gsc for it because his one is a bit more complicated (like setting damage to 5 in the feet, 300 on upper body)
I'm going to show you how to do it the easy way, the rest you can figure out yourself when you get better.
Changing the damage in the _damage.gsc
Search for the thread name i mentioned above
Code:
Callback_PlayerDamage_internal( eInflictor, eAttacker, victim, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime )
{
We are going to put shit in here
if ( !isReallyAlive( victim ) )
return;
if ( isDefined( eAttacker ) && eAttacker.classname == "script_origin" && isDefined( eAttacker.type ) && eAttacker.type == "soft_landing" )
return;
From now on if I type in green, that's where it would be placed.
1. Making it the same damage for all weapons
Code:
iDamage = 100; // Any number
2. Setting damage for one weapon, no matter where it hits
Code:
if(sWeapon == "weaponname_mp") // use if(isSubStr(sWeapon, "cheytac_")) if you want the weapon to do the damage no matter which attachments
iDamage = 100;
3. Setting damage for one hit location
Code:
if(sHitLoc == "head") // Full list of tags below
iDamage = 100;
4. Setting damage for multiple weapons/hit locations
Code:
switch(sWeapon)
{
case "cheytac_mp":
case "rpg_mp":
iDamage = 900;
break; // I am not sure if you have to put this in, but do so for safety
case "coltanaconda_mp":
iDamage = 85;
break;
case "etc_mp":
iDamage = 0;
break;
}
switch(sHitLoc)
{
case "head":
case "neck":
case "helmet":
iDamage = 100;
break;
case "left_hand":
case "right_hand":
self DropItem(self getCurrentWeapon());
break;
}
5. Multiplying/adding damage
Code:
iDamage += 20; // Damage + 20
iDamage * 0.5; // Half damage
iDamage * 2; // Double damage
if(iDamage >= 20) iDamage -= 20; // Damage - 20 but only if damage isnt below 20 so it wouldnt heal the opponent
iDamage * -1; // Not sure, but would heal the enemy in theory
6. Setting damage for an attachment or a weapon with any attachment
Code:
if(isSubStr(sWeapon, "_silencer_"))
iDamage = 100;
Code:
if(isSubStr(sWeapon, "usp_"))
iDamage = 100;