Difference between revisions of "SDKHooks"

From AlliedModders Wiki
Jump to: navigation, search
m (Some damage types)
Line 2: Line 2:
 
SDKHooks was previously an external extension to Sourcemod. It was rolled in [https://wiki.alliedmods.net/Sourcemod_1.5.0_API_Changes#SDKHooks Sourcemod 1.5] and it does not need to be manually installed anymore.
 
SDKHooks was previously an external extension to Sourcemod. It was rolled in [https://wiki.alliedmods.net/Sourcemod_1.5.0_API_Changes#SDKHooks Sourcemod 1.5] and it does not need to be manually installed anymore.
  
 +
==Hooks==
 
===SDKHook_OnTakeDamage===
 
===SDKHook_OnTakeDamage===
 
inflictor (3rd argument) is the entity that inflicts the damage. If a player directly damage someone else it should be equal to the attacker. An example of an indirect damage would be a grenade.
 
inflictor (3rd argument) is the entity that inflicts the damage. If a player directly damage someone else it should be equal to the attacker. An example of an indirect damage would be a grenade.

Revision as of 05:55, 24 March 2015

Introduction

SDKHooks was previously an external extension to Sourcemod. It was rolled in Sourcemod 1.5 and it does not need to be manually installed anymore.

Hooks

SDKHook_OnTakeDamage

inflictor (3rd argument) is the entity that inflicts the damage. If a player directly damage someone else it should be equal to the attacker. An example of an indirect damage would be a grenade.

Under CSS

Non-regular cases for SDKHook_OnTakeDamage

In the scenario where a player throw a grenade to another player then quickly disconnect, the attacker (2nd argument) will become the inflictor (3rd argument).

In the scenario where a player fall; the attacker, which is also the inflictor, will be 0 (the world).

In the scenario where a terrorist plants the bomb, when the bomb explodes, the attacker (2nd argument) will be the same as the inflictor (3rd argument) which will have the Classname "planted_c4".

Some damage types

A normal HEGrenade and the C4 inflict damage of type DMG_BLAST.

A fall inflicts damage of type DMG_FALL.

A grenade impact (for instance a flash hitting a teammate) will inflict damage of type DMG_CLUB.

A normal gun bullet and the knife will inflict damage of type (DMG_BULLET | DMG_NEVERGIB) (non-headshot) or (DMG_BULLET | DMG_NEVERGIB | (1 << 30) ) (headshot).

A single attack can trigger many SDKHook_OnTakeDamage; when a gun throws pullets for instance (shotgun and glock in burst-mode notably).


(Regarding SM/Admin damaged; maybe place this is another section if someone can be sure that this would occur on all mods)

sm_slap does not trigger SDKHook_OnTakeDamage.

sm_burn will trigger two different callback : an entity with the classname "entityflame" will deal once 0 damage of type DMG_BURN and once 1 damage of type (DMG_BURN | DMG_DIRECT) every tick.