Fix null characters in chat prompt (old bug)

Sometimes null characters were inserted in chat prompt
Rename "Scripting" bot into "Script" bot.
This commit is contained in:
ORelio 2014-04-10 19:55:16 +02:00
parent b0e4e993ce
commit a543620a80
5 changed files with 23 additions and 14 deletions

View file

@ -254,7 +254,7 @@ namespace MinecraftClient
protected void RunScript(string filename, string playername = "") protected void RunScript(string filename, string playername = "")
{ {
handler.BotLoad(new Bots.Scripting(filename, playername)); handler.BotLoad(new Bots.Script(filename, playername));
} }
#endregion #endregion
@ -833,11 +833,9 @@ namespace MinecraftClient
/// <summary> /// <summary>
/// Runs a list of commands /// Runs a list of commands
/// Usage: bot:scripting:filename
/// Script must be placed in the config directory
/// </summary> /// </summary>
public class Scripting : ChatBot public class Script : ChatBot
{ {
private string file; private string file;
private string[] lines = new string[0]; private string[] lines = new string[0];
@ -846,12 +844,12 @@ namespace MinecraftClient
private int nextline = 0; private int nextline = 0;
private string owner; private string owner;
public Scripting(string filename) public Script(string filename)
{ {
file = filename; file = filename;
} }
public Scripting(string filename, string ownername) public Script(string filename, string ownername)
:this(filename) :this(filename)
{ {
if (ownername != "") if (ownername != "")

View file

@ -60,8 +60,11 @@ namespace MinecraftClient
break; break;
default: default:
if (k.KeyChar != 0)
{
Console.Write('*'); Console.Write('*');
password += k.KeyChar; password += k.KeyChar;
}
break; break;
} }
} }
@ -159,7 +162,15 @@ namespace MinecraftClient
} }
break; break;
default: default:
if (k.KeyChar != 0)
AddChar(k.KeyChar); AddChar(k.KeyChar);
/*
reading_lock = false;
WriteLine("CHAR: " + ((int)k.KeyChar));
if (!System.IO.File.Exists("debug-chars.txt")) { System.IO.File.Create("debug-chars.txt"); }
System.IO.File.AppendAllText("debug-chars.txt", "'" + k.KeyChar + "' " + ((int)k.KeyChar) + "\r\n");
reading_lock = true;
*/
break; break;
} }
} }

View file

@ -175,7 +175,7 @@ namespace MinecraftClient
} }
else if (text.ToLower().StartsWith("/script ")) else if (text.ToLower().StartsWith("/script "))
{ {
handler.BotLoad(new Bots.Scripting(text.Substring(8))); handler.BotLoad(new Bots.Script(text.Substring(8)));
} }
else if (text != "") else if (text != "")
{ {

View file

@ -597,12 +597,12 @@ namespace MinecraftClient
catch (ObjectDisposedException) { } catch (ObjectDisposedException) { }
foreach (ChatBot bot in bots) foreach (ChatBot bot in bots)
if (bot is Bots.Scripting) if (bot is Bots.Script)
scripts_on_hold.Add((Bots.Scripting)bot); scripts_on_hold.Add((Bots.Script)bot);
} }
private List<ChatBot> bots = new List<ChatBot>(); private List<ChatBot> bots = new List<ChatBot>();
private static List<Bots.Scripting> scripts_on_hold = new List<Bots.Scripting>(); private static List<Bots.Script> scripts_on_hold = new List<Bots.Script>();
public void BotLoad(ChatBot b) { b.SetHandler(this); bots.Add(b); b.Initialize(); Settings.SingleCommand = ""; } public void BotLoad(ChatBot b) { b.SetHandler(this); bots.Add(b); b.Initialize(); Settings.SingleCommand = ""; }
public void BotUnLoad(ChatBot b) { bots.RemoveAll(item => object.ReferenceEquals(item, b)); } public void BotUnLoad(ChatBot b) { bots.RemoveAll(item => object.ReferenceEquals(item, b)); }
public void BotClear() { bots.Clear(); } public void BotClear() { bots.Clear(); }

View file

@ -162,7 +162,7 @@ namespace MinecraftClient
if (Settings.ChatLog_Enabled) { handler.BotLoad(new Bots.ChatLog(Settings.ChatLog_File, Settings.ChatLog_Filter, Settings.ChatLog_DateTime)); } if (Settings.ChatLog_Enabled) { handler.BotLoad(new Bots.ChatLog(Settings.ChatLog_File, Settings.ChatLog_Filter, Settings.ChatLog_DateTime)); }
if (Settings.PlayerLog_Enabled) { handler.BotLoad(new Bots.PlayerListLogger(Settings.PlayerLog_Delay, Settings.PlayerLog_File)); } if (Settings.PlayerLog_Enabled) { handler.BotLoad(new Bots.PlayerListLogger(Settings.PlayerLog_Delay, Settings.PlayerLog_File)); }
if (Settings.AutoRelog_Enabled) { handler.BotLoad(new Bots.AutoRelog(Settings.AutoRelog_Delay, Settings.AutoRelog_Retries)); } if (Settings.AutoRelog_Enabled) { handler.BotLoad(new Bots.AutoRelog(Settings.AutoRelog_Delay, Settings.AutoRelog_Retries)); }
if (Settings.StartupScript_Enabled) { handler.BotLoad(new Bots.Scripting(Settings.StartupScript_ScriptFile)); Settings.StartupScript_Enabled = false; } if (Settings.StartupScript_Enabled) { handler.BotLoad(new Bots.Script(Settings.StartupScript_ScriptFile)); Settings.StartupScript_Enabled = false; }
if (Settings.RemoteCtrl_Enabled){ handler.BotLoad(new Bots.RemoteControl()); } if (Settings.RemoteCtrl_Enabled){ handler.BotLoad(new Bots.RemoteControl()); }
//Start the main TCP client //Start the main TCP client