View Single Post
Author Message
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 05-03-2017 , 10:45   [INC/STOCK] Calculate Player TakeDamage
Reply With Quote #1

Calculate Player TakeDamage
- last updated : 03 may 2017

Ever wanted to know what is the final Player TakeDamage on CS before the damage is actually applied ?
This stock mimic the player.cpp TakeDamage way of calculation of damage Before the damage is actually applied.

PHP Code:
Calculate_Player_TakeDamage(VictimInflictorAttackerFloat:flDamagebitsDamageType, &Float:flCalcDamage 0.0, &Float:flCalcArmorHit 0.0
This is useful if you want to do something depending of the real damage before it's actually applied.
If flCalcDamage is >= player health, the player will die, if flCalcArmorHit >= player float armorvalue, the player will lost all his armor.

This stock respects the player.cpp calls, in order to keep the calls as close as possible of the game way.

If the damage is blocked (IE friendlyfire) Calculate_Player_TakeDamage will return false and calc values will be zero, otherwise the function will return true and the real calc values.

This stock support mp_freeforall cvar from CSDM and ReGameDll bugfixed.


│ Credits
The credits goes to the RegameDLL_CS team.
player.cpp


I provided the plugin i used to develop this stock.
Note: This stock only work with amxmodx 1.8.3, if you want it compatible with amxmodx 1.8.2, feel free to convert it, i won't do it.
Attached Files
File Type: inc player_takedamage.inc (5.9 KB, 229 views)
File Type: sma Get Plugin or Get Source (test.sma - 732 views - 1.2 KB)

Last edited by Fr33m@n; 05-10-2017 at 08:39.
Fr33m@n is offline