diff --git a/README.md b/README.md
index 8eec851..7cd7939 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ A simple World of Warcraft fishbot written in C#.
Introduction
-I started this project during my freshman year of college…many, many years ago.
+I started this project during my freshman year of college… Many, many years ago.
It’s been years since I’ve played Wow and I no longer have the amounts of free
time I used to. I’ve revised the code a few times since, but I can’t pretend
it’s a shining example of anything; still, it remains a popular project and I
@@ -14,12 +14,12 @@ some value from this.
Coding Overview
This is originaly written in VB.NET (I know, I know….). It has been now ported
-in C#. You can get a free copy of Visual Studio Express.
+to C#. You can get a free copy of Visual Studio Community.
The general idea is that the bot works by ‘listening’ to the output from the
game (whereas most bots at the time were reading pixels and trying to find the
-bobber, or reading the game’s memory (which means updating the offsets after
-each patch). This works with the CoreAudio DLL file – I didn’t write it and
+bobber, or reading the game’s memory - which means updating the offsets after
+each patch). This works with the CoreAudio DLL file – I didn’t write it and
I don’t believe it works with Windows XP.
The bot uses standard win32 API calls to move the mouse and send keystrokes.
@@ -27,28 +27,25 @@ I’ve never had any problems, but I’ve gotten reports from users saying it
doesn’t work on their machine.
It starts by sending the ‘cast’ key, then moving the cursor systematically and
-using the GetCursorInfo api call to detect a change in the icon. We assume
-that change is the fish bobber. Then it monitors the sound output (via
-CoreAudio) until there is a change and we assume that is the splash of a fish.
-Then the bot sends the click mouse event. Rinse. Repeat.
+using the GetCursorInfo api call to detect a change in the icon. We assume that
+that change is the fish bobber. Then it monitors the sound output (via
+CoreAudio) until there is a change above a threshold and we assume that this is the splash of a fish.
+Then the bot sends the click mouse event. Rinse. Repeat.
-There are quite a few ‘nice-to-haves’ I never got around to doing….adding
+There are quite a few ‘nice-to-haves’ I never got around to doing… Adding
lures, improving the scanning, ironing out the hearth home functionality…
-maybe someone will get a chance.
+Maybe someone will get a chance.
Thanks to everyone who supported the project and thanks to anyone reading this
for your interest.
-Updated for Mists of Pandaria
+Updated for Mists of Pandaria & Warlords of Draenor
=============================
Updated by justanotherprogrammer to support MoP items such as the Ancient
Pandaren Fishing Charm and the Angler's Fishing Raft. Also added support for
people who don't use Auto-loot.
-Updated for Warlords of Draenor
-===============================
-
Updated by Henrik Hermansen to support WoD bait.
Updated in C#
@@ -56,22 +53,31 @@ Updated in C#
Updated by Pierre Ghiot (Mograine) in C#.
-Updated by daniel-widrick
+Updated by daniel-widrick & Szabka
===============================
+-Hearing optimisation.
-Updated by Szabka
-===============================
-Ear optimisation
-Bobber finding and Hearing is parallel threads.
-Bobber finding searches differences between before cast and after cast screenshots, than previous bobber positions ordered by occurence.
-If bobber not found while fish hearing it searches 2 seconds more for bobber, so has a possibility to catch fish even instant fish hear on cast.
-Bobber recheck on hook, so if bobber moves a little it will find again.
-Has log file for debugging purposes.
-Can capture fishing cursor with hotkey for more precision bobber finding.
-Hungarian translation.
-Wow window handle searched when starts fishing(and not when fishbot starts).
-Hotkey actions disabled in settings screen.
-Stop fishing after 10 consequent fish failure.
+-Bobber finding and Hearing is put in parallel threads.
+
+-Bobber finding searches the differences between "before cast" and "after cast" screenshots, than previous bobber positions ordered by occurence.
+
+-If bobber is still not found when fish is heard, it searches 2 seconds more for bobber, so that it still has a possibility to catch fish.
+
+-Bobber recheck on hook, so if bobber moves a little it will find the fish again.
+
+-Has log file for debugging purposes.
+
+-Can capture fishing cursor with hotkey for more precision bobber finding.
+
+-Hungarian translation.
+
+-Bulgarian translation.
+
+-Wow window handle searched when starts fishing(and not when fishbot starts).
+
+-Hotkey actions disabled in settings screen.
+
+-Stop fishing after 10 consecutive fish failures.
Happy Fishing!
diff --git a/UltimateFishBot/App.config b/UltimateFishBot/App.config
index 619465b..3922f19 100644
--- a/UltimateFishBot/App.config
+++ b/UltimateFishBot/App.config
@@ -10,20 +10,20 @@
-
- 10
+
+ 15
-
- 30
+
+ 23
2
-
+
1500
-
- 3000
+
+ 2600
15
@@ -79,11 +79,11 @@
False
-
- 22000
+
+ 21500
-
+
False
@@ -161,11 +161,26 @@
False
- Ctrl+Shift+C
+ Alt+Shift+C
False
+
+ 1800
+
+
+ 3000
+
+
+ 22200
+
+
+ 32
+
+
+ 30
+
diff --git a/UltimateFishBot/Classes/BodyParts/Eyes.cs b/UltimateFishBot/Classes/BodyParts/Eyes.cs
index 7fa1a39..55663db 100644
--- a/UltimateFishBot/Classes/BodyParts/Eyes.cs
+++ b/UltimateFishBot/Classes/BodyParts/Eyes.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
@@ -24,6 +24,9 @@ class Eyes
private Bitmap background;
private Rectangle wowRectangle;
+ private int a_ScanningSteps = 0;
+ private int a_ScanningDelay = 0;
+
public Eyes(IntPtr wowWindow) {
SetWow(wowWindow);
bobberPosDict = new Dictionary();
@@ -43,7 +46,6 @@ public void SetWow(IntPtr wowWindow) {
public void updateBackground() {
background = new Grayscale(0.3725, 0.6154, 0.0121).Apply(Win32.CaptureWindow(Wow));
background = new Pixellate().Apply(background);
-
}
public async Task LookForBobber(CancellationToken cancellationToken)
@@ -84,11 +86,13 @@ public void updateBackground() {
}
}
}
- if (bobberPos.x == 0 && bobberPos.y == 0) {
+ if (bobberPos.x == 0 && bobberPos.y == 0) {
+ Random rnd = new Random();
+ a_ScanningSteps = rnd.Next(Properties.Settings.Default.ScanningStepsLow, Properties.Settings.Default.ScanningStepsHigh);
if (Properties.Settings.Default.AlternativeRoute) {
- bobberPos = await LookForBobberSpiralImpl(scanArea, bobberPos, Properties.Settings.Default.ScanningSteps, Properties.Settings.Default.ScanningRetries, cancellationToken);
+ bobberPos = await LookForBobberSpiralImpl(scanArea, bobberPos, a_ScanningSteps, Properties.Settings.Default.ScanningRetries, cancellationToken);
} else {
- bobberPos = await LookForBobberImpl(scanArea, bobberPos, Properties.Settings.Default.ScanningSteps, Properties.Settings.Default.ScanningRetries, cancellationToken);
+ bobberPos = await LookForBobberImpl(scanArea, bobberPos, a_ScanningSteps, Properties.Settings.Default.ScanningRetries, cancellationToken);
}
}
if (bobberPos.x != 0 && bobberPos.y != 0) {
@@ -247,7 +251,9 @@ private async Task MoveMouseAndCheckCursor(int x, int y, CancellationToken
Win32.MoveMouse(x, y);
// Pause (give the OS a chance to change the cursor)
- await Task.Delay(mpy*Properties.Settings.Default.ScanningDelay, cancellationToken);
+ Random rnd = new Random();
+ a_ScanningDelay = rnd.Next(Properties.Settings.Default.ScanningDelayLow, Properties.Settings.Default.ScanningDelayHigh);
+ await Task.Delay(mpy*a_ScanningDelay, cancellationToken);
Win32.CursorInfo actualCursor = Win32.GetCurrentCursor();
diff --git a/UltimateFishBot/Classes/BodyParts/Hands.cs b/UltimateFishBot/Classes/BodyParts/Hands.cs
index a3f6d32..0184144 100644
--- a/UltimateFishBot/Classes/BodyParts/Hands.cs
+++ b/UltimateFishBot/Classes/BodyParts/Hands.cs
@@ -1,4 +1,4 @@
-using Serilog;
+using Serilog;
using System;
using System.Threading;
using System.Threading.Tasks;
@@ -15,6 +15,9 @@ class Hands
private IntPtr Wow;
private Random rand;
+ private int a_CastingDelay = 0;
+ private int a_LootingDelay = 0;
+
public Hands()
{
m_baitIndex = 0;
@@ -56,14 +59,18 @@ public async Task Cast(CancellationToken token)
Win32.SendKey(Properties.Settings.Default.FishKey);
Log.Information("Sent key: " + Properties.Settings.Default.FishKey);
}
- await Task.Delay(new Random().Next(0,Properties.Settings.Default.CastingDelay), token);
+ Random rnd = new Random();
+ a_CastingDelay = rnd.Next(Properties.Settings.Default.CastingDelayLow, Properties.Settings.Default.CastingDelayHigh);
+ await Task.Delay(a_CastingDelay, token);
}
public async Task Loot()
{
Win32.SendMouseClick(this.Wow);
Log.Information("Send Loot.");
- await Task.Delay(new Random().Next(0,Properties.Settings.Default.LootingDelay));
+ Random rnd = new Random();
+ a_LootingDelay = rnd.Next(Properties.Settings.Default.LootingDelayLow, Properties.Settings.Default.LootingDelayHigh);
+ await Task.Delay(a_LootingDelay);
}
public void ResetBaitIndex()
diff --git a/UltimateFishBot/Classes/Helpers/Win32.cs b/UltimateFishBot/Classes/Helpers/Win32.cs
index 556216f..be93dc3 100644
--- a/UltimateFishBot/Classes/Helpers/Win32.cs
+++ b/UltimateFishBot/Classes/Helpers/Win32.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
diff --git a/UltimateFishBot/Classes/Manager.cs b/UltimateFishBot/Classes/Manager.cs
index a65dcae..4921372 100644
--- a/UltimateFishBot/Classes/Manager.cs
+++ b/UltimateFishBot/Classes/Manager.cs
@@ -1,4 +1,4 @@
-using Serilog;
+using Serilog;
using System;
using System.Diagnostics;
using System.Threading;
@@ -62,11 +62,22 @@ public enum NeededAction
private const int SECOND = 1000;
private const int MINUTE = 60 * SECOND;
+ /// average
+ private int a_FishWait = 0;
+
+
public Manager(IManagerEventHandler managerEventHandler, IProgress progressHandle)
{
m_managerEventHandler = managerEventHandler;
IntPtr WowWindowPointer = Helpers.Win32.FindWowWindow();
-
+ DialogResult result = DialogResult.Cancel;
+ while (WowWindowPointer == new IntPtr())
+ {
+ result = MessageBox.Show("Could not find the the WoW process. Please make sure the game is running.", "Error - WoW not open", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
+ if (result == DialogResult.Cancel)
+ Environment.Exit(1);
+ WowWindowPointer = Helpers.Win32.FindWowWindow();
+ }
m_eyes = new Eyes(WowWindowPointer);
m_hands = new Hands(WowWindowPointer);
m_ears = new Ears();
@@ -292,17 +303,19 @@ private async Task Fish(CancellationToken cancellationToken)
"manager",
"LABEL_WAITING",
msecs / SECOND,
- Properties.Settings.Default.FishWait / SECOND));
+ a_FishWait / SECOND));
}
});
var uiUpdateTask = Task.Run(
async () => await UpdateUIWhileWaitingToHearFish(progress, uiUpdateCancelToken),
uiUpdateCancelToken);
+ Random rnd = new Random();
+ a_FishWait = rnd.Next(Properties.Settings.Default.FishWaitLow, Properties.Settings.Default.FishWaitHigh);
bool fishHeard = await m_ears.Listen(
- Properties.Settings.Default.FishWait,
+ a_FishWait,
cancellationToken);
- //Log.Information("Ear result: "+fishHeard.ToString());
+ //Log.Information("Ear result: "+a_FishWait.ToString());
uiUpdateCancelTokenSource.Cancel();
try {
diff --git a/UltimateFishBot/Forms/frmMain.cs b/UltimateFishBot/Forms/frmMain.cs
index 4738dfa..48cc5a9 100644
--- a/UltimateFishBot/Forms/frmMain.cs
+++ b/UltimateFishBot/Forms/frmMain.cs
@@ -47,10 +47,10 @@ private async void frmMain_Load(object sender, EventArgs e)
btnClose.Text = Translate.GetTranslate("frmMain", "BUTTON_EXIT");
btnAbout.Text = Translate.GetTranslate("frmMain", "BUTTON_ABOUT");
lblStatus.Text = Translate.GetTranslate("frmMain", "LABEL_STOPPED");
- this.Text = "UltimateFishBot - v " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
+ //this.Text = "UltimateFishBot - v " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
/* Hide ? */
Random r = new Random();
- this.Text = this.Text + r.Next(1000, 1000000).ToString();
+ this.Text = r.Next(1000, 1000000).ToString();
this.Text = this.Text.GetHashCode().ToString();
diff --git a/UltimateFishBot/Forms/frmSettings.Designer.cs b/UltimateFishBot/Forms/frmSettings.Designer.cs
index 3e1a7db..899d3e3 100644
--- a/UltimateFishBot/Forms/frmSettings.Designer.cs
+++ b/UltimateFishBot/Forms/frmSettings.Designer.cs
@@ -1,4 +1,4 @@
-namespace UltimateFishBot.Forms
+namespace UltimateFishBot.Forms
{
partial class frmSettings
{
@@ -31,7 +31,7 @@ private void InitializeComponent()
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSettings));
this.LabelScanningDelayDesc = new System.Windows.Forms.Label();
- this.txtScanSteps = new System.Windows.Forms.TextBox();
+ this.txtScanStepsLow = new System.Windows.Forms.TextBox();
this.LabelScanningStepsDesc = new System.Windows.Forms.Label();
this.LabelScanningSteps = new System.Windows.Forms.Label();
this.TabPage3 = new System.Windows.Forms.TabPage();
@@ -92,16 +92,20 @@ private void InitializeComponent()
this.LabelScanningDelay = new System.Windows.Forms.Label();
this.tmeAudio = new System.Windows.Forms.Timer(this.components);
this.buttonSave = new System.Windows.Forms.Button();
- this.txtDelay = new System.Windows.Forms.TextBox();
+ this.txtDelayLow = new System.Windows.Forms.TextBox();
this.tabSettings = new System.Windows.Forms.TabControl();
this.TabPage2 = new System.Windows.Forms.TabPage();
- this.txtFishWait = new System.Windows.Forms.TextBox();
+ this.dash2 = new System.Windows.Forms.Label();
+ this.txtLootingDelayHigh = new System.Windows.Forms.TextBox();
+ this.txtFishWaitHigh = new System.Windows.Forms.TextBox();
+ this.txtCastDelayHigh = new System.Windows.Forms.TextBox();
+ this.txtFishWaitLow = new System.Windows.Forms.TextBox();
this.LabelFishWaitDesc = new System.Windows.Forms.Label();
this.LabelDelayLooting = new System.Windows.Forms.Label();
- this.txtLootingDelay = new System.Windows.Forms.TextBox();
+ this.txtLootingDelayLow = new System.Windows.Forms.TextBox();
this.LabelDelayLootingDesc = new System.Windows.Forms.Label();
this.LabelFishWait = new System.Windows.Forms.Label();
- this.txtCastDelay = new System.Windows.Forms.TextBox();
+ this.txtCastDelayLow = new System.Windows.Forms.TextBox();
this.LabelDelayCastDesc = new System.Windows.Forms.Label();
this.LabelDelayCast = new System.Windows.Forms.Label();
this.TabPage1 = new System.Windows.Forms.TabPage();
@@ -133,6 +137,12 @@ private void InitializeComponent()
this.btnReset = new System.Windows.Forms.Button();
this.chkTxt2speech = new System.Windows.Forms.CheckBox();
this.buttonCancel = new System.Windows.Forms.Button();
+ this.dash1 = new System.Windows.Forms.Label();
+ this.dash0 = new System.Windows.Forms.Label();
+ this.txtScanStepsHigh = new System.Windows.Forms.TextBox();
+ this.txtDelayHigh = new System.Windows.Forms.TextBox();
+ this.dash3 = new System.Windows.Forms.Label();
+ this.dash4 = new System.Windows.Forms.Label();
this.TabPage3.SuspendLayout();
this.TabPage4.SuspendLayout();
this.tabSettings.SuspendLayout();
@@ -150,16 +160,16 @@ private void InitializeComponent()
this.LabelScanningDelayDesc.Name = "LabelScanningDelayDesc";
this.LabelScanningDelayDesc.Size = new System.Drawing.Size(423, 51);
this.LabelScanningDelayDesc.TabIndex = 13;
- this.LabelScanningDelayDesc.Text = "The number of milliseconds to wait before checking if the cursor has changed. To" +
+ this.LabelScanningDelayDesc.Text = "The number of milliseconds to wait before checking if the cursor has changed. Too" +
" slow and you might not detect the bobber; but a bigger number goes slower.";
//
- // txtScanSteps
+ // txtScanStepsLow
//
- this.txtScanSteps.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtScanSteps.Location = new System.Drawing.Point(129, 9);
- this.txtScanSteps.Name = "txtScanSteps";
- this.txtScanSteps.Size = new System.Drawing.Size(32, 20);
- this.txtScanSteps.TabIndex = 2;
+ this.txtScanStepsLow.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtScanStepsLow.Location = new System.Drawing.Point(136, 9);
+ this.txtScanStepsLow.Name = "txtScanStepsLow";
+ this.txtScanStepsLow.Size = new System.Drawing.Size(32, 20);
+ this.txtScanStepsLow.TabIndex = 2;
//
// LabelScanningStepsDesc
//
@@ -337,7 +347,7 @@ private void InitializeComponent()
this.TabPage4.Name = "TabPage4";
this.TabPage4.Size = new System.Drawing.Size(527, 309);
this.TabPage4.TabIndex = 3;
- this.TabPage4.Text = "Premium Settings";
+ this.TabPage4.Text = "Key Bindings";
this.TabPage4.UseVisualStyleBackColor = true;
//
// cbDblRclickCast
@@ -786,13 +796,13 @@ private void InitializeComponent()
this.buttonSave.UseVisualStyleBackColor = true;
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
//
- // txtDelay
+ // txtDelayLow
//
- this.txtDelay.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtDelay.Location = new System.Drawing.Point(129, 58);
- this.txtDelay.Name = "txtDelay";
- this.txtDelay.Size = new System.Drawing.Size(32, 20);
- this.txtDelay.TabIndex = 3;
+ this.txtDelayLow.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtDelayLow.Location = new System.Drawing.Point(136, 58);
+ this.txtDelayLow.Name = "txtDelayLow";
+ this.txtDelayLow.Size = new System.Drawing.Size(32, 20);
+ this.txtDelayLow.TabIndex = 3;
//
// tabSettings
//
@@ -813,13 +823,19 @@ private void InitializeComponent()
//
// TabPage2
//
- this.TabPage2.Controls.Add(this.txtFishWait);
+ this.TabPage2.Controls.Add(this.dash0);
+ this.TabPage2.Controls.Add(this.dash1);
+ this.TabPage2.Controls.Add(this.dash2);
+ this.TabPage2.Controls.Add(this.txtLootingDelayHigh);
+ this.TabPage2.Controls.Add(this.txtFishWaitHigh);
+ this.TabPage2.Controls.Add(this.txtCastDelayHigh);
+ this.TabPage2.Controls.Add(this.txtFishWaitLow);
this.TabPage2.Controls.Add(this.LabelFishWaitDesc);
this.TabPage2.Controls.Add(this.LabelDelayLooting);
- this.TabPage2.Controls.Add(this.txtLootingDelay);
+ this.TabPage2.Controls.Add(this.txtLootingDelayLow);
this.TabPage2.Controls.Add(this.LabelDelayLootingDesc);
this.TabPage2.Controls.Add(this.LabelFishWait);
- this.TabPage2.Controls.Add(this.txtCastDelay);
+ this.TabPage2.Controls.Add(this.txtCastDelayLow);
this.TabPage2.Controls.Add(this.LabelDelayCastDesc);
this.TabPage2.Controls.Add(this.LabelDelayCast);
this.TabPage2.Location = new System.Drawing.Point(4, 22);
@@ -830,13 +846,46 @@ private void InitializeComponent()
this.TabPage2.Text = "General Fishing";
this.TabPage2.UseVisualStyleBackColor = true;
//
- // txtFishWait
+ // dash2
//
- this.txtFishWait.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtFishWait.Location = new System.Drawing.Point(192, 73);
- this.txtFishWait.Name = "txtFishWait";
- this.txtFishWait.Size = new System.Drawing.Size(53, 20);
- this.txtFishWait.TabIndex = 3;
+ this.dash2.AutoSize = true;
+ this.dash2.Location = new System.Drawing.Point(251, 144);
+ this.dash2.Name = "dash2";
+ this.dash2.Size = new System.Drawing.Size(13, 13);
+ this.dash2.TabIndex = 23;
+ this.dash2.Text = "--";
+ //
+ // txtLootingDelayHigh
+ //
+ this.txtLootingDelayHigh.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtLootingDelayHigh.Location = new System.Drawing.Point(268, 141);
+ this.txtLootingDelayHigh.Name = "txtLootingDelayHigh";
+ this.txtLootingDelayHigh.Size = new System.Drawing.Size(53, 20);
+ this.txtLootingDelayHigh.TabIndex = 22;
+ //
+ // txtFishWaitHigh
+ //
+ this.txtFishWaitHigh.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtFishWaitHigh.Location = new System.Drawing.Point(268, 73);
+ this.txtFishWaitHigh.Name = "txtFishWaitHigh";
+ this.txtFishWaitHigh.Size = new System.Drawing.Size(53, 20);
+ this.txtFishWaitHigh.TabIndex = 21;
+ //
+ // txtCastDelayHigh
+ //
+ this.txtCastDelayHigh.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtCastDelayHigh.Location = new System.Drawing.Point(268, 12);
+ this.txtCastDelayHigh.Name = "txtCastDelayHigh";
+ this.txtCastDelayHigh.Size = new System.Drawing.Size(53, 20);
+ this.txtCastDelayHigh.TabIndex = 20;
+ //
+ // txtFishWaitLow
+ //
+ this.txtFishWaitLow.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtFishWaitLow.Location = new System.Drawing.Point(192, 73);
+ this.txtFishWaitLow.Name = "txtFishWaitLow";
+ this.txtFishWaitLow.Size = new System.Drawing.Size(53, 20);
+ this.txtFishWaitLow.TabIndex = 3;
//
// LabelFishWaitDesc
//
@@ -858,13 +907,13 @@ private void InitializeComponent()
this.LabelDelayLooting.TabIndex = 18;
this.LabelDelayLooting.Text = "Delay After Looting:";
//
- // txtLootingDelay
+ // txtLootingDelayLow
//
- this.txtLootingDelay.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtLootingDelay.Location = new System.Drawing.Point(192, 141);
- this.txtLootingDelay.Name = "txtLootingDelay";
- this.txtLootingDelay.Size = new System.Drawing.Size(53, 20);
- this.txtLootingDelay.TabIndex = 4;
+ this.txtLootingDelayLow.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtLootingDelayLow.Location = new System.Drawing.Point(192, 141);
+ this.txtLootingDelayLow.Name = "txtLootingDelayLow";
+ this.txtLootingDelayLow.Size = new System.Drawing.Size(53, 20);
+ this.txtLootingDelayLow.TabIndex = 4;
//
// LabelDelayLootingDesc
//
@@ -885,13 +934,13 @@ private void InitializeComponent()
this.LabelFishWait.TabIndex = 15;
this.LabelFishWait.Text = "Fish Wait Limit:";
//
- // txtCastDelay
+ // txtCastDelayLow
//
- this.txtCastDelay.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtCastDelay.Location = new System.Drawing.Point(192, 12);
- this.txtCastDelay.Name = "txtCastDelay";
- this.txtCastDelay.Size = new System.Drawing.Size(53, 20);
- this.txtCastDelay.TabIndex = 2;
+ this.txtCastDelayLow.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtCastDelayLow.Location = new System.Drawing.Point(192, 12);
+ this.txtCastDelayLow.Name = "txtCastDelayLow";
+ this.txtCastDelayLow.Size = new System.Drawing.Size(53, 20);
+ this.txtCastDelayLow.TabIndex = 2;
//
// LabelDelayCastDesc
//
@@ -915,6 +964,10 @@ private void InitializeComponent()
//
// TabPage1
//
+ this.TabPage1.Controls.Add(this.dash4);
+ this.TabPage1.Controls.Add(this.dash3);
+ this.TabPage1.Controls.Add(this.txtDelayHigh);
+ this.TabPage1.Controls.Add(this.txtScanStepsHigh);
this.TabPage1.Controls.Add(this.ccHotKey);
this.TabPage1.Controls.Add(this.ccHotKeyLabel);
this.TabPage1.Controls.Add(this.LabelMaxXY);
@@ -931,10 +984,10 @@ private void InitializeComponent()
this.TabPage1.Controls.Add(this.txtRetries);
this.TabPage1.Controls.Add(this.LabelScanningRetriesDesc);
this.TabPage1.Controls.Add(this.LabelScanningRetries);
- this.TabPage1.Controls.Add(this.txtDelay);
+ this.TabPage1.Controls.Add(this.txtDelayLow);
this.TabPage1.Controls.Add(this.LabelScanningDelayDesc);
this.TabPage1.Controls.Add(this.LabelScanningDelay);
- this.TabPage1.Controls.Add(this.txtScanSteps);
+ this.TabPage1.Controls.Add(this.txtScanStepsLow);
this.TabPage1.Controls.Add(this.LabelScanningStepsDesc);
this.TabPage1.Controls.Add(this.LabelScanningSteps);
this.TabPage1.Location = new System.Drawing.Point(4, 22);
@@ -958,12 +1011,12 @@ private void InitializeComponent()
//
this.ccHotKeyLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.ccHotKeyLabel.AutoSize = true;
- this.ccHotKeyLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.ccHotKeyLabel.Location = new System.Drawing.Point(172, 245);
+ this.ccHotKeyLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.ccHotKeyLabel.Location = new System.Drawing.Point(235, 245);
this.ccHotKeyLabel.Name = "ccHotKeyLabel";
- this.ccHotKeyLabel.Size = new System.Drawing.Size(142, 13);
+ this.ccHotKeyLabel.Size = new System.Drawing.Size(79, 13);
this.ccHotKeyLabel.TabIndex = 55;
- this.ccHotKeyLabel.Text = "Cursor capture Hotkey :";
+ this.ccHotKeyLabel.Text = "Capture cursor:";
//
// LabelMaxXY
//
@@ -1075,7 +1128,7 @@ private void InitializeComponent()
// txtRetries
//
this.txtRetries.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtRetries.Location = new System.Drawing.Point(129, 107);
+ this.txtRetries.Location = new System.Drawing.Point(136, 107);
this.txtRetries.Name = "txtRetries";
this.txtRetries.Size = new System.Drawing.Size(32, 20);
this.txtRetries.TabIndex = 4;
@@ -1229,6 +1282,58 @@ private void InitializeComponent()
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
+ // dash1
+ //
+ this.dash1.AutoSize = true;
+ this.dash1.Location = new System.Drawing.Point(251, 76);
+ this.dash1.Name = "dash1";
+ this.dash1.Size = new System.Drawing.Size(13, 13);
+ this.dash1.TabIndex = 24;
+ this.dash1.Text = "--";
+ //
+ // dash0
+ //
+ this.dash0.AutoSize = true;
+ this.dash0.Location = new System.Drawing.Point(251, 15);
+ this.dash0.Name = "dash0";
+ this.dash0.Size = new System.Drawing.Size(13, 13);
+ this.dash0.TabIndex = 25;
+ this.dash0.Text = "--";
+ //
+ // txtScanStepsHigh
+ //
+ this.txtScanStepsHigh.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtScanStepsHigh.Location = new System.Drawing.Point(191, 9);
+ this.txtScanStepsHigh.Name = "txtScanStepsHigh";
+ this.txtScanStepsHigh.Size = new System.Drawing.Size(32, 20);
+ this.txtScanStepsHigh.TabIndex = 56;
+ //
+ // txtDelayHigh
+ //
+ this.txtDelayHigh.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtDelayHigh.Location = new System.Drawing.Point(191, 58);
+ this.txtDelayHigh.Name = "txtDelayHigh";
+ this.txtDelayHigh.Size = new System.Drawing.Size(32, 20);
+ this.txtDelayHigh.TabIndex = 57;
+ //
+ // dash3
+ //
+ this.dash3.AutoSize = true;
+ this.dash3.Location = new System.Drawing.Point(173, 12);
+ this.dash3.Name = "dash3";
+ this.dash3.Size = new System.Drawing.Size(13, 13);
+ this.dash3.TabIndex = 58;
+ this.dash3.Text = "--";
+ //
+ // dash4
+ //
+ this.dash4.AutoSize = true;
+ this.dash4.Location = new System.Drawing.Point(173, 61);
+ this.dash4.Name = "dash4";
+ this.dash4.Size = new System.Drawing.Size(13, 13);
+ this.dash4.TabIndex = 59;
+ this.dash4.Text = "--";
+ //
// frmSettings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -1264,7 +1369,7 @@ private void InitializeComponent()
#endregion
internal System.Windows.Forms.Label LabelScanningDelayDesc;
- internal System.Windows.Forms.TextBox txtScanSteps;
+ internal System.Windows.Forms.TextBox txtScanStepsLow;
internal System.Windows.Forms.Label LabelScanningStepsDesc;
internal System.Windows.Forms.Label LabelScanningSteps;
internal System.Windows.Forms.TabPage TabPage3;
@@ -1317,16 +1422,16 @@ private void InitializeComponent()
internal System.Windows.Forms.Label LabelScanningDelay;
internal System.Windows.Forms.Timer tmeAudio;
internal System.Windows.Forms.Button buttonSave;
- internal System.Windows.Forms.TextBox txtDelay;
+ internal System.Windows.Forms.TextBox txtDelayLow;
internal System.Windows.Forms.TabControl tabSettings;
internal System.Windows.Forms.TabPage TabPage2;
- internal System.Windows.Forms.TextBox txtFishWait;
+ internal System.Windows.Forms.TextBox txtFishWaitLow;
internal System.Windows.Forms.Label LabelFishWaitDesc;
internal System.Windows.Forms.Label LabelDelayLooting;
- internal System.Windows.Forms.TextBox txtLootingDelay;
+ internal System.Windows.Forms.TextBox txtLootingDelayLow;
internal System.Windows.Forms.Label LabelDelayLootingDesc;
internal System.Windows.Forms.Label LabelFishWait;
- internal System.Windows.Forms.TextBox txtCastDelay;
+ internal System.Windows.Forms.TextBox txtCastDelayLow;
internal System.Windows.Forms.Label LabelDelayCastDesc;
internal System.Windows.Forms.Label LabelDelayCast;
internal System.Windows.Forms.TabPage TabPage1;
@@ -1366,5 +1471,15 @@ private void InitializeComponent()
internal System.Windows.Forms.CheckBox cbDblRclickCast;
internal System.Windows.Forms.TextBox ccHotKey;
internal System.Windows.Forms.Label ccHotKeyLabel;
+ internal System.Windows.Forms.TextBox txtFishWaitHigh;
+ internal System.Windows.Forms.TextBox txtCastDelayHigh;
+ internal System.Windows.Forms.TextBox txtLootingDelayHigh;
+ private System.Windows.Forms.Label dash2;
+ private System.Windows.Forms.Label dash0;
+ private System.Windows.Forms.Label dash1;
+ internal System.Windows.Forms.TextBox txtDelayHigh;
+ internal System.Windows.Forms.TextBox txtScanStepsHigh;
+ private System.Windows.Forms.Label dash4;
+ private System.Windows.Forms.Label dash3;
}
}
\ No newline at end of file
diff --git a/UltimateFishBot/Forms/frmSettings.cs b/UltimateFishBot/Forms/frmSettings.cs
index f485772..5068ba7 100644
--- a/UltimateFishBot/Forms/frmSettings.cs
+++ b/UltimateFishBot/Forms/frmSettings.cs
@@ -1,4 +1,4 @@
-using CoreAudioApi;
+using CoreAudioApi;
using System;
using System.Collections.Generic;
using System.IO;
@@ -154,14 +154,19 @@ private void frmSettings_Load(object sender, EventArgs e)
*/
/// General
- txtCastDelay.Text = Properties.Settings.Default.CastingDelay.ToString();
- txtLootingDelay.Text = Properties.Settings.Default.LootingDelay.ToString();
- txtFishWait.Text = Properties.Settings.Default.FishWait.ToString();
+ txtCastDelayLow.Text = Properties.Settings.Default.CastingDelayLow.ToString();
+ txtLootingDelayLow.Text = Properties.Settings.Default.LootingDelayLow.ToString();
+ txtFishWaitLow.Text = Properties.Settings.Default.FishWaitLow.ToString();
+ txtCastDelayHigh.Text = Properties.Settings.Default.CastingDelayHigh.ToString();
+ txtLootingDelayHigh.Text = Properties.Settings.Default.LootingDelayHigh.ToString();
+ txtFishWaitHigh.Text = Properties.Settings.Default.FishWaitHigh.ToString();
/// Finding the Cursor
- txtDelay.Text = Properties.Settings.Default.ScanningDelay.ToString();
+ txtDelayLow.Text = Properties.Settings.Default.ScanningDelayLow.ToString();
+ txtScanStepsLow.Text = Properties.Settings.Default.ScanningStepsLow.ToString();
+ txtDelayHigh.Text = Properties.Settings.Default.ScanningDelayHigh.ToString();
+ txtScanStepsHigh.Text = Properties.Settings.Default.ScanningStepsHigh.ToString();
txtRetries.Text = Properties.Settings.Default.ScanningRetries.ToString();
- txtScanSteps.Text = Properties.Settings.Default.ScanningSteps.ToString();
cmbCompareIcon.Checked = Properties.Settings.Default.CheckCursor;
cmbAlternativeRoute.Checked = Properties.Settings.Default.AlternativeRoute;
ccHotKey.Text = new KeysConverter().ConvertToString(Properties.Settings.Default.CursorCaptureHotKey);
@@ -231,16 +236,21 @@ private void buttonCancel_Click(object sender, EventArgs e)
private void buttonSave_Click(object sender, EventArgs e)
{
- MessageBox.Show("Some changes may start working only after application restart.");
+ MessageBox.Show("Some changes may start working only after application restart."); //Needs translation support
/// General
- Properties.Settings.Default.CastingDelay = int.Parse(txtCastDelay.Text);
- Properties.Settings.Default.LootingDelay = int.Parse(txtLootingDelay.Text);
- Properties.Settings.Default.FishWait = int.Parse(txtFishWait.Text);
+ Properties.Settings.Default.CastingDelayLow = int.Parse(txtCastDelayLow.Text);
+ Properties.Settings.Default.LootingDelayLow = int.Parse(txtLootingDelayLow.Text);
+ Properties.Settings.Default.FishWaitLow = int.Parse(txtFishWaitLow.Text);
+ Properties.Settings.Default.CastingDelayHigh = int.Parse(txtCastDelayHigh.Text);
+ Properties.Settings.Default.LootingDelayHigh = int.Parse(txtLootingDelayHigh.Text);
+ Properties.Settings.Default.FishWaitHigh = int.Parse(txtFishWaitHigh.Text);
/// Finding the Cursor
- Properties.Settings.Default.ScanningDelay = int.Parse(txtDelay.Text);
+ Properties.Settings.Default.ScanningDelayLow = int.Parse(txtDelayLow.Text);
+ Properties.Settings.Default.ScanningDelayHigh = int.Parse(txtDelayHigh.Text);
+ Properties.Settings.Default.ScanningStepsLow = int.Parse(txtScanStepsLow.Text);
+ Properties.Settings.Default.ScanningStepsHigh = int.Parse(txtScanStepsHigh.Text);
Properties.Settings.Default.ScanningRetries = int.Parse(txtRetries.Text);
- Properties.Settings.Default.ScanningSteps = int.Parse(txtScanSteps.Text);
Properties.Settings.Default.CheckCursor = cmbCompareIcon.Checked;
Properties.Settings.Default.AlternativeRoute = cmbAlternativeRoute.Checked;
Properties.Settings.Default.customScanArea = customAreaCheckbox.Checked;
@@ -458,7 +468,5 @@ private void btnReset_Click(object sender, EventArgs e)
Application.Restart();
}
}
-
-
}
}
diff --git a/UltimateFishBot/Properties/AssemblyInfo.cs b/UltimateFishBot/Properties/AssemblyInfo.cs
index 100a030..64fcfc6 100644
--- a/UltimateFishBot/Properties/AssemblyInfo.cs
+++ b/UltimateFishBot/Properties/AssemblyInfo.cs
@@ -21,7 +21,7 @@
[assembly: ComVisible(false)]
// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
-[assembly: Guid("cb7daccc-7a0f-4e3f-a70d-67d002151ac8")]
+//REMOVED FOR ANTI-ANTI-HACK PURPOSES
// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
//
@@ -35,4 +35,4 @@
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.3.0.0")]
[assembly: AssemblyFileVersion("4.3.0.0")]
-[assembly: NeutralResourcesLanguageAttribute("en")]
+[assembly: NeutralResourcesLanguage("en")]
diff --git a/UltimateFishBot/Properties/Settings.Designer.cs b/UltimateFishBot/Properties/Settings.Designer.cs
index 438bb08..62b4e5e 100644
--- a/UltimateFishBot/Properties/Settings.Designer.cs
+++ b/UltimateFishBot/Properties/Settings.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -8,14 +8,11 @@
//
//------------------------------------------------------------------------------
-using System;
-using System.Windows.Forms;
-
namespace UltimateFishBot.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.6.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -28,25 +25,25 @@ public static Settings Default {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("10")]
- public int ScanningSteps {
+ [global::System.Configuration.DefaultSettingValueAttribute("15")]
+ public int ScanningStepsLow {
get {
- return ((int)(this["ScanningSteps"]));
+ return ((int)(this["ScanningStepsLow"]));
}
set {
- this["ScanningSteps"] = value;
+ this["ScanningStepsLow"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("30")]
- public int ScanningDelay {
+ [global::System.Configuration.DefaultSettingValueAttribute("23")]
+ public int ScanningDelayLow {
get {
- return ((int)(this["ScanningDelay"]));
+ return ((int)(this["ScanningDelayLow"]));
}
set {
- this["ScanningDelay"] = value;
+ this["ScanningDelayLow"] = value;
}
}
@@ -65,33 +62,33 @@ public int ScanningRetries {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1500")]
- public int CastingDelay {
+ public int CastingDelayLow {
get {
- return ((int)(this["CastingDelay"]));
+ return ((int)(this["CastingDelayLow"]));
}
set {
- this["CastingDelay"] = value;
+ this["CastingDelayLow"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("3000")]
- public int LootingDelay {
+ [global::System.Configuration.DefaultSettingValueAttribute("2600")]
+ public int LootingDelayLow {
get {
- return ((int)(this["LootingDelay"]));
+ return ((int)(this["LootingDelayLow"]));
}
set {
- this["LootingDelay"] = value;
+ this["LootingDelayLow"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("15")]
- public int SplashLimit {
+ public long SplashLimit {
get {
- return ((int)(this["SplashLimit"]));
+ return ((long)(this["SplashLimit"]));
}
set {
this["SplashLimit"] = value;
@@ -304,13 +301,13 @@ public bool ShiftLoot {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("22000")]
- public int FishWait {
+ [global::System.Configuration.DefaultSettingValueAttribute("21500")]
+ public int FishWaitLow {
get {
- return ((int)(this["FishWait"]));
+ return ((int)(this["FishWaitLow"]));
}
set {
- this["FishWait"] = value;
+ this["FishWaitLow"] = value;
}
}
@@ -595,14 +592,7 @@ public bool customScanArea {
[global::System.Configuration.DefaultSettingValueAttribute("Ctrl+Shift+S")]
public global::System.Windows.Forms.Keys StartStopHotKey {
get {
- try
- {
- return ((global::System.Windows.Forms.Keys)(this["StartStopHotKey"]));
- }
- catch (Exception ex)
- {
- return Keys.ControlKey | Keys.ShiftKey | Keys.S;
- }
+ return ((global::System.Windows.Forms.Keys)(this["StartStopHotKey"]));
}
set {
this["StartStopHotKey"] = value;
@@ -632,20 +622,13 @@ public bool AverageSound {
this["AverageSound"] = value;
}
}
-
+
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("Ctrl+Shift+C")]
+ [global::System.Configuration.DefaultSettingValueAttribute("Alt+Shift+C")]
public global::System.Windows.Forms.Keys CursorCaptureHotKey {
get {
- try
- {
- return ((global::System.Windows.Forms.Keys)(this["CursorCaptureHotKey"]));
- } catch (Exception ex)
- {
- return Keys.ControlKey | Keys.ShiftKey | Keys.C;
- }
-
+ return ((global::System.Windows.Forms.Keys)(this["CursorCaptureHotKey"]));
}
set {
this["CursorCaptureHotKey"] = value;
@@ -663,5 +646,65 @@ public bool RightClickCast {
this["RightClickCast"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("1800")]
+ public int CastingDelayHigh {
+ get {
+ return ((int)(this["CastingDelayHigh"]));
+ }
+ set {
+ this["CastingDelayHigh"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("3000")]
+ public int LootingDelayHigh {
+ get {
+ return ((int)(this["LootingDelayHigh"]));
+ }
+ set {
+ this["LootingDelayHigh"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("22200")]
+ public int FishWaitHigh {
+ get {
+ return ((int)(this["FishWaitHigh"]));
+ }
+ set {
+ this["FishWaitHigh"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("32")]
+ public int ScanningDelayHigh {
+ get {
+ return ((int)(this["ScanningDelayHigh"]));
+ }
+ set {
+ this["ScanningDelayHigh"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("30")]
+ public int ScanningStepsHigh {
+ get {
+ return ((int)(this["ScanningStepsHigh"]));
+ }
+ set {
+ this["ScanningStepsHigh"] = value;
+ }
+ }
}
}
diff --git a/UltimateFishBot/Properties/Settings.settings b/UltimateFishBot/Properties/Settings.settings
index 9d92015..2a7f5a4 100644
--- a/UltimateFishBot/Properties/Settings.settings
+++ b/UltimateFishBot/Properties/Settings.settings
@@ -2,22 +2,22 @@
-
- 10
+
+ 15
-
- 30
+
+ 23
2
-
+
1500
-
- 3000
+
+ 2600
-
+
15
@@ -71,8 +71,8 @@
False
-
- 22000
+
+ 21500
@@ -153,10 +153,25 @@
False
- Ctrl+Shift+C
+ Alt+Shift+C
False
+
+ 1800
+
+
+ 3000
+
+
+ 22200
+
+
+ 32
+
+
+ 30
+
\ No newline at end of file
diff --git a/UltimateFishBot/Resources/English.xml b/UltimateFishBot/Resources/English.xml
index 2e5165d..8f92a5c 100644
--- a/UltimateFishBot/Resources/English.xml
+++ b/UltimateFishBot/Resources/English.xml
@@ -1,7 +1,7 @@
Thanks for using the UltimateFishBot
- Relax... It's still free !
+ Relax... It's still free!
You've used the Ultimate Fishbot {0} times. To continue using it; you need to visit the Fishbot website and enter the 3-5 digit code in the box below. If a browser window didn't open, you can find it at www.fishbot.net/code.html - or click the link below. I promise, it's quick and painless.
Try again!
Enter
@@ -36,7 +36,7 @@
Statistics
How to Use
Exit
- About
+ About
Started
Resumed
@@ -44,30 +44,30 @@
Stopped
Checking Status...
- This bot is no longer safe. Do not use on public servers!
- Could Not Verify Status! Use at own risk...
+ This bot is no longer safe. Do not use on public servers!
+ Could not verify status! Use at own risk...
- I Hear a Fish !
+ I hear a fish!
Casting...
- Start Finding Bobber...
- Finding Bobber...
- Waiting for Fish ({0}/{1}s) ...
-
- Done Fishing - Hearthing...
- Applying Lure...
- Applying Charm...
- Applying Raft...
- Applying Bait {0}...
+ Start searching...
+ Searching...
+ Waiting for fish ({0}/{1}s) ...
+
+ Done fishing - Hearthing...
+ Applying lure...
+ Applying charm...
+ Applying raft...
+ Applying bait {0}...
Settings
General Fishing
- Finding the Cursor
- Hearing the Fish
- Premium Settings
+ Finding Cursor
+ Hearing Fish
+ Key Binds
Anti-Afk
Language
@@ -76,7 +76,7 @@
The number of milliseconds to wait after the cast before searching. Too short and you'll skip the bobber, too long and you'll waste time.
Fish Wait Limit:
- The number of milliseconds to listen for a fish before giving up. Too long decrease bots effectiveness, too short and you miss fish.
+ The number of milliseconds to listen for a fish before giving up. Too long - decreases bot's effectiveness, too short and you miss fish.
Delay After Looting:
The number of milliseconds to wait after looting a fish.
@@ -84,25 +84,25 @@
Scanning Steps:
- The greater number of steps, the less likely you are to miss the cursor; but the slower your scan will be.
+ The greater the number of steps, the less likely you are to miss the cursor, but the slower your scan will be.
Scanning Delay:
- The number of milliseconds to wait before checking if the cursor has changed. To slow and you might not detect the bobber; but a bigger number goes slower.
+ The number of milliseconds to wait before checking if the cursor has changed. Too short and you might not detect the bobber, but a bigger number goes slower.
Scanning Retries:
- How many times to run the search pattern.
+ How many times to run the search pattern, when the bobber has not been found.
Check Cursor Icon
- Specify if the bot must check the icon before fishing. Avoid clicking when it's not a bobber. May not work on some computer, disable if the bot don't find your bobber.
- Capture cursor Hotkey
+ Specify if the bot must check the icon before fishing. Avoid clicking when icon isn't a bobber. May not work on some computer, disable if the bot doesn't find the bobber.
+ Capture cursor:
Spiral route
An alternative route for bobber searching.
Scanning Area (if disabled the scanning area will be calculated automatically):
Set Scanning Area
- Start X,Y:
- End X,Y:
+ Start:
+ End:
Select Area
Now an overlay will appear where you can select the scanning area. When you are done just double click the area or press ENTER. Click OK to continue...
The Scanning area is too small!
@@ -110,12 +110,12 @@
Splash Threshold:
- Determines if a given sound is loud enough to be a fish or not. Too low and the bot will mistake non-fish for fish. Too high and the bot will ignore the real fish.
+ Determines if a given sound is loud enough to be a fish or not. Too low and the bot will mistake non-fish for fish. Too high and the bot will ignore the real fish.
Audio Device:
Select the audio device that WoW is Using. If the bot cannot 'hear' the game, it will never catch any fish. If you are unsure, play some music and select each device until you find the right one.
- Use averaging method (better in crowded areas, but less chance to catch a fish)
+ Use averaging method (better in crowded areas (Ogrimmar, etc...), but less chance to catch a fish)
Cast Key:
@@ -133,21 +133,21 @@
Customize shortkeys to avoid rearranging your bars before/after fishing.
- Use Alt-Key Modifer
- Apply Lure Every X minutes
- Hearth To Inn After X Minutes:
- Refresh Raft Every X minutes
- Refresh Charm Every X minutes
- Apply Bait Every X minutes
+ Use Alt-Key modifer
+ Apply lure every X minutes
+ Hearth to inn after X minutes:
+ Refresh raft every X minutes
+ Refresh charm every X minutes
+ Apply bait every X minutes
Cycle through the 7 possibles baits
- Shift-Loot? (If AutoLoot is Disabled, Enable This)
+ Shift-Loot? (If AutoLoot is Disabled, Enable this)
WoW Process Name:
The name of the process to activate (this rarely changes) but has been updated with new expansions in the past.
Enable Anti-Afk every X minutes
- Front - Back
+ Forwards - Backwards
Left - Right
Jump
@@ -158,11 +158,11 @@
Language XML Files must be found in Resources folder.
Restart Required.
- The application will restart in order to apply the language change.
+ The application will restart to apply the language change.
Reset Settings
- Click OK to reset all settings to default values and restart the application.
+ Click OK to reset all settings and restart the application.
Save
@@ -170,16 +170,16 @@
Statistics
- Successful Fishing :
+ Fished :
Fish not found :
- Fish not eared :
+ Fish not heard :
Total :
Reset
Close
About
- If you are like me - you love playing World of Warcraft...but leveling your fishing and cooking skill isn't any fun. You'd rather be *enjoying* the game than wasting hours doing what amounts to a chore.
+ If you are like me - you love playing World of Warcraft, but leveling your fishing and cooking skill isn't any fun - you'd rather be *enjoying* the game rather than wasting hours doing what amounts to a chore.
Luckily, for both of us, I'm a computer programmer. I've put together an application that will fish for you.
diff --git a/UltimateFishBot/Resources/Bulgarian.xml "b/UltimateFishBot/Resources/\320\221\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270.xml"
similarity index 97%
rename from UltimateFishBot/Resources/Bulgarian.xml
rename to "UltimateFishBot/Resources/\320\221\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270.xml"
index f2636cf..8b4c849 100644
--- a/UltimateFishBot/Resources/Bulgarian.xml
+++ "b/UltimateFishBot/Resources/\320\221\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270.xml"
@@ -2,7 +2,7 @@
Благодаря че използвате този бот
Спокойно... Все още е безплатно!
- Използвали сте бота {0} пъти. За да продължите да го ползвате - посетете уебсайта и въведете 3-5 цифрения код по долу. Ако броузър не се отвори автоматично, посетете www.fishbot.net/code.html - или kликнете линка долу. Обещавам че е бързо и лесно.
+ Използвали сте бота {0} пъти. За да продължите да го ползвате - посетете уебсайта и въведете 3-5 цифрения код по-долу. Ако броузър не се отвори автоматично, посетете www.fishbot.net/code.html - или kликнете линка долу. Обещавам че е бързо и лесно.
Опитай пак!
Въведи
@@ -76,7 +76,7 @@
Число в милисекунди преди да се търси за примамката. Твърде малко и ще пропуснеш рибата, твърде голямо и ще хаби повече време.
Лимит на чакане:
- Число в милисекунди преди да се слуша за риба преди да се рестартира. Твърде дълго и бота работи по бавно, твърде малко и ще пропуснеш рибата.
+ Число в милисекунди преди да се слуша за риба преди да се рестартира. Твърде дълго и бота работи по-бавно, твърде малко и ще пропуснеш рибата.
Чакане слд ограбване:
Число в милисекунди да се чака селд като риба бъде хваната.
@@ -87,13 +87,14 @@
Колкото повече толкова по-добре, но става по-бавно и рибата може да се пропусне.
Чакане за сканиране:
- Броя на милисекунди да се чака преди курсора да се провери. Твърде малко и ще пропуснеш рибата, но по голямо число губи време.
+ Броя на милисекунди да се чака преди курсора да се провери. Твърде малко и ще пропуснеш рибата, но по-голямо число губи време.
Брой опити:
Колко пъти да се опита да намери примамката.
Проверка на иконата на курсора
Дали бота допълнително да прверява иконата. Ао иконата не е кукичка не избирай тази опция. Може да не работи на някои компютри.
+ Прихвани курсора:
Спиралово търсене
Друг начин по който да се търси примамката.
@@ -114,7 +115,7 @@
Звуково Устройство:
Изберете устройството което WoW използва. Ако бота не чува играта, риба не може да бъде намерена. Ако не сте сигурни, пуснете накаква музика за да проверите кое устройство е правилно.
- Изплозвай средно аритметичен метод (по-добре в шумни места (градове като огримар), но има по малък шанс да чуе рибата)
+ Изплозвай средно аритметичен метод (по-добре в шумни места (градове като огримар), но има по-малък шанс да чуе рибата)
Бутон въдица:
diff --git a/UltimateFishBot/UltimateFishBot.csproj b/UltimateFishBot/UltimateFishBot.csproj
index 211b321..6c72db7 100644
--- a/UltimateFishBot/UltimateFishBot.csproj
+++ b/UltimateFishBot/UltimateFishBot.csproj
@@ -205,6 +205,9 @@
PreserveNewest
+
+ PreserveNewest
+