У модуля есть 2 инклюда включающие в себя функции и константы:
- hamsandwich.inc - Содержит native функции
- ham_const.inc - Содержит константы, связанные с собственными функциями
Функции Ham Sandwich
HamHook:RegisterHam для сцепления виртуальных функций и объектов по классуHamHook:RegisterHamFromEntity для сцепления виртуальных функций и объектов по EntityId
DisableHamForward прекращает работу зарегистрированного ham форварда
EnableHamForward возобновляет работу ham форварда.
ExecuteHam выполняет виртуальную функцию на игроке (объекте)
ExecuteHamB выполняет виртуальную функцию на игроке
GetHamReturnStatus получает статус возврата исполняемого форварда
GetHamReturnInteger
GetHamReturnFloat
GetHamReturnVector
GetHamReturnEntity
GetHamReturnString
GetOrigHamReturnInteger
GetOrigHamReturnFloat
GetOrigHamReturnVector
GetOrigHamReturnEntity
GetOrigHamReturnString
SetHamReturnInteger
SetHamReturnFloat
SetHamReturnVector
SetHamReturnEntity
SetHamReturnString
SetHamParamInteger изменяет параметры отловленных событий
SetHamParamFloat изменяет параметры отловленных событий (дробные значения)
SetHamParamVector
SetHamParamEntity
SetHamParamString
SetHamParamTraceResult
bool:IsHamValid
get_pdata_cbase
set_pdata_cbase
get_pdata_cbase_safe
__fatal_ham_error
Константы виртуальных функций
Ham_Spawn респаун игрока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_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_CS_Restart
Ham_CS_RoundRespawn
Ham_CS_Item_CanDrop
Ham_CS_Item_GetMaxSpeed
Ham Return Types - Возвращаемые константы
#define HAM_IGNORED 1 /**< Calls target function, returns normal value */
#define HAM_HANDLED 2 /**< Tells the module you did something, still calls target function and returns normal value */
#define HAM_OVERRIDE 3 /**< Still calls the target function, but returns whatever is set with SetHamReturn*() */
#define HAM_SUPERCEDE 4 /**< Block the target call, and use your return value (if applicable) (Set with SetHamReturn*()) */
Ham Errors Types
enum HamError
{
HAM_OK = 0,
HAM_INVALID_FUNC, // The function is not valid
HAM_FUNC_NOT_CONFIGURED, // This function is not configured in hamdata.ini
HAM_ERR_END
};
Список объектов: