iamaldrin08
New member
- Joined
- Feb 26, 2016
- Messages
- 4
- Programming Experience
- Beginner
I've made a bluestacks bot, using c#, tessnet2, and autoit.. I need help in optimizing it.. Here's the code..
C#:
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices; //APIs
using tessnet2;
using AutoItX3Lib;
using System.Threading;
using System.IO;
namespace MinimizeCapture
{
public partial class Form1 : Form
{
#region User32
[DllImport("user32.dll")]
static extern int GetWindowText(int hWnd, StringBuilder text, int count); //Copies the text of the specified window's title bar (if it has one) into a buffer
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
static extern System.IntPtr FindWindowByCaption(int ZeroOnly, string lpWindowName);
IntPtr ip = FindWindowByCaption(0, "BlueStacks App Player"); //Get windows handle
#endregion
AutoItX3 au3 = new AutoItX3();
BackgroundWorker AdvWorker;
public Form1()
{
InitializeComponent();
AdvWorker = new BackgroundWorker();
// Create a background worker thread that ReportsProgress &
// SupportsCancellation
// Hook up the appropriate events.
AdvWorker.DoWork += new DoWorkEventHandler(AdvWorkerDoWork);
AdvWorker.ProgressChanged += new ProgressChangedEventHandler
(AdvWorkerProgressChanged);
AdvWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler
(AdvWorker_RunWorkerCompleted);
AdvWorker.WorkerReportsProgress = true;
AdvWorker.WorkerSupportsCancellation = true;
}
private void Form1_Load(object sender, EventArgs e)
{
#region Collect
if (cbCollGold.Checked == true || cbCollHonor.Checked == true || cbCollKeys.Checked == true || cbCollRubies.Checked == true || cbCollTicket.Checked == true)
{
Funcs.World.Coords.Collect = 1;
}
else
{
Funcs.World.Coords.Collect = 0;
}
#endregion
#region Formations!
lblForm1.Location = new Point();
if (cbFormation.Text == "Basic")
{
lblForm1.Location = new Point(88, 96);
lblForm2.Location = new Point(88, 58);
lblForm3.Location = new Point(48, 120);
lblForm4.Location = new Point(48, 77);
lblForm5.Location = new Point(48, 36);
}
else if (cbFormation.Text == "Balanced")
{
lblForm1.Location = new Point(88, 114);
lblForm2.Location = new Point(88, 73);
lblForm3.Location = new Point(88, 35);
lblForm4.Location = new Point(48, 93);
lblForm5.Location = new Point(48, 54);
}
else if (cbFormation.Text == "Offensive")
{
lblForm1.Location = new Point(88, 69);
lblForm2.Location = new Point(48, 122);
lblForm3.Location = new Point(48, 84);
lblForm4.Location = new Point(48, 52);
lblForm5.Location = new Point(48, 24);
}
else if (cbFormation.Text == "Defensive")
{
lblForm1.Location = new Point(88, 135);
lblForm2.Location = new Point(88, 94);
lblForm3.Location = new Point(88, 53);
lblForm4.Location = new Point(88, 12);
lblForm5.Location = new Point(48, 69);
}
if (ip == IntPtr.Zero) // Verify that Bluestacks is a running process.
{
MessageBox.Show("Bluestacks is not running.");
return;
}
else
{
this.textBoxHandle.Text = ip.ToString(); //Retrieve Window Caption
}
#endregion
Funcs.World.Coords.skill1 = Convert.ToInt16(cbSkill1.Text);
Funcs.World.Coords.skill2 = Convert.ToInt16(cbSkill2.Text);
Funcs.World.Coords.skill3 = Convert.ToInt16(cbSkill3.Text);
Funcs.World.Coords.advskill1 = Convert.ToInt16(cbadvskill1.Text);
Funcs.World.Coords.advskill2 = Convert.ToInt16(cbadvskill2.Text);
Funcs.World.Coords.advskill3 = Convert.ToInt16(cbadvskill3.Text);
Funcs.World.Msgs.path = AppDomain.CurrentDomain.BaseDirectory + "\\tessdata";
if (cbArena.Checked == true)
{
Funcs.World.Coords.arena = 1;
}
else
{
Funcs.World.Coords.arena = 0;
}
if (cbAdv.Checked == true)
{
Funcs.World.Coords.adv = 1;
}
else
{
Funcs.World.Coords.adv = 0;
}
if (cbRaid.Checked == true)
{
Funcs.World.Coords.raid = 1;
}
else
{
Funcs.World.Coords.raid = 0;
}
if (cbTower.Checked == true)
{
Funcs.World.Coords.tower = 1;
}
else
{
Funcs.World.Coords.tower = 0;
}
}
public void buttonSnapHandle_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
textBox1.Text = "0";
}
if (textBox2.Text == "")
{
textBox2.Text = "0";
}
Funcs.World.Coords.rectx = Convert.ToInt16(textBox1.Text);
Funcs.World.Coords.recty = Convert.ToInt16(textBox2.Text);
try
{
WindowSnap snap = WindowSnap.GetWindowSnap((IntPtr)ip, true);
if (snap.Image != null)
this.pictureBoxSnap.Image = snap.Image;
}
catch { MessageBox.Show("Wrong Handle (note:handle must be entered as decimal (hex is not acceptable)"); }
#region ImageProc
//crop image for better reading
Bitmap original = new Bitmap(this.pictureBoxSnap.Image);
Rectangle srcRect = new Rectangle(Funcs.World.Coords.rectx, Funcs.World.Coords.recty, 50, 40);
Bitmap cropped = (Bitmap)original.Clone(srcRect, original.PixelFormat);
System.Drawing.Bitmap resizedImage = new System.Drawing.Bitmap(256, 256);
System.Drawing.Graphics.FromImage((System.Drawing.Image)resizedImage).DrawImage(cropped, 0, 0, 256, 256);
this.pictureBox1.Image = resizedImage;
//convert image to text
System.Drawing.Bitmap imagee = new Bitmap(pictureBox1.Image);
//GET IMAGE FROM FILE
//CONVERT IMAGE TO TEXT
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "1234567890ABCDEFGHIJKLMNOQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); // If BIG letters only
ocr.Init(Funcs.World.Msgs.path, "eng", false);
//CONVERT IMAGE TO TEXT
List<tessnet2.Word> res = ocr.DoOCR(imagee, Rectangle.Empty);
string ocrtext;
foreach (tessnet2.Word word in res)
{
ocrtext = word.Text;
richTextBox1.Text = richTextBox1.Text + word.Text + Environment.NewLine;
}
#endregion
}
private void checkBoxForceMDI_CheckedChanged(object sender, EventArgs e)
{
WindowSnap.ForceMDICapturing = (sender as CheckBox).Checked;
}
#region AdvBGworker
void AdvWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
// The background process is complete. We need to inspect
// our response to see if an error occurred, a cancel was
// requested or if we completed successfully.
if (e.Cancelled)
{
listBox1.Items.Add("Task Cancelled.");
}
// Check to see if an error occurred in the background process.
else if (e.Error != null)
{
listBox1.Items.Add("Error while performing background operation.");
}
// else
//{
// Everything completed normally.
// listBox1.Items.Add("Task Completed...");
// }
//Change the status of the buttons on the UI accordingly
btnAI.Text = "Start AI";
}
/// <summary>
/// Notification is performed here to the progress bar
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void AdvWorkerProgressChanged(object sender, ProgressChangedEventArgs e)
{
// This function fires on the UI thread so it's safe to edit
// the UI control directly, no funny business with Control.Invoke :)
// Update the progressBar with the integer supplied to us from the
// ReportProgress() function.
//progressBar1.Value = e.ProgressPercentage;
//listBox1.Items.Clear();
listBox1.Items.Add(DateTime.Now.ToString("hh:mm:ss") + ": " + Funcs.World.Msgs.status);
richTextBox1.Text = Funcs.World.Msgs.ocrtext + ", " + Funcs.World.Coords.rectx + ", " + Funcs.World.Coords.recty;
if (Funcs.World.Coords.errPage == 1)
{
lblKeys.Text = Funcs.World.Msgs.ocrtext;
}
else if (Funcs.World.Coords.errPage == 2)
{
lblRubies.Text = Funcs.World.Msgs.ocrtext;
}
else if (Funcs.World.Coords.errPage == 3)
{
lblHonor.Text = Funcs.World.Msgs.ocrtext;
}
}
#endregion
/// <summary>
/// Time consuming operations go here </br>
/// i.e. Database operations,Reporting
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
///
public void AdvWorkerDoWork(object sender, DoWorkEventArgs e)
{
int i = 1;
Funcs.World.Coords.errPage = 1;
while (!AdvWorker.CancellationPending)
{
if (Funcs.World.Coords.errPage <= 3)
{
Funcs.World.Msgs.ocrRead = "1234567890"; //Read numbers only
}
else
{
Funcs.World.Msgs.ocrRead = "1234567890ABCDEFGHIJKLMNOQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
}
Funcs.World.Coords.bsx = 0;
Funcs.World.Coords.bsy = 0;
#region SNAP!
WindowSnap snap = WindowSnap.GetWindowSnap((IntPtr)ip, true); //take pic
//crop image for better reading
Bitmap original = new Bitmap(snap.Image);
Rectangle srcRect = new Rectangle(Funcs.World.Coords.rectx, Funcs.World.Coords.recty, 50, 40);
Bitmap cropped = (Bitmap)original.Clone(srcRect, original.PixelFormat);
//Enlarge cropped pic
System.Drawing.Bitmap resizedImage = new System.Drawing.Bitmap(256, 256);
System.Drawing.Graphics.FromImage((System.Drawing.Image)resizedImage).DrawImage(cropped, 0, 0, 256, 256);
System.Drawing.Bitmap imagee = new Bitmap(resizedImage);
this.pictureBox1.Image = imagee;
//CONVERT IMAGE TO TEXT
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.SetVariable("tessedit_char_whitelist", Funcs.World.Msgs.ocrRead); // If BIG letters only
ocr.Init(Funcs.World.Msgs.path, "eng", false);
//CONVERT IMAGE TO TEXT
List<tessnet2.Word> res = ocr.DoOCR(imagee, Rectangle.Empty);
#endregion
//Get words from pic
foreach (tessnet2.Word word in res)
{
#region FixText
if (word.Text.Contains("OBB"))
{
Funcs.World.Msgs.ocrtext = "LOBBY";
}
else if (word.Text.Contains("Youa"))
{
Funcs.World.Msgs.ocrtext = "FAIL";
}
else if (word.Text.Contains("CE"))
{
Funcs.World.Msgs.ocrtext = "CtowerLobby";
}
else if (word.Text.Contains("me"))
{
Funcs.World.Msgs.ocrtext = "Wave1";
}
else if (word.Text.Contains("KM"))
{
Funcs.World.Msgs.ocrtext = "Wave1";
}
else if (word.Text.Contains("Ii"))
{
Funcs.World.Msgs.ocrtext = "CollectAll";
}
else if (word.Text.Contains("INI"))
{
Funcs.World.Msgs.ocrtext = "Inbox";
}
else if (word.Text.Contains("57")) //Tap to start 770,35
{
Funcs.World.Msgs.ocrtext = "Version";
}
else if (word.Text.Contains("SRI"))
{
Funcs.World.Msgs.ocrtext = "SPECIAL";
}
else if (word.Text.Contains("Today"))
{
Funcs.World.Msgs.ocrtext = "Today";
}
else
{
Funcs.World.Msgs.ocrtext = word.Text;
}
#endregion
#region ErrorHandling
switch (Funcs.World.Msgs.ocrtext)
{
case "WEEK": //Start up
{
Funcs.World.Coords.bsx = 830; //Click no
Funcs.World.Coords.bsy = 100;
Funcs.World.Msgs.status = "Closing offers...";
break;
}
case "Today": //Start up
{
Funcs.World.Coords.bsx = 750; //Click no
Funcs.World.Coords.bsy = 515;
Funcs.World.Msgs.status = "Closing offers...";
break;
}
case "SPECIAL": //Start up
{
Funcs.World.Coords.bsx = 300; //Click no
Funcs.World.Coords.bsy = 490;
Funcs.World.Msgs.status = "Closing offers...";
break;
}
case "Notice": //Start up
{
Funcs.World.Coords.bsx = 830; //Click x
Funcs.World.Coords.bsy = 30;
Funcs.World.Msgs.status = "Closing notice...";
break;
}
case "Version": //Start up Tap to start
{
Funcs.World.Coords.bsx = 830; //Tap anywhere
Funcs.World.Coords.bsy = 30;
Funcs.World.Msgs.status = "Start up page...";
break;
}
case "X": //ads
{
Funcs.World.Coords.bsx = 830; //tap x
Funcs.World.Coords.bsy = 600;
Funcs.World.Msgs.status = "Start up page...";
break;
}
case "XJ": //ads
{
Funcs.World.Coords.bsx = 790; //tap x
Funcs.World.Coords.bsy = 110;
Funcs.World.Msgs.status = "Start up page...";
break;
}
case "OK":
case "Disco":
{
Funcs.World.Msgs.page = "DC"; //Arena lobby
Funcs.World.Msgs.status = "OK!";
Funcs.World.Coords.bsx = 430;
Funcs.World.Coords.bsy = 430; //Click OK
break;
}
case "Wave1":
{
Funcs.World.Msgs.page = "Wave 1"; //Arena lobby
Funcs.World.Msgs.status = "Wave 1!";
Funcs.World.Coords.bsx = 0;
Funcs.World.Coords.bsy = 0;
break;
}
case "Comn":
{
Funcs.World.Msgs.page = "Arena Quest"; //Arena lobby
Funcs.World.Msgs.status = "Quest done!";
Funcs.World.Coords.bsx = 785;
Funcs.World.Coords.bsy = 545; //Use rubies
break;
}
case "REC":
{
Funcs.World.Msgs.page = "PVP Finished!"; //Arena lobby
Funcs.World.Coords.bsx = 820;
Funcs.World.Coords.bsy = 530; //Click Arena
Funcs.World.Msgs.status = "Let's go!";
break;
}
#endregion
#region CommonPage
case "HEROES":
{
if (Funcs.World.Coords.adv == 1 || Funcs.World.Coords.tower == 1)
{
Funcs.World.Coords.bsx = 750; //Go to adventure/start battle/press ready
Funcs.World.Coords.bsy = 530;
Funcs.World.Msgs.status = "Going to adventure...";
}
else if (Funcs.World.Coords.arena == 1) //|| Funcs.World.Coords.castlerush == 1)
{
Funcs.World.Coords.bsx = 620; //Go to battle
Funcs.World.Coords.bsy = 555;
Funcs.World.Msgs.status = "Going to Arena...";
Funcs.World.Coords.aftrTower = 0;
}
// else if (Funcs.World.Coords.Collect == 1) //For mail
// {
// Funcs.World.Coords.bsx = 730; //Click mail
// Funcs.World.Coords.bsy = 50;
// Funcs.World.Msgs.status = "Checking mail...";
//
//
// }
//after adv = 0
break;
}
case "LOBBY":
{
if (Funcs.World.Coords.adv == 1)
{
//Funcs.World.Msgs.page = "Battle end"; //Tower battle finished
//Funcs.World.Msgs.status = "Going back to celestial tower...";
//Funcs.World.Coords.bsx = 805;
//Funcs.World.Coords.bsy = 430; //Click celestial tower
//Funcs.World.Coords.aftrTower = 1;
}
if (Funcs.World.Coords.tower == 1)
{
Funcs.World.Msgs.page = "Battle end"; //Tower battle finished
Funcs.World.Msgs.status = "Going back to celestial tower...";
Funcs.World.Coords.bsx = 805;
Funcs.World.Coords.bsy = 430; //Click celestial tower
Funcs.World.Coords.aftrTower = 1;
}
else if (Funcs.World.Coords.arena == 1) //|| Funcs.World.Coords.castlerush == 1)
{
Funcs.World.Msgs.page = "Arena end"; //Arena lobby
Funcs.World.Msgs.status = "Going back to lobby...";
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 235); //Quick Start
Funcs.World.Coords.aftrPVP = 1;
}
break;
}
case "AD":
{
if (Funcs.World.Coords.adv == 1)
{
Funcs.World.Msgs.page = "Adventure"; //Adventure lobby
Funcs.World.Msgs.status = "Going to the adventure map!";
Funcs.World.Coords.bsx = 200;
Funcs.World.Coords.bsy = 200; //Click Adventure
}
else if (Funcs.World.Coords.tower == 1)
{
Funcs.World.Msgs.page = "Adventure"; //Adventure lobby
Funcs.World.Msgs.status = "Going to the tower!";
Funcs.World.Coords.bsx = 500;
Funcs.World.Coords.bsy = 200; //Click Tower
}
else if (Funcs.World.Coords.arena == 1)
{
Funcs.World.Msgs.page = "Adventure"; //Adventure lobby
Funcs.World.Msgs.status = "Going back to lobby!";
Funcs.World.Coords.bsx = 25;
Funcs.World.Coords.bsy = 50; //Click back
}
break;
}
case "MANAG":
{
if (Funcs.World.Coords.adv == 1)
{
//For adv
Funcs.World.Msgs.page = "Manage team and mastery"; //Before battle
Funcs.World.Msgs.status = "Checking team and mastery!";
if (rbAdvTeamA.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 120, 130); //Team A
}
else if (rbAdvTeamB.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 220, 130);
}
else if (rbAdvTeamC.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 320, 130);
}
Funcs.World.Coords.bsx = 330;
Funcs.World.Coords.bsy = 210; //Click Mastery
}
else if (Funcs.World.Coords.tower == 1)
{
//For tower
Funcs.World.Msgs.page = "Manage team and mastery"; //Before battle
Funcs.World.Msgs.status = "Checking team and mastery!";
if (rbTeamA.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 120, 130); //Team A
}
else if (rbTeamB.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 220, 130);
}
else if (rbTeamC.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 320, 130);
}
Funcs.World.Coords.bsx = 330;
Funcs.World.Coords.bsy = 210; //Click Mastery
}
else if (Funcs.World.Coords.arena == 1)
{
Funcs.World.Msgs.page = "Adventure"; ////Before battle at the tower
Funcs.World.Msgs.status = "Going back to lobby!";
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
Funcs.World.Coords.bsx = 25;
Funcs.World.Coords.bsy = 50; //Click back
}
break;
}
case "MAS":
{
if (Funcs.World.Coords.adv == 1)
{
//For adv
Funcs.World.Msgs.page = "Checking mastery"; //Before battle
Funcs.World.Msgs.status = "Checking mastery!";
if (rbMastAdv1.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 600, 130); //Mastery 1
}
else if (rbMastAdv2.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 650, 130);
}
else if (rbMastAdv3.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 130);
}
Thread.Sleep(200);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 130); //Click close
Thread.Sleep(200);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 750, 530); //Click start
Thread.Sleep(2500);
//Loop when in battle
#region SKILLS
switch (Funcs.World.Coords.advskill1)
{
case 1:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 500); //Click skill 1
break;
}
case 2:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 550); //Click skill 2
break;
}
case 3:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 500); //Click skill 3
break;
}
case 4:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 550); //Click skill 4
break;
}
case 5:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 500); //Click skill 5
break;
}
case 6:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 550); //Click skill 6
break;
}
case 7:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 500); //Click skill 7
break;
}
case 8:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 550); //Click skill 8
break;
}
case 9:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 780, 500); //Click skill 9
break;
}
case 10:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 550); //Click skill 10
break;
}
}
Thread.Sleep(50);
switch (Funcs.World.Coords.advskill2)
{
case 1:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 500); //Click skill 1
break;
}
case 2:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 550); //Click skill 2
break;
}
case 3:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 500); //Click skill 3
break;
}
case 4:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 550); //Click skill 4
break;
}
case 5:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 500); //Click skill 5
break;
}
case 6:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 550); //Click skill 6
break;
}
case 7:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 500); //Click skill 7
break;
}
case 8:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 550); //Click skill 8
break;
}
case 9:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 500); //Click skill 9
break;
}
case 10:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 550); //Click skill 10
break;
}
}
Thread.Sleep(100);
switch (Funcs.World.Coords.advskill3)
{
case 1:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 500); //Click skill 1
break;
}
case 2:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 550); //Click skill 2
break;
}
case 3:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 500); //Click skill 3
break;
}
case 4:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 550); //Click skill 4
break;
}
case 5:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 500); //Click skill 5
break;
}
case 6:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 550); //Click skill 6
break;
}
case 7:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 500); //Click skill 7
break;
}
case 8:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 550); //Click skill 8
break;
}
case 9:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 500); //Click skill 9
break;
}
case 10:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 550); //Click skill 10
break;
}
}
#endregion
}
else if (Funcs.World.Coords.tower == 1)
{
//For tower
Funcs.World.Msgs.page = "Checking mastery"; //Before battle
Funcs.World.Msgs.status = "Checking mastery!";
if (rbMast1.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 600, 130); //Mastery 1
}
else if (rbMast2.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 650, 130);
}
else if (rbMast3.Checked == true)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 130);
}
Thread.Sleep(200);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 130); //Click close
Thread.Sleep(200);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 750, 530); //Click start
Thread.Sleep(2500);
//Loop when in battle
#region SKILLS
switch (Funcs.World.Coords.skill1)
{
case 1:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 500); //Click skill 1
break;
}
case 2:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 550); //Click skill 2
break;
}
case 3:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 500); //Click skill 3
break;
}
case 4:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 550); //Click skill 4
break;
}
case 5:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 500); //Click skill 5
break;
}
case 6:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 550); //Click skill 6
break;
}
case 7:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 500); //Click skill 7
break;
}
case 8:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 550); //Click skill 8
break;
}
case 9:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 780, 500); //Click skill 9
break;
}
case 10:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 550); //Click skill 10
break;
}
}
Thread.Sleep(50);
switch (Funcs.World.Coords.skill2)
{
case 1:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 500); //Click skill 1
break;
}
case 2:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 550); //Click skill 2
break;
}
case 3:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 500); //Click skill 3
break;
}
case 4:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 550); //Click skill 4
break;
}
case 5:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 500); //Click skill 5
break;
}
case 6:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 550); //Click skill 6
break;
}
case 7:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 500); //Click skill 7
break;
}
case 8:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 550); //Click skill 8
break;
}
case 9:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 500); //Click skill 9
break;
}
case 10:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 550); //Click skill 10
break;
}
}
Thread.Sleep(100);
switch (Funcs.World.Coords.skill3)
{
case 1:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 500); //Click skill 1
break;
}
case 2:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 550); //Click skill 2
break;
}
case 3:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 500); //Click skill 3
break;
}
case 4:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 570, 550); //Click skill 4
break;
}
case 5:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 500); //Click skill 5
break;
}
case 6:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 640, 550); //Click skill 6
break;
}
case 7:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 500); //Click skill 7
break;
}
case 8:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 710, 550); //Click skill 8
break;
}
case 9:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 500); //Click skill 9
break;
}
case 10:
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 550); //Click skill 10
break;
}
}
#endregion
}
else if (Funcs.World.Coords.arena == 1)
{
Funcs.World.Msgs.page = "Adventure"; ////Before battle at the tower
Funcs.World.Msgs.status = "Going back to lobby!";
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
Funcs.World.Coords.bsx = 25;
Funcs.World.Coords.bsy = 50; //Click back
}
break;
}
case "UNAB":
{
Funcs.World.Msgs.status = "No more keys...";
Funcs.World.Coords.aftrTower = 1;
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
#region Moving on
//move on to next module
//set the next module on
if (cbAdv.Checked == true)
{
Funcs.World.Coords.arena = 0;
Funcs.World.Coords.tower = 0;
Funcs.World.Coords.adv = 1; //next module
Funcs.World.Coords.raid = 0;
Funcs.World.Coords.Collect = 0;
}
else if (cbRaid.Checked == true)
{
Funcs.World.Coords.arena = 0;
Funcs.World.Coords.tower = 0;
Funcs.World.Coords.adv = 0;
Funcs.World.Coords.raid = 1; //next module
Funcs.World.Coords.Collect = 0;
}
else if (cbArena.Checked == true)
{
Funcs.World.Coords.arena = 1; //next module
Funcs.World.Coords.tower = 0;
Funcs.World.Coords.adv = 0;
Funcs.World.Coords.raid = 0;
Funcs.World.Coords.Collect = 0;
}
else
{
Funcs.World.Coords.arena = 0;
Funcs.World.Coords.tower = 0;
Funcs.World.Coords.adv = 0;
Funcs.World.Coords.raid = 0;
Funcs.World.Coords.Collect = 1;//next module
}
#endregion
break;
}
case "CtowerLobby":
{
if (Funcs.World.Coords.adv == 1)
{
//For adv
Funcs.World.Msgs.page = "Going to the adventure page"; //Going back
Funcs.World.Msgs.status = "Going to the adventure lobby";
Funcs.World.Coords.bsx = 25;
Funcs.World.Coords.bsy = 50; //Go back 1 page
}
else if (Funcs.World.Coords.tower == 1)
{
//For tower
if (rbGold.Checked == true) //Gold chamber selected
{
Funcs.World.Coords.bsx = 330; //Click gold chamber
Funcs.World.Coords.bsy = 150;
Funcs.World.Msgs.status = "Let's go to gold chamber!";
}
else if (rbTower.Checked == true) //Tower floor selected
{
Funcs.World.Coords.bsx = 750; //Go to battle
Funcs.World.Coords.bsy = 550;
Funcs.World.Msgs.status = "Let's fight...!";
}
}
else if (Funcs.World.Coords.arena == 1)
{
Funcs.World.Msgs.page = "Adventure"; ////Before battle at the tower
Funcs.World.Msgs.status = "Going back to lobby!";
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(50);
Funcs.World.Coords.bsx = 25;
Funcs.World.Coords.bsy = 50; //Click back
}
break;
}
case "FAIL":
{
if (Funcs.World.Coords.arena == 1)
{
if (Funcs.World.Coords.usearenarubies <= Convert.ToInt16(numericUpDown1.Value))
{
Funcs.World.Msgs.status = "Gonna use rubies!";
Funcs.World.Coords.bsx = 500;
Funcs.World.Coords.bsy = 430; //Use rubies
Funcs.World.Coords.usearenarubies = Funcs.World.Coords.usearenarubies + 1;
}
}
else
{
Funcs.World.Msgs.status = "Going back to lobby...";
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 300, 430);
Thread.Sleep(500);
if (Funcs.World.Coords.aftrPVP == 1)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 805, 535);
}
else
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
#region Moving on
//move on to next module
//set the next module on
if (cbAdv.Checked == true)
{
Funcs.World.Coords.arena = 0;
Funcs.World.Coords.tower = 0;
Funcs.World.Coords.adv = 1; //next module
Funcs.World.Coords.raid = 0;
Funcs.World.Coords.Collect = 0;
}
else if (cbRaid.Checked == true)
{
Funcs.World.Coords.arena = 0;
Funcs.World.Coords.tower = 0;
Funcs.World.Coords.adv = 0;
Funcs.World.Coords.raid = 1; //next module
Funcs.World.Coords.Collect = 0;
}
else if (cbTower.Checked == true)
{
Funcs.World.Coords.arena = 0;
Funcs.World.Coords.tower = 1; //next module
Funcs.World.Coords.adv = 0;
Funcs.World.Coords.raid = 0;
Funcs.World.Coords.Collect = 0;
}
else
{
Funcs.World.Coords.arena = 0;
Funcs.World.Coords.tower = 0;
Funcs.World.Coords.adv = 0;
Funcs.World.Coords.raid = 0;
Funcs.World.Coords.Collect = 1;//next module
}
#endregion
}
}
break;
}
case "NOT":
{
Funcs.World.Msgs.page = "Reloading Arena"; //NOTICE, reload arena
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
Funcs.World.Msgs.status = "Reloading arena!";
break;
}
case "BA":
{
if (Funcs.World.Coords.arena == 1)
{
Funcs.World.Msgs.page = "Arena Lobby"; //Arena lobby
Funcs.World.Coords.bsx = 220;
Funcs.World.Coords.bsy = 235; //Click Arena
Funcs.World.Msgs.status = "Prepare for PVP!";
}
else
{
Funcs.World.Msgs.status = "Going back to lobby...";
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
}
break;
}
case "AR":
{
if (Funcs.World.Coords.arena == 1)
{
Funcs.World.Msgs.page = "Arena Lobby"; //Arena lobby
Funcs.World.Coords.bsx = 610;
Funcs.World.Coords.bsy = 540; //Click Ready
Funcs.World.Msgs.status = "Prepare for PVP!";
}
else
{
Funcs.World.Msgs.status = "Going back to lobby...";
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
Thread.Sleep(300);
}
break;
}
#endregion
}
#region Send/Collect
// if (Funcs.World.Coords.SendCollect == 1)
// {
// Funcs.World.Coords.arena = 0;
// Funcs.World.Coords.tower = 0;
// Funcs.World.Coords.adv = 0;
// Funcs.World.Coords.raid = 0;
//
// switch (Funcs.World.Msgs.ocrtext)
// {
//
//
// case "Inbox":
// {
//
// if (cbCollHonor.Checked == true)
// {
// au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 300, 200); //Click Honor Tab
//
// }
// if (cbCollKeys.Checked == true)
// {
// au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 400, 200);//Click Keys Tab
//
// }
// if (cbCollGold.Checked == true)
// {
// au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 500, 200);//Click Gold Tab
//
// }
// if (cbCollRubies.Checked == true)
// {
// au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 650, 200);//Click Rubies Tab
//
// }
// if (cbCollTicket.Checked == true)
// {
// au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 800, 200); //Click Ticket Tab
//
// }
//
// Funcs.World.Coords.bsx = 750; //Click mail
// Funcs.World.Coords.bsy = 550;
// Funcs.World.Msgs.status = "Collecting mail...";
// break;
// }
// default:
// {
//
// #region Moving on
//
// //move on to next module
// //set the next module on
// if (cbTower.Checked == true)
// {
// Funcs.World.Coords.arena = 0;
// Funcs.World.Coords.tower = 1; //next module
// Funcs.World.Coords.adv = 0;
// Funcs.World.Coords.raid = 0;
// Funcs.World.Coords.SendCollect = 0;
// }
// else if (cbAdv.Checked == true)
// {
// Funcs.World.Coords.arena = 0;
// Funcs.World.Coords.tower = 0;
// Funcs.World.Coords.adv = 1; //next module
// Funcs.World.Coords.raid = 0;
// Funcs.World.Coords.SendCollect = 0;
// }
// else if (cbRaid.Checked == true)
// {
// Funcs.World.Coords.arena = 0;
// Funcs.World.Coords.tower = 0;
// Funcs.World.Coords.adv = 0;
// Funcs.World.Coords.raid = 1; //next module
// Funcs.World.Coords.SendCollect = 0;
// }
// else if (cbArena.Checked == true)
// {
// Funcs.World.Coords.arena = 1; //next module
// Funcs.World.Coords.tower = 0;
// Funcs.World.Coords.adv = 0;
// Funcs.World.Coords.raid = 0;
// Funcs.World.Coords.SendCollect = 0;
// }
// else
// {
// Funcs.World.Coords.arena = 0;
// Funcs.World.Coords.tower = 0;
// Funcs.World.Coords.adv = 0;
// Funcs.World.Coords.raid = 0;
// Funcs.World.Coords.SendCollect = 1;//next module
// }
// #endregion
// au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, 25, 50);
//
//
// break;
// }
//
// }
//
// }
#endregion
}
#region Click!
if (Funcs.World.Msgs.oldstatus != Funcs.World.Msgs.status)
{
AdvWorker.ReportProgress(i);
Funcs.World.Msgs.oldstatus = Funcs.World.Msgs.status;
}
if (Funcs.World.Coords.bsx != 0)
{
au3.ControlClick("BlueStacks App Player", "", "", "Left", 1, Funcs.World.Coords.bsx, Funcs.World.Coords.bsy);
}
Thread.Sleep(100);
Funcs.World.Coords.errPage = Funcs.World.Coords.errPage + 1;
#endregion
#region Search
switch (Funcs.World.Coords.errPage) //Search screen
{
#region Collect
case 1:
{
Funcs.World.Coords.rectx = 60; //Get keys
Funcs.World.Coords.recty = 50;
break;
}
case 2:
{
Funcs.World.Coords.rectx = 370; //Get Rubies
Funcs.World.Coords.recty = 50;
break;
}
case 3:
{
Funcs.World.Coords.rectx = 485; //Get HONOR
Funcs.World.Coords.recty = 50;
break;
}
#endregion
case 4:
{
Funcs.World.Coords.rectx = 300; //Disconnected
Funcs.World.Coords.recty = 305;
break;
}
#region for Arena
case 5:
{
Funcs.World.Coords.rectx = 295; //Use rubies?
Funcs.World.Coords.recty = 200;
break;
}
case 6:
{
Funcs.World.Coords.rectx = 775; //Check 0 arena keys
Funcs.World.Coords.recty = 580;
break;
}
case 7:
{
Funcs.World.Coords.rectx = 385; //Check 0 arena keys
Funcs.World.Coords.recty = 200;
break;
}
case 8:
{
Funcs.World.Coords.rectx = 15; //Check if lobby
Funcs.World.Coords.recty = 600;
break;
}
case 9:
{
Funcs.World.Coords.rectx = 350; //Check Commander Aragon
Funcs.World.Coords.recty = 400;
break;
}
case 10:
{
Funcs.World.Coords.rectx = 50; //Check 1st page/Arena and Tower
Funcs.World.Coords.recty = 50;
break;
}
case 11:
{
Funcs.World.Coords.rectx = 630; //Check 2nd page
Funcs.World.Coords.recty = 140;
break;
}
case 12:
{
Funcs.World.Coords.rectx = 152; //Check 3rd page
Funcs.World.Coords.recty = 150;
break;
}
#endregion
#region for Tower
case 13:
{
Funcs.World.Coords.rectx = 130; //Check adventure lobby AD
Funcs.World.Coords.recty = 145;
break;
}
case 14:
{
Funcs.World.Coords.rectx = 290; //Check MANAG
Funcs.World.Coords.recty = 530;
break;
}
case 15:
{
Funcs.World.Coords.rectx = 50; //Check mastery
Funcs.World.Coords.recty = 140;
break;
}
case 16:
{
Funcs.World.Coords.rectx = 770; //Check Lobby
Funcs.World.Coords.recty = 590;
break;
}
case 17:
{
Funcs.World.Coords.rectx = 490; //Check Wave
Funcs.World.Coords.recty = 45;
break;
}
case 18:
{
Funcs.World.Coords.rectx = 260; //NO more keys UNAB
Funcs.World.Coords.recty = 190;
break;
}
#endregion
#region Mail
case 19:
{
Funcs.World.Coords.rectx = 800; //Check mail
Funcs.World.Coords.recty = 560;
break;
}
case 20:
{
Funcs.World.Coords.rectx = 430; //Check mail
Funcs.World.Coords.recty = 430;
break;
}
#endregion
#region Startup
case 21:
{
Funcs.World.Coords.rectx = 410; //Notice - Click X
Funcs.World.Coords.recty = 25;
break;
}
case 22:
{
Funcs.World.Coords.rectx = 800; //X - ads
Funcs.World.Coords.recty = 590;
break;
}
case 23:
{
Funcs.World.Coords.rectx = 770; //version check, tap to start
Funcs.World.Coords.recty = 35;
break;
}
case 24:
{
Funcs.World.Coords.rectx = 25; //Daily rewards - WEEK
Funcs.World.Coords.recty = 120;
break;
}
case 25:
{
Funcs.World.Coords.rectx = 775; //ads
Funcs.World.Coords.recty = 510;
break;
}
case 26:
{
Funcs.World.Coords.rectx = 770; //ads
Funcs.World.Coords.recty = 110;
break;
}
case 27:
{
Funcs.World.Coords.rectx = 210; //Special offers
Funcs.World.Coords.recty = 380;
break;
}
#endregion
default:
{
Funcs.World.Coords.errPage = 0;
Funcs.World.Msgs.status = "Again!";
break;
}
}
#endregion
}
AdvWorker.ReportProgress(0);
}
private void button2_Click(object sender, EventArgs e)
{
if (btnAI.Text == "Start AI")
{
if (ip == IntPtr.Zero) // Verify that Bluestacks is a running process.
{
MessageBox.Show("Bluestacks is not running.");
return;
}
else
{
this.textBoxHandle.Text = ip.ToString(); //Retrieve Window Caption
}
//Change the status of the buttons on the UI accordingly
//The start button is disabled as soon as the background operation is started
//The Cancel button is enabled so that the user can stop the operation
//at any point of time during the execution
// Kickoff the worker thread to begin it's DoWork function.
AdvWorker.RunWorkerAsync();
btnAI.Text = "Stop AI";
}
else if (btnAI.Text == "Stop AI")
{
if (AdvWorker.IsBusy)
{
// Notify the worker thread that a cancel has been requested.
// The cancel will not actually happen until the thread in the
// DoWork checks the m_oWorker.CancellationPending flag.
AdvWorker.CancelAsync();
btnAI.Text = "Start AI";
}
}
}
private void cbArena_CheckedChanged(object sender, EventArgs e)
{
if (cbArena.Checked == true)
{
Funcs.World.Coords.arena = 1;
}
else
{
Funcs.World.Coords.arena = 0;
}
}
private void cbTower_CheckedChanged(object sender, EventArgs e)
{
if (cbTower.Checked == true)
{
Funcs.World.Coords.tower = 1;
}
else
{
Funcs.World.Coords.tower = 0;
}
}
private void cbSkill1_SelectedIndexChanged(object sender, EventArgs e)
{
Funcs.World.Coords.skill1 = Convert.ToInt16( cbSkill1.Text);
}
private void cbSkill2_SelectedIndexChanged(object sender, EventArgs e)
{
Funcs.World.Coords.skill2 = Convert.ToInt16(cbSkill2.Text);
}
private void cbSkill3_SelectedIndexChanged(object sender, EventArgs e)
{
Funcs.World.Coords.skill3 = Convert.ToInt16(cbSkill3.Text);
}
public void cbFormation_SelectedIndexChanged(object sender, EventArgs e)
{
lblForm1.Location = new Point();
if (cbFormation.Text == "Basic")
{
lblForm1.Location = new Point(69, 96);
lblForm2.Location = new Point(69, 58);
lblForm3.Location = new Point(29, 120);
lblForm4.Location = new Point(29, 77);
lblForm5.Location = new Point(29, 36);
}
else if (cbFormation.Text == "Balanced")
{
lblForm1.Location = new Point(69, 114);
lblForm2.Location = new Point(69, 73);
lblForm3.Location = new Point(69, 35);
lblForm4.Location = new Point(29, 93);
lblForm5.Location = new Point(29, 54);
}
else if (cbFormation.Text == "Offensive")
{
lblForm1.Location = new Point(69, 66);
lblForm2.Location = new Point(29, 108);
lblForm3.Location = new Point(29, 80);
lblForm4.Location = new Point(29, 52);
lblForm5.Location = new Point(29, 24);
}
else if (cbFormation.Text == "Defensive")
{
lblForm1.Location = new Point(69, 108);
lblForm2.Location = new Point(69, 80);
lblForm3.Location = new Point(69, 52);
lblForm4.Location = new Point(69, 24);
lblForm5.Location = new Point(29, 66);
}
}
private void cbCollHonor_CheckedChanged(object sender, EventArgs e)
{
if (cbCollGold.Checked == true || cbCollHonor.Checked == true || cbCollKeys.Checked == true || cbCollRubies.Checked == true || cbCollTicket.Checked == true)
{
Funcs.World.Coords.Collect = 1;
}
else
{
Funcs.World.Coords.Collect = 0;
}
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
}
private void comboBox6_SelectedIndexChanged(object sender, EventArgs e)
{
Funcs.World.Coords.advskill1 = Convert.ToInt16(cbadvskill1.Text);
}
private void cbadvskill2_SelectedIndexChanged(object sender, EventArgs e)
{
Funcs.World.Coords.advskill2 = Convert.ToInt16(cbadvskill2.Text);
}
private void cbadvskill3_SelectedIndexChanged(object sender, EventArgs e)
{
Funcs.World.Coords.advskill3 = Convert.ToInt16(cbadvskill3.Text);
}
private void cbAdv_CheckedChanged(object sender, EventArgs e)
{
if (cbAdv.Checked == true)
{
Funcs.World.Coords.adv = 1;
}
else
{
Funcs.World.Coords.adv = 0;
}
}
private void cbRaid_CheckedChanged(object sender, EventArgs e)
{
if (cbRaid.Checked == true)
{
Funcs.World.Coords.raid = 1;
}
else
{
Funcs.World.Coords.raid = 0;
}
}
}
}