A few notes about all of the following functions:
- Not all functions will do as you expect on all mods.
If a function does not do what you would believe it should
DO NOT file a bug report, you will be ignored.
- Passing invalid parameters has potential to crash the server
So be careful, and adequately test!
- All functions take (and pass) a "this" index as the first param.
This is the entity from which the function is being executed on.
- All functions and forwards (eg: {Register,Execute}Ham[B]) require
the mod to have the pev and base keys in addition to the function
keys for the corresponding mod/operating system in hamdata.ini
- Some functions that return booleans may need to be logically ANDed
to get the results desired. e.g: if (ExecuteHam(Ham_TS_IsObjective, this) & 0x0000FFFF != 0) { // true.. }
because the module will return the full integer value.
enum Ham
{
Ham_Spawn = 0,
Ham_Precache,
Ham_Keyvalue,
Ham_ObjectCaps,
Ham_Activate,
Ham_SetObjectCollisionBox,
Ham_Classify,
Ham_DeathNotice,
Ham_TraceAttack,
Ham_TakeDamage,
Ham_TakeHealth,
Ham_Killed,
Ham_BloodColor,
Ham_TraceBleed,
Ham_IsTriggered,
Ham_MyMonsterPointer,
Ham_MySquadMonsterPointer,
Ham_GetToggleState,
Ham_AddPoints,
Ham_AddPointsToTeam,
Ham_AddPlayerItem,
Ham_RemovePlayerItem,
Ham_GiveAmmo,
Ham_GetDelay,
Ham_IsMoving,
Ham_OverrideReset,
Ham_DamageDecal,
Ham_SetToggleState,
Ham_StartSneaking,
Ham_StopSneaking,
Ham_OnControls,
Ham_IsSneaking,
Ham_IsAlive,
Ham_IsBSPModel,
Ham_ReflectGauss,
Ham_HasTarget,
Ham_IsInWorld,
Ham_IsPlayer,
Ham_IsNetClient,
Ham_TeamId,
Ham_GetNextTarget,
Ham_Think,
Ham_Touch,
Ham_Use,
Ham_Blocked,
Ham_Respawn,
Ham_UpdateOwner,
Ham_FBecomeProne,
Ham_Center,
Ham_EyePosition,
Ham_EarPosition,
Ham_BodyTarget,
Ham_Illumination,
Ham_FVisible,
Ham_FVecVisible,
Ham_Player_Jump,
Ham_Player_Duck,
Ham_Player_PreThink,
Ham_Player_PostThink,
Ham_Player_GetGunPosition,
Ham_Player_ShouldFadeOnDeath,
Ham_Player_ImpulseCommands,
Ham_Player_UpdateClientData,
Ham_Item_AddToPlayer,
Ham_Item_AddDuplicate,
Ham_Item_CanDeploy,
Ham_Item_Deploy,
Ham_Item_CanHolster,
Ham_Item_Holster,
Ham_Item_UpdateItemInfo,
Ham_Item_PreFrame,
Ham_Item_PostFrame,
Ham_Item_Drop,
Ham_Item_Kill,
Ham_Item_AttachToPlayer,
Ham_Item_PrimaryAmmoIndex,
Ham_Item_SecondaryAmmoIndex,
Ham_Item_UpdateClientData,
Ham_Item_GetWeaponPtr,
Ham_Item_ItemSlot,
Ham_Weapon_ExtractAmmo,
Ham_Weapon_ExtractClipAmmo,
Ham_Weapon_AddWeapon,
Ham_Weapon_PlayEmptySound,
Ham_Weapon_ResetEmptySound,
Ham_Weapon_SendWeaponAnim,
Ham_Weapon_IsUsable,
Ham_Weapon_PrimaryAttack,
Ham_Weapon_SecondaryAttack,
Ham_Weapon_Reload,
Ham_Weapon_WeaponIdle,
Ham_Weapon_RetireWeapon,
Ham_Weapon_ShouldWeaponIdle,
Ham_Weapon_UseDecrement,
Ham_TS_BreakableRespawn,
Ham_TS_CanUsedThroughWalls,
Ham_TS_RespawnWait,
Ham_CS_Restart,
Ham_CS_RoundRespawn,
Ham_CS_Item_CanDrop,
Ham_CS_Item_GetMaxSpeed,
Ham_DOD_RoundRespawn,
Ham_DOD_RoundRespawnEnt,
Ham_DOD_RoundStore,
Ham_DOD_AreaSetIndex,
Ham_DOD_AreaSendStatus,
Ham_DOD_GetState,
Ham_DOD_GetStateEnt,
Ham_DOD_Item_CanDrop,
Ham_TFC_EngineerUse,
Ham_TFC_Finished,
Ham_TFC_EmpExplode,
Ham_TFC_CalcEmpDmgRad,
Ham_TFC_TakeEmpBlast,
Ham_TFC_EmpRemove,
Ham_TFC_TakeConcussionBlast,
Ham_TFC_Concuss,
Ham_ESF_IsEnvModel,
Ham_ESF_TakeDamage2,
Ham_NS_GetPointValue,
Ham_NS_AwardKill,
Ham_NS_ResetEntity,
Ham_NS_UpdateOnRemove,
Ham_TS_GiveSlowMul,
Ham_TS_GoSlow,
Ham_TS_InSlow,
Ham_TS_IsObjective,
Ham_TS_EnableObjective,
Ham_TS_OnFreeEntPrivateData,
Ham_TS_ShouldCollide,
HAM_LAST_ENTRY_DONT_USE_ME_LOL
};