srcds.exe crashes when I type 'exit' or 'quit' command and this extension is loaded.
Versions : MM 1.11.0-dev
SM 1.8.0-dev+5349 Mar 12 2015 14:57:43
Did some research, doesn't crash with these : DHooks2 Builds :
http://users.alliedmods.net/~drifter/builds/dhooks/2.0/ (Requires SM 1.7)
Furthermore, I had to completely change the INC file for what I wanted, to be able to compile on this SM version.
PHP Code:
#if defined _dhooks_included
#endinput
#endif
#define _dhooks_included
enum ObjectValueType
{
ObjectValueType_Int = 0,
ObjectValueType_Bool,
ObjectValueType_Ehandle,
ObjectValueType_Float,
ObjectValueType_CBaseEntityPtr,
ObjectValueType_IntPtr,
ObjectValueType_BoolPtr,
ObjectValueType_EhandlePtr,
ObjectValueType_FloatPtr,
ObjectValueType_Vector,
ObjectValueType_VectorPtr
};
enum ListenType
{
ListenType_Created = 0,
ListenType_Deleted
};
enum ReturnType
{
ReturnType_Unknown = 0,
ReturnType_Void,
ReturnType_Int,
ReturnType_Bool,
ReturnType_Float,
ReturnType_String,
ReturnType_StringPtr,
ReturnType_CharPtr,
ReturnType_Vector,
ReturnType_VectorPtr,
ReturnType_CBaseEntity,
ReturnType_Edict
};
enum HookParamType
{
HookParamType_Unknown = 0,
HookParamType_Int,
HookParamType_Bool,
HookParamType_Float,
HookParamType_String,
HookParamType_StringPtr,
HookParamType_CharPtr,
HookParamType_VectorPtr,
HookParamType_CBaseEntity,
HookParamType_ObjectPtr,
HookParamType_Edict
};
enum ThisPointerType
{
ThisPointer_Ignore = 0,
ThisPointer_CBaseEntity,
ThisPointer_Address
};
enum HookType
{
HookType_Entity = 0,
HookType_GameRules,
HookType_Raw
};
enum MRESReturn
{
MRES_ChangedHandled = -2,
MRES_ChangedOverride,
MRES_Ignored,
MRES_Handled,
MRES_Override,
MRES_Supercede
};
typedef DHookCallback = function MRESReturn (any Owner, Handle Return, Handle Params);
native Handle:DHookCreate(Offs, HookType:hookType, ReturnType:returnType, ThisPointerType:thisType, DHookCallback:callBack);
native DHookAddParam(Handle:Setup, HookParamType:Type);
native any:DHookGetParam(Handle:Params, Num);
native DHookEntity(Handle:Setup, bool:bPost, Entity, any:Something = -1);
native DHookSetReturn(Handle:Return, any:Value);
native bool:DHookIsNullParam(Handle:Params, Num);
public Extension:__ext_dhooks = {
name = "dhooks",
file = "dhooks.ext",
autoload = 1,
required = 1,
};
#if !defined REQUIRE_EXTENSIONS
public __ext_dhooks_SetNTVOptional() {
MarkNativeAsOptional("DHookCreate");
MarkNativeAsOptional("DHookAddParam");
MarkNativeAsOptional("DHookGetParam");
MarkNativeAsOptional("DHookEntity");
MarkNativeAsOptional("DHookSetReturn");
MarkNativeAsOptional("DHookIsNullParam");
}
#endif
__________________