void CLuaMapFile::Tick(int ServerTick) { FunctionPrepare("Tick"); PushInteger((int)(time_get() * 1000 / time_freq())); //time in ms PushInteger(ServerTick); FunctionExec(); }
void CLuaFile::End() { if (m_pLua == 0) return; //try to call the atexit function //Maybe the lua file need to save data eg. a ConfigFile FunctionExec("atexit"); m_pLuaShared->Clear(); }
void CLuaFile::TickDefered() { if (!g_Config.m_SvLua) return; ErrorFunc(m_pLua); if (!FunctionExist("TickDefered")) return; FunctionPrepare("TickDefered"); PushInteger((int)(time_get() * 1000 / time_freq())); PushInteger(m_pServer->Server()->Tick()); FunctionExec(); ErrorFunc(m_pLua); }
void CLuaFile::Tick() { if (!g_Config.m_SvLua) return; ErrorFunc(m_pLua); MySQLTick(); //garbage collector -> clear old results that aren't fetched by lua m_pLuaShared->Tick(); if (!FunctionExist("Tick")) return; FunctionPrepare("Tick"); PushInteger((int)(time_get() * 1000 / time_freq())); PushInteger(m_pServer->Server()->Tick()); FunctionExec(); if (m_pServer->Server()->Tick() % (m_pServer->Server()->TickSpeed() * 60) == 0) dbg_msg("lua", "%i kiB", lua_gc(m_pLua, LUA_GCCOUNT, 0)); lua_gc(m_pLua, LUA_GCCOLLECT, 1000); ErrorFunc(m_pLua); }
void CLuaFile::ConfigClose() { FunctionExec("ConfigClose"); }