For
FM_Think, FM_Touch:
PHP Code:
/**
* Registers a function to be called on a touch action between entities of
* specified classes.
*
* @note The function will be called in the following manner:
*
* public touch_handler(touched, toucher)
*
* touched - Index of entity being touched
* toucher - Index of entity touching
*
* @note The callback should return PLUGIN_CONTINUE to ignore the touch,
* PLUGIN_HANDLED or higher to block it.
* @note When returning PLUGIN_HANDLED from the callback, Engine will still fire
* other touch functions like the pfn_touch() forward before actually
* blocking the touch. To immediately block return PLUGIN_HANDLED_MAIN
* instead.
*
* @param Touched Entity classname being touched, "*" or "" for any class
* @param Toucher Entity classname touching, "*" or "" for any class
* @param function Name of callback function
*
* @return Touch forward id
*/
native register_touch(const Touched[], const Toucher[], const function[]);
/**
* Registers a function to be called on entity think on all entities of a
* specified class.
*
* @note The function will be called in the following manner:
*
* public think_handler(entity)
*
* entity - Index of entity thinking
*
* @note The callback should return PLUGIN_CONTINUE to ignore the think,
* PLUGIN_HANDLED or higher to block it.
* @note When returning PLUGIN_HANDLED from the callback, Engine will still fire
* other think functions like the pfn_think() forward before actually
* blocking the think. To immediately block return PLUGIN_HANDLED_MAIN
* instead.
*
* @param Classname Entity classname to hook
* @param function Name of callback function
*
* @return Think forward id
*/
native register_think(const Classname[], const function[]);
And for UpdateClientData i really don't know... maybe you coud use this one:
PHP Code:
/**
* Called when a keyvalue pair is sent to an entity.
*
* @note Use copy_keyvalue() to retrieve the keyvalue information, and
* DispatchKeyVaue() to modify it.
*
* @param entid Entity index
*
* @return PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block
*/
forward pfn_keyvalue(entid);
Try looking into
engine.inc
Edit: Since i knew the
pfn_keyvalue had nothing to do with what you wanted i still looked and found this:
PHP Code:
/**
* Retrieves a value from a usercmd struct.
*
* @note This native can only be used inside the client_cmdStart() forward. If
* it is used outside this forward it will not retrieve any results and
* always return 0.
* @note For a list of valid usercmd entries see the usercmd_* constants in
* engine_const.inc
*
* @param type Entry to retrieve from
* @param ... Depending on the entry type a different number of
* additional parameters should be provided:
* int - Returns the entry integer value directly, no
* additional parameters required
* float - Stores the entry float value into the
* variable provided as the second parameter
* vector - Copies the entry vector to the Float:array[3]
* provided in the second parameter
*
* @return Changes depending on the entry type:
* int - Returns the entry integer value
* float - Returns 1
* vector - Returns 1
*/
native get_usercmd(type, any:...);
/**
* Sets a value in a usercmd struct.
*
* @note This native can only be used inside the client_cmdStart() forward.
* @note For a list of valid usercmd entries see the usercmd_* constants in
* engine_const.inc
* @note Changes will be immediately reflected in get_usercmd() for all plugins.
*
* @param type Entry to write to
* @param ... Depending on the entry type a different additional parameter
* should be provided:
* int - Second parameter should be an integer variable
* float - Second parameter should be a float variable
* vector - Second parameter should be a Float:array[3]
*
* @noreturn
*/
native set_usercmd(type, any:...);
Maybe this could work?