public static bool Handle(Mobile from, string text) { int num1; string text1; string[] textArray1; string text2; CommandEntry entry1; CommandEventArgs args1; if (text.StartsWith(Commands.m_CommandPrefix)) { text = text.Substring(Commands.m_CommandPrefix.Length); num1 = text.IndexOf(' '); if (num1 >= 0) { text2 = text.Substring((num1 + 1)); text1 = text.Substring(0, num1); textArray1 = Commands.Split(text2); } else { text2 = ""; text1 = text.ToLower(); textArray1 = new string[0]; } entry1 = ((CommandEntry)Commands.m_Entries[text1]); if (entry1 != null) { if (from.AccessLevel >= entry1.AccessLevel) { if (entry1.Handler != null) { args1 = new CommandEventArgs(from, text1, text2, textArray1); entry1.Handler.Invoke(args1); EventSink.InvokeCommand(args1); } } else { if (from.AccessLevel <= Commands.m_BadCommandIngoreLevel) { return(false); } from.SendMessage("You do not have access to that command."); } } else { if (from.AccessLevel <= Commands.m_BadCommandIngoreLevel) { return(false); } from.SendMessage("That is not a valid command."); } return(true); } return(false); }
public static bool Handle(Mobile from, string text, MessageType type = MessageType.Regular) { if (!text.StartsWith(Prefix) && type != MessageType.Command) { return(false); } if (type != MessageType.Command) { text = text.Substring(Prefix.Length); } var indexOf = text.IndexOf(' '); string command; string[] args; string argString; if (indexOf >= 0) { argString = text.Substring(indexOf + 1); command = text.Substring(0, indexOf); args = Split(argString); } else { argString = ""; command = text.ToLower(); args = Array.Empty <string>(); } Entries.TryGetValue(command, out var entry); if (entry != null) { if (from.AccessLevel >= entry.AccessLevel) { if (entry.Handler != null) { var e = new CommandEventArgs(from, command, argString, args); entry.Handler(e); EventSink.InvokeCommand(e); } } else { if (from.AccessLevel <= BadCommandIgnoreLevel) { return(false); } from.SendMessage("You do not have access to that command."); } } else { if (from.AccessLevel <= BadCommandIgnoreLevel) { return(false); } from.SendMessage("That is not a valid command."); } return(true); }
public static bool Handle(Mobile from, string text) { if (text.StartsWith(m_CommandPrefix)) { text = text.Substring(m_CommandPrefix.Length); int indexOf = text.IndexOf(' '); string command; string[] args; string argString; if (indexOf >= 0) { argString = text.Substring(indexOf + 1); command = text.Substring(0, indexOf); args = Split(argString); } else { argString = ""; command = text.ToLower(); args = new string[0]; } CommandEntry entry = (CommandEntry)m_Entries[command]; if (entry != null) { if (from.AccessLevel >= entry.AccessLevel) { if (entry.Handler != null) { CommandEventArgs e = new CommandEventArgs(from, command, argString, args); entry.Handler(e); EventSink.InvokeCommand(e); } } else { if (from.AccessLevel <= m_BadCommandIngoreLevel) { return(false); } from.SendMessage("You do not have access to that command."); } } else { if (from.AccessLevel <= m_BadCommandIngoreLevel) { return(false); } from.SendMessage("That is not a valid command."); } return(true); } return(false); }