public static bool RunCommand_Clientside(string strCommand, out string StrOutput, bool bWantsFeedback = false) { StrOutput = string.Empty; ConsoleSystem.Arg arg = new ConsoleSystem.Arg(strCommand); if (arg.Invalid) { return(false); } if (!ConsoleSystem.RunCommand(ref arg, bWantsFeedback)) { return(false); } if (arg.Reply != null && arg.Reply.Length > 0) { StrOutput = arg.Reply; } return(true); }
public static void SQL_UpdateServer() { MySQL.Result result = MySQL.Query("SELECT * FROM `db_server`;", true); if (result != null) { foreach (MySQL.Row row in result.Row) { if (row.Get("name").AsString.Equals("rcon_command", StringComparison.OrdinalIgnoreCase) && !row.Get("value").IsNull) { ConsoleSystem.Arg arg = new ConsoleSystem.Arg(row.Get("value").AsString); if (!ConsoleSystem.RunCommand(ref arg, true)) { ConsoleSystem.PrintError(arg.Reply, false); } MySQL.Update(string.Format(SQL_SERVER_SET, row.Get("name").AsString, "NULL")); } } } MySQL.Update(string.Format(SQL_SERVER_SET, "time_update", MySQL.QuoteString(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")))); }
public void CallMethod(Fougerite.Player player, string knobname, string methodname, string argstr = "") { if (player == null || string.IsNullOrEmpty(knobname) || string.IsNullOrEmpty(methodname)) { Logger.LogDebug("[Knobs.CallMethod] usage: CallMethod(Fougerite.Player player, string knobname, string methodname, string argstr)"); } else if (_knobs.Contains(knobname.ToLowerInvariant())) { string command = string.Format("{0}.{1}", knobname, methodname); ConsoleSystem.Arg arg = new ConsoleSystem.Arg(command); arg.SetUser(player.PlayerClient.netUser); arg.ArgsStr = argstr; if (arg.Invalid) { Logger.LogError(string.Format("[Knobs.CallMethod] invalid: {0} {1}", command, argstr)); return; } ConsoleSystem.RunCommand(ref arg, true); } else { Logger.LogDebug(string.Format("[Knobs.CallMethod] No such knob: {0}", knobname)); } }