/*************************************************************************** The Disc Image Chef ---------------------------------------------------------------------------- Filename : frmMain.cs Version : 1.0.326 Author(s) : Natalia Portillo Component : NatiBot Revision : r326 Last change by : Natalia Portillo Date : 2010/01/01 --[ License ] -------------------------------------------------------------- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ---------------------------------------------------------------------------- Copyright (C) 2008-2014 Claunia.com ****************************************************************************/ namespace bot.GUI { using bot; using bot.license; using bot.GUI; using OpenMetaverse; using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Reflection; using System.IO; using System.Runtime.CompilerServices; using System.Windows.Forms; using System.Xml.Serialization; using System.Net; using System.Collections.Generic; using clControls; using System.Threading; using Claunia.clUtils; public class frmMain : Form { private clImageButton btnSetMaster; private CheckBox cbGreetMaster; private ContextMenuStrip cmsAccount; private IContainer components; private ToolStripMenuItem editToolStripMenuItem; private GroupBox gbAccounts; private GroupBox gbMaster; private Label lblAccoutnsInfo; private Label lblBotsOnline; private ToolStripMenuItem loginToolStripMenuItem; private ToolStripMenuItem logoutToolStripMenuItem; private ToolStripMenuItem objectsToolStripMenuItem; private OpenFileDialog openAccountList; private ToolStripMenuItem removeToolStripMenuItem; private SaveFileDialog saveAccountList; private ToolTip ttGreetMaster; private GroupBox groupBox2; private GroupBox groupBox1; private CheckBox cbRelayConvos; private CheckBox cbAgentUpdate; private TextBox txtIRCMaster; private Label label4; private TextBox txtIRCChannel; private Label label3; private TextBox txtIRCPort; private Label label2; private TextBox txtIRCServer; private Label label1; private ToolStrip tsBots; private ToolStripButton tsbLoad; private ToolStripButton toolStripButton2; private ToolStripSeparator toolStripSeparator1; private ToolStripButton tsbAdd; private ToolStripButton tsbRemove; private ToolStripSeparator sep2; private ToolStripButton tsbLogin; private ToolStripButton tsbLoginAll; private ToolStripSeparator toolStripSeparator2; private ToolStripButton tsbLogout; private ToolStripButton tsbLogoutAll; private TextBox txtSetMaster; private Button cmdCrash; //private bot.HTTP.HTTPDaemon webserver; private clImageButton btnObjects2; private clImageButton btnImport; private OpenFileDialog dlgImport; private ProgressBar prgProgress; private clImageButton btnAbout; private Label lblUploadStatus; private Label lblMain; private GroupBox gbBotConfiguration; private clImageButton btnConsole; private frmConsole console; private frmChat chat; private Dictionary Interfaces = new Dictionary(); private clImageButton btnExit; private GroupBox gbSettings; private ComboBox cmbLanguage; private Label lblLanguage; private ComboBox cmbSkin; private Label lblSkin; private CheckBox chkLogConsole; private clImageButton btnChat; private clImageButton btnMap; private clImageButton btnFriends; private clImageButton btnGroups; private clImageButton btnAvatars; private CheckBox chkHaveLuck; private CheckBox chkTouchMidnightMania; private CheckBox chkInformFriends; private CheckBox chkInventoryOffers; private CheckBox chkSounds; private CheckBox chkTextures; private CheckBox chkAnimations; private CheckBox chkLogChat; private clImageButton btnInventory; private AccountList accList; private Point mouse_offset; private delegate void StartImportCallback(int maxvalue); private delegate void SetProgressValueCallback(int value,int maxvalue); private delegate void StopImportCallback(); public frmMain() { this.InitializeComponent(); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); Application.ApplicationExit += new EventHandler(this.OnApplicationExit); //Puts language resources //this.tabTools.Text = bot.Localization.clResourceManager.getText("frmMain.tabTools"); this.lblUploadStatus.Text = ""; this.btnImport.Text = bot.Localization.clResourceManager.getText("frmMain.btnImport"); this.btnObjects2.Text = bot.Localization.clResourceManager.getText("frmMain.btnObjects"); this.cmdCrash.Text = bot.Localization.clResourceManager.getText("frmMain.cmdCrash"); this.btnSetMaster.Text = bot.Localization.clResourceManager.getText("frmMain.btnSetMaster"); //this.tabConsole.Text = bot.Localization.clResourceManager.getText("frmMain.tabConsole"); //this.tabBotSettings.Text = bot.Localization.clResourceManager.getText("frmMain.tabBotSettings"); this.gbBotConfiguration.Text = bot.Localization.clResourceManager.getText("frmMain.tabBotSettings"); this.groupBox2.Text = bot.Localization.clResourceManager.getText("frmMain.groupBox2"); this.label4.Text = bot.Localization.clResourceManager.getText("frmMain.label4"); this.label3.Text = bot.Localization.clResourceManager.getText("frmMain.label3"); this.label2.Text = bot.Localization.clResourceManager.getText("frmMain.label2"); this.label1.Text = bot.Localization.clResourceManager.getText("frmMain.label1"); this.groupBox1.Text = bot.Localization.clResourceManager.getText("frmMain.groupBox1"); this.cbRelayConvos.Text = bot.Localization.clResourceManager.getText("frmMain.cbRelayConvos"); this.cbAgentUpdate.Text = bot.Localization.clResourceManager.getText("frmMain.cbAgentUpdate"); this.cbGreetMaster.Text = bot.Localization.clResourceManager.getText("frmMain.cbGreetMaster"); this.editToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.editToolStripMenuItem"); this.loginToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.loginToolStripMenuItem"); this.logoutToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.logoutToolStripMenuItem"); this.objectsToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.objectsToolStripMenuItem"); this.removeToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.removeToolStripMenuItem"); this.gbAccounts.Text = bot.Localization.clResourceManager.getText("frmMain.gbAccounts"); this.tsBots.Text = bot.Localization.clResourceManager.getText("frmMain.tsBots"); this.tsbLoad.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLoad"); this.toolStripButton2.Text = bot.Localization.clResourceManager.getText("frmMain.toolStripButton2"); this.tsbAdd.Text = bot.Localization.clResourceManager.getText("frmMain.tsbAdd"); this.tsbRemove.Text = bot.Localization.clResourceManager.getText("frmMain.tsbRemove"); this.tsbLogin.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLogin"); this.tsbLoginAll.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLoginAll"); this.tsbLogout.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLogout"); this.tsbLogoutAll.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLogoutAll"); this.lblAccoutnsInfo.Text = bot.Localization.clResourceManager.getText("frmMain.lblAccoutnsInfo"); this.openAccountList.Filter = bot.Localization.clResourceManager.getText("frmMain.openAccountList"); this.saveAccountList.Filter = bot.Localization.clResourceManager.getText("frmMain.openAccountList"); this.ttGreetMaster.ToolTipTitle = bot.Localization.clResourceManager.getText("frmMain.ttGreetMaster"); this.dlgImport.Title = bot.Localization.clResourceManager.getText("frmMain.dlgImport"); this.btnAbout.Text = bot.Localization.clResourceManager.getText("frmMain.btnAbout"); this.btnConsole.Text = bot.Localization.clResourceManager.getText("frmMain.tabConsole"); this.gbSettings.Text = bot.Localization.clResourceManager.getText("frmMain.gbSettings"); this.chkLogConsole.Text = bot.Localization.clResourceManager.getText("frmMain.chkLogConsole"); this.lblLanguage.Text = bot.Localization.clResourceManager.getText("frmMain.lblLanguage"); this.cmbLanguage.Items.AddRange(bot.Localization.clResourceManager.getAvailableLanguages()); this.cmbSkin.Items.AddRange(bot.Localization.clResourceManager.getAvailableSkins().ToArray()); this.btnAvatars.Text = bot.Localization.clResourceManager.getText("frmMain.btnAvatars"); this.btnGroups.Text = bot.Localization.clResourceManager.getText("frmMain.btnGroups"); this.btnFriends.Text = bot.Localization.clResourceManager.getText("frmMain.btnFriends"); this.btnInventory.Text = bot.Localization.clResourceManager.getText("frmMain.btnInventory"); this.btnMap.Text = bot.Localization.clResourceManager.getText("frmMain.btnMap"); this.chkAnimations.Text = bot.Localization.clResourceManager.getText("frmMain.chkAnimations"); this.chkTextures.Text = bot.Localization.clResourceManager.getText("frmMain.chkTextures"); this.chkSounds.Text = bot.Localization.clResourceManager.getText("frmMain.chkSounds"); this.chkInventoryOffers.Text = bot.Localization.clResourceManager.getText("frmMain.chkInventoryOffers"); this.chkInformFriends.Text = bot.Localization.clResourceManager.getText("frmMain.chkInformFriends"); this.chkTouchMidnightMania.Text = bot.Localization.clResourceManager.getText("frmMain.chkTouchMidnightMania"); this.chkHaveLuck.Text = bot.Localization.clResourceManager.getText("frmMain.chkHaveLuck"); this.chkLogChat.Text = bot.Localization.clResourceManager.getText("frmMain.chkLogChat"); //Ends putting language resources //Starts putting buttons this.btnSetMaster.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.idle"); this.btnSetMaster.Image = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.idle"); this.btnSetMaster.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.onclick"); this.btnSetMaster.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.onhover"); this.btnObjects2.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.idle"); this.btnObjects2.Image = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.idle"); this.btnObjects2.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.onclick"); this.btnObjects2.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.onhover"); this.btnImport.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnImport.idle"); this.btnImport.Image = bot.Localization.clResourceManager.getButton("frmMain.btnImport.idle"); this.btnImport.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnImport.onclick"); this.btnImport.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnImport.onhover"); this.btnAbout.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.idle"); this.btnAbout.Image = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.idle"); this.btnAbout.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.onclick"); this.btnAbout.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.onhover"); this.btnConsole.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.idle"); this.btnConsole.Image = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.idle"); this.btnConsole.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.onclick"); this.btnConsole.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.onhover"); this.btnExit.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); this.btnExit.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); this.btnExit.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); this.btnExit.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); this.btnChat.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnChat.idle"); this.btnChat.Image = bot.Localization.clResourceManager.getButton("frmMain.btnChat.idle"); this.btnChat.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnChat.onclick"); this.btnChat.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnChat.onhover"); this.btnAvatars.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.idle"); this.btnAvatars.Image = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.idle"); this.btnAvatars.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.onclick"); this.btnAvatars.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.onhover"); this.btnGroups.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.idle"); this.btnGroups.Image = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.idle"); this.btnGroups.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.onclick"); this.btnGroups.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.onhover"); this.btnInventory.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.idle"); this.btnInventory.Image = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.idle"); this.btnInventory.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.onclick"); this.btnInventory.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.onhover"); this.btnFriends.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.idle"); this.btnFriends.Image = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.idle"); this.btnFriends.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.onclick"); this.btnFriends.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.onhover"); this.btnMap.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnMap.idle"); this.btnMap.Image = bot.Localization.clResourceManager.getButton("frmMain.btnMap.idle"); this.btnMap.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnMap.onclick"); this.btnMap.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnMap.onhover"); //Ends putting buttons this.Icon = bot.Localization.clResourceManager.getIcon(); this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmMain"); if (console == null) { console = new frmConsole(); console.OnOutputSend += new frmConsole.OutputSendCallback(this.Console_OutPutSend); } if (chat == null) { chat = new frmChat(); } cmbLanguage.SelectedItem = bot.Localization.clResourceManager.getCurrentLanguage(); cmbSkin.SelectedItem = bot.Localization.clResourceManager.getCurrentSkin(); this.Paint += new PaintEventHandler(frmMain_Paint); this.DisableControls(true); Program.NBStats.AddStatData(DateTime.Now.ToString() + " NatiBot main window created."); // STATISTICS } void frmMain_Paint(object sender, PaintEventArgs e) { lock (Interfaces) { foreach (Interface iface in Interfaces.Keys) { iface.Paint(sender, e); } } } private void btnAddAccount_Click(object sender, EventArgs e) { frmAddAccount account = new frmAddAccount(); account.OnAddAccount += new frmAddAccount.AddAccountCallback(this.frmAddAcc_OnAddAccount); account.Show(); } private void btnLoadAccs_Click(object sender, EventArgs e) { this.openAccountList.ShowDialog(); //ACCLIST this.DisableLoginControls(this.accList.Items.Count == 0); } private void btnLogin_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { Program.NBStats.AddStatData(String.Format("{0}: {1} logged in on {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.SelectedAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS this.SelectedAccount.Connect(); } } private void btnLoginAll_Click(object sender, EventArgs e) { //ACCLIST foreach (ListViewItem item in this.accList.Items) { BotAccount _bAccount; _bAccount = (BotAccount)item.Tag; _bAccount.Connect(); } } private void btnLogout_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { Program.NBStats.AddStatData(String.Format("{0}: {1} logged out on {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.SelectedAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS this.SelectedAccount.Disconnect(false); } } private void btnLogoutAll_Click(object sender, EventArgs e) { //ACCLIST foreach (ListViewItem item in this.accList.Items) { BotAccount _bAccount; _bAccount = (BotAccount)item.Tag; _bAccount.Disconnect(false); } } private void btnRemoveAccount_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.Delete(); } this.AutoSave(); //ACCLIST this.DisableLoginControls(this.accList.Items.Count == 0); } private void AutoSave() { this.SaveXmlAccounts(); } private void btnSaveAccs_Click(object sender, EventArgs e) { this.saveAccountList.ShowDialog(); } private void btnSetMaster_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { if (this.SelectedAccount.Client != null) { this.SelectedAccount.Client.MasterName = this.txtSetMaster.Text; } else if (this.SelectedAccount.LoginDetails != null) { this.SelectedAccount.LoginDetails.MasterName = this.txtSetMaster.Text; this.SelectedAccount.ListItem.SubItems[2].Text = this.txtSetMaster.Text; } Program.NBStats.AddStatData(String.Format("{0}: {1} changing master to {2}.", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.txtSetMaster.Text)); // STATISTICS } } protected override void Dispose(bool disposing) { if (disposing && (this.components != null)) { this.components.Dispose(); } base.Dispose(disposing); } private void editToolStripMenuItem_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { if (this.SelectedAccount.LoginDetails == null) { MessageBox.Show("SelectedAccount.LoginDetails == null"); } if (this.SelectedAccount.Client != null) { MessageBox.Show(bot.Localization.clResourceManager.getText("frmMain.ErrorEditingConnected")); } else { frmAddAccount account = new frmAddAccount(this.SelectedAccount.LoginDetails); account.OnAddAccount += new frmAddAccount.AddAccountCallback(this.frmAddAcc_OnEditAccount); account.Show(); } } } private void frmAddAcc_OnAddAccount(BotAccount botAccount) { //ACCLIST botAccount.OnDialogScriptReceived += new BotAccount.OnDialogScriptReceivedCallback(botAccount_OnDialogScriptReceived); botAccount.OnStatusChange += new BotAccount.StatusChangeCallback(botAccount_OnStatusChange); botAccount.OnAccountRemoved += new BotAccount.AccountRemovedCallback(botAccount_OnAccountRemoved); botAccount.OnMasterChange += new BotAccount.MasterChangeCallback(botAccount_OnMasterChange); botAccount.OnLocationChanged += new BotAccount.LocationChangeCallback(botAccount_OnLocationChanged); ListViewItem account = new ListViewItem(botAccount.LoginDetails.FullName); account.Tag = botAccount; account.SubItems.Add(bot.Localization.clResourceManager.getText("botAccount.Offline")); account.SubItems.Add(botAccount.LoginDetails.MasterName); account.SubItems.Add(botAccount.LoginDetails.StartLocation); botAccount.ListItem = account; this.accList.Items.Add(account); this.DisableLoginControls(this.accList.Items.Count == 0); this.AutoSave(); Program.NBStats.AddStatData(String.Format("{0}: Added account {1} on {2}", DateTime.Now.ToString(), botAccount.LoginDetails.FullName, botAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS } void botAccount_OnLocationChanged(string newLocation, ListViewItem item) { if (!this.IsHandleCreated) return; if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { botAccount_OnLocationChanged(newLocation, item); }); else item.SubItems[3].Text = newLocation; } void botAccount_OnMasterChange(string newMaster, ListViewItem item) { if (!this.IsHandleCreated) return; if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { botAccount_OnMasterChange(newMaster, item); }); else item.SubItems[2].Text = newMaster; } void botAccount_OnAccountRemoved(ListViewItem item) { if (!this.IsHandleCreated) return; if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { botAccount_OnAccountRemoved(item); }); else { item.SubItems[1].Text = bot.Localization.clResourceManager.getText("botAccount.Removing"); item.ForeColor = Color.Gray; } } private void botAccount_OnDialogScriptReceived(SecondLifeBot bot, ScriptDialogEventArgs args) { if (!this.IsHandleCreated) return; if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { botAccount_OnDialogScriptReceived(bot, args); }); else new bot.GUI.frmScriptDialog(bot, args).Show(); } private void botAccount_OnStatusChange(string newStatus, Color color, ListViewItem item) { if (!this.IsHandleCreated) return; if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { botAccount_OnStatusChange(newStatus, color, item); }); else { item.SubItems[1].Text = newStatus; item.ForeColor = color; } } private void frmAddAcc_OnEditAccount(BotAccount botAccount) { //ACCLIST this.tsbRemove.PerformClick(); botAccount.OnDialogScriptReceived += new BotAccount.OnDialogScriptReceivedCallback(botAccount_OnDialogScriptReceived); botAccount.OnStatusChange += new BotAccount.StatusChangeCallback(botAccount_OnStatusChange); botAccount.OnAccountRemoved += new BotAccount.AccountRemovedCallback(botAccount_OnAccountRemoved); botAccount.OnMasterChange += new BotAccount.MasterChangeCallback(botAccount_OnMasterChange); botAccount.OnLocationChanged += new BotAccount.LocationChangeCallback(botAccount_OnLocationChanged); ListViewItem account = new ListViewItem(botAccount.LoginDetails.FullName); account.Tag = botAccount; account.SubItems.Add(bot.Localization.clResourceManager.getText("botAccount.Offline")); account.SubItems.Add(botAccount.LoginDetails.MasterName); account.SubItems.Add(botAccount.LoginDetails.StartLocation); botAccount.ListItem = account; this.accList.Items.Add(account); this.AutoSave(); Program.NBStats.AddStatData(String.Format("{0}: Edited account {1} on {2}", DateTime.Now.ToString(), botAccount.LoginDetails.FullName, botAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS } private void frmMain_Load(object sender, EventArgs e) { bot.license.Version v = new bot.license.Version(); if (Utilities.GetRunningRuntime() != Utilities.Runtime.Mono) this.TransparencyKey = Color.Yellow; string str = v.ToString() + " " + v.v_rev; this.Text = string.Format("NatiBot - v{0}", str); lblMain.Text = string.Format("NatiBot - v{0}", str); this.LoadXmlAccounts(); //ACCLIST this.DisableLoginControls(this.accList.Items.Count == 0); chkLogConsole.Checked = Program.getWriteConsoleToFileSetting(); chkLogChat.Checked = Program.getWriteChatToFileSetting(); if (console != null) { console.Show(); console.Hide(); } if (chat != null) { chat.Show(); chat.Hide(); } bot.Console.WriteLine(bot.Localization.clResourceManager.getText("bot.Starts")); // webserver = new bot.HTTP.HTTPDaemon(9001, "DONGS", this); } private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain)); this.btnAbout = new clControls.clImageButton(); this.prgProgress = new System.Windows.Forms.ProgressBar(); this.btnImport = new clControls.clImageButton(); this.btnObjects2 = new clControls.clImageButton(); this.cmdCrash = new System.Windows.Forms.Button(); this.gbMaster = new System.Windows.Forms.GroupBox(); this.txtSetMaster = new System.Windows.Forms.TextBox(); this.btnSetMaster = new clControls.clImageButton(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.txtIRCMaster = new System.Windows.Forms.TextBox(); this.label4 = new System.Windows.Forms.Label(); this.txtIRCChannel = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.txtIRCPort = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.txtIRCServer = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.cbRelayConvos = new System.Windows.Forms.CheckBox(); this.cbAgentUpdate = new System.Windows.Forms.CheckBox(); this.cbGreetMaster = new System.Windows.Forms.CheckBox(); this.cmsAccount = new System.Windows.Forms.ContextMenuStrip(this.components); this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.loginToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.logoutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.objectsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.gbAccounts = new System.Windows.Forms.GroupBox(); this.accList = new bot.GUI.AccountList(); this.lblBotsOnline = new System.Windows.Forms.Label(); this.lblAccoutnsInfo = new System.Windows.Forms.Label(); this.tsBots = new System.Windows.Forms.ToolStrip(); this.tsbLoad = new System.Windows.Forms.ToolStripButton(); this.toolStripButton2 = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.tsbAdd = new System.Windows.Forms.ToolStripButton(); this.tsbRemove = new System.Windows.Forms.ToolStripButton(); this.sep2 = new System.Windows.Forms.ToolStripSeparator(); this.tsbLogin = new System.Windows.Forms.ToolStripButton(); this.tsbLoginAll = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.tsbLogout = new System.Windows.Forms.ToolStripButton(); this.tsbLogoutAll = new System.Windows.Forms.ToolStripButton(); this.openAccountList = new System.Windows.Forms.OpenFileDialog(); this.saveAccountList = new System.Windows.Forms.SaveFileDialog(); this.ttGreetMaster = new System.Windows.Forms.ToolTip(this.components); this.dlgImport = new System.Windows.Forms.OpenFileDialog(); this.lblUploadStatus = new System.Windows.Forms.Label(); this.lblMain = new System.Windows.Forms.Label(); this.gbBotConfiguration = new System.Windows.Forms.GroupBox(); this.chkHaveLuck = new System.Windows.Forms.CheckBox(); this.chkTouchMidnightMania = new System.Windows.Forms.CheckBox(); this.chkInformFriends = new System.Windows.Forms.CheckBox(); this.chkInventoryOffers = new System.Windows.Forms.CheckBox(); this.chkSounds = new System.Windows.Forms.CheckBox(); this.chkTextures = new System.Windows.Forms.CheckBox(); this.chkAnimations = new System.Windows.Forms.CheckBox(); this.btnConsole = new clControls.clImageButton(); this.btnExit = new clControls.clImageButton(); this.gbSettings = new System.Windows.Forms.GroupBox(); this.chkLogChat = new System.Windows.Forms.CheckBox(); this.cmbLanguage = new System.Windows.Forms.ComboBox(); this.lblLanguage = new System.Windows.Forms.Label(); this.chkLogConsole = new System.Windows.Forms.CheckBox(); this.lblSkin = new System.Windows.Forms.Label(); this.cmbSkin = new System.Windows.Forms.ComboBox(); this.btnChat = new clControls.clImageButton(); this.btnMap = new clControls.clImageButton(); this.btnFriends = new clControls.clImageButton(); this.btnGroups = new clControls.clImageButton(); this.btnAvatars = new clControls.clImageButton(); this.btnInventory = new clControls.clImageButton(); ((System.ComponentModel.ISupportInitialize)(this.btnAbout)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnImport)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnObjects2)).BeginInit(); this.gbMaster.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.btnSetMaster)).BeginInit(); this.groupBox2.SuspendLayout(); this.groupBox1.SuspendLayout(); this.cmsAccount.SuspendLayout(); this.gbAccounts.SuspendLayout(); this.tsBots.SuspendLayout(); this.gbBotConfiguration.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.btnConsole)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnExit)).BeginInit(); this.gbSettings.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.btnChat)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnMap)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnFriends)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnGroups)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnAvatars)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.btnInventory)).BeginInit(); this.SuspendLayout(); // // btnAbout // this.btnAbout.BackColor = System.Drawing.Color.Transparent; this.btnAbout.ButtonBitmap = null; this.btnAbout.ButtonState = clControls.ButtonState.Normal; this.btnAbout.DisabledBitmap = null; this.btnAbout.Image = ((System.Drawing.Image)(resources.GetObject("btnAbout.Image"))); this.btnAbout.Location = new System.Drawing.Point(745, 380); this.btnAbout.Name = "btnAbout"; this.btnAbout.OnMouseClickBitmap = null; this.btnAbout.OnMouseOverBitmap = null; this.btnAbout.Size = new System.Drawing.Size(75, 23); this.btnAbout.TabIndex = 30; this.btnAbout.TabStop = false; this.btnAbout.Click += new System.EventHandler(this.btnAbout_Click); // // prgProgress // this.prgProgress.Location = new System.Drawing.Point(51, 452); this.prgProgress.Name = "prgProgress"; this.prgProgress.Size = new System.Drawing.Size(742, 17); this.prgProgress.TabIndex = 28; this.prgProgress.Visible = false; // // btnImport // this.btnImport.BackColor = System.Drawing.Color.Transparent; this.btnImport.ButtonBitmap = null; this.btnImport.ButtonState = clControls.ButtonState.Normal; this.btnImport.DisabledBitmap = null; this.btnImport.Image = ((System.Drawing.Image)(resources.GetObject("btnImport.Image"))); this.btnImport.Location = new System.Drawing.Point(421, 381); this.btnImport.Name = "btnImport"; this.btnImport.OnMouseClickBitmap = null; this.btnImport.OnMouseOverBitmap = null; this.btnImport.Size = new System.Drawing.Size(75, 23); this.btnImport.TabIndex = 27; this.btnImport.TabStop = false; this.btnImport.Click += new System.EventHandler(this.btnImport_Click); // // btnObjects2 // this.btnObjects2.BackColor = System.Drawing.Color.Transparent; this.btnObjects2.ButtonBitmap = null; this.btnObjects2.ButtonState = clControls.ButtonState.Normal; this.btnObjects2.DisabledBitmap = null; this.btnObjects2.Image = ((System.Drawing.Image)(resources.GetObject("btnObjects2.Image"))); this.btnObjects2.Location = new System.Drawing.Point(421, 352); this.btnObjects2.Name = "btnObjects2"; this.btnObjects2.OnMouseClickBitmap = null; this.btnObjects2.OnMouseOverBitmap = null; this.btnObjects2.Size = new System.Drawing.Size(75, 23); this.btnObjects2.TabIndex = 26; this.btnObjects2.TabStop = false; this.btnObjects2.Click += new System.EventHandler(this.button1_Click); // // cmdCrash // this.cmdCrash.ForeColor = System.Drawing.Color.Black; this.cmdCrash.Location = new System.Drawing.Point(621, 65); this.cmdCrash.Name = "cmdCrash"; this.cmdCrash.Size = new System.Drawing.Size(105, 23); this.cmdCrash.TabIndex = 25; this.cmdCrash.Text = "Crash controls"; this.cmdCrash.UseVisualStyleBackColor = true; this.cmdCrash.Visible = false; this.cmdCrash.Click += new System.EventHandler(this.cmdCrash_Click); // // gbMaster // this.gbMaster.BackColor = System.Drawing.Color.Transparent; this.gbMaster.Controls.Add(this.txtSetMaster); this.gbMaster.Controls.Add(this.btnSetMaster); this.gbMaster.ForeColor = System.Drawing.Color.White; this.gbMaster.Location = new System.Drawing.Point(250, 98); this.gbMaster.Name = "gbMaster"; this.gbMaster.Size = new System.Drawing.Size(240, 52); this.gbMaster.TabIndex = 24; this.gbMaster.TabStop = false; // // txtSetMaster // this.txtSetMaster.BackColor = System.Drawing.Color.Black; this.txtSetMaster.ForeColor = System.Drawing.Color.White; this.txtSetMaster.Location = new System.Drawing.Point(6, 19); this.txtSetMaster.Name = "txtSetMaster"; this.txtSetMaster.Size = new System.Drawing.Size(144, 20); this.txtSetMaster.TabIndex = 4; // // btnSetMaster // this.btnSetMaster.BackColor = System.Drawing.Color.Transparent; this.btnSetMaster.ButtonBitmap = null; this.btnSetMaster.ButtonState = clControls.ButtonState.Normal; this.btnSetMaster.DisabledBitmap = null; this.btnSetMaster.ForeColor = System.Drawing.Color.Black; this.btnSetMaster.Image = ((System.Drawing.Image)(resources.GetObject("btnSetMaster.Image"))); this.btnSetMaster.Location = new System.Drawing.Point(156, 16); this.btnSetMaster.Name = "btnSetMaster"; this.btnSetMaster.OnMouseClickBitmap = null; this.btnSetMaster.OnMouseOverBitmap = null; this.btnSetMaster.Size = new System.Drawing.Size(75, 23); this.btnSetMaster.TabIndex = 3; this.btnSetMaster.TabStop = false; this.btnSetMaster.Click += new System.EventHandler(this.btnSetMaster_Click); // // groupBox2 // this.groupBox2.BackColor = System.Drawing.Color.Transparent; this.groupBox2.Controls.Add(this.txtIRCMaster); this.groupBox2.Controls.Add(this.label4); this.groupBox2.Controls.Add(this.txtIRCChannel); this.groupBox2.Controls.Add(this.label3); this.groupBox2.Controls.Add(this.txtIRCPort); this.groupBox2.Controls.Add(this.label2); this.groupBox2.Controls.Add(this.txtIRCServer); this.groupBox2.Controls.Add(this.label1); this.groupBox2.ForeColor = System.Drawing.Color.White; this.groupBox2.Location = new System.Drawing.Point(12, 17); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(232, 127); this.groupBox2.TabIndex = 2; this.groupBox2.TabStop = false; this.groupBox2.Text = "IRC Settings"; // // txtIRCMaster // this.txtIRCMaster.BackColor = System.Drawing.Color.Black; this.txtIRCMaster.ForeColor = System.Drawing.Color.White; this.txtIRCMaster.Location = new System.Drawing.Point(96, 91); this.txtIRCMaster.Name = "txtIRCMaster"; this.txtIRCMaster.Size = new System.Drawing.Size(123, 20); this.txtIRCMaster.TabIndex = 7; this.txtIRCMaster.Text = "NiCK"; this.txtIRCMaster.TextChanged += new System.EventHandler(this.txtIRCMaster_TextChanged); // // label4 // this.label4.AutoSize = true; this.label4.Location = new System.Drawing.Point(15, 94); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(69, 13); this.label4.TabIndex = 6; this.label4.Text = "Master\'s nick"; // // txtIRCChannel // this.txtIRCChannel.BackColor = System.Drawing.Color.Black; this.txtIRCChannel.ForeColor = System.Drawing.Color.White; this.txtIRCChannel.Location = new System.Drawing.Point(96, 62); this.txtIRCChannel.Name = "txtIRCChannel"; this.txtIRCChannel.Size = new System.Drawing.Size(123, 20); this.txtIRCChannel.TabIndex = 5; this.txtIRCChannel.Text = "#bots"; this.txtIRCChannel.TextChanged += new System.EventHandler(this.txtIRCChannel_TextChanged); // // label3 // this.label3.AutoSize = true; this.label3.Location = new System.Drawing.Point(15, 65); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(71, 13); this.label3.TabIndex = 4; this.label3.Text = "Main channel"; // // txtIRCPort // this.txtIRCPort.BackColor = System.Drawing.Color.Black; this.txtIRCPort.ForeColor = System.Drawing.Color.White; this.txtIRCPort.Location = new System.Drawing.Point(161, 32); this.txtIRCPort.Name = "txtIRCPort"; this.txtIRCPort.Size = new System.Drawing.Size(58, 20); this.txtIRCPort.TabIndex = 3; this.txtIRCPort.Text = "6667"; this.txtIRCPort.TextChanged += new System.EventHandler(this.txtIRCPort_TextChanged); // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(163, 16); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(26, 13); this.label2.TabIndex = 2; this.label2.Text = "Port"; // // txtIRCServer // this.txtIRCServer.BackColor = System.Drawing.Color.Black; this.txtIRCServer.ForeColor = System.Drawing.Color.White; this.txtIRCServer.Location = new System.Drawing.Point(13, 32); this.txtIRCServer.Name = "txtIRCServer"; this.txtIRCServer.Size = new System.Drawing.Size(142, 20); this.txtIRCServer.TabIndex = 1; this.txtIRCServer.Text = "irc.irc-hispano.org"; this.txtIRCServer.TextChanged += new System.EventHandler(this.txtIRCServer_TextChanged); // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(10, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(59, 13); this.label1.TabIndex = 0; this.label1.Text = "IRC Server"; // // groupBox1 // this.groupBox1.BackColor = System.Drawing.Color.Transparent; this.groupBox1.Controls.Add(this.cbRelayConvos); this.groupBox1.Controls.Add(this.cbAgentUpdate); this.groupBox1.Controls.Add(this.cbGreetMaster); this.groupBox1.ForeColor = System.Drawing.Color.White; this.groupBox1.Location = new System.Drawing.Point(250, 17); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(240, 82); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "General options"; // // cbRelayConvos // this.cbRelayConvos.AutoSize = true; this.cbRelayConvos.Location = new System.Drawing.Point(18, 65); this.cbRelayConvos.Name = "cbRelayConvos"; this.cbRelayConvos.Size = new System.Drawing.Size(131, 17); this.cbRelayConvos.TabIndex = 2; this.cbRelayConvos.Text = "Send IMs/Chat to IRC"; this.cbRelayConvos.UseVisualStyleBackColor = true; this.cbRelayConvos.CheckedChanged += new System.EventHandler(this.cbRelayConvos_CheckedChanged); // // cbAgentUpdate // this.cbAgentUpdate.AutoSize = true; this.cbAgentUpdate.Checked = true; this.cbAgentUpdate.CheckState = System.Windows.Forms.CheckState.Checked; this.cbAgentUpdate.Location = new System.Drawing.Point(18, 42); this.cbAgentUpdate.Name = "cbAgentUpdate"; this.cbAgentUpdate.Size = new System.Drawing.Size(123, 17); this.cbAgentUpdate.TabIndex = 1; this.cbAgentUpdate.Text = "Send update packet"; this.cbAgentUpdate.UseVisualStyleBackColor = true; this.cbAgentUpdate.CheckedChanged += new System.EventHandler(this.cbAgentUpdate_CheckedChanged); // // cbGreetMaster // this.cbGreetMaster.AutoSize = true; this.cbGreetMaster.Checked = true; this.cbGreetMaster.CheckState = System.Windows.Forms.CheckState.Checked; this.cbGreetMaster.Location = new System.Drawing.Point(18, 19); this.cbGreetMaster.Name = "cbGreetMaster"; this.cbGreetMaster.Size = new System.Drawing.Size(86, 17); this.cbGreetMaster.TabIndex = 0; this.cbGreetMaster.Text = "Greet master"; this.ttGreetMaster.SetToolTip(this.cbGreetMaster, "Greet Master"); this.cbGreetMaster.UseVisualStyleBackColor = true; this.cbGreetMaster.CheckedChanged += new System.EventHandler(this.cbGreetMaster_CheckedChanged); // // cmsAccount // this.cmsAccount.BackColor = System.Drawing.Color.Black; this.cmsAccount.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.editToolStripMenuItem, this.loginToolStripMenuItem, this.logoutToolStripMenuItem, this.objectsToolStripMenuItem, this.removeToolStripMenuItem }); this.cmsAccount.Name = "cmsAccount"; this.cmsAccount.ShowImageMargin = false; this.cmsAccount.Size = new System.Drawing.Size(141, 114); // // editToolStripMenuItem // this.editToolStripMenuItem.ForeColor = System.Drawing.Color.White; this.editToolStripMenuItem.Name = "editToolStripMenuItem"; this.editToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.editToolStripMenuItem.Text = "Show/Edit details"; this.editToolStripMenuItem.Click += new System.EventHandler(this.editToolStripMenuItem_Click); // // loginToolStripMenuItem // this.loginToolStripMenuItem.ForeColor = System.Drawing.Color.White; this.loginToolStripMenuItem.Name = "loginToolStripMenuItem"; this.loginToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.loginToolStripMenuItem.Text = "Login"; this.loginToolStripMenuItem.Click += new System.EventHandler(this.loginToolStripMenuItem_Click); // // logoutToolStripMenuItem // this.logoutToolStripMenuItem.ForeColor = System.Drawing.Color.White; this.logoutToolStripMenuItem.Name = "logoutToolStripMenuItem"; this.logoutToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.logoutToolStripMenuItem.Text = "Logout"; this.logoutToolStripMenuItem.Click += new System.EventHandler(this.logoutToolStripMenuItem_Click); // // objectsToolStripMenuItem // this.objectsToolStripMenuItem.ForeColor = System.Drawing.Color.White; this.objectsToolStripMenuItem.Name = "objectsToolStripMenuItem"; this.objectsToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.objectsToolStripMenuItem.Text = "Objects"; this.objectsToolStripMenuItem.Click += new System.EventHandler(this.objectsToolStripMenuItem_Click); // // removeToolStripMenuItem // this.removeToolStripMenuItem.ForeColor = System.Drawing.Color.White; this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; this.removeToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.removeToolStripMenuItem.Text = "Remove"; this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); // // gbAccounts // this.gbAccounts.Anchor = System.Windows.Forms.AnchorStyles.None; this.gbAccounts.BackColor = System.Drawing.Color.Transparent; this.gbAccounts.Controls.Add(this.accList); this.gbAccounts.Controls.Add(this.lblBotsOnline); this.gbAccounts.Controls.Add(this.lblAccoutnsInfo); this.gbAccounts.Controls.Add(this.tsBots); this.gbAccounts.ForeColor = System.Drawing.Color.White; this.gbAccounts.Location = new System.Drawing.Point(51, 31); this.gbAccounts.Name = "gbAccounts"; this.gbAccounts.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3); this.gbAccounts.Size = new System.Drawing.Size(750, 153); this.gbAccounts.TabIndex = 9; this.gbAccounts.TabStop = false; this.gbAccounts.Text = "Accounts"; // // accList // this.accList.BackColor = System.Drawing.Color.Black; this.accList.ContextMenuStrip = this.cmsAccount; this.accList.ForeColor = System.Drawing.Color.White; this.accList.FullRowSelect = true; this.accList.Location = new System.Drawing.Point(11, 44); this.accList.MultiSelect = false; this.accList.Name = "accList"; this.accList.Size = new System.Drawing.Size(731, 97); this.accList.Sorting = System.Windows.Forms.SortOrder.Ascending; this.accList.TabIndex = 26; this.accList.UseCompatibleStateImageBehavior = false; this.accList.View = System.Windows.Forms.View.Details; this.accList.SelectedIndexChanged += new System.EventHandler(this.accList_SelectedIndexChanged); // // lblBotsOnline // this.lblBotsOnline.AutoSize = true; this.lblBotsOnline.Location = new System.Drawing.Point(67, 0); this.lblBotsOnline.Name = "lblBotsOnline"; this.lblBotsOnline.Size = new System.Drawing.Size(0, 13); this.lblBotsOnline.TabIndex = 22; // // lblAccoutnsInfo // this.lblAccoutnsInfo.AutoSize = true; this.lblAccoutnsInfo.Location = new System.Drawing.Point(454, 25); this.lblAccoutnsInfo.Name = "lblAccoutnsInfo"; this.lblAccoutnsInfo.Size = new System.Drawing.Size(153, 13); this.lblAccoutnsInfo.TabIndex = 21; this.lblAccoutnsInfo.Text = "Right click on a row for options"; // // tsBots // this.tsBots.BackColor = System.Drawing.Color.Transparent; this.tsBots.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; this.tsBots.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbLoad, this.toolStripButton2, this.toolStripSeparator1, this.tsbAdd, this.tsbRemove, this.sep2, this.tsbLogin, this.tsbLoginAll, this.toolStripSeparator2, this.tsbLogout, this.tsbLogoutAll }); this.tsBots.Location = new System.Drawing.Point(8, 16); this.tsBots.Name = "tsBots"; this.tsBots.Size = new System.Drawing.Size(734, 25); this.tsBots.TabIndex = 25; this.tsBots.Text = "Bot handling"; // // tsbLoad // this.tsbLoad.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.tsbLoad.Image = ((System.Drawing.Image)(resources.GetObject("tsbLoad.Image"))); this.tsbLoad.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbLoad.Name = "tsbLoad"; this.tsbLoad.Size = new System.Drawing.Size(23, 22); this.tsbLoad.Text = "Load accounts"; this.tsbLoad.Click += new System.EventHandler(this.tsbLoad_Click); // // toolStripButton2 // this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image"))); this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButton2.Name = "toolStripButton2"; this.toolStripButton2.Size = new System.Drawing.Size(23, 22); this.toolStripButton2.Text = "Save accounts"; this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); // // tsbAdd // this.tsbAdd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.tsbAdd.Image = ((System.Drawing.Image)(resources.GetObject("tsbAdd.Image"))); this.tsbAdd.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbAdd.Name = "tsbAdd"; this.tsbAdd.Size = new System.Drawing.Size(23, 22); this.tsbAdd.Text = "Add account"; this.tsbAdd.Click += new System.EventHandler(this.tsbAdd_Click); // // tsbRemove // this.tsbRemove.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.tsbRemove.Image = ((System.Drawing.Image)(resources.GetObject("tsbRemove.Image"))); this.tsbRemove.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbRemove.Name = "tsbRemove"; this.tsbRemove.Size = new System.Drawing.Size(23, 22); this.tsbRemove.Text = "Remove account"; this.tsbRemove.Click += new System.EventHandler(this.tsbRemove_Click); // // sep2 // this.sep2.Name = "sep2"; this.sep2.Size = new System.Drawing.Size(6, 25); // // tsbLogin // this.tsbLogin.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.tsbLogin.Image = ((System.Drawing.Image)(resources.GetObject("tsbLogin.Image"))); this.tsbLogin.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbLogin.Name = "tsbLogin"; this.tsbLogin.Size = new System.Drawing.Size(41, 22); this.tsbLogin.Text = "Login"; this.tsbLogin.Click += new System.EventHandler(this.btnLogin_Click); // // tsbLoginAll // this.tsbLoginAll.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.tsbLoginAll.Image = ((System.Drawing.Image)(resources.GetObject("tsbLoginAll.Image"))); this.tsbLoginAll.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbLoginAll.Name = "tsbLoginAll"; this.tsbLoginAll.Size = new System.Drawing.Size(56, 22); this.tsbLoginAll.Text = "Login all"; this.tsbLoginAll.Click += new System.EventHandler(this.tsbLoginAll_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); // // tsbLogout // this.tsbLogout.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.tsbLogout.Image = ((System.Drawing.Image)(resources.GetObject("tsbLogout.Image"))); this.tsbLogout.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbLogout.Name = "tsbLogout"; this.tsbLogout.Size = new System.Drawing.Size(49, 22); this.tsbLogout.Text = "Logout"; this.tsbLogout.Click += new System.EventHandler(this.tsbLogout_Click); // // tsbLogoutAll // this.tsbLogoutAll.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.tsbLogoutAll.Image = ((System.Drawing.Image)(resources.GetObject("tsbLogoutAll.Image"))); this.tsbLogoutAll.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbLogoutAll.Name = "tsbLogoutAll"; this.tsbLogoutAll.Size = new System.Drawing.Size(64, 22); this.tsbLogoutAll.Text = "Logout all"; this.tsbLogoutAll.Click += new System.EventHandler(this.tsbLogoutAll_Click); // // openAccountList // this.openAccountList.DefaultExt = "acc"; this.openAccountList.FileName = "accounts.acc"; this.openAccountList.Filter = "Account files *.acc|*.acc|All files|*.*"; this.openAccountList.FileOk += new System.ComponentModel.CancelEventHandler(this.openAccountList_FileOk); // // saveAccountList // this.saveAccountList.DefaultExt = "acc"; this.saveAccountList.FileName = "accounts.acc"; this.saveAccountList.Filter = "Account files *.acc|*.acc|All files|*.*"; this.saveAccountList.FileOk += new System.ComponentModel.CancelEventHandler(this.saveAccountList_FileOk); // // ttGreetMaster // this.ttGreetMaster.ToolTipTitle = "Send a greet to the master at login or changing it"; // // dlgImport // this.dlgImport.DefaultExt = "xml"; this.dlgImport.Filter = resources.GetString("dlgImport.Filter"); this.dlgImport.Multiselect = true; this.dlgImport.RestoreDirectory = true; this.dlgImport.Title = "Element to import"; // // lblUploadStatus // this.lblUploadStatus.AutoSize = true; this.lblUploadStatus.BackColor = System.Drawing.Color.Transparent; this.lblUploadStatus.ForeColor = System.Drawing.Color.White; this.lblUploadStatus.Location = new System.Drawing.Point(48, 436); this.lblUploadStatus.Name = "lblUploadStatus"; this.lblUploadStatus.Size = new System.Drawing.Size(81, 13); this.lblUploadStatus.TabIndex = 31; this.lblUploadStatus.Text = "lblUploadStatus"; // // lblMain // this.lblMain.AutoSize = true; this.lblMain.BackColor = System.Drawing.Color.Transparent; this.lblMain.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lblMain.ForeColor = System.Drawing.Color.White; this.lblMain.Location = new System.Drawing.Point(47, 9); this.lblMain.Name = "lblMain"; this.lblMain.Size = new System.Drawing.Size(61, 17); this.lblMain.TabIndex = 32; this.lblMain.Text = "NatiBot"; // // gbBotConfiguration // this.gbBotConfiguration.BackColor = System.Drawing.Color.Transparent; this.gbBotConfiguration.Controls.Add(this.chkHaveLuck); this.gbBotConfiguration.Controls.Add(this.chkTouchMidnightMania); this.gbBotConfiguration.Controls.Add(this.groupBox1); this.gbBotConfiguration.Controls.Add(this.chkInformFriends); this.gbBotConfiguration.Controls.Add(this.groupBox2); this.gbBotConfiguration.Controls.Add(this.chkInventoryOffers); this.gbBotConfiguration.Controls.Add(this.gbMaster); this.gbBotConfiguration.Controls.Add(this.chkSounds); this.gbBotConfiguration.Controls.Add(this.chkTextures); this.gbBotConfiguration.Controls.Add(this.chkAnimations); this.gbBotConfiguration.Controls.Add(this.cmdCrash); this.gbBotConfiguration.ForeColor = System.Drawing.Color.White; this.gbBotConfiguration.Location = new System.Drawing.Point(51, 187); this.gbBotConfiguration.Name = "gbBotConfiguration"; this.gbBotConfiguration.Size = new System.Drawing.Size(750, 154); this.gbBotConfiguration.TabIndex = 33; this.gbBotConfiguration.TabStop = false; this.gbBotConfiguration.Text = "Bot configuration"; // // chkHaveLuck // this.chkHaveLuck.AutoSize = true; this.chkHaveLuck.Location = new System.Drawing.Point(625, 42); this.chkHaveLuck.Name = "chkHaveLuck"; this.chkHaveLuck.Size = new System.Drawing.Size(99, 17); this.chkHaveLuck.TabIndex = 3; this.chkHaveLuck.Text = "Have \"Lucky\"s"; this.chkHaveLuck.UseVisualStyleBackColor = true; this.chkHaveLuck.CheckedChanged += new System.EventHandler(this.chkHaveLuck_CheckedChanged); // // chkTouchMidnightMania // this.chkTouchMidnightMania.AutoSize = true; this.chkTouchMidnightMania.Location = new System.Drawing.Point(625, 19); this.chkTouchMidnightMania.Name = "chkTouchMidnightMania"; this.chkTouchMidnightMania.Size = new System.Drawing.Size(105, 17); this.chkTouchMidnightMania.TabIndex = 9; this.chkTouchMidnightMania.Text = "Touch Midnights"; this.chkTouchMidnightMania.UseVisualStyleBackColor = true; this.chkTouchMidnightMania.CheckedChanged += new System.EventHandler(this.chkTouchMidnightMania_CheckedChanged); // // chkInformFriends // this.chkInformFriends.AutoSize = true; this.chkInformFriends.Location = new System.Drawing.Point(496, 111); this.chkInformFriends.Name = "chkInformFriends"; this.chkInformFriends.Size = new System.Drawing.Size(132, 17); this.chkInformFriends.TabIndex = 8; this.chkInformFriends.Text = "Inform of friends online"; this.chkInformFriends.UseVisualStyleBackColor = true; this.chkInformFriends.CheckedChanged += new System.EventHandler(this.chkInformFriends_CheckedChanged); // // chkInventoryOffers // this.chkInventoryOffers.AutoSize = true; this.chkInventoryOffers.Location = new System.Drawing.Point(496, 88); this.chkInventoryOffers.Name = "chkInventoryOffers"; this.chkInventoryOffers.Size = new System.Drawing.Size(135, 17); this.chkInventoryOffers.TabIndex = 7; this.chkInventoryOffers.Text = "Accept inventory offers"; this.chkInventoryOffers.UseVisualStyleBackColor = true; this.chkInventoryOffers.CheckedChanged += new System.EventHandler(this.chkInventoryOffers_CheckedChanged); // // chkSounds // this.chkSounds.AutoSize = true; this.chkSounds.Location = new System.Drawing.Point(496, 65); this.chkSounds.Name = "chkSounds"; this.chkSounds.Size = new System.Drawing.Size(82, 17); this.chkSounds.TabIndex = 4; this.chkSounds.Text = "Get Sounds"; this.chkSounds.UseVisualStyleBackColor = true; this.chkSounds.CheckedChanged += new System.EventHandler(this.chkSounds_CheckedChanged); // // chkTextures // this.chkTextures.AutoSize = true; this.chkTextures.Location = new System.Drawing.Point(496, 42); this.chkTextures.Name = "chkTextures"; this.chkTextures.Size = new System.Drawing.Size(87, 17); this.chkTextures.TabIndex = 5; this.chkTextures.Text = "Get Textures"; this.chkTextures.UseVisualStyleBackColor = true; this.chkTextures.CheckedChanged += new System.EventHandler(this.chkTextures_CheckedChanged); // // chkAnimations // this.chkAnimations.AutoSize = true; this.chkAnimations.Location = new System.Drawing.Point(496, 19); this.chkAnimations.Name = "chkAnimations"; this.chkAnimations.Size = new System.Drawing.Size(97, 17); this.chkAnimations.TabIndex = 6; this.chkAnimations.Text = "Get Animations"; this.chkAnimations.UseVisualStyleBackColor = true; this.chkAnimations.CheckedChanged += new System.EventHandler(this.chkAnimations_CheckedChanged); // // btnConsole // this.btnConsole.BackColor = System.Drawing.Color.Transparent; this.btnConsole.ButtonBitmap = null; this.btnConsole.ButtonState = clControls.ButtonState.Normal; this.btnConsole.DisabledBitmap = null; this.btnConsole.Image = ((System.Drawing.Image)(resources.GetObject("btnConsole.Image"))); this.btnConsole.Location = new System.Drawing.Point(745, 352); this.btnConsole.Name = "btnConsole"; this.btnConsole.OnMouseClickBitmap = null; this.btnConsole.OnMouseOverBitmap = null; this.btnConsole.Size = new System.Drawing.Size(75, 23); this.btnConsole.TabIndex = 34; this.btnConsole.TabStop = false; this.btnConsole.Text = "Console"; this.btnConsole.Click += new System.EventHandler(this.btnConsole_Click); // // btnExit // this.btnExit.BackColor = System.Drawing.Color.Transparent; this.btnExit.ButtonBitmap = null; this.btnExit.ButtonState = clControls.ButtonState.Normal; this.btnExit.DisabledBitmap = null; this.btnExit.Image = ((System.Drawing.Image)(resources.GetObject("btnExit.Image"))); this.btnExit.Location = new System.Drawing.Point(775, 9); this.btnExit.Name = "btnExit"; this.btnExit.OnMouseClickBitmap = null; this.btnExit.OnMouseOverBitmap = null; this.btnExit.Size = new System.Drawing.Size(24, 24); this.btnExit.TabIndex = 35; this.btnExit.TabStop = false; this.btnExit.Text = "X"; this.btnExit.Click += new System.EventHandler(this.btnExit_Click); // // gbSettings // this.gbSettings.BackColor = System.Drawing.Color.Transparent; this.gbSettings.Controls.Add(this.chkLogChat); this.gbSettings.Controls.Add(this.cmbLanguage); this.gbSettings.Controls.Add(this.lblLanguage); this.gbSettings.Controls.Add(this.chkLogConsole); this.gbSettings.Controls.Add(this.cmbSkin); this.gbSettings.Controls.Add(this.lblSkin); this.gbSettings.ForeColor = System.Drawing.Color.White; this.gbSettings.Location = new System.Drawing.Point(51, 347); this.gbSettings.Name = "gbSettings"; this.gbSettings.Size = new System.Drawing.Size(364, 66); this.gbSettings.TabIndex = 36; this.gbSettings.TabStop = false; this.gbSettings.Text = "Settings"; // // chkLogChat // this.chkLogChat.AutoSize = true; this.chkLogChat.Location = new System.Drawing.Point(6, 44); this.chkLogChat.Name = "chkLogChat"; this.chkLogChat.Size = new System.Drawing.Size(103, 17); this.chkLogChat.TabIndex = 3; this.chkLogChat.Text = "Write chat to file"; this.chkLogChat.UseVisualStyleBackColor = true; this.chkLogChat.CheckedChanged += new System.EventHandler(this.chkLogChat_CheckedChanged); // // cmbLanguage // this.cmbLanguage.BackColor = System.Drawing.Color.Black; this.cmbLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbLanguage.ForeColor = System.Drawing.Color.White; this.cmbLanguage.FormattingEnabled = true; this.cmbLanguage.Location = new System.Drawing.Point(234, 15); this.cmbLanguage.Name = "cmbLanguage"; this.cmbLanguage.Size = new System.Drawing.Size(121, 21); this.cmbLanguage.Sorted = true; this.cmbLanguage.TabIndex = 20; this.cmbLanguage.SelectionChangeCommitted += new System.EventHandler(this.cmbLanguage_SelectionChangeCommitted); // // lblLanguage // this.lblLanguage.AutoSize = true; this.lblLanguage.Location = new System.Drawing.Point(170, 18); this.lblLanguage.Name = "lblLanguage"; this.lblLanguage.Size = new System.Drawing.Size(58, 13); this.lblLanguage.TabIndex = 21; this.lblLanguage.Text = "Language:"; this.lblLanguage.TextAlign = System.Drawing.ContentAlignment.TopRight; // // chkLogConsole // this.chkLogConsole.AutoSize = true; this.chkLogConsole.Location = new System.Drawing.Point(6, 17); this.chkLogConsole.Name = "chkLogConsole"; this.chkLogConsole.Size = new System.Drawing.Size(119, 17); this.chkLogConsole.TabIndex = 0; this.chkLogConsole.Text = "Write console to file"; this.chkLogConsole.UseVisualStyleBackColor = true; this.chkLogConsole.CheckedChanged += new System.EventHandler(this.chkLogConsole_CheckedChanged); // // lblSkin // this.lblSkin.AutoSize = true; this.lblSkin.Location = new System.Drawing.Point(197, 45); this.lblSkin.Name = "lblSkin"; this.lblSkin.Size = new System.Drawing.Size(31, 13); this.lblSkin.TabIndex = 1; this.lblSkin.Text = "Skin:"; this.lblSkin.TextAlign = System.Drawing.ContentAlignment.TopRight; // // cmbSkin // this.cmbSkin.BackColor = System.Drawing.Color.Black; this.cmbSkin.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbSkin.ForeColor = System.Drawing.Color.White; this.cmbSkin.FormattingEnabled = true; this.cmbSkin.Location = new System.Drawing.Point(234, 42); this.cmbSkin.Name = "cmbSkin"; this.cmbSkin.Size = new System.Drawing.Size(121, 21); this.cmbSkin.Sorted = true; this.cmbSkin.TabIndex = 2; this.cmbSkin.SelectionChangeCommitted += new System.EventHandler(this.cmbSkin_SelectionChangeCommitted); // // btnChat // this.btnChat.BackColor = System.Drawing.Color.Transparent; this.btnChat.ButtonBitmap = null; this.btnChat.ButtonState = clControls.ButtonState.Normal; this.btnChat.DisabledBitmap = null; this.btnChat.Image = ((System.Drawing.Image)(resources.GetObject("btnChat.Image"))); this.btnChat.Location = new System.Drawing.Point(502, 380); this.btnChat.Name = "btnChat"; this.btnChat.OnMouseClickBitmap = null; this.btnChat.OnMouseOverBitmap = null; this.btnChat.Size = new System.Drawing.Size(75, 23); this.btnChat.TabIndex = 37; this.btnChat.TabStop = false; this.btnChat.Text = "Chat"; this.btnChat.Click += new System.EventHandler(this.btnChat_Click); // // btnMap // this.btnMap.BackColor = System.Drawing.Color.Transparent; this.btnMap.ButtonBitmap = null; this.btnMap.ButtonState = clControls.ButtonState.Normal; this.btnMap.DisabledBitmap = null; this.btnMap.Location = new System.Drawing.Point(664, 380); this.btnMap.Name = "btnMap"; this.btnMap.OnMouseClickBitmap = null; this.btnMap.OnMouseOverBitmap = null; this.btnMap.Size = new System.Drawing.Size(75, 23); this.btnMap.TabIndex = 38; this.btnMap.TabStop = false; this.btnMap.Text = "Map"; this.btnMap.Click += new System.EventHandler(this.btnMap_Click); // // btnFriends // this.btnFriends.BackColor = System.Drawing.Color.Transparent; this.btnFriends.ButtonBitmap = null; this.btnFriends.ButtonState = clControls.ButtonState.Normal; this.btnFriends.DisabledBitmap = null; this.btnFriends.Location = new System.Drawing.Point(583, 380); this.btnFriends.Name = "btnFriends"; this.btnFriends.OnMouseClickBitmap = null; this.btnFriends.OnMouseOverBitmap = null; this.btnFriends.Size = new System.Drawing.Size(75, 23); this.btnFriends.TabIndex = 39; this.btnFriends.TabStop = false; this.btnFriends.Text = "Friends"; this.btnFriends.Click += new System.EventHandler(this.btnFriends_Click); // // btnGroups // this.btnGroups.BackColor = System.Drawing.Color.Transparent; this.btnGroups.ButtonBitmap = null; this.btnGroups.ButtonState = clControls.ButtonState.Normal; this.btnGroups.DisabledBitmap = null; this.btnGroups.Location = new System.Drawing.Point(583, 352); this.btnGroups.Name = "btnGroups"; this.btnGroups.OnMouseClickBitmap = null; this.btnGroups.OnMouseOverBitmap = null; this.btnGroups.Size = new System.Drawing.Size(75, 23); this.btnGroups.TabIndex = 40; this.btnGroups.TabStop = false; this.btnGroups.Text = "Groups"; this.btnGroups.Click += new System.EventHandler(this.btnGroups_Click); // // btnAvatars // this.btnAvatars.BackColor = System.Drawing.Color.Transparent; this.btnAvatars.ButtonBitmap = null; this.btnAvatars.ButtonState = clControls.ButtonState.Normal; this.btnAvatars.DisabledBitmap = null; this.btnAvatars.Location = new System.Drawing.Point(502, 352); this.btnAvatars.Name = "btnAvatars"; this.btnAvatars.OnMouseClickBitmap = null; this.btnAvatars.OnMouseOverBitmap = null; this.btnAvatars.Size = new System.Drawing.Size(75, 23); this.btnAvatars.TabIndex = 41; this.btnAvatars.TabStop = false; this.btnAvatars.Text = "Avatars"; this.btnAvatars.Click += new System.EventHandler(this.btnAvatars_Click); // // btnInventory // this.btnInventory.BackColor = System.Drawing.Color.Transparent; this.btnInventory.ButtonBitmap = null; this.btnInventory.ButtonState = clControls.ButtonState.Normal; this.btnInventory.DisabledBitmap = null; this.btnInventory.Location = new System.Drawing.Point(664, 352); this.btnInventory.Name = "btnInventory"; this.btnInventory.OnMouseClickBitmap = null; this.btnInventory.OnMouseOverBitmap = null; this.btnInventory.Size = new System.Drawing.Size(75, 23); this.btnInventory.TabIndex = 42; this.btnInventory.TabStop = false; this.btnInventory.Text = "Inventory"; this.btnInventory.Click += new System.EventHandler(this.btnInventory_Click); // // frmMain // this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); this.ClientSize = new System.Drawing.Size(841, 481); this.ControlBox = false; this.Controls.Add(this.btnInventory); this.Controls.Add(this.gbBotConfiguration); this.Controls.Add(this.gbAccounts); this.Controls.Add(this.btnExit); this.Controls.Add(this.btnFriends); this.Controls.Add(this.btnAvatars); this.Controls.Add(this.btnMap); this.Controls.Add(this.gbSettings); this.Controls.Add(this.btnGroups); this.Controls.Add(this.lblMain); this.Controls.Add(this.btnChat); this.Controls.Add(this.lblUploadStatus); this.Controls.Add(this.prgProgress); this.Controls.Add(this.btnImport); this.Controls.Add(this.btnObjects2); this.Controls.Add(this.btnConsole); this.Controls.Add(this.btnAbout); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "frmMain"; this.Text = "Nati-Bot"; this.Load += new System.EventHandler(this.frmMain_Load); this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmMain_MouseDown); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing); this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmMain_MouseMove); ((System.ComponentModel.ISupportInitialize)(this.btnAbout)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnImport)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnObjects2)).EndInit(); this.gbMaster.ResumeLayout(false); this.gbMaster.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.btnSetMaster)).EndInit(); this.groupBox2.ResumeLayout(false); this.groupBox2.PerformLayout(); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); this.cmsAccount.ResumeLayout(false); this.gbAccounts.ResumeLayout(false); this.gbAccounts.PerformLayout(); this.tsBots.ResumeLayout(false); this.tsBots.PerformLayout(); this.gbBotConfiguration.ResumeLayout(false); this.gbBotConfiguration.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.btnConsole)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnExit)).EndInit(); this.gbSettings.ResumeLayout(false); this.gbSettings.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.btnChat)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnMap)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnFriends)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnGroups)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnAvatars)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.btnInventory)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); } private void DisableControls(bool what) { this.cbAgentUpdate.Enabled = !what; this.cbGreetMaster.Enabled = !what; this.cbRelayConvos.Enabled = !what; this.txtIRCChannel.Enabled = !what; this.txtIRCMaster.Enabled = !what; this.txtIRCPort.Enabled = !what; this.txtIRCServer.Enabled = !what; this.txtSetMaster.Enabled = !what; this.tsbRemove.Enabled = !what; this.btnSetMaster.Enabled = !what; //if(!what) RegisterAllPlugins(Assembly.GetExecutingAssembly()); //EnableInterfaces(!what); } private void DisableLoginControls(bool what) { this.tsbLogin.Enabled = !what; this.tsbLoginAll.Enabled = !what; this.tsbLogout.Enabled = !what; this.tsbLogoutAll.Enabled = !what; } private void LoadXmlAccounts() { this.LoadXmlAccounts("./config/accounts.xml"); } private void LoadXmlAccounts(string file) { LoginDetailList list = null; try { XmlSerializer serializer = new XmlSerializer(typeof(LoginDetailList)); TextReader textReader = new StreamReader(file); LoginDetailList list2 = (LoginDetailList)serializer.Deserialize(textReader); if (list2 != null) { list = list2; } textReader.Close(); } catch (Exception exception) { //MessageBox.Show(exception.Message); } if (list != null) { foreach (LoginDetails details in list.Items) { this.frmAddAcc_OnAddAccount(new BotAccount(details)); } } } private void loginToolStripMenuItem_Click(object sender, EventArgs e) { this.tsbLogin.PerformClick(); } private void logoutToolStripMenuItem_Click(object sender, EventArgs e) { this.tsbLogout.PerformClick(); } private void objectsToolStripMenuItem_Click(object sender, EventArgs e) { this.button1_Click(sender, e); } private void openAccountList_FileOk(object sender, CancelEventArgs e) { //ACCLIST while (this.accList.Items.Count > 0) { ListViewItem item = this.accList.Items[0]; this.accList.Items.Remove(item); } this.LoadXmlAccounts(this.openAccountList.FileName); } private void removeToolStripMenuItem_Click(object sender, EventArgs e) { this.tsbRemove.PerformClick(); } private void saveAccountList_FileOk(object sender, CancelEventArgs e) { this.SaveXmlAccounts(this.saveAccountList.FileName); } private void SaveXmlAccounts() { this.SaveXmlAccounts("./config/accounts.xml"); } private void SaveXmlAccounts(string file) { bool flag = false; if (!Directory.Exists("./config/")) Directory.CreateDirectory("./config/"); LoginDetailList o = new LoginDetailList(); //ACCLIST foreach (ListViewItem item in this.accList.Items) { if (item.Tag != null) { flag = true; BotAccount _bAcc = (BotAccount)item.Tag; o.Add(_bAcc.LoginDetails); } } if (flag) { try { XmlSerializer serializer = new XmlSerializer(typeof(LoginDetailList)); TextWriter textWriter = new StreamWriter(file); serializer.Serialize(textWriter, o); textWriter.Close(); } catch (Exception exception) { MessageBox.Show(exception.Message); } } } private void updateGUI(BotAccount acc) { /*this.cbAgentUpdate.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); this.cbGreetMaster.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); this.cbRelayConvos.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); this.txtIRCServer.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); this.txtIRCPort.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); this.txtIRCChannel.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); this.txtIRCMaster.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); //this.btnObjects2.Enabled = !acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); this.cmdCrash.Enabled = !acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online"));*/ this.chkAnimations.Checked = acc.LoginDetails.BotConfig.GetAnimations; this.chkHaveLuck.Checked = acc.LoginDetails.BotConfig.HaveLuck; this.chkInformFriends.Checked = acc.LoginDetails.BotConfig.InformFriends; this.chkInventoryOffers.Checked = acc.LoginDetails.BotConfig.AcceptInventoryOffers; this.chkSounds.Checked = acc.LoginDetails.BotConfig.GetSounds; this.chkTextures.Checked = acc.LoginDetails.BotConfig.GetTextures; this.chkTouchMidnightMania.Checked = acc.LoginDetails.BotConfig.TouchMidnightMania; this.cbAgentUpdate.Checked = acc.LoginDetails.SendAgentUpdatePacket; this.cbGreetMaster.Checked = acc.LoginDetails.GreetMaster; this.cbRelayConvos.Checked = acc.LoginDetails.RelayChatToIRC; this.txtIRCChannel.Text = acc.LoginDetails.IRC_Settings.MainChannel; this.txtIRCPort.Text = string.Concat(acc.LoginDetails.IRC_Settings.ServerPort); this.txtIRCServer.Text = acc.LoginDetails.IRC_Settings.ServerHost; this.txtIRCMaster.Text = acc.LoginDetails.IRC_Settings.Master; } public BotAccount SelectedAccount { get { //ACCLIST if (this.accList.SelectedItems.Count == 1) { return (BotAccount)this.accList.SelectedItems[0].Tag; } return null; } } private void cbGreetMaster_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.GreetMaster = cbGreetMaster.Checked; this.SaveXmlAccounts(); } } private void cbAgentUpdate_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.SendAgentUpdatePacket = cbAgentUpdate.Checked; this.SaveXmlAccounts(); } } private void cbRelayConvos_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.RelayChatToIRC = cbRelayConvos.Checked; this.SaveXmlAccounts(); } } private void txtIRCMaster_TextChanged(object sender, EventArgs e) { this.SaveXmlAccounts(); } private void txtIRCChannel_TextChanged(object sender, EventArgs e) { this.SaveXmlAccounts(); } private void txtIRCPort_TextChanged(object sender, EventArgs e) { this.SaveXmlAccounts(); } private void txtIRCServer_TextChanged(object sender, EventArgs e) { this.SaveXmlAccounts(); } private void toolStripButton2_Click(object sender, EventArgs e) { this.saveAccountList.ShowDialog(); } private void tsbLoad_Click(object sender, EventArgs e) { this.openAccountList.ShowDialog(); //ACCLIST this.DisableLoginControls(this.accList.Items.Count == 0); } private void tsbAdd_Click(object sender, EventArgs e) { frmAddAccount account = new frmAddAccount(); account.OnAddAccount += new frmAddAccount.AddAccountCallback(this.frmAddAcc_OnAddAccount); account.Show(); } private void tsbRemove_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.Delete(); } this.AutoSave(); //ACCLIST this.DisableLoginControls(this.accList.Items.Count == 0); } private void tsbLogin_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.OnDialogScriptReceived -= botAccount_OnDialogScriptReceived; this.SelectedAccount.Connect(); } } private void tsbLoginAll_Click(object sender, EventArgs e) { //ACCLIST foreach (ListViewItem item in this.accList.Items) { BotAccount _bAcc = (BotAccount)item.Tag; _bAcc.Connect(); } } private void tsbLogout_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.Disconnect(false); } } private void tsbLogoutAll_Click(object sender, EventArgs e) { //ACCLIST foreach (ListViewItem item in this.accList.Items) { BotAccount _bAcc = (BotAccount)item.Tag; _bAcc.Disconnect(false); } } // Tabs disabled in new interface /* private void EnableInterfaces(bool enable) { tabControl.TabPages.Clear(); tabControl.TabPages.Add(tabTools); tabControl.TabPages.Add(tabConsole); tabControl.TabPages.Add(tabBotSettings); if (enable) { lock (Interfaces) { foreach (TabPage page in Interfaces.Values) { tabControl.TabPages.Add(page); } } } } private void RegisterAllPlugins(Assembly assembly) { Interfaces.Clear(); foreach (Type t in assembly.GetTypes()) { try { if (t.IsSubclassOf(typeof(Interface))) { ConstructorInfo[] infos = t.GetConstructors(); Interface iface = (Interface)infos[0].Invoke(new object[] { this }); if(iface==null) MessageBox.Show("iface == null. Yell at N3X15 to fix his shit."); RegisterPlugin(iface); } } catch (Exception e) { MessageBox.Show(e.ToString()+"\nFUCK SALT"); } } } private void RegisterPlugin(Interface iface) { if (this.SelectedAccount==null) return; TabPage page = new TabPage(); tabControl.TabPages.Add(page); try { iface.Client = this.SelectedAccount.Client; }catch(Exception e) { MessageBox.Show(e.Message); return; } iface.TabPage = page; if (!Interfaces.ContainsKey(iface)) { lock (Interfaces) Interfaces.Add(iface, page); } iface.Initialize(); page.Text = iface.Name; page.ToolTipText = iface.Description; }*/ private void cmdCrash_Click(object sender, EventArgs e) { if (this.SelectedAccount != null) if (this.SelectedAccount.ListItem.SubItems[1].Text.Equals(bot.Localization.clResourceManager.getText("botAccount.Online"))) new frmCrasher(this.SelectedAccount.Client).Show(); } private void frmMain_FormClosing(object sender, FormClosingEventArgs ev) { this.tsbLogoutAll_Click(sender, ev); bot.Console.WriteLine(bot.Localization.clResourceManager.getText("bot.FormClosing")); Environment.Exit(0); //Application.Exit(); /*try { webserver.Die(); } catch (Exception e) { }*/ } private void button1_Click(object sender, EventArgs e) { if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) { new bot.GUI.frmObjects(this.SelectedAccount.Client).Show(); } } private void StartImport(int maxValue) { prgProgress.Visible = true; prgProgress.Minimum = 0; prgProgress.Value = 0; prgProgress.Maximum = maxValue; lblUploadStatus.Visible = true; lblUploadStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Proceeding"), dlgImport.FileNames.Length.ToString()); btnImport.Enabled = false; } private void SetProgressValue(int value, int maxvalue) { prgProgress.Value = value; lblUploadStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Uploaded"), value.ToString(), maxvalue.ToString()); } private void StopImport() { prgProgress.Visible = false; lblUploadStatus.Visible = false; btnImport.Enabled = true; } private void btnImport_Click(object sender, EventArgs e) { if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) { DialogResult result; result = dlgImport.ShowDialog(); if (result == DialogResult.OK || result == DialogResult.Yes) { MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Proceeding"), dlgImport.FileNames.Length.ToString())); SecondLifeBot _client = this.SelectedAccount.Client; Program.NBStats.AddStatData(String.Format("{0}: {1} importing {2} elements.", DateTime.Now.ToString(), _client.ToString(), dlgImport.FileNames.Length)); // STATISTICS Thread thImport = new Thread(delegate() { StartImportCallback s = new StartImportCallback(StartImport); SetProgressValueCallback p = new SetProgressValueCallback(SetProgressValue); StopImportCallback f = new StopImportCallback(StopImport); int counter; counter = 0; this.Invoke(s, dlgImport.FileNames.Length); foreach (string filename in dlgImport.FileNames) { counter++; bot.Console.WriteLine(String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Importing"), filename)); string cmd = ""; if (filename.EndsWith(".xml")) { cmd = "import " + " \"" + filename.Replace("\\", "/") + "\""; } else { cmd = "upload " + " \"" + filename.Replace("\\", "/") + "\"" + " " + " \"" + filename.Replace("\\", "/") + "\""; } _client.DoCommand(cmd, UUID.Zero, true); this.Invoke(p, counter, dlgImport.FileNames.Length); System.Threading.Thread.Sleep(500); } this.Invoke(f); }); thImport.IsBackground = true; thImport.Name = "Import all"; thImport.Start(); } } } private void btnAbout_Click(object sender, EventArgs e) { new bot.GUI.frmAbout().Show(); } private void btnConsole_Click(object sender, EventArgs e) { if (console == null) { console = new frmConsole(); console.OnOutputSend += new frmConsole.OutputSendCallback(this.Console_OutPutSend); } if (console != null) { console.Show(); console.Focus(); } } private void Console_OutPutSend(string message) { if (this.SelectedAccount.Client != null) { this.SelectedAccount.Client.DoCommand(message, UUID.Zero, true); } } private void frmMain_MouseDown(object sender, MouseEventArgs e) { mouse_offset = new Point(-e.X, -e.Y); } private void frmMain_MouseMove(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { Point mousePos = Control.MousePosition; mousePos.Offset(mouse_offset.X, mouse_offset.Y); this.Location = mousePos; //move the form to the desired location } } private void OnApplicationExit(object sender, EventArgs e) { this.tsbLogoutAll_Click(sender, e); Program.NBStats.AddStatData(String.Format("{0}: Natibot exiting.", DateTime.Now.ToString())); // STATISTICS Program.NBStats.SendStatistics(); } private void btnExit_Click(object sender, EventArgs e) { this.tsbLogoutAll_Click(sender, e); bot.Console.WriteLine(bot.Localization.clResourceManager.getText("bot.ButtonClosing")); Program.NBStats.AddStatData(String.Format("{0}: Natibot exiting.", DateTime.Now.ToString())); // STATISTICS Program.NBStats.SendStatistics(); //Application.Exit(); Environment.Exit(0); } private void cmbLanguage_SelectionChangeCommitted(object sender, EventArgs e) { bot.Localization.clResourceManager.setCurrentLanguage(cmbLanguage.SelectedItem.ToString()); Program.NBStats.AddStatData(String.Format("{0}: Changed language to {1}.", DateTime.Now.ToString(), cmbLanguage.SelectedItem.ToString())); // STATISTICS } private void cmbSkin_SelectionChangeCommitted(object sender, EventArgs e) { bot.Localization.clResourceManager.setSkin(cmbSkin.SelectedItem.ToString()); Program.NBStats.AddStatData(String.Format("{0}: Skin changed to {1}.", DateTime.Now.ToString(), cmbSkin.SelectedItem.ToString())); // STATISTICS } private void chkLogConsole_CheckedChanged(object sender, EventArgs e) { Program.setWriteConsoleToFileSetting(chkLogConsole.Checked); } private void btnChat_Click(object sender, EventArgs e) { if (chat == null) { chat = new frmChat(); } if (chat != null) { chat.Show(); chat.Focus(); } } private void btnMap_Click(object sender, EventArgs e) { if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) { new bot.GUI.frmMap(this.SelectedAccount.Client).Show(); } } private void btnFriends_Click(object sender, EventArgs e) { if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) { new bot.GUI.frmFriends(this.SelectedAccount.Client).Show(); } } private void btnGroups_Click(object sender, EventArgs e) { if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) { new bot.GUI.frmGroups(this.SelectedAccount.Client).Show(); } } private void btnAvatars_Click(object sender, EventArgs e) { if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) { new bot.GUI.frmAvatars(this.SelectedAccount.Client).Show(); } } private void chkLogChat_CheckedChanged(object sender, EventArgs e) { Program.setWriteChatToFileSetting(chkLogChat.Checked); } private void chkAnimations_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.BotConfig.GetAnimations = this.chkAnimations.Checked; this.SaveXmlAccounts(); Program.NBStats.AddStatData(String.Format("{0}: {1} animations {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.chkAnimations.Checked)); // STATISTICS } } private void chkTextures_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.BotConfig.GetTextures = this.chkTextures.Checked; this.SaveXmlAccounts(); Program.NBStats.AddStatData(String.Format("{0}: {1} textures {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.chkTextures.Checked)); // STATISTICS } } private void chkSounds_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.BotConfig.GetSounds = this.chkSounds.Checked; this.SaveXmlAccounts(); Program.NBStats.AddStatData(String.Format("{0}: {1} sounds {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.chkSounds.Checked)); // STATISTICS } } private void chkInventoryOffers_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.BotConfig.AcceptInventoryOffers = this.chkInventoryOffers.Checked; this.SaveXmlAccounts(); } } private void chkInformFriends_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.BotConfig.InformFriends = this.chkInformFriends.Checked; this.SaveXmlAccounts(); } } private void chkTouchMidnightMania_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.BotConfig.TouchMidnightMania = this.chkTouchMidnightMania.Checked; this.SaveXmlAccounts(); } } private void chkHaveLuck_CheckedChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.SelectedAccount.LoginDetails.BotConfig.HaveLuck = this.chkHaveLuck.Checked; this.SaveXmlAccounts(); } } private void btnInventory_Click(object sender, EventArgs e) { if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) { new bot.GUI.frmInventory(this.SelectedAccount.Client).Show(); } } private void accList_SelectedIndexChanged(object sender, EventArgs e) { if (this.SelectedAccount != null) { this.updateGUI(this.SelectedAccount); } this.DisableControls(this.SelectedAccount == null); } } }