Beispiel #1
0
        public void saveSettings()
        {
            // -- Save bot settings
            settingsReader rc;

            if (!File.Exists("GUI.ini"))
                rc = new settingsReader("GUI.ini", true);
            else {
                rc = new settingsReader("GUI.ini");
                rc.readSettings();
            }

            byte[] settings = new byte[1];
            new BitArray(cSettings).CopyTo(settings, 0);

            if (!rc.settings.ContainsKey("Console"))
                rc.settings.Add("Console", settings[0].ToString());
            else
                rc.settings["Console"] = settings[0].ToString();

            if (!rc.settings.ContainsKey("server"))
                rc.settings.Add("server", serverVersion);
            else
                rc.settings["server"] = serverVersion;

            rc.saveSettings();

            // -- Save server settings.

            List<string> files = new List<string>() { "Data\\System.txt", "Data\\Player.txt", "Data\\Network.txt", "Data\\Heartbeat.txt" }; // -- The files the contain GUI configurable items.
            string tempFile = "";

            foreach (string file in files) {
                StreamReader fileReader = new StreamReader(file);
                string myLine = "";

                do {
                    myLine = fileReader.ReadLine();

                    if (myLine == "") {
                        continue;
                    }

                    string instruction = myLine.Substring(0, myLine.IndexOf(" "));
                    string data = myLine.Substring(myLine.IndexOf("=") + 2, myLine.Length - (myLine.IndexOf("=") + 2));

                    switch (instruction) {
                        case "Server_Name":
                            myLine = "Server_Name = " + boxSName.Text;
                            break;
                        case "MOTD":
                            myLine = "MOTD = " + boxMOTD.Text;
                            break;
                        case "Message_Welcome":
                            myLine = "Message_Welcome = " + boxLogin.Text;
                            break;
                        case "Players_Max":
                            myLine = "Players_Max = " + boxMax.Text;
                            break;
                        case "Name_Verification":
                            myLine = "Name_Verification = " + Convert.ToByte(chkNameVerif.Checked).ToString();
                            break;
                        case "Port":
                            myLine = "Port = " + boxPort.Text;
                            break;
                        case "Public":
                            myLine = "Public = " + Convert.ToByte(chkPub.Checked).ToString();
                            break;
                    }
                    tempFile += myLine + "\n";
                } while (!fileReader.EndOfStream);

                tempFile = tempFile.Substring(0, tempFile.Length - 1); // -- Remove the extra new line.
                fileReader.Close();

                StreamWriter fileWriter = new StreamWriter(file); // -- Write the settings to file.
                fileWriter.Write(tempFile);
                fileWriter.Close();
                tempFile = "";
            }
            loadSettings(); // -- Reload the settings so the GUI's variables are all updated accordingly.
        }
Beispiel #2
0
        private void loadSettings()
        {
            // -- Load settings in from the various .txt files.
            List<string> files = new List<string>() { "Data\\System.txt", "Data\\Player.txt", "Data\\Network.txt", "Data\\Heartbeat.txt" };

            foreach (string file in files) {
                StreamReader fileReader = new StreamReader(file);
                string myLine = "";

                do {
                    myLine = fileReader.ReadLine();

                    if (myLine == "")
                        continue;

                    string instruction = myLine.Substring(0, myLine.IndexOf(" "));
                    string data = myLine.Substring(myLine.IndexOf("=") + 2, myLine.Length - (myLine.IndexOf("=") + 2));

                    switch (instruction) {
                        case "Server_Name":
                            serverName = data;
                            break;
                        case "MOTD":
                            motd = data;
                            break;
                        case "Message_Welcome":
                            welcomeMessage = data;
                            break;
                        case "Players_Max":
                            maxPlayers = data;
                            break;
                        case "Name_Verification":
                            nameVerify = (byte)int.Parse(data);
                            break;
                        case "Port":
                            port = data;
                            break;
                        case "Public":
                            pub = (byte)int.Parse(data);
                            break;
                    }

                } while (!fileReader.EndOfStream);
                fileReader.Close();
            }

            boxMax.Text = maxPlayers;
            boxMOTD.Text = motd;
            boxSName.Text = serverName;
            boxLogin.Text = welcomeMessage;
            boxPort.Text = port;

            chkNameVerif.Checked = BitConverter.ToBoolean(new byte[] { nameVerify }, 0);
            chkPub.Checked = BitConverter.ToBoolean(new byte[] { pub }, 0);

            // -- Now load settings specific to the GUI.
            byte settings = 62;
            string buttons = "";

            if (File.Exists("GUI.ini")) {
                settingsReader sc = new settingsReader("GUI.ini");
                sc.readSettings();
                if (sc.settings.ContainsKey("Console"))
                    settings = (byte)int.Parse(sc.settings["Console"]);
                if (sc.settings.ContainsKey("luas"))
                    buttons = sc.settings["luas"];
                if (sc.settings.ContainsKey("server"))
                    serverVersion = sc.settings["server"];
            }

            cSettings = new bool[] { Convert.ToBoolean(settings & 0x1), Convert.ToBoolean(settings & 0x2), Convert.ToBoolean(settings & 0x4), Convert.ToBoolean(settings & 0x8), Convert.ToBoolean(settings & 0x10), Convert.ToBoolean(settings & 0x20), Convert.ToBoolean(settings & 0x40) };

            // -- Custom buttons...

            if (buttons == "")
                return;

            string[] splits = buttons.Split(new char[] { '|' },StringSplitOptions.RemoveEmptyEntries);

            foreach (string c in splits) {
                string name = c.Substring(0, c.IndexOf(","));
                string fileName = c.Substring(c.IndexOf(",") + 1, c.Length - (c.IndexOf(",") + 1));
                addButton(name, fileName);
            }
        }
Beispiel #3
0
        private void btnAddLua_Click(object sender, EventArgs e)
        {
            string fileName = "";
            string buttonName = "";
            DialogResult p = MessageBox.Show("Would you like to create a new script, or run an existing one? Yes for new.", "New LUA", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);

            if (p == DialogResult.Cancel)
                return;

            if (p == DialogResult.Yes) {
                SaveFileDialog newFile = new SaveFileDialog();
                newFile.InitialDirectory = serverProc.StartInfo.WorkingDirectory + "\\Lua\\";
                newFile.Filter = "Lua Scripts | *.lua";
                newFile.ShowDialog();
                fileName = newFile.FileName;

                StreamWriter sNewFile = new StreamWriter(newFile.FileName);
                sNewFile.Write(" ");
                sNewFile.Close();

                if (fileName == "")
                    return;
            }
            if (p == DialogResult.No) {
                OpenFileDialog newFile = new OpenFileDialog();
                newFile.InitialDirectory = serverProc.StartInfo.WorkingDirectory + "\\Lua\\";
                newFile.Filter = "Lua Scripts | *.lua";
                newFile.ShowDialog();
                fileName = newFile.FileName;

                if (fileName == "")
                    return;
            }
            buttonName = Microsoft.VisualBasic.Interaction.InputBox("Please give a name for the custom button", "Adding LUA");

            if (buttonName == "")
                return;

            DialogResult thisresult = MessageBox.Show("Would you like to edit the file now?", "Lua Add", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (thisresult == DialogResult.Yes) {
                timedMessages tm = new timedMessages();
                tm.file = fileName;
                tm.Show();
            }

            settingsReader rc;

            if (!File.Exists("GUI.ini"))
                rc = new settingsReader("GUI.ini", true);
            else {
                rc = new settingsReader("GUI.ini");
                rc.readSettings();
            }

            string oldButtons = "";

            if (rc.settings.ContainsKey("luas"))
                oldButtons = rc.settings["luas"];

            oldButtons += buttonName + "," + fileName + "|";
            rc.settings["luas"] = oldButtons;

            rc.saveSettings();

            addButton(buttonName, fileName);
        }
Beispiel #4
0
        private void handleButtons(object sender, EventArgs e)
        {
            Button clicked = (Button)sender;

            string fileName = "";
            cButtons.TryGetValue(clicked.Text, out fileName);

            if (fileName == "") {
                MessageBox.Show("An error has occured.");
                return;
            }
            if (removing == true) {
                removing = false;
                settingsReader sc = new settingsReader("GUI.ini");
                sc.readSettings();

                string oldString = "";
                if (sc.settings.ContainsKey("luas"))
                    oldString = sc.settings["luas"];

                oldString = oldString.Replace(clicked.Text + "," + fileName + "|", "");
                sc.settings["luas"] = oldString;
                sc.saveSettings();

                this.Controls.Remove(clicked);
                tabPage9.Controls.Remove(clicked);
                clicked.Dispose();
                return;
            }

            File.SetLastWriteTime(fileName, DateTime.Now);
        }