Defines5
SymbolDescription
VDECODE_FLAG_ALLOWNOTINGAMEAllow players not in game
VDECODE_FLAG_ALLOWNULLAllow NULL for pointers
VDECODE_FLAG_ALLOWWORLDAllow World entity
VDECODE_FLAG_BYREFFloats/ints by reference
VENCODE_FLAG_COPYBACKCopy back data once done
Functions10
SymbolDescription
EndPrepSDKCallFinalizes an SDK call preparation and returns the resultant Handle.
GetPlayerResourceEntityReturns the entity index of the player resource/manager entity.
PrepSDKCall_AddParameterAdds a parameter to the calling convention. This should be called in normal ascending order.
PrepSDKCall_SetAddressUses the given function address for the SDK call.
PrepSDKCall_SetFromConfFinds an address or virtual function index in a GameConfig file and sets it as the calling information for the SDK call.
PrepSDKCall_SetReturnInfoSets the return information of an SDK call. Do not call this if there is no return data. This must be called if there is a return value (i.e. it is not necessarily safe to ignore the data).
PrepSDKCall_SetSignatureFinds an address in a library and sets it as the address to use for the SDK call.
PrepSDKCall_SetVirtualSets the virtual index of the SDK call if it is virtual.
SDKCallCalls an SDK function with the given parameters. If the call type is Entity or Player, the index MUST ALWAYS be the FIRST parameter passed. If the call type is GameRules, then nothing special needs to be passed. If the return value is a Vector or QAngles, the SECOND parameter must be a Float[3]. If the return value is a string, the THIRD parameter must be a String buffer, and the FOURTH parameter must be the maximum length. If the return value is a SourceMod's Address, the SECOND parameter must be an Address variable. All parameters must be passed after the above is followed. Failure to follow these rules will result in crashes or wildly unexpected behavior! If the return value is a float or integer, the return value will be this value. If the return value is a string, the value returned by the function will be the number of bytes written, or -1 for NULL. If the return value is a CBaseEntity, CBasePlayer, or edict, the return value will always be the entity index, or -1 for NULL.
StartPrepSDKCallStarts the preparation of an SDK call.