ILuaBase* luaBase = state->luabase;


class CBaseLuaInterface
{
public:
void *vtable;
public:
lua_State *L;
};
class CLuaInterface : public CBaseLuaInterface
{
public:
//more stuff here :)
};
#include <Windows.h>
#include "Lua/Interface.h"
#include "icvar.h"
#include "ILuaShared.h"
#include "lua_shared.h"
using namespace GarrysMod::Lua;
void Initialize()
{
ILuaShared* shared;
CreateInterfaceFn factory = Sys_GetFactory("lua_shared.dll");
shared = (ILuaShared*)factory(GMOD_LUASHARED_INTERFACE, NULL);
ILuaInterface* iface = shared->GetLuaInterface(State::SERVER);
lua_State* state = iface->GetLuaState();
luaL_dostring(state, "print(1)");
}
BOOL APIENTRY DllMain(HANDLE hModule, DWORD Reason, LPVOID lpReserved)
{
if (Reason == DLL_PROCESS_ATTACH)
{
Initialize();
return TRUE;
}
}
extern "C" int luaL_loadstring(lua_State *L, const char *s);