Compare commits

...

2 Commits

Author SHA1 Message Date
Bouletmarc b600e62c8c V2.71 2024-04-25 08:21:34 -04:00
Bouletmarc af4263cf0a V2.7 2024-04-25 07:33:59 -04:00
75 changed files with 1063 additions and 435 deletions

View File

@ -38,6 +38,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -174,6 +180,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -193,6 +200,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -162,6 +162,8 @@ namespace app
&& CurrentStep >= 7 && CurrentStep >= 7
&& Form1_0.PublicGame) && Form1_0.PublicGame)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
} }
@ -332,7 +334,7 @@ namespace app
//DETECT OTHERS WAVES FOR CASTING //DETECT OTHERS WAVES FOR CASTING
if (!TimeSinceLastWaveSet && !Form1_0.MobsStruc_0.GetMobs("", "", true, 25, IgnoredMobs)) if (!TimeSinceLastWaveSet && !Form1_0.MobsStruc_0.GetMobs("", "", true, 25, IgnoredMobs))
{ {
if (!Form1_0.PublicGame) Form1_0.Battle_0.CastDefense(); if (!Form1_0.PublicGame || !Form1_0.PlayerScan_0.HasBattleOrderState) Form1_0.Battle_0.CastDefense();
TimeSinceLastWaveDone = DateTime.Now; TimeSinceLastWaveDone = DateTime.Now;
TimeSinceLastWaveSet = true; TimeSinceLastWaveSet = true;
Form1_0.InventoryStruc_0.DumpBadItemsOnGround(); Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
@ -414,6 +416,7 @@ namespace app
Form1_0.Battle_0.DoingBattle = false; Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -489,6 +492,7 @@ namespace app
} }
else else
{ {
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
@ -506,6 +510,7 @@ namespace app
Form1_0.Battle_0.DoingBattle = false; Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }
@ -575,6 +580,7 @@ namespace app
Form1_0.Battle_0.DoingBattle = false; Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -172,6 +172,13 @@ namespace app
SearchSameGamesAsLastOne = false; SearchSameGamesAsLastOne = false;
SameGameRetry = 0; SameGameRetry = 0;
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
GetLeechInfo(); GetLeechInfo();
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
@ -252,6 +259,8 @@ namespace app
if (TimeWaitedForTP >= MaxTimeWaitedForTP) if (TimeWaitedForTP >= MaxTimeWaitedForTP)
{ {
Form1_0.method_1("Leaving reason: Waited too long for tp", Color.Red); Form1_0.method_1("Leaving reason: Waited too long for tp", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
//Form1_0.LeaveGame(false); //Form1_0.LeaveGame(false);
} }
@ -269,6 +278,7 @@ namespace app
&& !Form1_0.PlayerScan_0.HasAnyPlayerInArea(131))//throne chamber && !Form1_0.PlayerScan_0.HasAnyPlayerInArea(131))//throne chamber
{ {
Form1_0.method_1("Leaving reason: Nobody seem to baal run", Color.Red); Form1_0.method_1("Leaving reason: Nobody seem to baal run", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
//Form1_0.LeaveGame(false); //Form1_0.LeaveGame(false);
@ -506,6 +516,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
SearchSameGamesAsLastOne = true; SearchSameGamesAsLastOne = true;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
//Form1_0.LeaveGame(false); //Form1_0.LeaveGame(false);
@ -538,6 +549,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
SearchSameGamesAsLastOne = true; SearchSameGamesAsLastOne = true;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
//Form1_0.LeaveGame(false); //Form1_0.LeaveGame(false);

View File

@ -545,6 +545,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize; Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -565,6 +566,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize; Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -250,7 +250,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{ {
ScriptDone = true; ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return; return;
} }
@ -266,7 +265,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{ {
ScriptDone = true; ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return; return;
} }
@ -311,7 +309,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{ {
ScriptDone = true; ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return; return;
} }
@ -377,7 +374,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{ {
ScriptDone = true; ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return; return;
} }

View File

@ -40,6 +40,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -219,6 +225,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -236,6 +243,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "The Countess", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "The Countess", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -41,6 +41,12 @@ namespace app
public void RunScriptTristam() public void RunScriptTristam()
{ {
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -79,6 +85,7 @@ namespace app
else else
{ {
Form1_0.method_1("Tristram location not detected!", Color.Red); Form1_0.method_1("Tristram location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -164,6 +171,12 @@ namespace app
public void RunScriptCow() public void RunScriptCow()
{ {
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO SHOP"); Form1_0.SetGameStatus("GO TO SHOP");
@ -217,6 +230,7 @@ namespace app
if (!Form1_0.Battle_0.ClearingArea) if (!Form1_0.Battle_0.ClearingArea)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }
@ -228,6 +242,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
Form1_0.ItemsStruc_0.GetItems(false); //get inventory Form1_0.ItemsStruc_0.GetItems(false); //get inventory
HasWirtsLeg = Form1_0.InventoryStruc_0.HasInventoryItemName("Wirt's Leg"); HasWirtsLeg = Form1_0.InventoryStruc_0.HasInventoryItemName("Wirt's Leg");
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.MooMooFarm) HasWirtsLeg = true; if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.MooMooFarm) HasWirtsLeg = true;

View File

@ -42,6 +42,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -128,6 +134,7 @@ namespace app
else else
{ {
Form1_0.method_1("Duriel location not detected!", Color.Red); Form1_0.method_1("Duriel location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -199,6 +206,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -216,6 +224,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Duriel", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Duriel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -35,6 +35,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -93,6 +99,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
@ -110,6 +117,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);

View File

@ -37,6 +37,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -91,6 +97,7 @@ namespace app
{ {
Form1_0.Town_0.SelectTownWP(); Form1_0.Town_0.SelectTownWP();
Form1_0.Town_0.Towning = true; Form1_0.Town_0.Towning = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
@ -119,6 +126,12 @@ namespace app
int Tryy = 0; int Tryy = 0;
while (ThisChestPos.X != 0 && ThisChestPos.Y != 0 && Tryy < 30) while (ThisChestPos.X != 0 && ThisChestPos.Y != 0 && Tryy < 30)
{ {
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Mover_0.MoveToLocation(ThisChestPos.X, ThisChestPos.Y)) if (Form1_0.Mover_0.MoveToLocation(ThisChestPos.X, ThisChestPos.Y))
{ {
HasTakenAnyChest = true; HasTakenAnyChest = true;

View File

@ -36,6 +36,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -145,6 +151,7 @@ namespace app
Form1_0.WaitDelay(700); Form1_0.WaitDelay(700);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -162,6 +169,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -37,6 +37,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -116,6 +122,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -133,6 +140,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Nihlatak", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Nihlatak", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -30,6 +30,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -95,6 +101,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -112,6 +119,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Pindleskin", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Pindleskin", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -36,6 +36,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -143,6 +149,7 @@ namespace app
else else
{ {
Form1_0.method_1("Ancients Altar location not detected!", Color.Red); Form1_0.method_1("Ancients Altar location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
return; return;
@ -189,6 +196,7 @@ namespace app
//Done all killed! //Done all killed!
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
} }
} }
@ -202,6 +210,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
} }
} }

View File

@ -37,6 +37,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -167,6 +173,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -184,6 +191,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -367,6 +367,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }
@ -384,6 +385,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
} }
} }

View File

@ -550,6 +550,7 @@ namespace app
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize; Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
@ -570,6 +571,7 @@ namespace app
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize; Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);

View File

@ -32,6 +32,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -84,6 +90,7 @@ namespace app
{ {
Form1_0.method_1("Inifuss Tree location not detected!", Color.Red); Form1_0.method_1("Inifuss Tree location not detected!", Color.Red);
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
} }
@ -131,6 +138,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.RogueEncampment) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.RogueEncampment)
{ {
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
} }
} }

View File

@ -44,6 +44,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -130,6 +136,7 @@ namespace app
{ {
Form1_0.method_1("Horadric Orifice location not detected!", Color.Red); Form1_0.method_1("Horadric Orifice location not detected!", Color.Red);
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
} }
@ -233,6 +240,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
@ -250,6 +258,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);

View File

@ -40,6 +40,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -152,6 +158,7 @@ namespace app
else else
{ {
Form1_0.method_1("Staff Chest location not detected!", Color.Red); Form1_0.method_1("Staff Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -199,6 +206,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -38,6 +38,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -112,6 +118,7 @@ namespace app
else else
{ {
Form1_0.method_1("Cube location not detected!", Color.Red); Form1_0.method_1("Cube location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -159,6 +166,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -40,6 +40,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -152,6 +158,7 @@ namespace app
else else
{ {
Form1_0.method_1("Kahlim Brain Chest location not detected!", Color.Red); Form1_0.method_1("Kahlim Brain Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -199,6 +206,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -38,6 +38,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -112,6 +118,7 @@ namespace app
else else
{ {
Form1_0.method_1("Kahlim Eye Chest location not detected!", Color.Red); Form1_0.method_1("Kahlim Eye Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -159,6 +166,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -39,6 +39,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -124,6 +130,7 @@ namespace app
else else
{ {
Form1_0.method_1("Lever location not detected!", Color.Red); Form1_0.method_1("Lever location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -165,6 +172,7 @@ namespace app
else else
{ {
Form1_0.method_1("Kahlim Heart Chest location not detected!", Color.Red); Form1_0.method_1("Kahlim Heart Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -212,6 +220,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -40,6 +40,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -156,6 +162,7 @@ namespace app
Form1_0.Town_0.TPSpawned = false; Form1_0.Town_0.TPSpawned = false;
CurrentStep++; CurrentStep++;
//Form1_0.Town_0.FastTowning = false;
//ScriptDone = true; //ScriptDone = true;
//return; //return;
} }
@ -194,6 +201,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -36,6 +36,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -176,6 +182,7 @@ namespace app
Form1_0.WaitDelay(700); Form1_0.WaitDelay(700);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -193,6 +200,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -38,6 +38,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -111,6 +117,7 @@ namespace app
else else
{ {
Form1_0.method_1("Radament location not detected!", Color.Red); Form1_0.method_1("Radament location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -158,6 +165,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein) if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -32,6 +32,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -128,7 +134,8 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(true); Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true; ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);*/ //Form1_0.LeaveGame(true);*/
@ -145,6 +152,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -163,6 +171,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo != (int)Enums.Area.ArcaneSanctuary) if (Form1_0.PlayerScan_0.LeechlevelNo != (int)Enums.Area.ArcaneSanctuary)
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -36,6 +36,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -114,8 +120,9 @@ namespace app
else else
{ {
Form1_0.method_1("Kahlim Orb location not detected!", Color.Red); Form1_0.method_1("Kahlim Orb location not detected!", Color.Red);
ScriptDone = true; Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
} }
} }
@ -149,8 +156,9 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Council Member", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Council Member", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
ScriptDone = true; Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
} }
else else
@ -186,6 +194,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -38,6 +38,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -79,6 +85,7 @@ namespace app
else else
{ {
Form1_0.method_1("Tristram location not detected!", Color.Red); Form1_0.method_1("Tristram location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -171,6 +178,7 @@ namespace app
if (!Form1_0.Battle_0.DoBattleScript(25)) if (!Form1_0.Battle_0.DoBattleScript(25))
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }

View File

@ -37,6 +37,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -104,6 +110,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -121,6 +128,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Shenk", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Shenk", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -31,6 +31,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -88,6 +94,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -105,6 +112,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -34,6 +34,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");
@ -71,6 +77,7 @@ namespace app
else else
{ {
Form1_0.method_1("Kahlim Orb location not detected!", Color.Red); Form1_0.method_1("Kahlim Orb location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -106,6 +113,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Council Member", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Council Member", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;
@ -125,6 +133,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false; Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
return; return;

View File

@ -62,6 +62,8 @@ namespace app
} }
else else
{ {
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true; ScriptDone = true;
} }
} }
@ -71,6 +73,12 @@ namespace app
{ {
Form1_0.Town_0.ScriptTownAct = CurrentAct; Form1_0.Town_0.ScriptTownAct = CurrentAct;
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.SetGameStatus("GO TO WP"); Form1_0.SetGameStatus("GO TO WP");

View File

@ -30,50 +30,14 @@ namespace app
public void LoadSettings() public void LoadSettings()
{ {
if (File.Exists(File_CharSettings)) LoadThisFileSettings(File_CharSettings);
{
AllLines = File.ReadAllLines(File_CharSettings);
LoadCharSettings();
}
else
{
Form1_0.method_1("Unable to find 'CharSettings.txt' file!", Color.Red);
}
//################### //###################
ReloadCharSettings(); ReloadCharSettings();
//################### //###################
//##### //#####
if (File.Exists(File_BotSettings)) LoadThisFileSettings(File_BotSettings);
{ LoadThisFileSettings(File_ItemsSettings);
AllLines = File.ReadAllLines(File_BotSettings); LoadThisFileSettings(File_CubingSettings);
LoadBotSettings();
}
else
{
Form1_0.method_1("Unable to find 'BotSettings.txt' file!", Color.Red);
}
//#####
if (File.Exists(File_ItemsSettings))
{
AllLines = File.ReadAllLines(File_ItemsSettings);
LoadItemsSettings();
}
else
{
Form1_0.method_1("Unable to find 'ItemsSettings.txt' file!", Color.Red);
}
//#####
if (File.Exists(File_CubingSettings))
{
AllLines = File.ReadAllLines(File_CubingSettings);
LoadCubingSettings();
}
else
{
Form1_0.method_1("Unable to find 'CubingRecipes.txt' file!", Color.Red);
}
//##### //#####
if (File.Exists(File_Settings)) if (File.Exists(File_Settings))
{ {
@ -86,6 +50,26 @@ namespace app
} }
} }
public void LoadThisFileSettings(string ThisFilePath)
{
if (File.Exists(ThisFilePath))
{
AllLines = File.ReadAllLines(ThisFilePath);
if (Path.GetFileName(ThisFilePath) == "CharSettings.txt") LoadCharSettings();
if (Path.GetFileName(ThisFilePath) == "BotSettings.txt") LoadBotSettings();
if (Path.GetFileName(ThisFilePath) == "ItemsSettings.txt") LoadItemsSettings();
if (Path.GetFileName(ThisFilePath) == "CubingRecipes.txt") LoadCubingSettings();
if (Path.GetFileName(ThisFilePath) == "PaladinHammer.txt") LoadCurrentCharSettings();
if (Path.GetFileName(ThisFilePath) == "SorceressBlizzard.txt") LoadCurrentCharSettings();
}
else
{
Form1_0.method_1("Unable to find '" + Path.GetFileName(ThisFilePath) + "' file!", Color.Red);
}
}
public void LoadOthersSettings() public void LoadOthersSettings()
{ {
try try
@ -121,30 +105,13 @@ namespace app
public void ReloadCharSettings() public void ReloadCharSettings()
{ {
if (CharConfig.RunningOnChar == "PaladinHammer") if (CharConfig.RunningOnChar == "PaladinHammer") LoadThisFileSettings(File_PaladinHammer);
{ else if (CharConfig.RunningOnChar == "SorceressBlizzard") LoadThisFileSettings(File_SorceressBlizzard);
if (File.Exists(File_PaladinHammer)) }
{
AllLines = File.ReadAllLines(File_PaladinHammer); public void ReloadCharSettingsFromThisFile(string ThisFilePath)
LoadCurrentCharSettings(); {
} LoadThisFileSettings(ThisFilePath);
else
{
Form1_0.method_1("Unable to find 'PaladinHammer.txt' file!", Color.Red);
}
}
else if (CharConfig.RunningOnChar == "SorceressBlizzard")
{
if (File.Exists(File_SorceressBlizzard))
{
AllLines = File.ReadAllLines(File_SorceressBlizzard);
LoadCurrentCharSettings();
}
else
{
Form1_0.method_1("Unable to find 'SorceressBlizzard.txt' file!", Color.Red);
}
}
} }
public void SaveCharSettings() public void SaveCharSettings()
@ -314,6 +281,8 @@ namespace app
File.Create(File_BotSettings).Dispose(); File.Create(File_BotSettings).Dispose();
File.WriteAllLines(File_BotSettings, AllLines); File.WriteAllLines(File_BotSettings, AllLines);
Form1_0.method_1("Saved '" + Path.GetFileName(File_BotSettings) + "' file!", Color.DarkGreen);
} }
public void SaveOthersSettings() public void SaveOthersSettings()
@ -332,7 +301,7 @@ namespace app
{ {
try try
{ {
bool DoingKeysRune = false; bool DoingKeysRune = true;
bool DoingNormal = false; bool DoingNormal = false;
Dictionary<string, bool> AllKeys = new Dictionary<string, bool>(); Dictionary<string, bool> AllKeys = new Dictionary<string, bool>();
@ -600,7 +569,10 @@ namespace app
} }
Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Clear(); Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Clear();
foreach (var ThisDir in AllKeys) Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Add(ThisDir.Key, ThisDir.Value); foreach (var ThisDir in AllKeys)
{
Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Add(ThisDir.Key, ThisDir.Value);
}
Form1_0.ItemsAlert_0.PickItemsPotions.Clear(); Form1_0.ItemsAlert_0.PickItemsPotions.Clear();

View File

@ -42,7 +42,7 @@ namespace app
public partial class Form1 : Form public partial class Form1 : Form
{ {
public string BotVersion = "V2.6"; public string BotVersion = "V2.71";
public string D2_LOD_113C_Path = ""; public string D2_LOD_113C_Path = "";
@ -59,11 +59,12 @@ namespace app
public bool HasPointers = false; public bool HasPointers = false;
public int UnitStrucOffset = -32; public int UnitStrucOffset = -32;
public int hWnd = 0; public int hWnd = 0;
public DateTime CheckTime = new DateTime();
public int LoopDone = 0; public int LoopDone = 0;
public DateTime GameStartedTime = new DateTime();
public bool CharDied = false; public bool CharDied = false;
public bool PrintedGameTime = false; public bool PrintedGameTime = false;
public DateTime CheckTime = new DateTime();
public DateTime GameStartedTime = new DateTime();
public DateTime TimeSinceSearchingForGames = new DateTime(); public DateTime TimeSinceSearchingForGames = new DateTime();
public Rectangle D2Rect = new Rectangle(); public Rectangle D2Rect = new Rectangle();
@ -100,6 +101,11 @@ namespace app
public double FPS = 0; public double FPS = 0;
public string mS = ""; public string mS = "";
public List<double> Averge_FPSList = new List<double>();
public List<int> Averge_mSList = new List<int>();
public double Average_FPS = 0;
public int Average_mS = 0;
public int TotalChickenCount = 0; public int TotalChickenCount = 0;
public int TotalDeadCount = 0; public int TotalDeadCount = 0;
public int TotalChickenByTimeCount = 0; public int TotalChickenByTimeCount = 0;
@ -201,6 +207,14 @@ namespace app
[DllImport("user32.dll")] [DllImport("user32.dll")]
static extern bool ClientToScreen(int hWnd, out Point lpPoint); static extern bool ClientToScreen(int hWnd, out Point lpPoint);
[DllImport("gdi32.dll")]
static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
public enum DeviceCap
{
VERTRES = 10,
DESKTOPVERTRES = 117,
}
// REQUIRED STRUCTS // REQUIRED STRUCTS
public struct MEMORY_BASIC_INFORMATION public struct MEMORY_BASIC_INFORMATION
@ -635,6 +649,20 @@ namespace app
labelGames.Text = CurrentGameNumberSinceStart.ToString() + " entered. " + CurrentGameNumberFullyDone.ToString() + " fully done"; labelGames.Text = CurrentGameNumberSinceStart.ToString() + " entered. " + CurrentGameNumberFullyDone.ToString() + " fully done";
} }
private float getScalingFactor()
{
Graphics g = Graphics.FromHwnd(IntPtr.Zero);
IntPtr desktop = g.GetHdc();
int LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
int PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);
g.ReleaseHdc(desktop);
float ScreenScalingFactor = (float)PhysicalScreenHeight / (float)LogicalScreenHeight;
return ScreenScalingFactor; // 1.25 = 125%
}
public void Startt() public void Startt()
{ {
try try
@ -693,6 +721,16 @@ namespace app
method_1("D2R rect Position is not in the center of screen, might have some issues!", Color.OrangeRed); method_1("D2R rect Position is not in the center of screen, might have some issues!", Color.OrangeRed);
} }
if (getScalingFactor() != 1f)
{
method_1("Windows scale factor is not 100%, might have some issues!", Color.OrangeRed);
}
if (ScreenX > 1920)
{
method_1("Screen Resolution is bigger than 1920x1080, might have some issues!", Color.OrangeRed);
}
overlayForm.ScaleScreenSize = (float)Form1_0.D2Widht / 1920f; overlayForm.ScaleScreenSize = (float)Form1_0.D2Widht / 1920f;
overlayForm.ScaleScreenSizeInverted = 1920f / (float)Form1_0.D2Widht; overlayForm.ScaleScreenSizeInverted = 1920f / (float)Form1_0.D2Widht;
overlayForm.ResetScaleForDisplay(); overlayForm.ResetScaleForDisplay();
@ -832,6 +870,7 @@ namespace app
SettingsLoader_0.SaveOthersSettings(); SettingsLoader_0.SaveOthersSettings();
ItemsStruc_0.BadItemsOnCursorIDList = new List<long>(); ItemsStruc_0.BadItemsOnCursorIDList = new List<long>();
ItemsStruc_0.BadItemsOnGroundPointerList = new List<long>(); ItemsStruc_0.BadItemsOnGroundPointerList = new List<long>();
ItemsStruc_0.AvoidItemsOnGroundPointerList = new List<long>();
SetDeadCount = false; SetDeadCount = false;
GameStruc_0.ChickenTry = 0; GameStruc_0.ChickenTry = 0;
MercStruc_0.MercOwnerID = 0; MercStruc_0.MercOwnerID = 0;
@ -879,7 +918,8 @@ namespace app
{ {
GameStruc_0.SetNewGame(); GameStruc_0.SetNewGame();
SetNewGame(); SetNewGame();
if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct //if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct
if (!CharConfig.IsRushing) WaitDelay(250); //wait here because 'loading' menu is not correct
if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher(); if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher();
Town_0.GetCorpse(); Town_0.GetCorpse();
ItemsStruc_0.GetBadItemsOnCursor(); ItemsStruc_0.GetBadItemsOnCursor();
@ -893,7 +933,8 @@ namespace app
{ {
GameStruc_0.SetNewGame(); GameStruc_0.SetNewGame();
SetNewGame(); SetNewGame();
if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct //if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct
if (!CharConfig.IsRushing) WaitDelay(250); //wait here because 'loading' menu is not correct
if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher(); if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher();
Town_0.GetCorpse(); Town_0.GetCorpse();
ItemsStruc_0.GetBadItemsOnCursor(); ItemsStruc_0.GetBadItemsOnCursor();
@ -938,13 +979,14 @@ namespace app
{ {
//MobsStruc_0.GetMobs("", "", true, 200, new List<long>()); //MobsStruc_0.GetMobs("", "", true, 200, new List<long>());
//MercStruc_0.GetMercInfos(); //MercStruc_0.GetMercInfos();
//PlayerScan_0.ScanForLeecher();
//Battle_0.SetSkills(); //Battle_0.SetSkills();
//Battle_0.CastSkills(); //Battle_0.CastSkills();
//ItemsStruc_0.GetItems(true);
//if (Running) LoopTimer.Start();
//ItemsStruc_0.GetItems(false); //ItemsStruc_0.GetItems(false);
//InventoryStruc_0.DumpBadItemsOnGround(); //ItemsStruc_0.GetItems(true);
//Running = false;
//if (!Running) SetStartButtonEnable(true);
//if (Running) LoopTimer.Start();
//return; //return;
if (CharConfig.RunMapHackOnly) if (CharConfig.RunMapHackOnly)
@ -965,7 +1007,7 @@ namespace app
} }
else else
{ {
Town_0.FastTowning = false; //Town_0.FastTowning = false;
Town_0.UseLastTP = false; Town_0.UseLastTP = false;
Town_0.TPSpawned = false; Town_0.TPSpawned = false;
@ -1350,7 +1392,7 @@ namespace app
SetProcessingTime(); SetProcessingTime();
if (Running) LoopTimer.Start(); if (Running) LoopTimer.Start();
//if (!Running) SetStartButtonEnable(true); if (!Running) SetStartButtonEnable(true);
} }
public void GoToNextScript() public void GoToNextScript()
@ -1470,6 +1512,8 @@ namespace app
long TimeMS = testtime.Milliseconds + (testtime.Seconds * 1000); long TimeMS = testtime.Milliseconds + (testtime.Seconds * 1000);
FPS = 1000.0 / (double)TimeMS; FPS = 1000.0 / (double)TimeMS;
SetAverageFPSandMS(testtime.Milliseconds);
overlayForm.SetAllOverlay(); overlayForm.SetAllOverlay();
mS = TimeStr; mS = TimeStr;
@ -1492,6 +1536,25 @@ namespace app
Grid_SetInfos("InBelt", ItemsStruc_0.ItemsInBelt.ToString()); Grid_SetInfos("InBelt", ItemsStruc_0.ItemsInBelt.ToString());
} }
public void SetAverageFPSandMS(int ThisMSValue)
{
//Get averag FPS
if (Averge_FPSList.Count >= 50) Averge_FPSList.RemoveAt(0);
Averge_FPSList.Add(FPS);
double FullValue = 0.0;
for (int i = 0; i < Averge_FPSList.Count; i++) FullValue += Averge_FPSList[i];
Average_FPS = FullValue / Averge_FPSList.Count;
//Get averag mS
if (Averge_mSList.Count >= 50) Averge_mSList.RemoveAt(0);
Averge_mSList.Add(ThisMSValue);
int FullMSValue = 0;
for (int i = 0; i < Averge_mSList.Count; i++) FullMSValue += Averge_mSList[i];
Average_mS = FullMSValue / Averge_mSList.Count;
}
public string CurrentGameTime = ""; public string CurrentGameTime = "";
public void method_GameTimeLabel(string string_3) public void method_GameTimeLabel(string string_3)
@ -1606,14 +1669,13 @@ namespace app
//MapAreaStruc_0.AllMapData.Clear(); //MapAreaStruc_0.AllMapData.Clear();
overlayForm.ClearAllOverlay(); overlayForm.ClearAllOverlay();
SetGameStatus("STOPPED"); SetGameStatus("STOPPED");
//SetStartButtonEnable(false);
} }
public void button1_Click(object sender, EventArgs e) public void button1_Click(object sender, EventArgs e)
{ {
if (!Running && button1.Enabled) if (!Running && button1.Enabled)
{ {
SetStartButtonEnable(false);
SetSettingButton(false); SetSettingButton(false);
SetPlayButtonText("STOP"); SetPlayButtonText("STOP");
Running = true; Running = true;

View File

@ -84,13 +84,18 @@
this.numericUpDownMercTakeHPUnder = new System.Windows.Forms.NumericUpDown(); this.numericUpDownMercTakeHPUnder = new System.Windows.Forms.NumericUpDown();
this.label22 = new System.Windows.Forms.Label(); this.label22 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox(); this.groupBox4 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.groupBox5 = new System.Windows.Forms.GroupBox(); this.groupBox5 = new System.Windows.Forms.GroupBox();
this.checkBoxGamble = new System.Windows.Forms.CheckBox();
this.checkBoxDClone = new System.Windows.Forms.CheckBox(); this.checkBoxDClone = new System.Windows.Forms.CheckBox();
this.checkBoxIDAtShop = new System.Windows.Forms.CheckBox(); this.checkBoxIDAtShop = new System.Windows.Forms.CheckBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.label23 = new System.Windows.Forms.Label(); this.label23 = new System.Windows.Forms.Label();
this.checkBoxGamble = new System.Windows.Forms.CheckBox(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.panelHelpKeys = new System.Windows.Forms.Panel();
this.buttonReload = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
@ -105,6 +110,7 @@
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMercTakeHPUnder)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownMercTakeHPUnder)).BeginInit();
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout(); this.groupBox5.SuspendLayout();
this.panelHelpKeys.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// label1 // label1
@ -168,6 +174,7 @@
this.textBoxLifeSkill.Name = "textBoxLifeSkill"; this.textBoxLifeSkill.Name = "textBoxLifeSkill";
this.textBoxLifeSkill.Size = new System.Drawing.Size(37, 20); this.textBoxLifeSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxLifeSkill.TabIndex = 16; this.textBoxLifeSkill.TabIndex = 16;
this.toolTip1.SetToolTip(this.textBoxLifeSkill, "Paladin=Prayer, Sorceress=Energy Shield");
// //
// label8 // label8
// //
@ -184,6 +191,7 @@
this.textBoxCastDefenseSkill.Name = "textBoxCastDefenseSkill"; this.textBoxCastDefenseSkill.Name = "textBoxCastDefenseSkill";
this.textBoxCastDefenseSkill.Size = new System.Drawing.Size(37, 20); this.textBoxCastDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxCastDefenseSkill.TabIndex = 14; this.textBoxCastDefenseSkill.TabIndex = 14;
this.toolTip1.SetToolTip(this.textBoxCastDefenseSkill, "Paladin=Sacred Shield, Sorceress=Frozen Armor");
// //
// label7 // label7
// //
@ -200,6 +208,7 @@
this.textBoxDefenseSkill.Name = "textBoxDefenseSkill"; this.textBoxDefenseSkill.Name = "textBoxDefenseSkill";
this.textBoxDefenseSkill.Size = new System.Drawing.Size(37, 20); this.textBoxDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxDefenseSkill.TabIndex = 12; this.textBoxDefenseSkill.TabIndex = 12;
this.toolTip1.SetToolTip(this.textBoxDefenseSkill, "Paladin=Defiance, Sorceress=Teleport");
// //
// label6 // label6
// //
@ -216,6 +225,7 @@
this.textBoxFastMoveTeleport.Name = "textBoxFastMoveTeleport"; this.textBoxFastMoveTeleport.Name = "textBoxFastMoveTeleport";
this.textBoxFastMoveTeleport.Size = new System.Drawing.Size(37, 20); this.textBoxFastMoveTeleport.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTeleport.TabIndex = 10; this.textBoxFastMoveTeleport.TabIndex = 10;
this.toolTip1.SetToolTip(this.textBoxFastMoveTeleport, "Teleport if have Teleport else Vigor else Nothing->F9");
// //
// label5 // label5
// //
@ -232,6 +242,7 @@
this.textBoxFastMoveTown.Name = "textBoxFastMoveTown"; this.textBoxFastMoveTown.Name = "textBoxFastMoveTown";
this.textBoxFastMoveTown.Size = new System.Drawing.Size(37, 20); this.textBoxFastMoveTown.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTown.TabIndex = 8; this.textBoxFastMoveTown.TabIndex = 8;
this.toolTip1.SetToolTip(this.textBoxFastMoveTown, "Paladin=Vigor, Sorceress=Nothing->F9");
// //
// label4 // label4
// //
@ -248,6 +259,7 @@
this.textBoxRightSkill.Name = "textBoxRightSkill"; this.textBoxRightSkill.Name = "textBoxRightSkill";
this.textBoxRightSkill.Size = new System.Drawing.Size(37, 20); this.textBoxRightSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxRightSkill.TabIndex = 6; this.textBoxRightSkill.TabIndex = 6;
this.toolTip1.SetToolTip(this.textBoxRightSkill, "Paladin=Concentration, Sorceress=Blizzard");
// //
// label3 // label3
// //
@ -264,6 +276,7 @@
this.textBoxLeftSkill.Name = "textBoxLeftSkill"; this.textBoxLeftSkill.Name = "textBoxLeftSkill";
this.textBoxLeftSkill.Size = new System.Drawing.Size(37, 20); this.textBoxLeftSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxLeftSkill.TabIndex = 4; this.textBoxLeftSkill.TabIndex = 4;
this.toolTip1.SetToolTip(this.textBoxLeftSkill, "Paladin=Hammer, Sorceress=Static");
// //
// label2 // label2
// //
@ -417,6 +430,7 @@
// //
// groupBox3 // groupBox3
// //
this.groupBox3.Controls.Add(this.linkLabel1);
this.groupBox3.Controls.Add(this.numericUpDownKeyYPos); this.groupBox3.Controls.Add(this.numericUpDownKeyYPos);
this.groupBox3.Controls.Add(this.numericUpDownKeyXPos); this.groupBox3.Controls.Add(this.numericUpDownKeyXPos);
this.groupBox3.Controls.Add(this.label21); this.groupBox3.Controls.Add(this.label21);
@ -443,9 +457,9 @@
// //
// numericUpDownKeyYPos // numericUpDownKeyYPos
// //
this.numericUpDownKeyYPos.Location = new System.Drawing.Point(216, 167); this.numericUpDownKeyYPos.Location = new System.Drawing.Point(207, 167);
this.numericUpDownKeyYPos.Name = "numericUpDownKeyYPos"; this.numericUpDownKeyYPos.Name = "numericUpDownKeyYPos";
this.numericUpDownKeyYPos.Size = new System.Drawing.Size(41, 20); this.numericUpDownKeyYPos.Size = new System.Drawing.Size(32, 20);
this.numericUpDownKeyYPos.TabIndex = 34; this.numericUpDownKeyYPos.TabIndex = 34;
this.toolTip1.SetToolTip(this.numericUpDownKeyYPos, "This is the Y location of the Key inside your inventory (which row, starting from" + this.toolTip1.SetToolTip(this.numericUpDownKeyYPos, "This is the Y location of the Key inside your inventory (which row, starting from" +
" 0)"); " 0)");
@ -454,7 +468,7 @@
// //
this.numericUpDownKeyXPos.Location = new System.Drawing.Point(174, 167); this.numericUpDownKeyXPos.Location = new System.Drawing.Point(174, 167);
this.numericUpDownKeyXPos.Name = "numericUpDownKeyXPos"; this.numericUpDownKeyXPos.Name = "numericUpDownKeyXPos";
this.numericUpDownKeyXPos.Size = new System.Drawing.Size(41, 20); this.numericUpDownKeyXPos.Size = new System.Drawing.Size(32, 20);
this.numericUpDownKeyXPos.TabIndex = 33; this.numericUpDownKeyXPos.TabIndex = 33;
this.toolTip1.SetToolTip(this.numericUpDownKeyXPos, "This is the X location of the Key inside your inventory (which column, starting f" + this.toolTip1.SetToolTip(this.numericUpDownKeyXPos, "This is the X location of the Key inside your inventory (which column, starting f" +
"rom 0)"); "rom 0)");
@ -654,18 +668,6 @@
this.groupBox4.TabStop = false; this.groupBox4.TabStop = false;
this.groupBox4.Text = "Merc Parameters"; this.groupBox4.Text = "Merc Parameters";
// //
// button1
//
this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button1.ForeColor = System.Drawing.Color.Red;
this.button1.Location = new System.Drawing.Point(364, 7);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 38;
this.button1.Text = "Save";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// groupBox5 // groupBox5
// //
this.groupBox5.Controls.Add(this.checkBoxGamble); this.groupBox5.Controls.Add(this.checkBoxGamble);
@ -681,6 +683,18 @@
this.groupBox5.TabStop = false; this.groupBox5.TabStop = false;
this.groupBox5.Text = "Extras"; this.groupBox5.Text = "Extras";
// //
// checkBoxGamble
//
this.checkBoxGamble.AutoSize = true;
this.checkBoxGamble.Location = new System.Drawing.Point(6, 99);
this.checkBoxGamble.Name = "checkBoxGamble";
this.checkBoxGamble.Size = new System.Drawing.Size(87, 17);
this.checkBoxGamble.TabIndex = 39;
this.checkBoxGamble.Text = "Gamble Gold";
this.toolTip1.SetToolTip(this.checkBoxGamble, "Enable this if you want to Gamble your Gold at Anya for Rings and Amulets");
this.checkBoxGamble.UseVisualStyleBackColor = true;
this.checkBoxGamble.CheckedChanged += new System.EventHandler(this.checkBoxGamble_CheckedChanged);
//
// checkBoxDClone // checkBoxDClone
// //
this.checkBoxDClone.AutoSize = true; this.checkBoxDClone.AutoSize = true;
@ -714,17 +728,69 @@
this.label23.TabIndex = 39; this.label23.TabIndex = 39;
this.label23.Text = "Put theses dummy items inside the shared stash"; this.label23.Text = "Put theses dummy items inside the shared stash";
// //
// checkBoxGamble // openFileDialog1
// //
this.checkBoxGamble.AutoSize = true; this.openFileDialog1.DefaultExt = "*.txt";
this.checkBoxGamble.Location = new System.Drawing.Point(6, 99); this.openFileDialog1.Filter = "\'Char\' Settings|*.txt";
this.checkBoxGamble.Name = "checkBoxGamble"; this.openFileDialog1.Title = "Open \'PaladinHammer.txt\' or \'SorceressBlizzard.txt\'";
this.checkBoxGamble.Size = new System.Drawing.Size(87, 17); //
this.checkBoxGamble.TabIndex = 39; // linkLabel1
this.checkBoxGamble.Text = "Gamble Gold"; //
this.toolTip1.SetToolTip(this.checkBoxGamble, "Enable this if you want to Gamble your Gold at Anya for Rings and Amulets"); this.linkLabel1.AutoSize = true;
this.checkBoxGamble.UseVisualStyleBackColor = true; this.linkLabel1.Location = new System.Drawing.Point(243, 170);
this.checkBoxGamble.CheckedChanged += new System.EventHandler(this.checkBoxGamble_CheckedChanged); this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(13, 13);
this.linkLabel1.TabIndex = 35;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "?";
this.toolTip1.SetToolTip(this.linkLabel1, "Help for Keys location");
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// panelHelpKeys
//
this.panelHelpKeys.BackgroundImage = global::app.Properties.Resources.BMBot10;
this.panelHelpKeys.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.panelHelpKeys.Controls.Add(this.button2);
this.panelHelpKeys.Location = new System.Drawing.Point(4, 248);
this.panelHelpKeys.Name = "panelHelpKeys";
this.panelHelpKeys.Size = new System.Drawing.Size(441, 190);
this.panelHelpKeys.TabIndex = 41;
//
// buttonReload
//
this.buttonReload.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonReload.ForeColor = System.Drawing.SystemColors.ControlText;
this.buttonReload.Image = global::app.Properties.Resources.Load;
this.buttonReload.Location = new System.Drawing.Point(5, 6);
this.buttonReload.Name = "buttonReload";
this.buttonReload.Size = new System.Drawing.Size(31, 25);
this.buttonReload.TabIndex = 40;
this.toolTip1.SetToolTip(this.buttonReload, "Load from a previous Settings File");
this.buttonReload.UseVisualStyleBackColor = true;
this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click);
//
// button1
//
this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button1.ForeColor = System.Drawing.SystemColors.ControlText;
this.button1.Image = global::app.Properties.Resources.Save;
this.button1.Location = new System.Drawing.Point(364, 6);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 25);
this.button1.TabIndex = 38;
this.toolTip1.SetToolTip(this.button1, "Save current Settings");
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Image = global::app.Properties.Resources.Delete;
this.button2.Location = new System.Drawing.Point(416, 0);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(25, 25);
this.button2.TabIndex = 0;
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
// //
// FormCharSettings // FormCharSettings
// //
@ -732,6 +798,8 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark; this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(452, 487); this.ClientSize = new System.Drawing.Size(452, 487);
this.Controls.Add(this.panelHelpKeys);
this.Controls.Add(this.buttonReload);
this.Controls.Add(this.label23); this.Controls.Add(this.label23);
this.Controls.Add(this.groupBox5); this.Controls.Add(this.groupBox5);
this.Controls.Add(this.button1); this.Controls.Add(this.button1);
@ -768,6 +836,7 @@
this.groupBox4.PerformLayout(); this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false); this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout(); this.groupBox5.PerformLayout();
this.panelHelpKeys.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -836,5 +905,10 @@
private System.Windows.Forms.CheckBox checkBoxDClone; private System.Windows.Forms.CheckBox checkBoxDClone;
private System.Windows.Forms.CheckBox checkBoxGamble; private System.Windows.Forms.CheckBox checkBoxGamble;
private System.Windows.Forms.Label label23; private System.Windows.Forms.Label label23;
private System.Windows.Forms.Button buttonReload;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Panel panelHelpKeys;
private System.Windows.Forms.Button button2;
} }
} }

View File

@ -203,5 +203,26 @@ namespace app
numericUpDownGambleUntil.Enabled = true; numericUpDownGambleUntil.Enabled = true;
} }
} }
private void buttonReload_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Form1_0.SettingsLoader_0.ReloadCharSettingsFromThisFile(openFileDialog1.FileName);
LoadSettings();
Application.DoEvents();
}
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
panelHelpKeys.Visible = true;
}
private void button2_Click(object sender, EventArgs e)
{
panelHelpKeys.Visible = false;
}
} }
} }

View File

@ -120,6 +120,9 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>111, 16</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

38
FormItems.Designer.cs generated
View File

@ -28,6 +28,7 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container();
System.Windows.Forms.ListViewGroup listViewGroup1 = new System.Windows.Forms.ListViewGroup("By Name", System.Windows.Forms.HorizontalAlignment.Left); System.Windows.Forms.ListViewGroup listViewGroup1 = new System.Windows.Forms.ListViewGroup("By Name", System.Windows.Forms.HorizontalAlignment.Left);
System.Windows.Forms.ListViewGroup listViewGroup2 = new System.Windows.Forms.ListViewGroup("By Type", System.Windows.Forms.HorizontalAlignment.Left); System.Windows.Forms.ListViewGroup listViewGroup2 = new System.Windows.Forms.ListViewGroup("By Type", System.Windows.Forms.HorizontalAlignment.Left);
System.Windows.Forms.ListViewGroup listViewGroup3 = new System.Windows.Forms.ListViewGroup("By Name", System.Windows.Forms.HorizontalAlignment.Left); System.Windows.Forms.ListViewGroup listViewGroup3 = new System.Windows.Forms.ListViewGroup("By Name", System.Windows.Forms.HorizontalAlignment.Left);
@ -136,6 +137,9 @@
this.button3 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button();
this.buttonCreateNewItem = new System.Windows.Forms.Button(); this.buttonCreateNewItem = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.button4 = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout(); this.tabPage2.SuspendLayout();
@ -1050,13 +1054,14 @@
// //
// button3 // button3
// //
this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button3.ForeColor = System.Drawing.Color.Red; this.button3.ForeColor = System.Drawing.SystemColors.ControlText;
this.button3.Location = new System.Drawing.Point(897, 4); this.button3.Image = global::app.Properties.Resources.Save;
this.button3.Location = new System.Drawing.Point(897, 2);
this.button3.Name = "button3"; this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(63, 23); this.button3.Size = new System.Drawing.Size(63, 25);
this.button3.TabIndex = 16; this.button3.TabIndex = 16;
this.button3.Text = "Save"; this.toolTip1.SetToolTip(this.button3, "Save current Settings");
this.button3.UseVisualStyleBackColor = true; this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click); this.button3.Click += new System.EventHandler(this.button3_Click);
// //
@ -1085,12 +1090,32 @@
this.button1.Visible = false; this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click_1); this.button1.Click += new System.EventHandler(this.button1_Click_1);
// //
// button4
//
this.button4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button4.ForeColor = System.Drawing.SystemColors.ControlText;
this.button4.Image = global::app.Properties.Resources.Load;
this.button4.Location = new System.Drawing.Point(857, 2);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(34, 25);
this.button4.TabIndex = 19;
this.toolTip1.SetToolTip(this.button4, "Load from a previous Settings File");
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "*.txt";
this.openFileDialog1.Filter = "Items Settings|*.txt";
this.openFileDialog1.Title = "Open \'ItemsSettings.txt\'";
//
// FormItems // FormItems
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark; this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(970, 375); this.ClientSize = new System.Drawing.Size(970, 375);
this.Controls.Add(this.button4);
this.Controls.Add(this.button1); this.Controls.Add(this.button1);
this.Controls.Add(this.panel_NewItem); this.Controls.Add(this.panel_NewItem);
this.Controls.Add(this.buttonCreateNewItem); this.Controls.Add(this.buttonCreateNewItem);
@ -1222,5 +1247,8 @@
private System.Windows.Forms.ColumnHeader columnHeader37; private System.Windows.Forms.ColumnHeader columnHeader37;
private System.Windows.Forms.ColumnHeader columnHeader38; private System.Windows.Forms.ColumnHeader columnHeader38;
private System.Windows.Forms.ColumnHeader columnHeader39; private System.Windows.Forms.ColumnHeader columnHeader39;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
} }
} }

View File

@ -712,9 +712,15 @@ namespace app
} }
} }
private void listViewUnique_SelectedIndexChanged(object sender, EventArgs e) private void button4_Click(object sender, EventArgs e)
{ {
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Form1_0.SettingsLoader_0.LoadThisFileSettings(openFileDialog1.FileName);
LoadSettings();
Application.DoEvents();
}
} }
} }
} }

View File

@ -117,6 +117,12 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>110, 15</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@ -103,6 +103,7 @@
this.numericUpDownBaalMobCount = new System.Windows.Forms.NumericUpDown(); this.numericUpDownBaalMobCount = new System.Windows.Forms.NumericUpDown();
this.buttonBaalAddMob = new System.Windows.Forms.Button(); this.buttonBaalAddMob = new System.Windows.Forms.Button();
this.buttonBaalClearMob = new System.Windows.Forms.Button(); this.buttonBaalClearMob = new System.Windows.Forms.Button();
this.label13 = new System.Windows.Forms.Label();
this.panelBaalFeature = new System.Windows.Forms.Panel(); this.panelBaalFeature = new System.Windows.Forms.Panel();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.listViewBaalLeaveOnMobs = new System.Windows.Forms.ListView(); this.listViewBaalLeaveOnMobs = new System.Windows.Forms.ListView();
@ -113,7 +114,8 @@
this.label9 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label(); this.buttonReload = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownRunNumber)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownRunNumber)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxTime)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxTime)).BeginInit();
@ -486,13 +488,14 @@
// //
// button2 // button2
// //
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button2.ForeColor = System.Drawing.Color.Red; this.button2.ForeColor = System.Drawing.SystemColors.ControlText;
this.button2.Location = new System.Drawing.Point(79, 6); this.button2.Image = global::app.Properties.Resources.Save;
this.button2.Location = new System.Drawing.Point(189, 6);
this.button2.Name = "button2"; this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(89, 29); this.button2.Size = new System.Drawing.Size(48, 29);
this.button2.TabIndex = 13; this.button2.TabIndex = 13;
this.button2.Text = "SAVE"; this.toolTip1.SetToolTip(this.button2, "Save current Settings");
this.button2.UseVisualStyleBackColor = true; this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click); this.button2.Click += new System.EventHandler(this.button2_Click);
// //
@ -597,6 +600,18 @@
this.buttonBaalClearMob.UseVisualStyleBackColor = true; this.buttonBaalClearMob.UseVisualStyleBackColor = true;
this.buttonBaalClearMob.Click += new System.EventHandler(this.buttonBaalClearMob_Click); this.buttonBaalClearMob.Click += new System.EventHandler(this.buttonBaalClearMob_Click);
// //
// label13
//
this.label13.AutoSize = true;
this.label13.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label13.ForeColor = System.Drawing.Color.Red;
this.label13.Location = new System.Drawing.Point(206, 128);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(14, 20);
this.label13.TabIndex = 16;
this.label13.Text = "!";
this.toolTip1.SetToolTip(this.label13, "Double Clic on a Run script to edit it\'s features (if there is any)");
//
// panelBaalFeature // panelBaalFeature
// //
this.panelBaalFeature.Controls.Add(this.groupBox2); this.panelBaalFeature.Controls.Add(this.groupBox2);
@ -702,17 +717,24 @@
this.label7.TabIndex = 0; this.label7.TabIndex = 0;
this.label7.Text = "Baal Run Features"; this.label7.Text = "Baal Run Features";
// //
// label13 // buttonReload
// //
this.label13.AutoSize = true; this.buttonReload.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label13.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.buttonReload.ForeColor = System.Drawing.SystemColors.ControlText;
this.label13.ForeColor = System.Drawing.Color.Red; this.buttonReload.Image = global::app.Properties.Resources.Load;
this.label13.Location = new System.Drawing.Point(206, 128); this.buttonReload.Location = new System.Drawing.Point(12, 6);
this.label13.Name = "label13"; this.buttonReload.Name = "buttonReload";
this.label13.Size = new System.Drawing.Size(14, 20); this.buttonReload.Size = new System.Drawing.Size(34, 29);
this.label13.TabIndex = 16; this.buttonReload.TabIndex = 17;
this.label13.Text = "!"; this.toolTip1.SetToolTip(this.buttonReload, "Load from a previous Settings File");
this.toolTip1.SetToolTip(this.label13, "Double Clic on a Run script to edit it\'s features (if there is any)"); this.buttonReload.UseVisualStyleBackColor = true;
this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click);
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "*.txt";
this.openFileDialog1.Filter = "BotSettings|*.txt";
this.openFileDialog1.Title = "Open \'BotSettings.txt\'";
// //
// FormSettings // FormSettings
// //
@ -720,6 +742,7 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark; this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(251, 656); this.ClientSize = new System.Drawing.Size(251, 656);
this.Controls.Add(this.buttonReload);
this.Controls.Add(this.label13); this.Controls.Add(this.label13);
this.Controls.Add(this.panelBaalFeature); this.Controls.Add(this.panelBaalFeature);
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
@ -812,5 +835,7 @@
private System.Windows.Forms.ColumnHeader columnHeader1; private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ColumnHeader columnHeader4; private System.Windows.Forms.ColumnHeader columnHeader4;
private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label13;
private System.Windows.Forms.Button buttonReload;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
} }
} }

View File

@ -302,5 +302,16 @@ namespace app
{ {
listViewBaalLeaveOnMobs.Items.Clear(); listViewBaalLeaveOnMobs.Items.Clear();
} }
private void buttonReload_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Form1_0.SettingsLoader_0.LoadThisFileSettings(openFileDialog1.FileName);
LoadSettings();
Application.DoEvents();
}
}
} }
} }

View File

@ -120,6 +120,9 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>114, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@ -7,6 +7,7 @@ using System.Drawing.Drawing2D;
using System.Drawing.Text; using System.Drawing.Text;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
@ -35,6 +36,9 @@ namespace app
public List<System.Drawing.Point> GoodChestsPoints = new List<System.Drawing.Point>(); public List<System.Drawing.Point> GoodChestsPoints = new List<System.Drawing.Point>();
public List<System.Drawing.Point> WPPoints = new List<System.Drawing.Point>(); public List<System.Drawing.Point> WPPoints = new List<System.Drawing.Point>();
public List<System.Drawing.Point> ExitPoints = new List<System.Drawing.Point>(); public List<System.Drawing.Point> ExitPoints = new List<System.Drawing.Point>();
public List<int> ExitIDs = new List<int>();
public Point ExitPointDuriel = new Point();
public Point ExitPointSummoner = new Point();
public System.Drawing.Point MoveToPoint = new System.Drawing.Point(0, 0); public System.Drawing.Point MoveToPoint = new System.Drawing.Point(0, 0);
public List<System.Drawing.Point> MobsPoints = new List<System.Drawing.Point>(); public List<System.Drawing.Point> MobsPoints = new List<System.Drawing.Point>();
@ -48,6 +52,9 @@ namespace app
Font drawFontBold10 = new Font("Arial", 12, FontStyle.Bold); Font drawFontBold10 = new Font("Arial", 12, FontStyle.Bold);
SolidBrush drawBrushYellow = new SolidBrush(Color.FromArgb(255, 255, 255, 0)); SolidBrush drawBrushYellow = new SolidBrush(Color.FromArgb(255, 255, 255, 0));
SolidBrush drawBrushOrange = new SolidBrush(Color.FromArgb(255, 255, 95, 0));
SolidBrush drawBrushPurple = new SolidBrush(Color.FromArgb(255, 172, 19, 224));
SolidBrush drawBrushCyan = new SolidBrush(Color.FromArgb(255, 0, 255, 255));
SolidBrush drawBrushWhite = new SolidBrush(Color.FromArgb(150, 255, 255, 255)); SolidBrush drawBrushWhite = new SolidBrush(Color.FromArgb(150, 255, 255, 255));
SolidBrush drawBrushRed = new SolidBrush(Color.LightPink); SolidBrush drawBrushRed = new SolidBrush(Color.LightPink);
SolidBrush drawBrushBlue = new SolidBrush(Color.LightBlue); SolidBrush drawBrushBlue = new SolidBrush(Color.LightBlue);
@ -187,11 +194,34 @@ namespace app
public void SetAllExitNearby() public void SetAllExitNearby()
{ {
ExitPoints = new List<System.Drawing.Point>(); ExitPoints = new List<System.Drawing.Point>();
ExitIDs = new List<int>();
List<Position> AllPos = Form1_0.MapAreaStruc_0.GetPositionOfAllObject("exit", "", (int)Form1_0.PlayerScan_0.levelNo, new List<int>(), true); List<Position> AllPos = Form1_0.MapAreaStruc_0.GetPositionOfAllObject("exit", "", (int)Form1_0.PlayerScan_0.levelNo, new List<int>(), true);
foreach (var objectPos in AllPos) for (int i = 0; i < AllPos.Count; i++)
{ {
ExitPoints.Add(new System.Drawing.Point(objectPos.X, objectPos.Y)); ExitPoints.Add(new System.Drawing.Point(AllPos[i].X, AllPos[i].Y));
ExitIDs.Add(Form1_0.MapAreaStruc_0.AllExitsIDs[i]);
}
//Set duriel tomb exit
Position OrificePos = Form1_0.MapAreaStruc_0.GetAreaOfObject("object", "HoradricOrifice", new List<int>(), 65, 72);
if (OrificePos.X != 0 && OrificePos.Y != 0)
{
//"id":71, "type":"exit", "x":214, "y":25, "isGoodExit":true}
//Form1_0.method_1("Moving to: " + ((Enums.Area)(Form1_0.MapAreaStruc_0.CurrentObjectAreaIndex + 1)), Color.Red);
Position ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("exit", Form1_0.Town_0.getAreaName((int)Form1_0.MapAreaStruc_0.CurrentObjectAreaIndex + 1), (int)Form1_0.PlayerScan_0.levelNo, new List<int>() { });
ExitPointDuriel.X = ThisFinalPosition.X;
ExitPointDuriel.Y = ThisFinalPosition.Y;
}
//Set Summoner Pos
Position ThisFinalPositionArcane = Form1_0.MapAreaStruc_0.GetPositionOfObject("npc", "Summoner", (int) Enums.Area.ArcaneSanctuary, new List<int>() { });
ExitPointSummoner.X = ThisFinalPositionArcane.X;
ExitPointSummoner.Y = ThisFinalPositionArcane.Y;
if (ExitPointSummoner.X != 0 && ExitPointSummoner.Y != 0)
{
ExitPoints.Add(new System.Drawing.Point(ThisFinalPositionArcane.X, ThisFinalPositionArcane.Y));
ExitIDs.Add((int)Enums.Area.CanyonOfTheMagi);
} }
} }
@ -339,7 +369,7 @@ namespace app
string CordsTxt = Form1_0.PlayerScan_0.xPosFinal.ToString() + ", " + Form1_0.PlayerScan_0.yPosFinal.ToString(); string CordsTxt = Form1_0.PlayerScan_0.xPosFinal.ToString() + ", " + Form1_0.PlayerScan_0.yPosFinal.ToString();
ThisS2 = e.Graphics.MeasureString(CordsTxt, drawFontBold); ThisS2 = e.Graphics.MeasureString(CordsTxt, drawFontBold);
//DrawString(e, CordsTxt, drawFontBold, drawBrushWhite, Form1_0.CenterX - (ThisS2.Width / 2), 960); //DrawString(e, CordsTxt, drawFontBold, drawBrushWhite, Form1_0.CenterX - (ThisS2.Width / 2), 960);
DrawString(e, CordsTxt, drawFontBold, drawBrushWhite, 1000, 960, true); DrawString(e, CordsTxt, drawFontBold, drawBrushWhite, 990, 960, true);
//Print Infos //Print Infos
DrawString(e, "Mobs:" + MobsPoints.Count, drawFontBold, drawBrushWhite, 790, 960, true); DrawString(e, "Mobs:" + MobsPoints.Count, drawFontBold, drawBrushWhite, 790, 960, true);
@ -389,8 +419,15 @@ namespace app
DrawString(e, "Status: " + Form1_0.CurrentStatus, drawFontBold, drawBrushWhite, 560, 935, true); DrawString(e, "Status: " + Form1_0.CurrentStatus, drawFontBold, drawBrushWhite, 560, 935, true);
ThisS2 = e.Graphics.MeasureString(Form1_0.CurrentGameTime, drawFontBold); ThisS2 = e.Graphics.MeasureString(Form1_0.CurrentGameTime, drawFontBold);
//DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, Form1_0.CenterX, 935, true); //DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, Form1_0.CenterX, 935, true);
DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, 1000, 935, true); DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, 990, 935, true);
DrawString(e, Form1_0.mS + ", " + Form1_0.FPS.ToString("00") + "Fps", drawFontBold, drawBrushYellow, 1060, 910, true);
//Print mS Delay
string ThisMSStr = "~" + Form1_0.Average_mS + "(" + Form1_0.mS + ")";
DrawString(e, ThisMSStr, drawFontBold, drawBrushYellow, 1090, 910, true);
//Print FPS Delay
string ThisFPSStr = "~" + Form1_0.Average_FPS.ToString("00") + "Fps(" + Form1_0.FPS.ToString("00") + ")";
DrawString(e, ThisFPSStr, drawFontBold, drawBrushYellow, 1090, 935, true);
string OtherInfosTxt = Form1_0.TotalChickenCount + " ChickensByHP, " + Form1_0.TotalChickenByTimeCount + " ChickensByTime"; string OtherInfosTxt = Form1_0.TotalChickenCount + " ChickensByHP, " + Form1_0.TotalChickenByTimeCount + " ChickensByTime";
ThisS2 = e.Graphics.MeasureString(OtherInfosTxt, drawFontBold); ThisS2 = e.Graphics.MeasureString(OtherInfosTxt, drawFontBold);
@ -401,23 +438,22 @@ namespace app
DrawString(e, OtherInfosTxt2, drawFontBold, drawBrushWhite, 1360 - (ThisS2.Width * ScaleScreenSizeInverted), 910, true); DrawString(e, OtherInfosTxt2, drawFontBold, drawBrushWhite, 1360 - (ThisS2.Width * ScaleScreenSizeInverted), 910, true);
//Print Merc //Print Merc
if (CharConfig.UsingMerc)
{
string ThisMercTxt = "Merc not alive";
if (Form1_0.MercStruc_0.MercAlive)
{
int PercentMerc = (int)((Form1_0.MercStruc_0.MercHP * 100.0) / Form1_0.MercStruc_0.MercMaxHP);
ThisMercTxt = "Merc:" + Form1_0.MercStruc_0.MercHP.ToString() + "/" + Form1_0.MercStruc_0.MercMaxHP.ToString() + " (" + PercentMerc + "%)";
}
ThisS2 = e.Graphics.MeasureString(ThisMercTxt, drawFontBold);
DrawString(e, ThisMercTxt, drawFontBold, drawBrushGreen, 1360 - (ThisS2.Width * ScaleScreenSizeInverted), 860, true);
}
//Print Units Scanned Count
if (Form1_0.DebugMenuStyle > 0) if (Form1_0.DebugMenuStyle > 0)
{ {
if (CharConfig.UsingMerc)
{
string ThisMercTxt = "Merc not alive";
if (Form1_0.MercStruc_0.MercAlive)
{
int PercentMerc = (int)((Form1_0.MercStruc_0.MercHP * 100.0) / Form1_0.MercStruc_0.MercMaxHP);
ThisMercTxt = "Merc:" + Form1_0.MercStruc_0.MercHP.ToString() + "/" + Form1_0.MercStruc_0.MercMaxHP.ToString() + " (" + PercentMerc + "%)";
}
ThisS2 = e.Graphics.MeasureString(ThisMercTxt, drawFontBold);
DrawString(e, ThisMercTxt, drawFontBold, drawBrushGreen, 1360 - (ThisS2.Width * ScaleScreenSizeInverted), 860, true);
}
//if (Form1_0.DebugMenuStyle > 0)
//{
//Print Units Scanned Count
string UnitsStr = "Units:" + Form1_0.PatternsScan_0.GetUnitsScannedCount().ToString(); string UnitsStr = "Units:" + Form1_0.PatternsScan_0.GetUnitsScannedCount().ToString();
DrawString(e, UnitsStr, drawFontBold, drawBrushGreen, 560, 885, true); DrawString(e, UnitsStr, drawFontBold, drawBrushGreen, 560, 885, true);
} }
@ -493,6 +529,13 @@ namespace app
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y); System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y);
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, greenPen, false); DrawCrossAtPoint(e, StartPoint, greenPen, false);
if (CharConfig.RunMapHackOnly)
{
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint);
DrawLine(e, greenPen, StartPoint, PlayerPoint, false);
}
} }
for (int i = 0; i < WPPoints.Count; i++) for (int i = 0; i < WPPoints.Count; i++)
@ -501,6 +544,24 @@ namespace app
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y); System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y);
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, bluePen, false); DrawCrossAtPoint(e, StartPoint, bluePen, false);
if (CharConfig.RunMapHackOnly)
{
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint);
DrawLine(e, bluePen, StartPoint, PlayerPoint, false);
}
}
if (CharConfig.RunMapHackOnly)
{
FillRectangle(e, drawBrushDark, 1398, 5, 270, 119, true);
DrawString(e, "Green: Good Chest", drawFontBold10, drawBrushGreen, 1400, 5, true);
DrawString(e, "Blue: Waypoint", drawFontBold10, drawBrushBlue, 1400, 25, true);
DrawString(e, "Red: Next Area Exit", drawFontBold10, drawBrushRed, 1400, 45, true);
DrawString(e, "Yellow: Next Area Exit (Special)", drawFontBold10, drawBrushOrange, 1400, 65, true);
DrawString(e, "Purple: Previous Area Exit", drawFontBold10, drawBrushPurple, 1400, 85, true);
DrawString(e, "Cyan: Previous Area Exit (Special)", drawFontBold10, drawBrushCyan, 1400, 105, true);
} }
for (int i = 0; i < ExitPoints.Count; i++) for (int i = 0; i < ExitPoints.Count; i++)
@ -509,6 +570,58 @@ namespace app
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y); System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y);
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, cyanPen, false); DrawCrossAtPoint(e, StartPoint, cyanPen, false);
if (CharConfig.RunMapHackOnly)
{
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint);
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CanyonOfTheMagi
&& ExitPointDuriel.X != 0 && ExitPointDuriel.Y != 0
&& ExitPoints[i].X == ExitPointDuriel.X && ExitPoints[i].Y == ExitPointDuriel.Y)
{
DrawLine(e, redPen, StartPoint, PlayerPoint, false);
}
else if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ArcaneSanctuary
&& ExitPointSummoner.X != 0 && ExitPointSummoner.Y != 0
&& ExitPoints[i].X == ExitPointSummoner.X && ExitPoints[i].Y == ExitPointSummoner.Y)
{
DrawLine(e, redPen, StartPoint, PlayerPoint, false);
}
else
{
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CanyonOfTheMagi)
{
DrawLine(e, yellowPen, StartPoint, PlayerPoint, false);
}
else
{
if (ExitIDs[i] > Form1_0.PlayerScan_0.levelNo)
{
if (ExitIDs[i] == Form1_0.PlayerScan_0.levelNo + 1)
{
DrawLine(e, redPen, StartPoint, PlayerPoint, false);
}
else
{
DrawLine(e, yellowPen, StartPoint, PlayerPoint, false);
}
}
else
{
if (ExitIDs[i] == Form1_0.PlayerScan_0.levelNo - 1)
{
DrawLine(e, purplePen, StartPoint, PlayerPoint, false);
}
else
{
DrawLine(e, cyanPen, StartPoint, PlayerPoint, false);
}
}
}
}
}
} }
} }
} }

View File

@ -80,6 +80,16 @@ namespace app.Properties {
} }
} }
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap BMBot10 {
get {
object obj = ResourceManager.GetObject("BMBot10", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary> /// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap. /// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary> /// </summary>
@ -130,6 +140,16 @@ namespace app.Properties {
} }
} }
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Load {
get {
object obj = ResourceManager.GetObject("Load", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary> /// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap. /// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary> /// </summary>
@ -150,6 +170,16 @@ namespace app.Properties {
} }
} }
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Save {
get {
object obj = ResourceManager.GetObject("Save", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary> /// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap. /// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary> /// </summary>

View File

@ -118,40 +118,49 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Equipment" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Equipment.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Yellow pin" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Yellow pin" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Yellow pin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Yellow pin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Wrench" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Wrench.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Boss" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Boss.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Person" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Person.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Error" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Male" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Male" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Male.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Male.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Application" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Load" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Application.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Load.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Download" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Person" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Download.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Person.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Equipment" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Equipment.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Wrench" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Wrench.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Blue tag" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Blue tag" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Blue tag.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Blue tag.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Error" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Update" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Update" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Update.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Update.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Download" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Download.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Boss" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Boss.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Application" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Application.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BMBot10" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BMBot10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root> </root>

BIN
Resources/BMBot10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

BIN
Resources/Load.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

BIN
Resources/Save.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

View File

@ -406,6 +406,7 @@ namespace app
TriedToMoveToMobsCount = 0; TriedToMoveToMobsCount = 0;
} }
} }
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
} }
//Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2); //Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveAcceptOffset = 4; Form1_0.Mover_0.MoveAcceptOffset = 4;
@ -457,6 +458,7 @@ namespace app
TriedToMoveToMobsCount = 0; TriedToMoveToMobsCount = 0;
} }
} }
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
} }
//Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2); //Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveAcceptOffset = 4; Form1_0.Mover_0.MoveAcceptOffset = 4;
@ -505,6 +507,7 @@ namespace app
TriedToMoveToMobsCount = 0; TriedToMoveToMobsCount = 0;
} }
} }
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
} }
//Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2); //Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveAcceptOffset = 4; Form1_0.Mover_0.MoveAcceptOffset = 4;

View File

@ -180,6 +180,7 @@ namespace app
//loop thru all recipes //loop thru all recipes
for (int i = 0; i < CubingRecipes.Count; i++) for (int i = 0; i < CubingRecipes.Count; i++)
{ {
if (CubingRecipes[i] == "") continue;
if (!CubingRecipesEnabled[i]) continue; if (!CubingRecipesEnabled[i]) continue;
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())

View File

@ -196,8 +196,8 @@ namespace app
MouseMoveTo(ThX, ThY); MouseMoveTo(ThX, ThY);
PressKeyHold(Keys.LShiftKey); PressKeyHold(Keys.LShiftKey);
PostMessage((int)Form1_0.hWnd, WM_RBUTTONDOWN, 0x00000001, (IntPtr)0); SendMessage((int)Form1_0.hWnd, WM_RBUTTONDOWN, 0x00000001, (IntPtr)0);
PostMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, (IntPtr)0); SendMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, (IntPtr)0);
ReleaseKey(Keys.LShiftKey); ReleaseKey(Keys.LShiftKey);
} }

View File

@ -41,6 +41,8 @@ namespace app
//This will move to a direct location -> no pathfinding //This will move to a direct location -> no pathfinding
public bool MoveToLocation(int ThisX, int ThisY, bool AllowPickingItem = false, bool AllowMoveSideWay = true) public bool MoveToLocation(int ThisX, int ThisY, bool AllowPickingItem = false, bool AllowMoveSideWay = true)
{ {
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
Form1_0.UIScan_0.readUI(); Form1_0.UIScan_0.readUI();
if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu) Form1_0.UIScan_0.CloseAllUIMenu(); if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu) Form1_0.UIScan_0.CloseAllUIMenu();
if (Form1_0.UIScan_0.quitMenu) Form1_0.UIScan_0.CloseUIMenu("quitMenu"); if (Form1_0.UIScan_0.quitMenu) Form1_0.UIScan_0.CloseUIMenu("quitMenu");
@ -92,6 +94,8 @@ namespace app
} }
while (true) while (true)
{ {
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
if (Form1_0.Town_0.GetInTown()) if (Form1_0.Town_0.GetInTown())
{ {
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillfastMoveAtTown); Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillfastMoveAtTown);
@ -126,6 +130,7 @@ namespace app
TimeSpan ThisTimeCheck = DateTime.Now - LastTimeSinceTeleport; TimeSpan ThisTimeCheck = DateTime.Now - LastTimeSinceTeleport;
while (Form1_0.PlayerScan_0.xPosFinal == LastX && Form1_0.PlayerScan_0.yPosFinal == LastY && ThisTimeCheck.TotalMilliseconds < 200) while (Form1_0.PlayerScan_0.xPosFinal == LastX && Form1_0.PlayerScan_0.yPosFinal == LastY && ThisTimeCheck.TotalMilliseconds < 200)
{ {
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
Application.DoEvents(); Application.DoEvents();
Form1_0.PlayerScan_0.GetPositions(); Form1_0.PlayerScan_0.GetPositions();
Form1_0.overlayForm.UpdateOverlay(); Form1_0.overlayForm.UpdateOverlay();
@ -133,6 +138,7 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(false); Form1_0.ItemsStruc_0.GetItems(false);
ThisTimeCheck = DateTime.Now - LastTimeSinceTeleport; ThisTimeCheck = DateTime.Now - LastTimeSinceTeleport;
} }
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
} }
else else
{ {
@ -147,7 +153,6 @@ namespace app
Form1_0.Potions_0.CheckIfWeUsePotion(); Form1_0.Potions_0.CheckIfWeUsePotion();
itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, ThisX, ThisY); itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, ThisX, ThisY);
Application.DoEvents(); Application.DoEvents();
//###### //######
@ -168,6 +173,7 @@ namespace app
if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1 if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1
|| Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1) || Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1)
{ {
Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags
Form1_0.overlayForm.ResetMoveToLocation(); Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E); Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false; return false;
@ -247,6 +253,7 @@ namespace app
LastX = Form1_0.PlayerScan_0.xPosFinal; LastX = Form1_0.PlayerScan_0.xPosFinal;
LastY = Form1_0.PlayerScan_0.yPosFinal; LastY = Form1_0.PlayerScan_0.yPosFinal;
} }
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
bool MovedCorrectly = false; bool MovedCorrectly = false;
if (IsPositionNearOf(ThisX, ThisY, MoveAcceptOffset)) MovedCorrectly = true; if (IsPositionNearOf(ThisX, ThisY, MoveAcceptOffset)) MovedCorrectly = true;
@ -265,6 +272,8 @@ namespace app
//This will FAST move to a direct location -> no pathfinding (used for attacking mobs) //This will FAST move to a direct location -> no pathfinding (used for attacking mobs)
public bool MoveToLocationAttack(int ThisX, int ThisY) public bool MoveToLocationAttack(int ThisX, int ThisY)
{ {
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
Form1_0.UIScan_0.readUI(); Form1_0.UIScan_0.readUI();
if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu) Form1_0.UIScan_0.CloseAllUIMenu(); if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu) Form1_0.UIScan_0.CloseAllUIMenu();
@ -338,6 +347,7 @@ namespace app
if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1 if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1
|| Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1) || Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1)
{ {
Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags
Form1_0.overlayForm.ResetMoveToLocation(); Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E); Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false; return false;

View File

@ -474,6 +474,15 @@ namespace app
//Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]); //Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.WaitDelay(20); Form1_0.WaitDelay(20);
Form1_0.ItemsStruc_0.GetItems(false); //get inventory Form1_0.ItemsStruc_0.GetItems(false); //get inventory
//Buy keys again to fill inventory
/*if (StartQty == 0)
{
Form1_0.KeyMouse_0.SendSHIFT_RIGHTCLICK(itemScreenPos["x"], itemScreenPos["y"]);
//Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.WaitDelay(20);
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
}*/
} }
if (Form1_0.InventoryStruc_0.HUDItems_keys == StartQty) if (Form1_0.InventoryStruc_0.HUDItems_keys == StartQty)

View File

@ -287,8 +287,9 @@ Perfect Diamond
//####################################### //#######################################
//##### Helms //##### Helms
[Name] == GrimHelm && [Quality] == unique && [Flag] != ethereal // Vampire Gaze [Name] == GrimHelm && [Quality] == unique && [Flag] != ethereal // Vampire Gaze
[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest //[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest
[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest //[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
[Name] == Shako && [Quality] == unique // Harlequin Crest
[Name] == Demonhead && [Quality] == unique // Andariel's Visage [Name] == Demonhead && [Quality] == unique // Andariel's Visage
[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal [Name] == Demonhead && [Quality] == unique && [Flag] != ethereal
[Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull [Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull
@ -428,33 +429,33 @@ Perfect Diamond
[Name] == Diadem && [Quality] == unique && [Defense] >= 160 && [PassiveMagicMastery]+[PassiveMagicPierce] >= 25 // Griffon's Eye [Name] == Diadem && [Quality] == unique && [Defense] >= 160 && [PassiveMagicMastery]+[PassiveMagicPierce] >= 25 // Griffon's Eye
//##### Rings //##### Rings
[Type] == ring && [Quality] == unique && [MagicFind] == 30 // Nagelring [Type] == Ring && [Quality] == unique && [MagicFind] == 30 // Nagelring
//[Type] == ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal //[Type] == Ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal
[Type] == ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan [Type] == Ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan
[Type] == ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star [Type] == Ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star
[Type] == ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost [Type] == Ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost
[Type] == ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band [Type] == Ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band
[Type] == ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind [Type] == Ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind
[Type] == ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace [Type] == Ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace
[Type] == ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector [Type] == Ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector
//##### Amulets //##### Amulets
[Type] == amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance [Type] == Amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance
[Type] == amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye [Type] == Amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye
[Type] == amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon [Type] == Amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon
[Type] == amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab [Type] == Amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab
[Type] == amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun [Type] == Amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun
//[Type] == amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath //[Type] == Amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath
[Type] == amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope [Type] == Amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope
//[Type] == amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn //[Type] == Amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn
[Type] == amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid [Type] == Amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid
//##### Jewels //##### Jewels
[Type] == jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet [Type] == Jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet
//##### Small Charms //##### Small Charms
[Name] == SmallCharm && [Quality] == unique // Annihilus [Name] == SmallCharm && [Quality] == unique // Annihilus
@ -494,11 +495,11 @@ Perfect Diamond
//##### Angelic Raiment //##### Angelic Raiment
//[Name] == RingMail && [Quality] == set // Angelic Mantle //[Name] == RingMail && [Quality] == set // Angelic Mantle
//[Name] == Sabre && [Quality] == set // Angelic Sickle //[Name] == Sabre && [Quality] == set // Angelic Sickle
//[Type] == ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo //[Type] == Ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo
//[Type] == amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings //[Type] == Amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings
//##### Arcanna's Tricks //##### Arcanna's Tricks
//[Type] == amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign //[Type] == Amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign
//[Name] == SkullCap && [Quality] == set // Arcanna's Head //[Name] == SkullCap && [Quality] == set // Arcanna's Head
//[Name] == LightPlate && [Quality] == set // Arcanna's Flesh //[Name] == LightPlate && [Quality] == set // Arcanna's Flesh
//[Name] == WarStaff && [Quality] == set // Arcanna's Deathwand //[Name] == WarStaff && [Quality] == set // Arcanna's Deathwand
@ -515,14 +516,14 @@ Perfect Diamond
//[Name] == DoubleAxe && [Quality] == set // Berserker's Hatchet //[Name] == DoubleAxe && [Quality] == set // Berserker's Hatchet
//##### Cathan's Traps //##### Cathan's Traps
//[Type] == ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal //[Type] == Ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal
//[Type] == amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil //[Type] == Amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil
//[Name] == ChainMail && [Quality] == set // Cathan's Mesh //[Name] == ChainMail && [Quality] == set // Cathan's Mesh
//[Name] == Mask && [Quality] == set // Cathan's Visage //[Name] == Mask && [Quality] == set // Cathan's Visage
//##### Civerb's Vestment //##### Civerb's Vestment
//[Name] == GrandScepter && [Quality] == set // Civerb's Cudgel //[Name] == GrandScepter && [Quality] == set // Civerb's Cudgel
//[Type] == amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon //[Type] == Amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon
//[Name] == LargeShield && [Quality] == set // Civerb's Ward //[Name] == LargeShield && [Quality] == set // Civerb's Ward
//##### Cleglaw's Brace //##### Cleglaw's Brace
@ -548,7 +549,7 @@ Perfect Diamond
//##### Iratha's Finery //##### Iratha's Finery
//[Name] == HeavyBelt && [Quality] == set && [MinDamage] == 5 // Iratha's Cord //[Name] == HeavyBelt && [Quality] == set && [MinDamage] == 5 // Iratha's Cord
//[Name] == Crown && [Quality] == set && [FireResist] == 30 && [LightResist] == 30 // Iratha's Coil //[Name] == Crown && [Quality] == set && [FireResist] == 30 && [LightResist] == 30 // Iratha's Coil
//[Type] == amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar //[Type] == Amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar
//[Name] == LightGauntlets && [Quality] == set && [ColdResist] == 30 // Iratha's Cuff //[Name] == LightGauntlets && [Quality] == set && [ColdResist] == 30 // Iratha's Cuff
//##### Isenhart's Armory //##### Isenhart's Armory
@ -576,10 +577,10 @@ Perfect Diamond
//[Name] == FullPlateMail && [Quality] == set // Tancred's Spine //[Name] == FullPlateMail && [Quality] == set // Tancred's Spine
//[Name] == Boots && [Quality] == set && [StaminaRecoveryBonus] == 25 && [Dexterity] == 10 // Tancred's Hobnails //[Name] == Boots && [Quality] == set && [StaminaRecoveryBonus] == 25 && [Dexterity] == 10 // Tancred's Hobnails
//[Name] == MilitaryPick && [Quality] == set // Tancred's Crowbill //[Name] == MilitaryPick && [Quality] == set // Tancred's Crowbill
//[Type] == amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird //[Type] == Amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird
//##### Vidala's Rig //##### Vidala's Rig
//[Type] == amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare //[Type] == Amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare
//[Name] == LongBattleBow && [Quality] == set // Vidala's Barb //[Name] == LongBattleBow && [Quality] == set // Vidala's Barb
//[Name] == LeatherArmor && [Quality] == set // Vidala's Ambush //[Name] == LeatherArmor && [Quality] == set // Vidala's Ambush
//[Name] == LightPlatedBoots && [Quality] == set // Vidala's Fetlock //[Name] == LightPlatedBoots && [Quality] == set // Vidala's Fetlock
@ -600,7 +601,7 @@ Perfect Diamond
//[Name] == HeavyBoots && [Quality] == set && [Dexterity] == 20 && [MagicFind] == 25 // Cow King's Hooves //[Name] == HeavyBoots && [Quality] == set && [Dexterity] == 20 && [MagicFind] == 25 // Cow King's Hooves
//##### The Disciple //##### The Disciple
//[Type] == amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads //[Type] == Amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads
//[Name] == BrambleMitts && [Quality] == set // Laying of Hands //[Name] == BrambleMitts && [Quality] == set // Laying of Hands
//[Name] == DuskShroud && [Quality] == set // Dark Adherent //[Name] == DuskShroud && [Quality] == set // Dark Adherent
//[Name] == DemonhideBoots && [Quality] == set // Rite of Passage //[Name] == DemonhideBoots && [Quality] == set // Rite of Passage
@ -671,7 +672,7 @@ Perfect Diamond
[Name] == SwirlingCrystal && [Quality] == set // Tal Rasha's Lidless Eye [Name] == SwirlingCrystal && [Quality] == set // Tal Rasha's Lidless Eye
[Name] == DeathMask && [Quality] == set // Tal Rasha's Horadric Crest [Name] == DeathMask && [Quality] == set // Tal Rasha's Horadric Crest
[Name] == LacqueredPlate && [Quality] == set && [Defense] >= 900 // Tal Rasha's Guardianship [Name] == LacqueredPlate && [Quality] == set && [Defense] >= 900 // Tal Rasha's Guardianship
//[Type] == amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation //[Type] == Amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation
[Name] == MeshBelt && [Quality] == set && [MagicFind] >= 15 // Tal Rasha's Fine-Spun Cloth [Name] == MeshBelt && [Quality] == set && [MagicFind] >= 15 // Tal Rasha's Fine-Spun Cloth
//##### Trang-Oul's Avatar //##### Trang-Oul's Avatar
@ -882,60 +883,60 @@ Perfect Diamond
[Type] == circlet && [Quality] == rare && [Flag] != ethereal && [Sockets] >= 2 && [AddClassSkills] >= 2 && [Dexterity] >= 10 && [FasterCastRate] >= 20 [Type] == circlet && [Quality] == rare && [Flag] != ethereal && [Sockets] >= 2 && [AddClassSkills] >= 2 && [Dexterity] >= 10 && [FasterCastRate] >= 20
//##### Rings //##### Rings
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14 [Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14 [Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100 [Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100 [Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25 [Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10 [Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5 [Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5
//##### Amulets //##### Amulets
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85 [Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26 [Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10
//##### Jewels //##### Jewels
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [MaxDamage] == 20 //[Type] == Jewel && [Quality] == magic && [MaxDamage] == 20
//[Type] == jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15 //[Type] == Jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//##### Small Charms //##### Small Charms
[Name] == SmallCharm && [Quality] == magic && [MaxDamage] >= 3 && [AttackRating] >= 12 && [LifeMax] >= 12 [Name] == SmallCharm && [Quality] == magic && [MaxDamage] >= 3 && [AttackRating] >= 12 && [LifeMax] >= 12

View File

@ -94,6 +94,7 @@ namespace app
} }
Form1_0.SetGameStatus("CREATING GAME"); Form1_0.SetGameStatus("CREATING GAME");
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
Form1_0.KeyMouse_0.MouseClicc(1190, 990); //clic 'salon' if not in server Form1_0.KeyMouse_0.MouseClicc(1190, 990); //clic 'salon' if not in server
Form1_0.KeyMouse_0.MouseClicc(1275, 65); //clic 'create game' if not in game create area Form1_0.KeyMouse_0.MouseClicc(1275, 65); //clic 'create game' if not in game create area
@ -156,6 +157,7 @@ namespace app
Form1_0.KeyMouse_0.MouseClicc(1415, 65); //clic 'join game' if not in game list area Form1_0.KeyMouse_0.MouseClicc(1415, 65); //clic 'join game' if not in game list area
//##### //#####
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
Form1_0.KeyMouse_0.MouseClicc(1205, 210); //clic search bar Form1_0.KeyMouse_0.MouseClicc(1205, 210); //clic search bar
//type 'search' type games //type 'search' type games
for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)

View File

@ -106,7 +106,6 @@ namespace app
{ {
//Console.WriteLine("here"); //Console.WriteLine("here");
int ThisNewIndex = GetNextFreeSpaceInInventory(); int ThisNewIndex = GetNextFreeSpaceInInventory();
if (ThisNewIndex > -1) if (ThisNewIndex > -1)
{ {
//remove item from this slot //remove item from this slot
@ -127,6 +126,7 @@ namespace app
} }
//place all keys together //place all keys together
thisindex = CharConfig.KeysLocationInInventory.Item1 + (CharConfig.KeysLocationInInventory.Item2 * 10);
for (int i = 0; i < 40; i++) for (int i = 0; i < 40; i++)
{ {
if (CharConfig.InventoryDontCheckItem[i] == 0 && InventoryHasItem[i] >= 1 && InventoryItemNames[i] == "Key") if (CharConfig.InventoryDontCheckItem[i] == 0 && InventoryHasItem[i] >= 1 && InventoryItemNames[i] == "Key")
@ -254,6 +254,7 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(false); Form1_0.ItemsStruc_0.GetItems(false);
//Form1_0.KeyMouse_0.MouseClicc_RealPos(Form1_0.CenterX, Form1_0.CenterY); //Form1_0.KeyMouse_0.MouseClicc_RealPos(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.Stash_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY); Form1_0.Stash_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.Stash_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(10); Form1_0.WaitDelay(10);
} }
} }
@ -307,6 +308,8 @@ namespace app
{ {
InventoryHasUnidItem[FullIndex] = 1; InventoryHasUnidItem[FullIndex] = 1;
} }
//if (Form1_0.ItemsStruc_0.ItemNAAME == "Flawless Amethyst") Console.WriteLine(Form1_0.ItemsStruc_0.ItemNAAME + ", StashItem:" + InventoryHasStashItem[FullIndex] + ", ItemToID:" + InventoryHasItemToID[FullIndex] + ", UnidItem:" + InventoryHasUnidItem[FullIndex]);
} }
catch { } catch { }
} }

View File

@ -403,8 +403,6 @@ namespace app
GetUnitPathData(); GetUnitPathData();
GetStatsAddr(); GetStatsAddr();
if (IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation)) continue;
//Form1_0.method_1("ItemType: " + BitConverter.ToUInt32(itemdatastruc, 0).ToString() + ", TxtFileNo: " + BitConverter.ToUInt32(itemdatastruc, 4).ToString() + ", Name: " + ItemNAAME + ", Location: " + GetItemLocation(itemdatastruc[0x0C])); //Form1_0.method_1("ItemType: " + BitConverter.ToUInt32(itemdatastruc, 0).ToString() + ", TxtFileNo: " + BitConverter.ToUInt32(itemdatastruc, 4).ToString() + ", Name: " + ItemNAAME + ", Location: " + GetItemLocation(itemdatastruc[0x0C]));
//; itemLoc - 0 in inventory, 1 equipped, 2 in belt, 3 on ground, 4 cursor, 5 dropping, 6 socketed //; itemLoc - 0 in inventory, 1 equipped, 2 in belt, 3 on ground, 4 cursor, 5 dropping, 6 socketed
@ -541,18 +539,19 @@ namespace app
ItemsOnGround++; ItemsOnGround++;
//Form1_0.method_1_Items("Ground: " + ItemNAAME, GetColorFromQuality((int)itemQuality)); //Form1_0.method_1_Items("Ground: " + ItemNAAME, GetColorFromQuality((int)itemQuality));
if (DebuggingItems) if (DebuggingItems)
{ {
//GetAllValuesFromStats();
AllItemsOnGround.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Ground/Droping - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsOnGround.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Ground/Droping - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats());
} }
if (IsIncludedInList(BadItemsOnGroundPointerList, ItemPointerLocation)) continue;
if (IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation)) continue;
if (!IsPickingItem) continue;
Form1_0.UIScan_0.readUI(); Form1_0.UIScan_0.readUI();
if ((Form1_0.ItemsAlert_0.ShouldPickItem(false) || Form1_0.BeltStruc_0.ItemGrabPotion()) if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu || Form1_0.UIScan_0.fullMenu) continue;
&& (!Form1_0.UIScan_0.leftMenu && !Form1_0.UIScan_0.rightMenu && !Form1_0.UIScan_0.fullMenu)
&& IsPickingItem if ((Form1_0.ItemsAlert_0.ShouldPickItem(false) || Form1_0.BeltStruc_0.ItemGrabPotion()))
&& !IsIncludedInList(BadItemsOnGroundPointerList, ItemPointerLocation))
{ {
/*string SavePathh = Form1_0.ThisEndPath + "DumpItempPathStruc"; /*string SavePathh = Form1_0.ThisEndPath + "DumpItempPathStruc";
File.Create(SavePathh).Dispose(); File.Create(SavePathh).Dispose();
@ -775,7 +774,6 @@ namespace app
} }
} }
//#### //####
TriesToPickItemCount++; TriesToPickItemCount++;
Form1_0.KeyMouse_0.MouseClicc_RealPos(itemScreenPos.X, itemScreenPos.Y); Form1_0.KeyMouse_0.MouseClicc_RealPos(itemScreenPos.X, itemScreenPos.Y);
@ -873,9 +871,6 @@ namespace app
{ {
Form1_0.PatternsScan_0.scanForUnitsPointer("item"); Form1_0.PatternsScan_0.scanForUnitsPointer("item");
//long ItemPointMaxValue = 0;
//int ItemHighestValue = 0;
for (int i = 0; i < Form1_0.PatternsScan_0.AllItemsPointers.Count; i++) for (int i = 0; i < Form1_0.PatternsScan_0.AllItemsPointers.Count; i++)
{ {
ItemPointerLocation = Form1_0.PatternsScan_0.AllItemsPointers[i]; ItemPointerLocation = Form1_0.PatternsScan_0.AllItemsPointers[i];
@ -884,9 +879,9 @@ namespace app
itemdatastruc = new byte[144]; itemdatastruc = new byte[144];
Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144); Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144);
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(BitConverter.ToUInt32(itemdatastruc, 4)); ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(BitConverter.ToUInt32(itemdatastruc, 4));
GetStatsAddr(); GetUnitData();
GetUnitPathData(); GetUnitPathData();
//int ItemValue = GetValuesFromStats(Enums.Attribute.Value); GetStatsAddr();
//; on ground, dropping //; on ground, dropping
if (itemdatastruc[0x0C] == 3 || itemdatastruc[0x0C] == 5) if (itemdatastruc[0x0C] == 3 || itemdatastruc[0x0C] == 5)
@ -908,14 +903,6 @@ namespace app
continue; continue;
} }
//#################
/*if (ItemValue >= ItemHighestValue)
{
ItemHighestValue = ItemValue;
ItemPointMaxValue = ItemPointerLocation;
}*/
//#################
if (DiffXPlayer > 4 if (DiffXPlayer > 4
|| DiffYPlayer > 4) || DiffYPlayer > 4)
{ {
@ -940,58 +927,6 @@ namespace app
} }
} }
//clic highest value item
/*if (ItemPointMaxValue > 0)
{
ItemPointerLocation = ItemPointMaxValue;
itemdatastruc = new byte[144];
Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144);
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(BitConverter.ToUInt32(itemdatastruc, 4));
GetUnitPathData();
int ItemValue = GetValuesFromStats(Enums.Attribute.Value);
//; on ground, dropping
if (itemdatastruc[0x0C] == 3 || itemdatastruc[0x0C] == 5)
{
Form1_0.UIScan_0.readUI();
if (!Form1_0.UIScan_0.leftMenu && !Form1_0.UIScan_0.rightMenu && !Form1_0.UIScan_0.fullMenu)
{
Position itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, itemx, itemy);
if (ShouldPickPos(itemScreenPos))
{
//####
int DiffXPlayer = itemx - Form1_0.PlayerScan_0.xPosFinal;
int DiffYPlayer = itemy - Form1_0.PlayerScan_0.yPosFinal;
if (DiffXPlayer < 0) DiffXPlayer = -DiffXPlayer;
if (DiffYPlayer < 0) DiffYPlayer = -DiffYPlayer;
if (DiffXPlayer > 100 || DiffYPlayer > 100)
{
return false;
}
if (DiffXPlayer > 4
|| DiffYPlayer > 4)
{
Form1_0.Mover_0.MoveToLocation(itemx, itemy);
Form1_0.PlayerScan_0.GetPositions();
GetUnitPathData();
itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, itemx, itemy);
}
//####
Form1_0.KeyMouse_0.MouseClicc(itemScreenPos.X, itemScreenPos.Y);
if (ItemNAAME != LastPick)
{
LastPick = ItemNAAME;
Form1_0.method_1("Grabbed for gold: " + ItemNAAME + ", Value: " + ItemValue, GetColorFromQuality((int)itemQuality));
}
return true;
}
}
}
}*/
return false; return false;
} }

View File

@ -24,8 +24,8 @@ namespace app
public int CurrentObjectAreaIndex = 0; public int CurrentObjectAreaIndex = 0;
public bool[,] CurrentAreaCollisionGrid = new bool[0,0]; public bool[,] CurrentAreaCollisionGrid = new bool[0,0];
public string[] MapDataLines = new string[0]; public string[] MapDataLines = new string[0];
public List<int> AllExitsIDs = new List<int>();
public void SetForm1(Form1 form1_1) public void SetForm1(Form1 form1_1)
{ {
@ -227,6 +227,7 @@ namespace app
public List<Position> GetPositionOfAllObject(string ObjectType, string ObjectName, int AreaID, List<int> IgnoreTheseIndex, bool IgnoreName = false) public List<Position> GetPositionOfAllObject(string ObjectType, string ObjectName, int AreaID, List<int> IgnoreTheseIndex, bool IgnoreName = false)
{ {
List<Position> ThisPos = new List<Position>(); List<Position> ThisPos = new List<Position>();
AllExitsIDs = new List<int>();
if (AllMapData.Count == 0) return ThisPos; if (AllMapData.Count == 0) return ThisPos;
@ -250,6 +251,7 @@ namespace app
|| IgnoreName) || IgnoreName)
{ {
ThisPos.Add(new Position { X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X, Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y }); ThisPos.Add(new Position { X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X, Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y });
AllExitsIDs.Add(int.Parse(AllMapData[i].Objects[k].ID));
if (DebuggingMapData) if (DebuggingMapData)
{ {
@ -263,6 +265,7 @@ namespace app
|| IgnoreName) || IgnoreName)
{ {
ThisPos.Add(new Position { X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X, Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y }); ThisPos.Add(new Position { X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X, Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y });
AllExitsIDs.Add(int.Parse(AllMapData[i].Objects[k].ID));
if (DebuggingMapData) if (DebuggingMapData)
{ {

View File

@ -86,10 +86,11 @@ namespace app
{ {
if (xPosFinal != 0 && yPosFinal != 0) if (xPosFinal != 0 && yPosFinal != 0)
{ {
//Int64 pUnitDataPtr = BitConverter.ToInt64(Mercdatastruc, 0x10); Int64 pUnitDataPtr = BitConverter.ToInt64(Mercdatastruc, 0x10);
//uint dwOwnerId = Form1_0.Mem_0.ReadUInt32Raw((IntPtr)(pUnitDataPtr + 0x0c)); //uint dwOwnerId = Form1_0.Mem_0.ReadUInt32Raw((IntPtr)(pUnitDataPtr + 0x0c));
//uint dwOwnerId = BitConverter.ToUInt32(Mercdatastruc, 8); //uint dwOwnerId = BitConverter.ToUInt32(Mercdatastruc, 8);
if (Form1_0.Mem_0.ReadByteRaw((IntPtr)(pUnitDataPtr + 0x32)) != 0x0e && Form1_0.Mem_0.ReadByteRaw((IntPtr)(pUnitDataPtr + 0x33)) != 0x04)
//if (dwOwnerId == MercOwnerID && MercOwnerID != 0) //if (dwOwnerId == MercOwnerID && MercOwnerID != 0)
//{ //{
//SetHPFromStats(); //SetHPFromStats();
@ -98,7 +99,7 @@ namespace app
File.WriteAllBytes(SavePathh, Mercdatastruc);*/ File.WriteAllBytes(SavePathh, Mercdatastruc);*/
/*byte[] buffff = new byte[144]; /*byte[] buffff = new byte[144];
long pStatsListExPtr = BitConverter.ToInt64(Mercdatastruc, 0x88); long pStatsListExPtr = BitConverter.ToInt64(Mercdatastruc, 0x10);
Form1_0.Mem_0.ReadRawMemory(pStatsListExPtr, ref buffff, 500); Form1_0.Mem_0.ReadRawMemory(pStatsListExPtr, ref buffff, 500);
//pStatsListExPtr = BitConverter.ToInt64(buffff, 8); //pStatsListExPtr = BitConverter.ToInt64(buffff, 8);

View File

@ -422,6 +422,8 @@ namespace app
LastDiffX = DiffXPlayer; LastDiffX = DiffXPlayer;
LastDiffY = DiffYPlayer; LastDiffY = DiffYPlayer;
} }
xPosFinal = 0;
yPosFinal = 0;
} }
if (MobType == "") GoodMob = true; if (MobType == "") GoodMob = true;

View File

@ -51,6 +51,7 @@ namespace app
public long pRoom2Address = 0; public long pRoom2Address = 0;
public long pLevelAddress = 0; public long pLevelAddress = 0;
public long levelNo = 0; public long levelNo = 0;
public long LastlevelNo = 0;
public long pStatsListEx = 0; public long pStatsListEx = 0;
public long statPtr = 0; public long statPtr = 0;
public long statCount = 0; public long statCount = 0;
@ -237,6 +238,12 @@ namespace app
RoomExit[0] = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pRoom1Address + 0x10)); RoomExit[0] = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pRoom1Address + 0x10));
RoomExit[1] = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pRoom1Address + 0x14)); RoomExit[1] = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pRoom1Address + 0x14));
if (LastlevelNo != levelNo)
{
Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags
LastlevelNo = levelNo;
}
//; get/check for bad pointer //; get/check for bad pointer
if (levelNo == 0 && xPosFinal == 0 && yPosFinal == 0) if (levelNo == 0 && xPosFinal == 0 && yPosFinal == 0)
{ {

View File

@ -40,7 +40,7 @@ namespace app
public bool SetUI = false; public bool SetUI = false;
public int MaxTryUIOpen = 5; public int MaxTryUIOpen = 5;
public int MaxWaitingDelayForMenuInteractions = 50; public int MaxWaitingDelayForMenuInteractions = 10;
public void SetForm1(Form1 form1_1) public void SetForm1(Form1 form1_1)
{ {
@ -49,7 +49,8 @@ namespace app
public void CloseAllUIMenu() public void CloseAllUIMenu()
{ {
if (GetMenuActive("invMenu")) CloseThisMenu("invMenu"); CloseAllUIMenuButThisOne("");
/*if (GetMenuActive("invMenu")) CloseThisMenu("invMenu");
if (GetMenuActive("questsMenu")) CloseThisMenu("questsMenu"); if (GetMenuActive("questsMenu")) CloseThisMenu("questsMenu");
if (GetMenuActive("partyMenu")) CloseThisMenu("partyMenu"); if (GetMenuActive("partyMenu")) CloseThisMenu("partyMenu");
if (GetMenuActive("mercMenu")) CloseThisMenu("mercMenu"); if (GetMenuActive("mercMenu")) CloseThisMenu("mercMenu");
@ -58,7 +59,21 @@ namespace app
if (GetMenuActive("npcShop")) CloseThisMenu("npcShop"); if (GetMenuActive("npcShop")) CloseThisMenu("npcShop");
if (GetMenuActive("tradeMenu")) CloseThisMenu("tradeMenu"); if (GetMenuActive("tradeMenu")) CloseThisMenu("tradeMenu");
if (GetMenuActive("cubeMenu")) CloseThisMenu("cubeMenu"); if (GetMenuActive("cubeMenu")) CloseThisMenu("cubeMenu");
if (GetMenuActive("quitMenu")) CloseThisMenu("quitMenu"); if (GetMenuActive("quitMenu")) CloseThisMenu("quitMenu");*/
}
public void CloseAllUIMenuButThisOne(string NotThisUIMenu)
{
if (NotThisUIMenu != "invMenu" && GetMenuActive("invMenu")) CloseThisMenu("invMenu");
if (NotThisUIMenu != "questsMenu" && GetMenuActive("questsMenu")) CloseThisMenu("questsMenu");
if (NotThisUIMenu != "partyMenu" && GetMenuActive("partyMenu")) CloseThisMenu("partyMenu");
if (NotThisUIMenu != "mercMenu" && GetMenuActive("mercMenu")) CloseThisMenu("mercMenu");
if (NotThisUIMenu != "stash" && GetMenuActive("stash")) CloseThisMenu("stash");
if (NotThisUIMenu != "npcInteract" && GetMenuActive("npcInteract")) CloseThisMenu("npcInteract");
if (NotThisUIMenu != "npcShop" && GetMenuActive("npcShop")) CloseThisMenu("npcShop");
if (NotThisUIMenu != "tradeMenu" && GetMenuActive("tradeMenu")) CloseThisMenu("tradeMenu");
if (NotThisUIMenu != "cubeMenu" && GetMenuActive("cubeMenu")) CloseThisMenu("cubeMenu");
if (NotThisUIMenu != "quitMenu" && GetMenuActive("quitMenu")) CloseThisMenu("quitMenu");
} }
public void CloseThisMenu(string UIName) public void CloseThisMenu(string UIName)
@ -127,6 +142,7 @@ namespace app
{ {
break; break;
} }
CloseAllUIMenuButThisOne(UIName);
WaitTime++; WaitTime++;
} }
} }

View File

@ -235,6 +235,9 @@
<Content Include="d2r-lod-regred - Copy.ico" /> <Content Include="d2r-lod-regred - Copy.ico" />
<None Include="Resources\Download.png" /> <None Include="Resources\Download.png" />
<None Include="Resources\Update.png" /> <None Include="Resources\Update.png" />
<None Include="Resources\Load.png" />
<None Include="Resources\Save.png" />
<None Include="Resources\BMBot10.png" />
<Content Include="Settings\Char\PaladinHammer.txt"> <Content Include="Settings\Char\PaladinHammer.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>

View File

@ -287,8 +287,9 @@ Perfect Diamond
//####################################### //#######################################
//##### Helms //##### Helms
[Name] == GrimHelm && [Quality] == unique && [Flag] != ethereal // Vampire Gaze [Name] == GrimHelm && [Quality] == unique && [Flag] != ethereal // Vampire Gaze
[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest //[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest
[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest //[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
[Name] == Shako && [Quality] == unique // Harlequin Crest
[Name] == Demonhead && [Quality] == unique // Andariel's Visage [Name] == Demonhead && [Quality] == unique // Andariel's Visage
[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal [Name] == Demonhead && [Quality] == unique && [Flag] != ethereal
[Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull [Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull
@ -428,33 +429,33 @@ Perfect Diamond
[Name] == Diadem && [Quality] == unique && [Defense] >= 160 && [PassiveMagicMastery]+[PassiveMagicPierce] >= 25 // Griffon's Eye [Name] == Diadem && [Quality] == unique && [Defense] >= 160 && [PassiveMagicMastery]+[PassiveMagicPierce] >= 25 // Griffon's Eye
//##### Rings //##### Rings
[Type] == ring && [Quality] == unique && [MagicFind] == 30 // Nagelring [Type] == Ring && [Quality] == unique && [MagicFind] == 30 // Nagelring
//[Type] == ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal //[Type] == Ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal
[Type] == ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan [Type] == Ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan
[Type] == ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star [Type] == Ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star
[Type] == ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost [Type] == Ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost
[Type] == ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band [Type] == Ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band
[Type] == ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind [Type] == Ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind
[Type] == ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace [Type] == Ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace
[Type] == ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector [Type] == Ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector
//##### Amulets //##### Amulets
[Type] == amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance [Type] == Amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance
[Type] == amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye [Type] == Amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye
[Type] == amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon [Type] == Amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon
[Type] == amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab [Type] == Amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab
[Type] == amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun [Type] == Amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun
//[Type] == amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath //[Type] == Amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath
[Type] == amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope [Type] == Amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope
//[Type] == amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn //[Type] == Amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn
[Type] == amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid [Type] == Amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid
//##### Jewels //##### Jewels
[Type] == jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet [Type] == Jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet //[Type] == Jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet
//##### Small Charms //##### Small Charms
[Name] == SmallCharm && [Quality] == unique // Annihilus [Name] == SmallCharm && [Quality] == unique // Annihilus
@ -494,11 +495,11 @@ Perfect Diamond
//##### Angelic Raiment //##### Angelic Raiment
//[Name] == RingMail && [Quality] == set // Angelic Mantle //[Name] == RingMail && [Quality] == set // Angelic Mantle
//[Name] == Sabre && [Quality] == set // Angelic Sickle //[Name] == Sabre && [Quality] == set // Angelic Sickle
//[Type] == ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo //[Type] == Ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo
//[Type] == amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings //[Type] == Amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings
//##### Arcanna's Tricks //##### Arcanna's Tricks
//[Type] == amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign //[Type] == Amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign
//[Name] == SkullCap && [Quality] == set // Arcanna's Head //[Name] == SkullCap && [Quality] == set // Arcanna's Head
//[Name] == LightPlate && [Quality] == set // Arcanna's Flesh //[Name] == LightPlate && [Quality] == set // Arcanna's Flesh
//[Name] == WarStaff && [Quality] == set // Arcanna's Deathwand //[Name] == WarStaff && [Quality] == set // Arcanna's Deathwand
@ -515,14 +516,14 @@ Perfect Diamond
//[Name] == DoubleAxe && [Quality] == set // Berserker's Hatchet //[Name] == DoubleAxe && [Quality] == set // Berserker's Hatchet
//##### Cathan's Traps //##### Cathan's Traps
//[Type] == ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal //[Type] == Ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal
//[Type] == amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil //[Type] == Amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil
//[Name] == ChainMail && [Quality] == set // Cathan's Mesh //[Name] == ChainMail && [Quality] == set // Cathan's Mesh
//[Name] == Mask && [Quality] == set // Cathan's Visage //[Name] == Mask && [Quality] == set // Cathan's Visage
//##### Civerb's Vestment //##### Civerb's Vestment
//[Name] == GrandScepter && [Quality] == set // Civerb's Cudgel //[Name] == GrandScepter && [Quality] == set // Civerb's Cudgel
//[Type] == amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon //[Type] == Amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon
//[Name] == LargeShield && [Quality] == set // Civerb's Ward //[Name] == LargeShield && [Quality] == set // Civerb's Ward
//##### Cleglaw's Brace //##### Cleglaw's Brace
@ -548,7 +549,7 @@ Perfect Diamond
//##### Iratha's Finery //##### Iratha's Finery
//[Name] == HeavyBelt && [Quality] == set && [MinDamage] == 5 // Iratha's Cord //[Name] == HeavyBelt && [Quality] == set && [MinDamage] == 5 // Iratha's Cord
//[Name] == Crown && [Quality] == set && [FireResist] == 30 && [LightResist] == 30 // Iratha's Coil //[Name] == Crown && [Quality] == set && [FireResist] == 30 && [LightResist] == 30 // Iratha's Coil
//[Type] == amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar //[Type] == Amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar
//[Name] == LightGauntlets && [Quality] == set && [ColdResist] == 30 // Iratha's Cuff //[Name] == LightGauntlets && [Quality] == set && [ColdResist] == 30 // Iratha's Cuff
//##### Isenhart's Armory //##### Isenhart's Armory
@ -576,10 +577,10 @@ Perfect Diamond
//[Name] == FullPlateMail && [Quality] == set // Tancred's Spine //[Name] == FullPlateMail && [Quality] == set // Tancred's Spine
//[Name] == Boots && [Quality] == set && [StaminaRecoveryBonus] == 25 && [Dexterity] == 10 // Tancred's Hobnails //[Name] == Boots && [Quality] == set && [StaminaRecoveryBonus] == 25 && [Dexterity] == 10 // Tancred's Hobnails
//[Name] == MilitaryPick && [Quality] == set // Tancred's Crowbill //[Name] == MilitaryPick && [Quality] == set // Tancred's Crowbill
//[Type] == amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird //[Type] == Amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird
//##### Vidala's Rig //##### Vidala's Rig
//[Type] == amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare //[Type] == Amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare
//[Name] == LongBattleBow && [Quality] == set // Vidala's Barb //[Name] == LongBattleBow && [Quality] == set // Vidala's Barb
//[Name] == LeatherArmor && [Quality] == set // Vidala's Ambush //[Name] == LeatherArmor && [Quality] == set // Vidala's Ambush
//[Name] == LightPlatedBoots && [Quality] == set // Vidala's Fetlock //[Name] == LightPlatedBoots && [Quality] == set // Vidala's Fetlock
@ -600,7 +601,7 @@ Perfect Diamond
//[Name] == HeavyBoots && [Quality] == set && [Dexterity] == 20 && [MagicFind] == 25 // Cow King's Hooves //[Name] == HeavyBoots && [Quality] == set && [Dexterity] == 20 && [MagicFind] == 25 // Cow King's Hooves
//##### The Disciple //##### The Disciple
//[Type] == amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads //[Type] == Amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads
//[Name] == BrambleMitts && [Quality] == set // Laying of Hands //[Name] == BrambleMitts && [Quality] == set // Laying of Hands
//[Name] == DuskShroud && [Quality] == set // Dark Adherent //[Name] == DuskShroud && [Quality] == set // Dark Adherent
//[Name] == DemonhideBoots && [Quality] == set // Rite of Passage //[Name] == DemonhideBoots && [Quality] == set // Rite of Passage
@ -671,7 +672,7 @@ Perfect Diamond
[Name] == SwirlingCrystal && [Quality] == set // Tal Rasha's Lidless Eye [Name] == SwirlingCrystal && [Quality] == set // Tal Rasha's Lidless Eye
[Name] == DeathMask && [Quality] == set // Tal Rasha's Horadric Crest [Name] == DeathMask && [Quality] == set // Tal Rasha's Horadric Crest
[Name] == LacqueredPlate && [Quality] == set && [Defense] >= 900 // Tal Rasha's Guardianship [Name] == LacqueredPlate && [Quality] == set && [Defense] >= 900 // Tal Rasha's Guardianship
//[Type] == amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation //[Type] == Amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation
[Name] == MeshBelt && [Quality] == set && [MagicFind] >= 15 // Tal Rasha's Fine-Spun Cloth [Name] == MeshBelt && [Quality] == set && [MagicFind] >= 15 // Tal Rasha's Fine-Spun Cloth
//##### Trang-Oul's Avatar //##### Trang-Oul's Avatar
@ -882,60 +883,60 @@ Perfect Diamond
[Type] == circlet && [Quality] == rare && [Flag] != ethereal && [Sockets] >= 2 && [AddClassSkills] >= 2 && [Dexterity] >= 10 && [FasterCastRate] >= 20 [Type] == circlet && [Quality] == rare && [Flag] != ethereal && [Sockets] >= 2 && [AddClassSkills] >= 2 && [Dexterity] >= 10 && [FasterCastRate] >= 20
//##### Rings //##### Rings
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14 [Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14 [Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100 [Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100 [Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25 [Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10 [Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5 [Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5 [Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5
//##### Amulets //##### Amulets
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85 [Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26 [Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26 [Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10 [Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10
//##### Jewels //##### Jewels
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12 //[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [MaxDamage] == 20 //[Type] == Jewel && [Quality] == magic && [MaxDamage] == 20
//[Type] == jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15 //[Type] == Jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7 //[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15 //[Type] == Jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//##### Small Charms //##### Small Charms
[Name] == SmallCharm && [Quality] == magic && [MaxDamage] >= 3 && [AttackRating] >= 12 && [LifeMax] >= 12 [Name] == SmallCharm && [Quality] == magic && [MaxDamage] >= 3 && [AttackRating] >= 12 && [LifeMax] >= 12

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.