public PythonEngine() { engine = Python.CreateEngine(); /*Dalamar: BEGIN*/ var paths = engine.GetSearchPaths(); // Add "Scripts" forlder paths.Add(Misc.CurrentScriptDirectory()); // Add defult IronPython installlation folder ( allow import os, json, and all the other standar python modules ) if (System.IO.Directory.Exists(@"C:\Program Files\IronPython 2.7")) { paths.Add(@"C:\Program Files\IronPython 2.7\Lib"); paths.Add(@"C:\Program Files\IronPython 2.7\DLLs"); paths.Add(@"C:\Program Files\IronPython 2.7"); paths.Add(@"C:\Program Files\IronPython 2.7\lib\site-packages"); } engine.SetSearchPaths(paths); /*Dalamar: END*/ engine.Runtime.Globals.SetVariable("Misc", new RazorEnhanced.Misc()); engine.Runtime.Globals.SetVariable("Items", new RazorEnhanced.Items()); engine.Runtime.Globals.SetVariable("Mobiles", new RazorEnhanced.Mobiles()); engine.Runtime.Globals.SetVariable("Player", new RazorEnhanced.Player()); engine.Runtime.Globals.SetVariable("Spells", new RazorEnhanced.Spells()); engine.Runtime.Globals.SetVariable("Gumps", new RazorEnhanced.Gumps()); engine.Runtime.Globals.SetVariable("Journal", new RazorEnhanced.Journal()); engine.Runtime.Globals.SetVariable("Target", new RazorEnhanced.Target()); engine.Runtime.Globals.SetVariable("Statics", new RazorEnhanced.Statics()); engine.Runtime.Globals.SetVariable("AutoLoot", new RazorEnhanced.AutoLoot()); engine.Runtime.Globals.SetVariable("Scavenger", new RazorEnhanced.Scavenger()); engine.Runtime.Globals.SetVariable("SellAgent", new RazorEnhanced.SellAgent()); engine.Runtime.Globals.SetVariable("BuyAgent", new RazorEnhanced.BuyAgent()); engine.Runtime.Globals.SetVariable("Organizer", new RazorEnhanced.Organizer()); engine.Runtime.Globals.SetVariable("Dress", new RazorEnhanced.Dress()); engine.Runtime.Globals.SetVariable("Friend", new RazorEnhanced.Friend()); engine.Runtime.Globals.SetVariable("Restock", new RazorEnhanced.Restock()); engine.Runtime.Globals.SetVariable("BandageHeal", new RazorEnhanced.BandageHeal()); engine.Runtime.Globals.SetVariable("PathFinding", new RazorEnhanced.PathFinding()); engine.Runtime.Globals.SetVariable("DPSMeter", new RazorEnhanced.DPSMeter()); engine.Runtime.Globals.SetVariable("Timer", new RazorEnhanced.Timer()); engine.Runtime.Globals.SetVariable("Vendor", new RazorEnhanced.Vendor()); //Setup main script symbols, automatically imported for convenience //scope = GetRazorScope(engine); scope = engine.Runtime.Globals; }
public PythonEngine() { engine = Python.CreateEngine(); //Paths for IronPython 3.4 var paths = new List <string>(); var basepath = Assistant.Engine.RootPath; // IronPython 3.4 add some default absolute paths: ./, ./Lib, ./DLLs // When run via CUO the paths are messed up, so we ditch the default ones and put the correct ones. // Order matters: // 1- ./Script/ paths.Add(Misc.CurrentScriptDirectory()); // 2- ./Lib/ paths.Add(Path.Combine(basepath, "Lib")); // 3- ./ paths.Add(basepath); engine.SetSearchPaths(paths); // Add also defult IronPython 3.4 installlation folder, if present if (System.IO.Directory.Exists(@"C:\Program Files\IronPython 3.4")) { paths.Add(@"C:\Program Files\IronPython 3.4"); paths.Add(@"C:\Program Files\IronPython 3.4\Lib"); paths.Add(@"C:\Program Files\IronPython 3.4\DLLs"); paths.Add(@"C:\Program Files\IronPython 3.4\Scripts"); } //RE Modules list Modules = new Dictionary <string, object>(); Modules.Add("Misc", new RazorEnhanced.Misc()); Modules.Add("Items", new RazorEnhanced.Items()); Modules.Add("Mobiles", new RazorEnhanced.Mobiles()); Modules.Add("Player", new RazorEnhanced.Player()); Modules.Add("Spells", new RazorEnhanced.Spells()); Modules.Add("Gumps", new RazorEnhanced.Gumps()); Modules.Add("Journal", new RazorEnhanced.Journal()); Modules.Add("Target", new RazorEnhanced.Target()); Modules.Add("Statics", new RazorEnhanced.Statics()); Modules.Add("AutoLoot", new RazorEnhanced.AutoLoot()); Modules.Add("Scavenger", new RazorEnhanced.Scavenger()); Modules.Add("SellAgent", new RazorEnhanced.SellAgent()); Modules.Add("BuyAgent", new RazorEnhanced.BuyAgent()); Modules.Add("Organizer", new RazorEnhanced.Organizer()); Modules.Add("Dress", new RazorEnhanced.Dress()); Modules.Add("Friend", new RazorEnhanced.Friend()); Modules.Add("Restock", new RazorEnhanced.Restock()); Modules.Add("BandageHeal", new RazorEnhanced.BandageHeal()); Modules.Add("PathFinding", new RazorEnhanced.PathFinding()); Modules.Add("DPSMeter", new RazorEnhanced.DPSMeter()); Modules.Add("Timer", new RazorEnhanced.Timer()); Modules.Add("Vendor", new RazorEnhanced.Vendor()); //Setup builtin modules and scope foreach (var module in Modules) { engine.Runtime.Globals.SetVariable(module.Key, module.Value); engine.GetBuiltinModule().SetVariable(module.Key, module.Value); } scope = engine.CreateScope(); }