Example #1
0
void CLuaMapFile::Tick(int ServerTick)
{
    FunctionPrepare("Tick");
    PushInteger((int)(time_get() * 1000 / time_freq())); //time in ms
    PushInteger(ServerTick);
    FunctionExec();
}
Example #2
0
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();
}
Example #3
0
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);
}
Example #4
0
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);
}
Example #5
0
void CLuaFile::ConfigClose()
{
    FunctionExec("ConfigClose");
}