public static LuaScript LoadGlobals(LuaScript script = null) { script = script ?? new LuaScript(); // register and load all global functions here ((FileSystemScriptLoader)script.Options.ScriptLoader).ModulePaths = FileSystemScriptLoader.UnpackStringPaths("./scripts/?;./scripts/?.lua"); script.Globals["GetWorldManager"] = (Func <WorldManager>)Server.GetWorldManager; script.Globals["GetStaticActor"] = (Func <string, Actor>)Server.GetStaticActors; script.Globals["GetStaticActorById"] = (Func <uint, Actor>)Server.GetStaticActors; script.Globals["GetWorldMaster"] = (Func <Actor>)Server.GetWorldManager().GetActor; script.Globals["GetItemGamedata"] = (Func <uint, ItemData>)Server.GetItemGamedata; script.Globals["GetGuildleveGamedata"] = (Func <uint, GuildleveData>)Server.GetGuildleveGamedata; script.Globals["GetLuaInstance"] = (Func <LuaEngine>)LuaEngine.GetInstance; script.Options.DebugPrint = s => { Program.Log.Debug(s); }; return(script); }
private static Script loadScript(string filename) { Script script = new Script(); ((FileSystemScriptLoader)script.Options.ScriptLoader).ModulePaths = FileSystemScriptLoader.UnpackStringPaths("./scripts/?;./scripts/?.lua"); script.Globals["getWorldManager"] = (Func <WorldManager>)Server.GetWorldManager; script.Globals["getStaticActor"] = (Func <string, Actor>)Server.getStaticActors; script.Globals["getWorldMaster"] = (Func <Actor>)Server.GetWorldManager().GetActor; script.Globals["getItemGamedata"] = (Func <uint, Item>)Server.getItemGamedata; try { script.DoFile(filename); } catch (SyntaxErrorException e) { Log.error(String.Format("LUAERROR: {0}.", e.DecoratedMessage)); return(null); } return(script); }