Page 1 of 2 12 LastLast
Results 1 to 15 of 25
  1. #1
    Herp Derpinstine's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    Drug Induced Rainbow
    Posts
    134
    Reputation
    10
    Thanks
    87
    My Mood
    Psychedelic

    GLua Header Toolkit - Make your own Bypasses without Cvar Forcing

    So I thought it was about time to post this sense I am sick of seeing people force cvars and use ridiculous bypasses when they can make their own.

    I know that people don't want you to have things like this, Kona-chan and ExiledStyles for example, because of Skid invasion and because they don't want you to hook RunString.

    I however do not care what they think. So here it is. Hope you enjoy.

    If you don't understand at least how C++ works then this won't make sense to you.

    GLua.h
    Code:
    #ifndef __GLua_H__
    #define __GLua_H__
    
    #define	LUA_FUNCTION(_func_)	int _func_(lua_State* state)
    #define LUA state->luabase
    #define	_G	-10002
    
    #ifdef GMMODULE
    #ifdef _WIN32
    #define  DLL_EXPORT extern "C" __declspec( dllexport )
    #else
    #define DLL_EXPORT	extern "C" __attribute__((visibility("default")))	
    #endif
    #define GMOD_MODULE_OPEN() DLL_EXPORT int gmod13_open(lua_State* state)
    #define GMOD_MODULE_CLOSE()	DLL_EXPORT int gmod13_close(lua_State* state)
    #endif
    
    class ILuaInterface;
    class ILuaObject;
    class ILuaBase;
    
    class lua_State
    {
    public:
    	char		header[69];
    	ILuaBase*	luabase;
    };
    
    class UserData
    {
    public:
    	void*			data;
    	unsigned char	type;
    };
    
    enum
    {
    	LUA_CLIENT = 0,
    	LUA_SERVER = 1,
    	LUA_MENU = 2
    };
    
    enum
    {
    	SPECIAL_GLOB,
    	SPECIAL_ENV,
    	SPECIAL_REG,
    };
    
    enum
    {
    	TYPE_INVALID = -1,
    	TYPE_NIL,
    	TYPE_BOOL,
    	TYPE_LIGHTUSERDATA,
    	TYPE_NUMBER,
    	TYPE_STRING,
    	TYPE_TABLE,
    	TYPE_FUNCTION,
    	TYPE_USERDATA,
    	TYPE_THREAD,
    
    	TYPE_ENTITY,
    	TYPE_VECTOR,
    	TYPE_ANGLE,
    	TYPE_PHYSOBJ,
    	TYPE_SAVE,
    	TYPE_RESTORE,
    	TYPE_DAMAGEINFO,
    	TYPE_EFFECTDATA,
    	TYPE_MOVEDATA,
    	TYPE_RECIPIENTFILTER,
    	TYPE_USERCMD,
    	TYPE_SCRIPTEDVEHICLE,
    
    	TYPE_MATERIAL,
    	TYPE_PANEL,
    	TYPE_PARTICLE,
    	TYPE_PARTICLEEMITTER,
    	TYPE_TEXTURE,
    	TYPE_USERMSG,
    
    	TYPE_CONVAR,
    	TYPE_IMESH,
    	TYPE_MATRIX,
    	TYPE_SOUND,
    	TYPE_PIXELVISHANDLE,
    	TYPE_DLIGHT,
    	TYPE_VIDEO,
    	TYPE_FILE,
    
    	TYPE_PLAYER = TYPE_ENTITY,
    };
    
    static char* lua_typename[] =
    {
    	"nil",
    	"bool",
    	"lightuserdata",
    	"number",
    	"string",
    	"table",
    	"function",
    	"userdata",
    	"thread",
    	"entity",
    	"vector",
    	"angle",
    	"physobj",
    	"save",
    	"restore",
    	"damageinfo",
    	"effectdata",
    	"movedata",
    	"recipientfilter",
    	"usercmd",
    	"vehicle",
    	"material",
    	"panel",
    	"particle",
    	"particleemitter",
    	"texture",
    	"usermsg",
    	"convar",
    	"mesh",
    	"matrix",
    	"sound",
    	"pixelvishandle",
    	"dlight",
    	"video",
    	"file"
    };
    
    typedef int(*CFunc) (lua_State* state);
    
    class HLuaError;
    class CLuaGameCallback
    {
    private:
    	virtual ILuaObject* CLuaGameCallback::CreateLuaObject(void) = 0;
    	virtual void CLuaGameCallback::DestroyLuaObject(ILuaObject *) = 0;
    	virtual void CLuaGameCallback::ErrorPrint(char  const*, bool) = 0;
    	virtual void CLuaGameCallback::Msg(char  const*, bool) = 0;
    	virtual void CLuaGameCallback::MsgColour(char  const*, Color  const&) = 0;
    	virtual void CLuaGameCallback::LuaError(HLuaError *) = 0;
    	virtual void CLuaGameCallback::InterfaceCreated(ILuaInterface *) = 0;
    };
    
    class ILuaInterface
    {
    public:
    	virtual void*	Top(void) = 0;	// 0
    	virtual void*	Push(int) = 0;	// 1
    	virtual void*	Pop(int stackpos = 1) = 0;	// 2
    	virtual void*	GetTable(int) = 0;	// 3
    	virtual void*	GetField(int, char  const*) = 0;	// 4
    	virtual void*	SetField(int, char  const*) = 0;	// 5
    	virtual void*	CreateTable(void) = 0;	// 6
    	virtual void*	SetTable(int) = 0;	// 7
    	virtual void*	SetMetaTable(int) = 0;	// 8
    	virtual ILuaObject*	GetMetaTable(int) = 0;	// 9
    	virtual void*	Call(int, int) = 0;	// 10
    	virtual void*	PCall(int, int, int) = 0;	// 11
    	virtual void*	Equal(int, int) = 0;	// 12
    	virtual void*	RawEqual(int, int) = 0;	// 13
    	virtual void*	Insert(int) = 0;	// 14
    	virtual void*	Remove(int) = 0;	// 15
    	virtual void*	Next(int) = 0;	// 16
    	virtual void*	NewUserdata(unsigned int) = 0;	// 17
    	virtual void*	ThrowError(char  const*) = 0;	// 18
    	virtual void*	CheckType(int, int) = 0;	// 19
    	virtual void*	ArgError(int, char  const*) = 0;	// 20
    	virtual void*	RawGet(int) = 0;	// 21
    	virtual void*	RawSet(int) = 0;	// 22
    	virtual const char*	GetString(int, unsigned int *) = 0;	// 23
    	virtual double	GetNumber(int) = 0;	// 24
    	virtual bool	GetBool(int) = 0;	// 25
    	virtual CFunc	GetCFunction(int) = 0;	// 26
    	virtual void*	GetUserdata(int) = 0;	// 27
    	virtual void	PushNil(void) = 0;	// 28
    	virtual void	PushString(char  const*, unsigned int iLen = 0) = 0;	// 29
    	virtual void	PushNumber(double) = 0;	// 30
    	virtual void	PushBool(bool) = 0;	// 31
    	virtual void	PushCFunction(CFunc) = 0;	// 32
    	virtual void	PushCClosure(CFunc, int) = 0;	// 33
    	virtual void	PushUserdata(void*) = 0;	// 34
    	virtual void*	ReferenceCreate(void) = 0;	// 35
    	virtual void*	ReferenceFree(int) = 0;	// 36
    	virtual void*	ReferencePush(int) = 0;	// 37
    	virtual void*	PushSpecial(int) = 0;	// 38
    	virtual void*	IsType(int, int) = 0;	// 39
    	virtual void*	GetType(int) = 0;	// 40
    	virtual void*	GetTypeName(int) = 0;	// 41
    	virtual void*	CreateMetaTableType(char  const*, int) = 0;	// 42
    	virtual void*	CheckString(int) = 0;	// 43
    	virtual void*	CheckNumber(int) = 0;	// 44
    	virtual void*	ObjLen(int) = 0;	// 45
    	virtual void*	AddThreadedCall(void*) = 0;	// 46
    	virtual void*	Init(void *, bool) = 0;	// 47
    	virtual void*	Shutdown(void) = 0;	// 48
    	virtual void*	Cycle(void) = 0;	// 49
    	virtual lua_State*	GetLuaState(void) = 0;	// 50
    	virtual void*	Global(void) = 0;	// 51
    	virtual ILuaObject*	GetObject(int) = 0;	// 52
    	virtual void*	DELETE_ME_5437(int) = 0;	// 53
    	virtual void*	_DELETE_ME2466(int) = 0;	// 54
    	virtual void*	PushLuaObject(ILuaObject *) = 0;	// 55
    	virtual void*	PushLuaFunction(CFunc) = 0;	// 56
    	virtual void*	LuaError(char  const*, int) = 0;	// 57
    	virtual void*	TypeError(char  const*, int) = 0;	// 58
    	virtual void*	CallInternal(int, int) = 0;	// 59
    	virtual void*	CallInternalNoReturns(int) = 0;	// 60
    	virtual void*	CallInternalGetBool(int) = 0;	// 61
    	virtual void*	CallInternalGetString(int) = 0;	// 62
    	virtual void*	CallInternalGet(int, ILuaObject *) = 0;	// 63
    	virtual void*	_DELETE_ME(ILuaObject *, void *) = 0;	// 64
    	virtual void*	NewGlobalTable(char  const*) = 0;	// 65
    	virtual void*	NewTemporaryObject(void) = 0;	// 66
    	virtual void*	isUserData(int) = 0;	// 67
    	virtual void*	GetMetaTableObject(char  const*, int) = 0;	// 68
    	virtual void*	GetMetaTableObject(int) = 0;	// 69
    	virtual void*	GetReturn(int) = 0;	// 70
    	virtual void*	IsServer(void) = 0;	// 71
    	virtual void*	IsClient(void) = 0;	// 72
    	virtual void*	IsDedicatedServer(void) = 0;	// 73
    	virtual void*	DestroyObject(ILuaObject *) = 0;	// 74
    	virtual void*	CreateObject(void) = 0;	// 75
    	virtual void*	SetMember(ILuaObject *, ILuaObject *, ILuaObject *) = 0;	// 76
    	virtual void*	GetNewTable(void) = 0;	// 77
    	virtual void*	SetMember(ILuaObject *, float) = 0;	// 78
    	virtual void*	SetMember(ILuaObject *, float, ILuaObject *) = 0;	// 79
    	virtual void*	SetMember(ILuaObject *, char  const*) = 0;	// 80
    	virtual void*	SetMember(ILuaObject *, char  const*, ILuaObject *) = 0;	// 81
    	virtual void*	SetIsServer(bool) = 0;	// 82
    	virtual void*	PushLong(long) = 0;	// 83
    	virtual void*	GetFlags(int) = 0;	// 84
    	virtual void*	FindOnObjectsMetaTable(int, int) = 0;	// 85
    	virtual void*	FindObjectOnTable(int, int) = 0;	// 86
    	virtual void*	SetMemberFast(ILuaObject *, int, int) = 0;	// 87
    	virtual void*	RunString(char  const*, char  const*, char  const*, bool, bool) = 0;	// 88
    	virtual void*	IsEqual(ILuaObject *, ILuaObject *) = 0;	// 89
    	virtual void*	Error(char  const*) = 0;	// 90
    	virtual void*	GetStringOrError(int) = 0;	// 91
    	virtual void*	RunLuaModule(char  const*) = 0;	// 92
    	virtual void*	FindAndRunScript(char  const*, bool, bool, char  const*) = 0;	// 93
    	virtual void*	SetPathID(char  const*) = 0;	// 94
    	virtual void*	GetPathID(void) = 0;	// 95
    	virtual void*	ErrorNoHalt(char  const*, ...) = 0;	// 96
    	virtual void*	Msg(char  const*, ...) = 0;	// 97
    	virtual void*	PushPath(char  const*) = 0;	// 98
    	virtual void*	PopPath(void) = 0;	// 99
    	virtual void*	GetPath(void) = 0;	// 100
    	virtual void*	GetColor(int) = 0;	// 101
    	virtual void*	PushColor(int, int, int, int) = 0;	// 102
    	virtual void*	GetStack(int, void *) = 0;	// 103
    	virtual void*	GetInfo(char  const*, void *) = 0;	// 104
    	virtual void*	GetLocal(void *, int) = 0;	// 105
    	virtual void*	GetUpvalue(int, int) = 0;	// 106
    	virtual void*	RunStringEx(char  const*, char  const*, char  const*, bool, bool, bool) = 0;	// 107
    	virtual void*	DELETE_ME1(char  const*, int) = 0;	// 108
    	virtual void*	GetDataString(int, void **) = 0;	// 109
    	virtual void*	ErrorFromLua(char  const*, ...) = 0;	// 110
    	virtual void*	GetCurrentLocation(void) = 0;	// 111
    	virtual void*	MsgColour(void*, char  const*, ...) = 0;	// 112
    	virtual void*	SetState(lua_State *) = 0;	// 113
    	virtual void*	DELETE_ME2(void) = 0;	// 114
    	virtual void*	GetCurrentFile(char &) = 0;	// 115
    	virtual void*	CompileString(void*, char const&) = 0;	// 116
    	virtual void*	ThreadLock(void) = 0;	// 117
    	virtual void*	ThreadUnlock(void) = 0;	// 118
    	virtual void*	CallFunctionProtected(int, int, bool) = 0;	// 119
    	virtual void*	Require(char  const*) = 0;	// 120
    	virtual void*	GetActualTypeName(int) = 0;	// 121
    	virtual void*	SetupInfiniteLoopProtection(void) = 0;	// 122
    	CLuaGameCallback *m_pCallback;
    };
    
    class CLuaShared
    {
    public:
    	virtual void *CLuaShared::Init(void * (*)(char  const*, int *), bool, void *, void *); // 0
    	virtual void *CLuaShared::Shutdown(void); // 1
    	virtual void *CLuaShared::DumpStats(void); // 2
    	virtual void *CLuaShared::CreateLuaInterface(unsigned char, bool); // 3
    	virtual void *CLuaShared::CloseLuaInterface(ILuaInterface *);
    	virtual void padding00() = 0;
    	virtual ILuaInterface *CLuaShared::GetLuaInterface(unsigned char);
    	virtual void *CLuaShared::LoadFile(std::string  const&, std::string  const&, bool, bool);
    	virtual void *CLuaShared::GetCache(std::string  const&);
    	virtual void *CLuaShared::MountLua(char  const*);
    	virtual void *CLuaShared::MountLuaAdd(char  const*, char  const*);
    	virtual void *CLuaShared::UnMountLua(char  const*);
    	virtual void *CLuaShared::SetFileContents(char  const*, char  const*);
    	virtual void *CLuaShared::SetLuaFindHook(void *);
    	virtual void padding01() = 0;
    };
    
    class ILuaBase
    {
    public:
    	virtual int			Top(void) = 0;
    	virtual void		Push(int iStackPos) = 0;
    	virtual void		Pop(int iAmt = 1) = 0;
    	virtual void*		GetTable(int iStackPos) = 0;
    	virtual void		GetField(int iStackPos, const char* strName) = 0;
    	virtual void		SetField(int iStackPos, const char* strName) = 0;
    	virtual void		CreateTable() = 0;
    	virtual void		SetTable(int i) = 0;
    	virtual void		SetMetaTable(int i) = 0;
    	virtual bool		GetMetaTable(int i) = 0;
    	virtual void		Call(int iArgs, int iResults) = 0;
    	virtual int			PCall(int iArgs, int iResults, int iErrorFunc) = 0;
    	virtual int			Equal(int iA, int iB) = 0;
    	virtual int			RawEqual(int iA, int iB) = 0;
    	virtual void		Insert(int iStackPos) = 0;
    	virtual void		Remove(int iStackPos) = 0;
    	virtual int			Next(int iStackPos) = 0;
    	virtual void*		NewUserdata(unsigned int iSize) = 0;
    	virtual void		ThrowError(const char* strError) = 0;
    	virtual void		CheckType(int iStackPos, int iType) = 0;
    	virtual void		ArgError(int iArgNum, const char* strMessage) = 0;
    	virtual void		RawGet(int iStackPos) = 0;
    	virtual void		RawSet(int iStackPos) = 0;
    	virtual const char*		GetString(int iStackPos = -1, unsigned int* iOutLen = NULL) = 0;
    	virtual double			GetNumber(int iStackPos = -1) = 0;
    	virtual bool			GetBool(int iStackPos = -1) = 0;
    	virtual CFunc			GetCFunction(int iStackPos = -1) = 0;
    	virtual void*			GetUserdata(int iStackPos = -1) = 0;
    	virtual void		PushNil() = 0;
    	virtual void		PushString(const char* val, unsigned int iLen = 0) = 0;
    	virtual void		PushNumber(double val) = 0;
    	virtual void		PushBool(bool val) = 0;
    	virtual void		PushCFunction(CFunc val) = 0;
    	virtual void		PushCClosure(CFunc val, int iVars) = 0;
    	virtual void		PushUserdata(void*) = 0;
    	virtual int			ReferenceCreate() = 0;
    	virtual void		ReferenceFree(int i) = 0;
    	virtual void		ReferencePush(int i) = 0;
    	virtual void		PushSpecial(int iType) = 0;
    	virtual bool			IsType(int iStackPos, int iType) = 0;
    	virtual int				GetType(int iStackPos) = 0;
    	virtual const char*		GetTypeName(int iType) = 0;
    	virtual void			CreateMetaTableType(const char* strName, int iType) = 0;
    	virtual const char*		CheckString(int iStackPos = -1) = 0;
    	virtual double			CheckNumber(int iStackPos = -1) = 0; //44
    	virtual void			unk45(void) = 0;
    	virtual void			unk46(void) = 0;
    	virtual void			unk47(void) = 0;
    	virtual void			unk48(void) = 0;
    	virtual void			unk49(void) = 0;
    	virtual void			unk50(void) = 0;
    	virtual void			unk51(void) = 0;
    	virtual void			unk52(void) = 0;
    	virtual void			unk53(void) = 0;
    	virtual void			unk54(void) = 0;
    	virtual void			unk55(void) = 0;
    	virtual void			unk56(void) = 0;
    	virtual void			unk57(void) = 0;
    	virtual void			unk58(void) = 0;
    	virtual void			unk59(void) = 0;
    	virtual void			unk60(void) = 0;
    	virtual void			unk61(void) = 0;
    	virtual void			unk62(void) = 0;
    	virtual void			unk63(void) = 0;
    	virtual void			unk64(void) = 0;
    	virtual void			unk65(void) = 0;
    	virtual void			unk66(void) = 0;
    	virtual void			unk67(void) = 0;
    	virtual void			unk68(void) = 0;
    	virtual void			unk69(void) = 0;
    	virtual void			unk70(void) = 0;
    	virtual void			unk71(void) = 0;
    	virtual void			unk72(void) = 0;
    	virtual void			unk73(void) = 0;
    	virtual void			unk74(void) = 0;
    	virtual void			unk75(void) = 0;
    	virtual void			unk76(void) = 0;
    	virtual void			unk77(void) = 0;
    	virtual void			unk78(void) = 0;
    	virtual void			unk79(void) = 0;
    	virtual void			unk80(void) = 0;
    	virtual void			unk81(void) = 0;
    	virtual void			unk82(void) = 0;
    	virtual void			unk83(void) = 0;
    	virtual void			unk84(void) = 0;
    	virtual void			unk85(void) = 0;
    	virtual void			unk86(void) = 0;
    	virtual void			unk87(void) = 0;
    	virtual bool			RunString(const char* pszFilename, const char* pszPath, const char* pszStringToRun, bool bRun = true, bool bShowErrors = true) = 0;
    	virtual void			unk89(void) = 0;
    	virtual void			unk90(void) = 0;
    	virtual void			unk91(void) = 0;
    	virtual void			unk92(void) = 0;
    	virtual bool			FindAndRunScript(const char* path, bool bRun = true, bool bShowErrors = true, const char* pszType = "!CLIENT") = 0;
    	CLuaGameCallback *m_pCallback;
    };
    
    #endif
    I have even marked out some of the VFunc Indexes for you to use if you wish to hook or modify anything.

    Some of you know what this is and some of you don't. For those who don't this is a GLua Header that you can include in C++ for your hacks, bypasses, modules, whatever.

    After you include it you have to use it properly to get the correct pointers.


    USAGE:
    Code:
    HMODULE LuaShared_modhandle = GetModuleHandle("lua_shared.dll");
    if (LuaShared_modhandle != NULL)
    {
    	typedef void* (*CreateInterfaceFn)(const char *name, int *returncode);
    	CreateInterfaceFn LuaShared_createinter = (CreateInterfaceFn)GetProcAddress(LuaShared_modhandle, "CreateInterface");
    	if (pLuaShared != NULL)
    	{
    		CLuaShared* LuaShared = (CLuaShared*)LuaShared_createinter("LUASHARED003", NULL);
    		if (LuaShared != NULL)
    		{
    			ILuaInterface* ClientLua = LuaShared->GetLuaInterface(LUA_CLIENT);
    			if (ClientLua != NULL)
    			{
    				lua_state* state = ClientLua->GetLuaState();
    				
    				// Do your shit here.
    				// Use ClientLua to interact with the Lua Interface.
    				// Use LUA to interact with the Lua State. Same way modules interact with it. Example: LUA->PushNumber(1)
    			}
    		}
    	}
    }
    Now if you wanted to do things like gmcl_external does you can use RunString and other functions WITHOUT FORCING ANY CVARS!

    Example: LUA->RunString, ClientLua->RunString
    Arguments are FilePath, ErrorName, LuaString in that order.

    FilePath is the full file-path.
    ErrorName is a custom identifier to display in console when the Lua running gives an error.
    LuaString is the FULL LUA FILE. What this means is anything within the Lua file gets passed as a full string.

    However FilePath can be classified as anything without being restricted to the real file-path because the file itself gets passed as string.
    What this means is if you read cdriza's post about bypassing CAC then you will know my method of bypassing Lua-ACs when they scan for filepath.

    If you want to do the same method just change FilePath to "gamemodes/base/gamemode/cl_init.lua". ACs don't seem to check on cl_init.lua of base. :3


    Now. On to the piece of resistance. The RunString Hook.

    In order to do this you must hook CreateLuaInterface on index 4 of LuaShared.

    Now inside of that hook here is what you have to do.

    Run the original. It's return is the Lua Interface and for function return reasons its cast is void*.

    Before returning the interface at the end of your CreateLuaInterface hook you check if the passed state char is equal to the returned interface's enum then hook RunString on the returned interface.

    Example:
    (state == LUA_CLIENT)

    The enum for the states are included in the header.

    RunString's VFunc Index on the interfaces is 88.

    The rest is self explanatory if you understand hooking. I am not going to give you C+P code for this though. Figure it out on your own. Not that hard.


    The only thing I have seen that even remotely uses this method of interacting with the Lua that is public is tdsx's scripthook.

    Could be done a little better but hey I don't see anyone else releasing something like this. :P gDaap eat your heart out.

    EDIT:
    You can embed your scripts into the dll with RunString if you want to front like your an ubber hax0r.
    Last edited by Herp Derpinstine; 02-15-2015 at 07:55 PM.

  2. The Following 6 Users Say Thank You to Herp Derpinstine For This Useful Post:

    Ex7reMe Fx (02-23-2015),hessuhobo (02-15-2015),HoboPie (02-21-2015),Margen67 (02-16-2015),max1612 (02-15-2015),Roskonix (02-15-2015)

  3. #2
    D3M0L1T10N's Avatar
    Join Date
    May 2012
    Gender
    male
    Posts
    1,364
    Reputation
    19
    Thanks
    656
    Quote Originally Posted by Herp Derpinstine View Post
    gDaap eat your heart out
    no worries hes still retarded, and wouldn't be able to implement any of this

    same with 99% of the other people on this forum

  4. #3
    Herp Derpinstine's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    Drug Induced Rainbow
    Posts
    134
    Reputation
    10
    Thanks
    87
    My Mood
    Psychedelic
    Quote Originally Posted by D3M0L1T10N View Post
    no worries hes still retarded, and wouldn't be able to implement any of this

    same with 99% of the other people on this forum
    Yeah. There is still people who will be able to implement it (be that as it may be a small percentage) and hopefully we won't see anymore of the CVar and ConCommand forcing bypasses. Maybe now people will see how skiddish they have been for forcing shit.
    I doubt it though.

  5. #4
    Herp Derpinstine's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    Drug Induced Rainbow
    Posts
    134
    Reputation
    10
    Thanks
    87
    My Mood
    Psychedelic
    BACKD00R stay off my post. Quit removing things for spam that aren't spam.

    Giving infractions for a simple convo between Kona-chan and I that had absolutely nothing to do with spam.

    He also removed good posts from here that are FOR SURE NOT SPAM.

    MPGH admins lost their minds or something.
    Last edited by Herp Derpinstine; 02-15-2015 at 08:05 AM.

  6. The Following 3 Users Say Thank You to Herp Derpinstine For This Useful Post:

    FoldedHam (02-15-2015),Kona-chan (02-16-2015),Trollaux (02-15-2015)

  7. #5
    kasperbjerby's Avatar
    Join Date
    Nov 2011
    Gender
    male
    Location
    Denmark
    Posts
    133
    Reputation
    10
    Thanks
    687
    Quote Originally Posted by D3M0L1T10N View Post
    no worries hes still retarded, and wouldn't be able to implement any of this

    same with 99% of the other people on this forum
    This is just some header files and a guide to hook into runstring?
    I allready have that.. So how is it i won't be able to "implement" this?

  8. #6
    Poppy2k11's Avatar
    Join Date
    Aug 2011
    Gender
    male
    Posts
    33
    Reputation
    10
    Thanks
    5
    My Mood
    Relaxed
    Nice guide, going to try this out tomorrow.

  9. #7
    D3M0L1T10N's Avatar
    Join Date
    May 2012
    Gender
    male
    Posts
    1,364
    Reputation
    19
    Thanks
    656
    Quote Originally Posted by kasperbjerby View Post
    This is just some header files and a guide to hook into runstring?
    I allready have that.. So how is it i won't be able to "implement" this?
    rofl yeah u didn't make it though lmao

  10. #8
    Herp Derpinstine's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    Drug Induced Rainbow
    Posts
    134
    Reputation
    10
    Thanks
    87
    My Mood
    Psychedelic
    Quote Originally Posted by kasperbjerby View Post
    This is just some header files and a guide to hook into runstring?
    I allready have that.. So how is it i won't be able to "implement" this?
    It shows people how to get the interface and state of the Lua you want and then use it to run scripts without CVar forcing or hook RunString and how they can use it to make bypasses, injected Lua modules, and other things.

    gDaap and ur bypass still forces CVars and uses lua_openscript_cl to run scripts.

    If you already had it then gDaap would be 1% less skid shit. It is still mostly C+P.

    Stop trying to b.s. people. We all know gDaap was your test child because you knew nothing of C++.

    Everyone also knows gDaap injected a public bypass that was downloaded through your crap launcher to run it.

    Your not fooling anyone.

    - - - Updated - - -

    Quote Originally Posted by D3M0L1T10N View Post
    rofl yeah u didn't make it though lmao
    Has kasper always been this autistic? Lol
    Last edited by Herp Derpinstine; 02-15-2015 at 08:00 PM.

  11. #9
    swaggles's Avatar
    Join Date
    Feb 2013
    Gender
    male
    Posts
    12
    Reputation
    10
    Thanks
    17
    oh my god someone posted something useful

  12. #10
    ExiledStyles's Avatar
    Join Date
    Jan 2014
    Gender
    male
    Posts
    104
    Reputation
    10
    Thanks
    66
    no he didn't, i proved every reason why it wasn't before mpgh deleted my post

  13. #11
    Herp Derpinstine's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    Drug Induced Rainbow
    Posts
    134
    Reputation
    10
    Thanks
    87
    My Mood
    Psychedelic
    Quote Originally Posted by ExiledStyles View Post
    no he didn't, i proved every reason why it wasn't before mpgh deleted my post
    Oh I am so sorry that you can't get it working styles. Maybe lose some of that autism of yours and learn how to make something that isn't C+P Lua. Lol

  14. #12
    Kona-chan's Avatar
    Join Date
    Oct 2014
    Gender
    female
    Posts
    380
    Reputation
    22
    Thanks
    685
    Quote Originally Posted by kasperbjerby View Post
    This is just some header files and a guide to hook into runstring?
    I allready have that.. So how is it i won't be able to "implement" this?
    because you're too stupid and retarded to implent this on your shitty gdaap c+p

  15. #13
    TheRealFuckingDeagler's Avatar
    Join Date
    Feb 2015
    Gender
    female
    Posts
    10
    Reputation
    22
    Thanks
    17
    "What some people don't want you to have." lmao retard, jesus christ, this shit is all over the wiki and a fucking google search will get you repos with all the required headers.

  16. #14
    MeepDarknessMeep's Avatar
    Join Date
    Aug 2012
    Gender
    female
    Posts
    725
    Reputation
    22
    Thanks
    922
    This is so fucking autistic, first you have pointless "padding" at the end of your vtable
    Your offsets to m_pCallback are wrong
    Most of these classes are copied from public mpgh posts with added autism

    - - - Updated - - -

    https://pastebin.com/BQ5tnvry

  17. The Following User Says Thank You to MeepDarknessMeep For This Useful Post:

    TheRealFuckingDeagler (02-17-2015)

  18. #15
    Herp Derpinstine's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    Drug Induced Rainbow
    Posts
    134
    Reputation
    10
    Thanks
    87
    My Mood
    Psychedelic
    Quote Originally Posted by MeepDarknessMeep View Post
    This is so fucking autistic, first you have pointless "padding" at the end of your vtable
    Your offsets to m_pCallback are wrong
    Most of these classes are copied from public mpgh posts with added autism

    - - - Updated - - -

    https://pastebin.com/BQ5tnvry
    LMAO! I love how you call me a retard for putting in the same effort that everyone else does when they contribute on here.

    Even more I love how people keep bagging on this yet I don't see anyone else posting anything to make it better.

    Just more criticism with no foundation.

    Maybe instead of showing how retarded YOU are by complaining how about you put in more effort than everyone and make it better.

    Constructive criticism with help is better than just showing off how much of a dick you can be.


    EDIT:

    Oh and if your going to put in the effort to capitalize your sentences at least have the common decency to end it with a period so you don't look like such an inbread dipstick.
    Last edited by Herp Derpinstine; 02-16-2015 at 12:00 PM.

Page 1 of 2 12 LastLast

Similar Threads

  1. [Tutorial] What to do if some hacks don`t work for me .
    By Lord Makin in forum Combat Arms Tutorials
    Replies: 2
    Last Post: 10-24-2011, 04:10 AM
  2. MAKE YOUR OWN CHAMS-WHAT MPGH.NET DON'T WANT YOU TO KNOW
    By conadamae in forum Combat Arms Discussions
    Replies: 20
    Last Post: 09-11-2009, 03:35 PM
  3. What Up People!?
    By Gourav2122 in forum Anime
    Replies: 8
    Last Post: 06-16-2009, 05:28 PM
  4. So ghay, some people are so stupid -_- I mean alot.
    By radnomguywfq3 in forum General
    Replies: 5
    Last Post: 11-04-2007, 12:44 AM
  5. Need some People [NL]
    By Elliwood in forum WarRock - International Hacks
    Replies: 27
    Last Post: 07-06-2007, 07:14 PM