public World() { Instance = this; Log.Write("Loading plugins..."); PluginMgr.LoadAll(); TriggerHandler.RegisterTrigger("core.login", @"^\$gmcp\.char\.vitals\.hp ", _GMCPHP); InputHandler.RegisterCommand("commands", "", _Commands, CMDFlags.None, null, 0, ulong.MaxValue, "core", 8); InputHandler.RegisterCommand("lastlines", @"^(\d+)$", _LineInfo, CMDFlags.None, null, 0, ulong.MaxValue, "core", 8); InputHandler.RegisterCommand("plugins", @"^(\w+)(\s+full)?", _PluginInfo, CMDFlags.None, null, 0, ulong.MaxValue, "core", 6); InputHandler.RegisterCommand("shutdown", "", _Shutdown, CMDFlags.None, null, 0, ulong.MaxValue, "core", 8); }
/// <summary> /// Register a new trigger. /// </summary> /// <param name="Name">Unique identifier for the trigger.</param> /// <param name="Pattern">Regex pattern for the trigger.</param> /// <param name="Function">Function that will be called if this trigger fires.</param> /// <param name="Flags">Options for the trigger.</param> /// <param name="Priority">Lower priority triggers get matched first.</param> /// <param name="Arg">Custom argument that will be passed to trigger data.</param> protected void RegisterTrigger(string Name, string Pattern, TriggerFunction Function, TriggerFlags Flags, int Priority, int Arg) { TriggerHandler.RegisterTrigger(Keyword.ToLower().Trim() + "." + Name, Pattern, Function, Flags, Priority, Arg, Keyword.ToLower().Trim()); }