This commit is contained in:
Bouletmarc 2024-04-14 21:51:35 -04:00
parent 19132ef2ba
commit 5e3f5036c9
60 changed files with 2784 additions and 964 deletions

View File

@ -66,17 +66,32 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.CatacombsLevel3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.CatacombsLevel3);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.CatacombsLevel4)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CatacombsLevel2)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.CatacombsLevel4);
CurrentStep++;
@ -84,11 +99,13 @@ namespace app
if (CurrentStep == 3)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CatacombsLevel3)
{
CurrentStep--;
return;
}
//####
/*X: 22561,
Y: 9553,*/
@ -144,16 +161,16 @@ namespace app
Form1_0.Battle_0.DoBattleScript(15);
}
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -63,7 +63,7 @@ namespace app
public void RunScript()
{
Form1_0.Town_0.ScriptTownAct = 4; //set to town act 4 when running this script
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 4 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
@ -84,7 +84,7 @@ namespace app
{
Form1_0.SetGameStatus("DOING BAAL");
Form1_0.Battle_0.CastDefense();
Form1_0.WaitDelay(15);
//Form1_0.WaitDelay(15);
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TheWorldStoneKeepLevel2)
{
@ -99,17 +99,32 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TheWorldStoneKeepLevel3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.TheWorldStoneKeepLevel3);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ThroneOfDestruction)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.TheWorldStoneKeepLevel2)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.ThroneOfDestruction);
Form1_0.Town_0.TPSpawned = false;
@ -118,11 +133,13 @@ namespace app
if (CurrentStep == 3)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TheWorldStoneKeepLevel3)
{
CurrentStep--;
return;
}
//####
if (Form1_0.PublicGame && !Form1_0.Town_0.TPSpawned)
{
@ -167,12 +184,15 @@ namespace app
if (CurrentStep == 5)
{
//clear waves
if (Form1_0.PlayerScan_0.xPosFinal < ThronePos.X - 3
|| Form1_0.PlayerScan_0.xPosFinal > ThronePos.X + 3
|| Form1_0.PlayerScan_0.yPosFinal < ThronePos.Y - 3
|| Form1_0.PlayerScan_0.yPosFinal > ThronePos.Y + 3)
if (Form1_0.PlayerScan_0.xPosFinal < ThronePos.X - 4
|| Form1_0.PlayerScan_0.xPosFinal > ThronePos.X + 4
|| Form1_0.PlayerScan_0.yPosFinal < ThronePos.Y - 4
|| Form1_0.PlayerScan_0.yPosFinal > ThronePos.Y + 4)
{
Form1_0.PathFinding_0.MoveToThisPos(ThronePos, 4, true);
if (!Form1_0.Battle_0.ClearingArea && !Form1_0.Battle_0.DoingBattle)
{
Form1_0.PathFinding_0.MoveToThisPos(ThronePos, 2, true);
}
}
else
{
@ -181,11 +201,18 @@ namespace app
if (!Wave5Cleared)
{
if (Form1_0.PublicGame && Form1_0.PlayerScan_0.HasAnyPlayerInArea((int)Enums.Area.TheWorldstoneChamber))
{
Form1_0.method_1("People detected in Worldstone chamber, switching to baal script!", Color.Red);
CurrentStep++;
}
//DETECT OTHERS WAVES FOR CASTING
if (!TimeSinceLastWaveSet && !Form1_0.MobsStruc_0.GetMobs("", "", true, 25, IgnoredMobs))
{
TimeSinceLastWaveDone = DateTime.Now;
TimeSinceLastWaveSet = true;
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
}
//START CASTING IN ADVANCE
@ -200,6 +227,7 @@ namespace app
{
TimeSinceLastWaveDone = DateTime.Now;
TimeSinceLastWaveSet = false;
Form1_0.Battle_0.DoBattleScript(30);
}
//#### DETECT WAVE 5
@ -209,15 +237,15 @@ namespace app
{
Wave5Detected = true;
}
else
{
else
{
if (Wave5Detected)
{
if (!Form1_0.MobsStruc_0.GetMobs("", "", true, 25, IgnoredMobs))
{
Wave5Cleared = true;
}
}
}
}
}
//####
@ -240,7 +268,7 @@ namespace app
&& Form1_0.PlayerScan_0.yPosFinal >= 5880 - 40
&& Form1_0.PlayerScan_0.yPosFinal <= 5880 + 40)
{
Form1_0.Battle_0.CastDefense();
//Form1_0.Battle_0.CastDefense();
CurrentStep++;
}
else
@ -279,8 +307,8 @@ namespace app
if (CurrentStep == 7)
{
Form1_0.SetGameStatus("MOVING TO BAAL");
Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 15134, Y = 5927 });
Form1_0.WaitDelay(50); //wait a bit to detect baal
Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 15134, Y = 5920 });
//Form1_0.WaitDelay(50); //wait a bit to detect baal
CurrentStep++;
}
@ -297,17 +325,21 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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.PublicGame) Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Battle_0.ClearingArea = false;
Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.UseLastTP = false;
@ -318,12 +350,30 @@ namespace app
{
Form1_0.method_1("Baal not detected!", Color.Red);
for (int i = 0; i < 140; i++)
{
Form1_0.PlayerScan_0.GetPositions();
Form1_0.Battle_0.SetSkills();
Form1_0.Battle_0.CastSkills();
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.ItemsStruc_0.GetItems(false);
Form1_0.overlayForm.UpdateOverlay();
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal?
}
//baal not detected...
Form1_0.ItemsStruc_0.GetItems(true);
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal?
//if (!Form1_0.PublicGame) Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Battle_0.ClearingArea = false;
Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.UseLastTP = false;

View File

@ -413,7 +413,7 @@ namespace app
&& Form1_0.PlayerScan_0.yPosFinal >= 5880 - 40
&& Form1_0.PlayerScan_0.yPosFinal <= 5880 + 40)
{
Form1_0.Battle_0.CastDefense();
//Form1_0.Battle_0.CastDefense();
CurrentStep++;
}
else
@ -488,16 +488,16 @@ namespace app
Form1_0.method_1("KILLED BAAL MANUALLY!", Color.DarkMagenta);
}
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
SearchSameGamesAsLastOne = true;
@ -511,6 +511,21 @@ namespace app
{
Form1_0.method_1("Baal not detected!", Color.Red);
for (int i = 0; i < 60; i++)
{
Form1_0.PlayerScan_0.GetPositions();
Form1_0.Battle_0.SetSkills();
Form1_0.Battle_0.CastSkills();
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.ItemsStruc_0.GetItems(false);
Form1_0.overlayForm.UpdateOverlay();
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal?
}
//baal not detected...
Form1_0.ItemsStruc_0.GetItems(true);
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal?

View File

@ -20,6 +20,8 @@ namespace app
public Position EntrancePos = new Position { X = 7796, Y = 5561 };
public Position DiabloSpawnPos = new Position { X = 7800, Y = 5286 };
public Position TPPos = new Position { X = 7760, Y = 5305 };
public Position CurrentSealPos = new Position { X = 0, Y = 0 };
public DateTime StartTimeUniqueBossWaiting = DateTime.Now;
@ -27,6 +29,9 @@ namespace app
public int TryCountWaitingUniqueBoss = 0;
public int BufferPathFindingMoveSize = 0;
public int SealType = 0;
public bool MovedToTPPos = false;
public void SetForm1(Form1 form1_1)
{
@ -41,6 +46,7 @@ namespace app
TimeSetForWaitingUniqueBoss = false;
TryCountWaitingUniqueBoss = 0;
StartTimeUniqueBossWaiting = DateTime.Now;
MovedToTPPos = false;
}
public void DetectCurrentStep()
@ -72,7 +78,7 @@ namespace app
{
Form1_0.SetGameStatus("DOING CHAOS");
Form1_0.Battle_0.CastDefense();
Form1_0.WaitDelay(15);
//Form1_0.WaitDelay(15);
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.RiverOfFlame)
{
@ -91,6 +97,14 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ChaosSanctuary)
{
CurrentStep++;
return;
}
//####
//Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.ChaosSanctuary);
//Form1_0.PathFinding_0.MoveToThisPos(EntrancePos);
//CurrentStep++;
@ -98,14 +112,26 @@ namespace app
Position MidPos = new Position { X = 7800, Y = 5761 };
if (Form1_0.Mover_0.MoveToLocation(MidPos.X, MidPos.Y))
{
Form1_0.Town_0.TPSpawned = false;
CurrentStep++;
}
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ChaosSanctuary)
{
CurrentStep++;
return;
}
//####
if (Form1_0.Mover_0.MoveToLocation(EntrancePos.X, EntrancePos.Y))
{
if (Form1_0.PublicGame && !Form1_0.Town_0.TPSpawned) Form1_0.Town_0.SpawnTP();
Form1_0.Town_0.TPSpawned = false;
BufferPathFindingMoveSize = Form1_0.PathFinding_0.AcceptMoveOffset;
Form1_0.PathFinding_0.AcceptMoveOffset = 15;
@ -145,11 +171,17 @@ namespace app
}
else
{
Form1_0.SetGameStatus("WAITING VIZIER " + (TryCountWaitingUniqueBoss + 1) + "/3");
if (CurrentSealPos.Y == 5275) SealType = 1;
else SealType = 2;
if (SealType == 1) Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 7691, Y = 5292 }, 4, true);
else Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 7695, Y = 5316 }, 4, true);
Form1_0.SetGameStatus("WAITING VIZIER " + (TryCountWaitingUniqueBoss + 1) + "/1");
bool UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Grand Vizier of Chaos", false, 200, new List<long>());
while (!UniqueDetected && (DateTime.Now - StartTimeUniqueBossWaiting).TotalSeconds < 5)
while (!UniqueDetected && (DateTime.Now - StartTimeUniqueBossWaiting).TotalSeconds < 2)
{
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Grand Vizier of Chaos", false, 200, new List<long>());
@ -159,21 +191,17 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.Battle_0.DoBattleScript(10);
//###
Form1_0.Battle_0.SetSkills();
Form1_0.Battle_0.CastSkills();
//###
Application.DoEvents();
}
if (!UniqueDetected)
{
if (TryCountWaitingUniqueBoss < 3)
{
TryCountWaitingUniqueBoss++;
StartTimeUniqueBossWaiting = DateTime.Now;
}
else
{
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
else
{
@ -196,7 +224,22 @@ namespace app
}
else
{
Form1_0.PathFinding_0.MoveToObject("DiabloSeal5", 4, true);
if (Form1_0.PlayerScan_0.xPosFinal >= (TPPos.X - 5)
&& Form1_0.PlayerScan_0.xPosFinal <= (TPPos.X + 5)
&& Form1_0.PlayerScan_0.yPosFinal >= (TPPos.Y - 5)
&& Form1_0.PlayerScan_0.yPosFinal <= (TPPos.Y + 5))
{
if (Form1_0.PublicGame && !Form1_0.Town_0.TPSpawned) Form1_0.Town_0.SpawnTP();
Form1_0.Battle_0.CastDefense();
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
MovedToTPPos = true;
Form1_0.PathFinding_0.MoveToObject("DiabloSeal5", 4, true);
}
else
{
if (!MovedToTPPos) Form1_0.PathFinding_0.MoveToThisPos(TPPos, 4, true);
else Form1_0.PathFinding_0.MoveToObject("DiabloSeal5", 4, true);
}
}
}
@ -251,11 +294,22 @@ namespace app
}
else
{
Form1_0.SetGameStatus("WAITING LORD DE SEIS " + (TryCountWaitingUniqueBoss + 1) + "/3");
if (CurrentSealPos.X == 7773) SealType = 1;
else SealType = 2;
if (SealType == 1)
{
Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 7794, Y = 5227 }, 4, true);
//NTM_MoveTo(108, 7797, 5201);
//for (int i = 0; i < 3; i += 1) NTM_TeleportTo(7794, 5227);
}
else Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 7798, Y = 5186 }, 4, true);
Form1_0.SetGameStatus("WAITING LORD DE SEIS " + (TryCountWaitingUniqueBoss + 1) + "/1");
bool UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Lord De Seis", false, 200, new List<long>());
while (!UniqueDetected && (DateTime.Now - StartTimeUniqueBossWaiting).TotalSeconds < 5)
while (!UniqueDetected && (DateTime.Now - StartTimeUniqueBossWaiting).TotalSeconds < 2)
{
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Lord De Seis", false, 200, new List<long>());
@ -265,21 +319,19 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.Battle_0.DoBattleScript(10);
//###
Form1_0.Battle_0.SetSkills();
Form1_0.Battle_0.CastSkills();
//###
Application.DoEvents();
}
if (!UniqueDetected)
{
if (TryCountWaitingUniqueBoss < 3)
{
TryCountWaitingUniqueBoss++;
StartTimeUniqueBossWaiting = DateTime.Now;
}
else
{
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
Form1_0.Battle_0.CastDefense();
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
else
{
@ -293,6 +345,8 @@ namespace app
}
else
{
Form1_0.Battle_0.CastDefense();
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
@ -358,13 +412,19 @@ namespace app
}
else
{
Form1_0.SetGameStatus("WAITING INFECTOR " + (TryCountWaitingUniqueBoss + 1) + "/3");
if (CurrentSealPos.X == 7893) SealType = 1;
else SealType = 2;
bool UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Infector of Souls", false, 200, new List<long>());
if (SealType == 1) SealType = 1; // temp
else Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 7933, Y = 5299 }, 4, true);
while (!UniqueDetected && (DateTime.Now - StartTimeUniqueBossWaiting).TotalSeconds < 5)
Form1_0.SetGameStatus("WAITING INFECTOR " + (TryCountWaitingUniqueBoss + 1) + "/1");
bool UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Winged Death", false, 200, new List<long>());
while (!UniqueDetected && (DateTime.Now - StartTimeUniqueBossWaiting).TotalSeconds < 2)
{
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Infector of Souls", false, 200, new List<long>());
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Winged Death", false, 200, new List<long>());
Form1_0.PlayerScan_0.GetPositions();
Form1_0.overlayForm.UpdateOverlay();
@ -372,34 +432,32 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.Battle_0.DoBattleScript(10);
//###
Form1_0.Battle_0.SetSkills();
Form1_0.Battle_0.CastSkills();
//###
Application.DoEvents();
}
if (!UniqueDetected)
{
if (TryCountWaitingUniqueBoss < 3)
{
TryCountWaitingUniqueBoss++;
StartTimeUniqueBossWaiting = DateTime.Now;
}
else
{
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
else
{
Form1_0.SetGameStatus("KILLING INFECTOR");
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Infector of Souls", false, 200, new List<long>()))
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Winged Death", false, 200, new List<long>()))
{
if (Form1_0.MobsStruc_0.MobsHP > 0)
{
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Infector of Souls");
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Winged Death");
}
else
{
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
TimeSetForWaitingUniqueBoss = false;
CurrentStep++;
}
@ -416,7 +474,8 @@ namespace app
if (CurrentStep == 8)
{
Form1_0.PathFinding_0.MoveToThisPos(DiabloSpawnPos);
Form1_0.PathFinding_0.MoveToThisPos(DiabloSpawnPos, 4, true);
Form1_0.Battle_0.CastDefense();
CurrentStep++;
}
@ -472,16 +531,16 @@ namespace app
Form1_0.Battle_0.DoBattleScript(15);
}
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -68,6 +68,13 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ForgottenTower)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.ForgottenTower);
CurrentStep++;
@ -75,11 +82,18 @@ namespace app
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TowerCellarLevel1)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BlackMarsh)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.TowerCellarLevel1);
CurrentStep++;
@ -87,11 +101,18 @@ namespace app
if (CurrentStep == 3)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TowerCellarLevel2)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ForgottenTower)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.TowerCellarLevel2);
CurrentStep++;
@ -99,11 +120,18 @@ namespace app
if (CurrentStep == 4)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TowerCellarLevel3)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.TowerCellarLevel1)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.TowerCellarLevel3);
CurrentStep++;
@ -111,11 +139,18 @@ namespace app
if (CurrentStep == 5)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TowerCellarLevel3)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.TowerCellarLevel2)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.TowerCellarLevel4);
CurrentStep++;
@ -123,11 +158,18 @@ namespace app
if (CurrentStep == 6)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TowerCellarLevel4)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.TowerCellarLevel3)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.TowerCellarLevel5);
CurrentStep++;
@ -135,11 +177,13 @@ namespace app
if (CurrentStep == 7)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.TowerCellarLevel4)
{
CurrentStep--;
return;
}
//####
MapAreaStruc.Position ThisChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "GoodChest", (int) Enums.Area.TowerCellarLevel5, new List<int>());
@ -162,16 +206,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -70,6 +70,14 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo >= (int)Enums.Area.TalRashasTomb1 && Form1_0.PlayerScan_0.levelNo <= (int)Enums.Area.TalRashasTomb7)
{
CurrentStep++;
return;
}
//####
//id":152, "type":"object", "x":453, "y":258, "name":"orifice", "op":25, "class":"quest"}
//Detect the correct tomb where Duriel hide
OrificePos = Form1_0.MapAreaStruc_0.GetAreaOfObject("object", "HoradricOrifice", new List<int>(), 65, 72);
@ -174,16 +182,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -80,16 +80,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -64,17 +64,28 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.DuranceOfHateLevel3);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.DuranceOfHateLevel2)
{
CurrentStep = 1;
return;
}
//####
/*X: 22561,
Y: 9553,*/
if (Form1_0.Mover_0.MoveToLocation(17568, 8069))
@ -85,11 +96,13 @@ namespace app
if (CurrentStep == 3)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.DuranceOfHateLevel2)
{
CurrentStep = 1;
return;
}
//####
Form1_0.Potions_0.CanUseSkillForRegen = false;
Form1_0.SetGameStatus("KILLING MEPHISTO");
@ -101,16 +114,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
@ -118,6 +131,7 @@ namespace app
//if (Form1_0.Mover_0.MoveToLocation(ThisFinalPosition.X, ThisFinalPosition.Y))
while (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
{
Form1_0.ItemsStruc_0.GetItems(true);
if (Form1_0.Mover_0.MoveToLocation(17601, 8070))
{
Dictionary<string, int> itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, 17601, 8070);

View File

@ -65,17 +65,27 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.HallsOfVaught)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.HallsOfVaught);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.HallsOfPain)
{
CurrentStep = 1;
return;
}
//####
Form1_0.PathFinding_0.MoveToNPC("Nihlatak");
CurrentStep++;
@ -93,16 +103,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -81,16 +81,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -66,6 +66,14 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.CatacombsLevel3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.CatacombsLevel3);
Form1_0.Town_0.TPSpawned = false;
CurrentStep++;
@ -73,11 +81,18 @@ namespace app
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.CatacombsLevel4)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CatacombsLevel2)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.CatacombsLevel4);
CurrentStep++;
@ -85,11 +100,13 @@ namespace app
if (CurrentStep == 3)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CatacombsLevel3)
{
CurrentStep--;
return;
}
//####
Form1_0.SetGameStatus("Andariel waiting on leecher");
@ -135,16 +152,16 @@ namespace app
Form1_0.Battle_0.DoBattleScript(15);
}
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -100,17 +100,32 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TheWorldStoneKeepLevel3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.TheWorldStoneKeepLevel3);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ThroneOfDestruction)
{
CurrentStep++;
return;
}
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.TheWorldStoneKeepLevel2)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.ThroneOfDestruction);
Form1_0.Town_0.TPSpawned = false;
@ -119,11 +134,13 @@ namespace app
if (CurrentStep == 3)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TheWorldStoneKeepLevel3)
{
CurrentStep--;
return;
}
//####
if (!Form1_0.Town_0.TPSpawned)
{
@ -334,16 +351,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);

View File

@ -91,6 +91,14 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ChaosSanctuary)
{
CurrentStep++;
return;
}
//####
//Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.ChaosSanctuary);
//Form1_0.PathFinding_0.MoveToThisPos(EntrancePos);
//CurrentStep++;
@ -105,6 +113,14 @@ namespace app
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ChaosSanctuary)
{
CurrentStep++;
return;
}
//####
if (Form1_0.Mover_0.MoveToLocation(EntrancePos.X, EntrancePos.Y))
{
BufferPathFindingMoveSize = Form1_0.PathFinding_0.AcceptMoveOffset;
@ -516,16 +532,16 @@ namespace app
Form1_0.Battle_0.DoBattleScript(15);
}
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -72,6 +72,14 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo >= (int)Enums.Area.TalRashasTomb1 && Form1_0.PlayerScan_0.levelNo <= (int)Enums.Area.TalRashasTomb7)
{
CurrentStep++;
return;
}
//####
//id":152, "type":"object", "x":453, "y":258, "name":"orifice", "op":25, "class":"quest"}
//Detect the correct tomb where Duriel hide
OrificePos = Form1_0.MapAreaStruc_0.GetAreaOfObject("object", "HoradricOrifice", new List<int>(), 65, 72);
@ -209,16 +217,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -69,17 +69,32 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.MaggotLairLevel1)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.MaggotLairLevel1);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.MaggotLairLevel2)
{
CurrentStep++;
return;
}
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.MaggotLairLevel1)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.MaggotLairLevel2);
CurrentStep++;
@ -87,11 +102,18 @@ namespace app
if (CurrentStep == 3)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.MaggotLairLevel3)
{
CurrentStep++;
return;
}
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.MaggotLairLevel2)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.MaggotLairLevel3);
CurrentStep++;
@ -99,11 +121,13 @@ namespace app
if (CurrentStep == 4)
{
//####
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.MaggotLairLevel3)
{
CurrentStep--;
return;
}
//####
ChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "StaffOfKingsChest", (int) Enums.Area.MaggotLairLevel3, new List<int>());
if (ChestPos.X != 0 && ChestPos.Y != 0)

View File

@ -67,17 +67,27 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.HallsOfTheDeadLevel3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.HallsOfTheDeadLevel3);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.HallsOfTheDeadLevel3)
{
CurrentStep--;
return;
}
//####
ChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "HoradricCubeChest", (int) Enums.Area.HallsOfTheDeadLevel3, new List<int>());
if (ChestPos.X != 0 && ChestPos.Y != 0)

View File

@ -69,6 +69,13 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.FlayerDungeonLevel1)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.FlayerDungeonLevel1);
CurrentStep++;
@ -76,11 +83,18 @@ namespace app
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.FlayerDungeonLevel2)
{
CurrentStep++;
return;
}
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.FlayerDungeonLevel1)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.FlayerDungeonLevel2);
CurrentStep++;
@ -88,11 +102,18 @@ namespace app
if (CurrentStep == 3)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.FlayerDungeonLevel3)
{
CurrentStep++;
return;
}
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.FlayerDungeonLevel2)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.FlayerDungeonLevel3);
CurrentStep++;
@ -100,11 +121,13 @@ namespace app
if (CurrentStep == 4)
{
//####
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.FlayerDungeonLevel3)
{
CurrentStep--;
return;
}
//####
ChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "KhalimChest2", (int) Enums.Area.FlayerDungeonLevel3, new List<int>());
if (ChestPos.X != 0 && ChestPos.Y != 0)

View File

@ -67,17 +67,27 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.SpiderCavern)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.SpiderCavern);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.SpiderCavern)
{
CurrentStep--;
return;
}
//####
ChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "KhalimChest3", (int) Enums.Area.SpiderCavern, new List<int>());
if (ChestPos.X != 0 && ChestPos.Y != 0)

View File

@ -68,6 +68,13 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.SewersLevel1Act3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.SewersLevel1Act3);
CurrentStep++;
@ -75,11 +82,18 @@ namespace app
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.SewersLevel2Act3)
{
CurrentStep++;
return;
}
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.SewersLevel1Act3)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.SewersLevel2Act3);
@ -119,11 +133,13 @@ namespace app
if (CurrentStep == 3)
{
//####
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.SewersLevel2Act3)
{
CurrentStep--;
return;
}
//####
ChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "KhalimChest1", (int) Enums.Area.SewersLevel2Act3, new List<int>());
if (ChestPos.X != 0 && ChestPos.Y != 0)

View File

@ -69,17 +69,32 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ValleyOfSnakes)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.ValleyOfSnakes);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ClawViperTempleLevel1)
{
CurrentStep++;
return;
}
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.ValleyOfSnakes)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.ClawViperTempleLevel1);
CurrentStep++;
@ -87,11 +102,18 @@ namespace app
if (CurrentStep == 3)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.ClawViperTempleLevel2)
{
CurrentStep++;
return;
}
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.ClawViperTempleLevel1)
{
CurrentStep--;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.ClawViperTempleLevel2);
CurrentStep++;
@ -99,11 +121,13 @@ namespace app
if (CurrentStep == 4)
{
//####
if (Form1_0.PlayerScan_0.levelNo != (int)Enums.Area.ClawViperTempleLevel2)
{
CurrentStep--;
return;
}
//####
ChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "TaintedSunAltar", (int) Enums.Area.ClawViperTempleLevel2, new List<int>());
if (ChestPos.X != 0 && ChestPos.Y != 0)

View File

@ -65,17 +65,28 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.DuranceOfHateLevel3);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.DuranceOfHateLevel2)
{
CurrentStep--;
return;
}
//####
//17568, 8069
if (Form1_0.Mover_0.MoveToLocation(17574, 8096))
{
@ -86,11 +97,13 @@ namespace app
if (CurrentStep == 3)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.DuranceOfHateLevel2)
{
CurrentStep--;
return;
}
//####
if (!Form1_0.Town_0.TPSpawned) Form1_0.Town_0.SpawnTP();
@ -110,11 +123,13 @@ namespace app
if (CurrentStep == 4)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.DuranceOfHateLevel2)
{
CurrentStep--;
return;
}
//####
if (!Form1_0.Town_0.TPSpawned) Form1_0.Town_0.SpawnTP();
@ -128,16 +143,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -67,17 +67,27 @@ namespace app
if (CurrentStep == 1)
{
//####
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.SewersLevel3Act2)
{
CurrentStep++;
return;
}
//####
Form1_0.PathFinding_0.MoveToExit(Enums.Area.SewersLevel3Act2);
CurrentStep++;
}
if (CurrentStep == 2)
{
//####
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.SewersLevel2Act2)
{
CurrentStep--;
return;
}
//####
RadamentPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("npc", "Radament2", (int) Enums.Area.SewersLevel3Act2, new List<int>());
if (RadamentPosition.X != 0 && RadamentPosition.Y != 0)

View File

@ -91,16 +91,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -75,16 +75,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -112,16 +112,16 @@ namespace app
}
else
{
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GetItems(true);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;

View File

@ -46,6 +46,7 @@ namespace app
//#######################################
public static string PlayerCharName = ""; //CHAR NAME
public static bool UseTeleport = true;
public static bool UseBO = true;
public static int ChickenHP = 22; //VALUE IN PERCENT
public static int TakeHPPotUnder = 85; //VALUE IN PERCENT
public static int TakeRVPotUnder = 35; //VALUE IN PERCENT

View File

@ -195,6 +195,7 @@ namespace app
if (Splitted[0] == "PlayerCharName") AllLines[i] = "PlayerCharName=" + CharConfig.PlayerCharName;
if (Splitted[0] == "UseTeleport") AllLines[i] = "UseTeleport=" + CharConfig.UseTeleport;
if (Splitted[0] == "UseBO") AllLines[i] = "UseBO=" + CharConfig.UseBO;
if (Splitted[0] == "ChickenHP") AllLines[i] = "ChickenHP=" + CharConfig.ChickenHP;
if (Splitted[0] == "TakeHPPotUnder" && !Splitted[0].Contains("MercTakeHPPotUnder")) AllLines[i] = "TakeHPPotUnder=" + CharConfig.TakeHPPotUnder;
if (Splitted[0] == "TakeRVPotUnder") AllLines[i] = "TakeRVPotUnder=" + CharConfig.TakeRVPotUnder;
@ -762,6 +763,10 @@ namespace app
{
CharConfig.UseTeleport = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("UseBO"))
{
CharConfig.UseBO = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("ChickenHP"))
{
CharConfig.ChickenHP = int.Parse(Params[1]);

470
Form1.Designer.cs generated
View File

@ -34,22 +34,59 @@
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colorDialog1 = new System.Windows.Forms.ColorDialog();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.button2 = new System.Windows.Forms.Button();
this.richTextBox2 = new System.Windows.Forms.RichTextBox();
this.label2 = new System.Windows.Forms.Label();
this.labelGames = new System.Windows.Forms.Label();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.button2 = new System.Windows.Forms.Button();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.richTextBoxDebugItems = new System.Windows.Forms.RichTextBox();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.richTextBoxDebugMobs = new System.Windows.Forms.RichTextBox();
this.tabPage5 = new System.Windows.Forms.TabPage();
this.richTextBoxDebugObjects = new System.Windows.Forms.RichTextBox();
this.tabPage6 = new System.Windows.Forms.TabPage();
this.richTextBoxDebugMapData = new System.Windows.Forms.RichTextBox();
this.tabPage7 = new System.Windows.Forms.TabPage();
this.richTextBoxDebugMapCollision = new System.Windows.Forms.RichTextBox();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.labelGameName = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.labelGames = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.labelGameTime = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.LabelChickenCount = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.LabelDeadCount = new System.Windows.Forms.ToolStripStatusLabel();
this.button3 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.labelGameTime = new System.Windows.Forms.Label();
this.labelGameName = new System.Windows.Forms.Label();
this.tabPage8 = new System.Windows.Forms.TabPage();
this.tabPage9 = new System.Windows.Forms.TabPage();
this.richTextBoxErrorLogs = new System.Windows.Forms.RichTextBox();
this.richTextBoxGamesLogs = new System.Windows.Forms.RichTextBox();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tabPage3.SuspendLayout();
this.tabPage4.SuspendLayout();
this.tabPage5.SuspendLayout();
this.tabPage6.SuspendLayout();
this.tabPage7.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.tabPage8.SuspendLayout();
this.tabPage9.SuspendLayout();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(5, 2);
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.Blue;
this.button1.Location = new System.Drawing.Point(5, 5);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(55, 23);
this.button1.Size = new System.Drawing.Size(64, 23);
this.button1.TabIndex = 0;
this.button1.Text = "START";
this.button1.UseVisualStyleBackColor = true;
@ -64,7 +101,7 @@
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2});
this.dataGridView1.Location = new System.Drawing.Point(342, 12);
this.dataGridView1.Location = new System.Drawing.Point(342, 5);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersVisible = false;
@ -76,6 +113,7 @@
//
this.Column1.HeaderText = "Descriptions";
this.Column1.Name = "Column1";
this.Column1.ReadOnly = true;
this.Column1.Width = 95;
//
// Column2
@ -83,110 +121,348 @@
this.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.Column2.HeaderText = "Values";
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
//
// richTextBox1
//
this.richTextBox1.DetectUrls = false;
this.richTextBox1.Location = new System.Drawing.Point(5, 51);
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox1.Location = new System.Drawing.Point(3, 3);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.ReadOnly = true;
this.richTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBox1.Size = new System.Drawing.Size(331, 337);
this.richTextBox1.Size = new System.Drawing.Size(317, 318);
this.richTextBox1.TabIndex = 5;
this.richTextBox1.Text = "";
//
// button2
//
this.button2.Location = new System.Drawing.Point(5, 26);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(55, 23);
this.button2.TabIndex = 6;
this.button2.Text = "ITEMS";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// richTextBox2
//
this.richTextBox2.DetectUrls = false;
this.richTextBox2.Location = new System.Drawing.Point(5, 51);
this.richTextBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox2.Location = new System.Drawing.Point(3, 3);
this.richTextBox2.Name = "richTextBox2";
this.richTextBox2.ReadOnly = true;
this.richTextBox2.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBox2.Size = new System.Drawing.Size(331, 337);
this.richTextBox2.Size = new System.Drawing.Size(317, 318);
this.richTextBox2.TabIndex = 7;
this.richTextBox2.Text = "";
//
// label2
// tabControl1
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(95, 31);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(43, 13);
this.label2.TabIndex = 8;
this.label2.Text = "Games:";
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage8);
this.tabControl1.Controls.Add(this.tabPage9);
this.tabControl1.Location = new System.Drawing.Point(5, 31);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(331, 350);
this.tabControl1.TabIndex = 14;
//
// labelGames
// tabPage1
//
this.labelGames.AutoSize = true;
this.labelGames.Location = new System.Drawing.Point(144, 31);
this.labelGames.Name = "labelGames";
this.labelGames.Size = new System.Drawing.Size(28, 13);
this.labelGames.TabIndex = 9;
this.labelGames.Text = "XXX";
this.tabPage1.Controls.Add(this.richTextBox1);
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(323, 324);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Logs";
this.tabPage1.UseVisualStyleBackColor = true;
//
// button3
// tabPage2
//
this.button3.Image = global::app.Properties.Resources.Application;
this.button3.Location = new System.Drawing.Point(63, 2);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(26, 23);
this.button3.TabIndex = 10;
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
this.tabPage2.Controls.Add(this.richTextBox2);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(323, 324);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Items Logs";
this.tabPage2.UseVisualStyleBackColor = true;
//
// label1
// button2
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(95, 7);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(69, 13);
this.label1.TabIndex = 11;
this.label1.Text = "Game Name:";
this.button2.Location = new System.Drawing.Point(249, 5);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(87, 23);
this.button2.TabIndex = 18;
this.button2.Text = "Debug Menu";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// labelGameTime
// tabControl2
//
this.labelGameTime.AutoSize = true;
this.labelGameTime.Location = new System.Drawing.Point(281, 7);
this.labelGameTime.Name = "labelGameTime";
this.labelGameTime.Size = new System.Drawing.Size(55, 13);
this.labelGameTime.TabIndex = 12;
this.labelGameTime.Text = "00:00.000";
this.labelGameTime.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.tabControl2.Controls.Add(this.tabPage3);
this.tabControl2.Controls.Add(this.tabPage4);
this.tabControl2.Controls.Add(this.tabPage5);
this.tabControl2.Controls.Add(this.tabPage6);
this.tabControl2.Controls.Add(this.tabPage7);
this.tabControl2.Location = new System.Drawing.Point(5, 385);
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
this.tabControl2.Size = new System.Drawing.Size(544, 228);
this.tabControl2.TabIndex = 19;
this.tabControl2.SelectedIndexChanged += new System.EventHandler(this.tabControl2_SelectedIndexChanged);
//
// tabPage3
//
this.tabPage3.Controls.Add(this.richTextBoxDebugItems);
this.tabPage3.Location = new System.Drawing.Point(4, 22);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
this.tabPage3.Size = new System.Drawing.Size(536, 202);
this.tabPage3.TabIndex = 0;
this.tabPage3.Text = "Items";
this.tabPage3.UseVisualStyleBackColor = true;
//
// richTextBoxDebugItems
//
this.richTextBoxDebugItems.DetectUrls = false;
this.richTextBoxDebugItems.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxDebugItems.Location = new System.Drawing.Point(3, 3);
this.richTextBoxDebugItems.Name = "richTextBoxDebugItems";
this.richTextBoxDebugItems.ReadOnly = true;
this.richTextBoxDebugItems.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBoxDebugItems.Size = new System.Drawing.Size(530, 196);
this.richTextBoxDebugItems.TabIndex = 20;
this.richTextBoxDebugItems.Text = "";
//
// tabPage4
//
this.tabPage4.Controls.Add(this.richTextBoxDebugMobs);
this.tabPage4.Location = new System.Drawing.Point(4, 22);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
this.tabPage4.Size = new System.Drawing.Size(536, 202);
this.tabPage4.TabIndex = 1;
this.tabPage4.Text = "Mobs/NPC";
this.tabPage4.UseVisualStyleBackColor = true;
//
// richTextBoxDebugMobs
//
this.richTextBoxDebugMobs.DetectUrls = false;
this.richTextBoxDebugMobs.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxDebugMobs.Location = new System.Drawing.Point(3, 3);
this.richTextBoxDebugMobs.Name = "richTextBoxDebugMobs";
this.richTextBoxDebugMobs.ReadOnly = true;
this.richTextBoxDebugMobs.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBoxDebugMobs.Size = new System.Drawing.Size(530, 196);
this.richTextBoxDebugMobs.TabIndex = 21;
this.richTextBoxDebugMobs.Text = "";
//
// tabPage5
//
this.tabPage5.Controls.Add(this.richTextBoxDebugObjects);
this.tabPage5.Location = new System.Drawing.Point(4, 22);
this.tabPage5.Name = "tabPage5";
this.tabPage5.Size = new System.Drawing.Size(536, 178);
this.tabPage5.TabIndex = 5;
this.tabPage5.Text = "Objects";
this.tabPage5.UseVisualStyleBackColor = true;
//
// richTextBoxDebugObjects
//
this.richTextBoxDebugObjects.DetectUrls = false;
this.richTextBoxDebugObjects.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxDebugObjects.Location = new System.Drawing.Point(0, 0);
this.richTextBoxDebugObjects.Name = "richTextBoxDebugObjects";
this.richTextBoxDebugObjects.ReadOnly = true;
this.richTextBoxDebugObjects.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBoxDebugObjects.Size = new System.Drawing.Size(536, 178);
this.richTextBoxDebugObjects.TabIndex = 22;
this.richTextBoxDebugObjects.Text = "";
//
// tabPage6
//
this.tabPage6.Controls.Add(this.richTextBoxDebugMapData);
this.tabPage6.Location = new System.Drawing.Point(4, 22);
this.tabPage6.Name = "tabPage6";
this.tabPage6.Size = new System.Drawing.Size(536, 202);
this.tabPage6.TabIndex = 3;
this.tabPage6.Text = "Map Data";
this.tabPage6.UseVisualStyleBackColor = true;
//
// richTextBoxDebugMapData
//
this.richTextBoxDebugMapData.DetectUrls = false;
this.richTextBoxDebugMapData.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxDebugMapData.Location = new System.Drawing.Point(0, 0);
this.richTextBoxDebugMapData.Name = "richTextBoxDebugMapData";
this.richTextBoxDebugMapData.ReadOnly = true;
this.richTextBoxDebugMapData.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBoxDebugMapData.Size = new System.Drawing.Size(536, 202);
this.richTextBoxDebugMapData.TabIndex = 21;
this.richTextBoxDebugMapData.Text = "";
//
// tabPage7
//
this.tabPage7.Controls.Add(this.richTextBoxDebugMapCollision);
this.tabPage7.Location = new System.Drawing.Point(4, 22);
this.tabPage7.Name = "tabPage7";
this.tabPage7.Size = new System.Drawing.Size(536, 202);
this.tabPage7.TabIndex = 4;
this.tabPage7.Text = "Map Collisions";
this.tabPage7.UseVisualStyleBackColor = true;
//
// richTextBoxDebugMapCollision
//
this.richTextBoxDebugMapCollision.DetectUrls = false;
this.richTextBoxDebugMapCollision.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxDebugMapCollision.Font = new System.Drawing.Font("Courier New", 1.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.richTextBoxDebugMapCollision.Location = new System.Drawing.Point(0, 0);
this.richTextBoxDebugMapCollision.Name = "richTextBoxDebugMapCollision";
this.richTextBoxDebugMapCollision.ReadOnly = true;
this.richTextBoxDebugMapCollision.Size = new System.Drawing.Size(536, 202);
this.richTextBoxDebugMapCollision.TabIndex = 21;
this.richTextBoxDebugMapCollision.Text = "";
this.richTextBoxDebugMapCollision.WordWrap = false;
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.labelGameName,
this.toolStripSeparator2,
this.labelGames,
this.toolStripSeparator3,
this.labelGameTime,
this.toolStripSeparator4,
this.LabelChickenCount,
this.toolStripSeparator5,
this.LabelDeadCount});
this.statusStrip1.Location = new System.Drawing.Point(0, 616);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(552, 23);
this.statusStrip1.TabIndex = 101;
this.statusStrip1.Text = "statusStrip1";
//
// labelGameName
//
this.labelGameName.AutoSize = true;
this.labelGameName.Location = new System.Drawing.Point(170, 7);
this.labelGameName.BackColor = System.Drawing.SystemColors.Control;
this.labelGameName.Name = "labelGameName";
this.labelGameName.Size = new System.Drawing.Size(35, 13);
this.labelGameName.TabIndex = 13;
this.labelGameName.Text = "label4";
this.labelGameName.Size = new System.Drawing.Size(70, 18);
this.labelGameName.Text = "GameName";
this.labelGameName.ToolTipText = "Game Name";
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 23);
//
// labelGames
//
this.labelGames.BackColor = System.Drawing.SystemColors.Control;
this.labelGames.Name = "labelGames";
this.labelGames.Size = new System.Drawing.Size(78, 18);
this.labelGames.Text = "GameEntered";
this.labelGames.ToolTipText = "Game Entered";
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 23);
//
// labelGameTime
//
this.labelGameTime.BackColor = System.Drawing.SystemColors.Control;
this.labelGameTime.Name = "labelGameTime";
this.labelGameTime.Size = new System.Drawing.Size(55, 18);
this.labelGameTime.Text = "00:00.000";
this.labelGameTime.ToolTipText = "Game Timer";
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(6, 23);
//
// LabelChickenCount
//
this.LabelChickenCount.BackColor = System.Drawing.SystemColors.Control;
this.LabelChickenCount.Name = "LabelChickenCount";
this.LabelChickenCount.Size = new System.Drawing.Size(55, 18);
this.LabelChickenCount.Text = "Chickens";
this.LabelChickenCount.ToolTipText = "Chickens Count";
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 23);
//
// LabelDeadCount
//
this.LabelDeadCount.BackColor = System.Drawing.SystemColors.Control;
this.LabelDeadCount.Name = "LabelDeadCount";
this.LabelDeadCount.Size = new System.Drawing.Size(34, 18);
this.LabelDeadCount.Text = "Dead";
this.LabelDeadCount.ToolTipText = "Deads Count";
//
// 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.ForeColor = System.Drawing.Color.Blue;
this.button3.Image = global::app.Properties.Resources.Application;
this.button3.Location = new System.Drawing.Point(75, 5);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(26, 23);
this.button3.TabIndex = 102;
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click_1);
//
// tabPage8
//
this.tabPage8.Controls.Add(this.richTextBoxErrorLogs);
this.tabPage8.Location = new System.Drawing.Point(4, 22);
this.tabPage8.Name = "tabPage8";
this.tabPage8.Size = new System.Drawing.Size(323, 324);
this.tabPage8.TabIndex = 2;
this.tabPage8.Text = "Errors Logs";
this.tabPage8.UseVisualStyleBackColor = true;
//
// tabPage9
//
this.tabPage9.Controls.Add(this.richTextBoxGamesLogs);
this.tabPage9.Location = new System.Drawing.Point(4, 22);
this.tabPage9.Name = "tabPage9";
this.tabPage9.Size = new System.Drawing.Size(323, 324);
this.tabPage9.TabIndex = 3;
this.tabPage9.Text = "Games Logs";
this.tabPage9.UseVisualStyleBackColor = true;
//
// richTextBoxErrorLogs
//
this.richTextBoxErrorLogs.DetectUrls = false;
this.richTextBoxErrorLogs.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxErrorLogs.Location = new System.Drawing.Point(0, 0);
this.richTextBoxErrorLogs.Name = "richTextBoxErrorLogs";
this.richTextBoxErrorLogs.ReadOnly = true;
this.richTextBoxErrorLogs.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBoxErrorLogs.Size = new System.Drawing.Size(323, 324);
this.richTextBoxErrorLogs.TabIndex = 8;
this.richTextBoxErrorLogs.Text = "";
//
// richTextBoxGamesLogs
//
this.richTextBoxGamesLogs.DetectUrls = false;
this.richTextBoxGamesLogs.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxGamesLogs.Location = new System.Drawing.Point(0, 0);
this.richTextBoxGamesLogs.Name = "richTextBoxGamesLogs";
this.richTextBoxGamesLogs.ReadOnly = true;
this.richTextBoxGamesLogs.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.richTextBoxGamesLogs.Size = new System.Drawing.Size(323, 324);
this.richTextBoxGamesLogs.TabIndex = 8;
this.richTextBoxGamesLogs.Text = "";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(556, 394);
this.Controls.Add(this.labelGameName);
this.Controls.Add(this.labelGameTime);
this.Controls.Add(this.label1);
this.ClientSize = new System.Drawing.Size(552, 639);
this.Controls.Add(this.button3);
this.Controls.Add(this.labelGames);
this.Controls.Add(this.label2);
this.Controls.Add(this.richTextBox2);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.tabControl2);
this.Controls.Add(this.button2);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
@ -196,6 +472,19 @@
this.Text = "D2R - BMBot";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.tabControl2.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
this.tabPage4.ResumeLayout(false);
this.tabPage5.ResumeLayout(false);
this.tabPage6.ResumeLayout(false);
this.tabPage7.ResumeLayout(false);
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.tabPage8.ResumeLayout(false);
this.tabPage9.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@ -207,16 +496,39 @@
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.ColorDialog colorDialog1;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.RichTextBox richTextBox2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label labelGames;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.TabPage tabPage6;
private System.Windows.Forms.TabPage tabPage7;
public System.Windows.Forms.RichTextBox richTextBoxDebugMobs;
private System.Windows.Forms.TabPage tabPage5;
public System.Windows.Forms.RichTextBox richTextBoxDebugMapData;
public System.Windows.Forms.RichTextBox richTextBoxDebugMapCollision;
public System.Windows.Forms.RichTextBox richTextBoxDebugObjects;
public System.Windows.Forms.RichTextBox richTextBoxDebugItems;
private System.Windows.Forms.TabPage tabPage4;
private System.Windows.Forms.StatusStrip statusStrip1;
public System.Windows.Forms.ToolStripStatusLabel labelGameName;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
public System.Windows.Forms.ToolStripStatusLabel labelGames;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
public System.Windows.Forms.ToolStripStatusLabel labelGameTime;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
public System.Windows.Forms.ToolStripStatusLabel LabelChickenCount;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
public System.Windows.Forms.ToolStripStatusLabel LabelDeadCount;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Label label1;
public System.Windows.Forms.Label labelGameName;
internal System.Windows.Forms.Label labelGameTime;
private System.Windows.Forms.TabPage tabPage8;
private System.Windows.Forms.RichTextBox richTextBoxErrorLogs;
private System.Windows.Forms.TabPage tabPage9;
private System.Windows.Forms.RichTextBox richTextBoxGamesLogs;
}
}

321
Form1.cs
View File

@ -40,7 +40,7 @@ namespace app
public partial class Form1 : Form
{
public string BotVersion = "V1.4";
public string BotVersion = "V1.5";
public string D2_LOD_113C_Path = "";
@ -89,9 +89,13 @@ namespace app
public bool BadPlayerPointerFound = false;
public bool PublicGame = false;
public int DebugMenuStyle = 0;
public double FPS = 0;
public int TotalChickenCount = 0;
public int TotalDeadCount = 0;
public ItemsStruc ItemsStruc_0;
public Mem Mem_0;
public Form1 Form1_0;
@ -221,7 +225,12 @@ namespace app
Form1_0 = this;
richTextBox1.HideSelection = false;//Hide selection so that AppendText will auto scroll to the end
richTextBox2.HideSelection = false;//Hide selection so that AppendText will auto scroll to the end
richTextBox2.Visible = false;
//richTextBox2.Visible = false;
LabelChickenCount.Text = TotalChickenCount.ToString();
LabelDeadCount.Text = TotalDeadCount.ToString();
SetDebugMenu();
labelGameName.Text = "";
labelGameTime.Text = "";
@ -461,6 +470,9 @@ namespace app
Console.WriteLine(string_3);
richTextBox1.SelectionColor = ThisColor;
richTextBox1.AppendText(string_3 + Environment.NewLine);
if (ThisColor == Color.Red || ThisColor == Color.Orange || ThisColor == Color.DarkOrange || ThisColor == Color.OrangeRed) AppendTextErrorLogs(string_3, ThisColor);
if (ThisColor == Color.DarkBlue) AppendTextGameLogs(string_3, ThisColor);
Application.DoEvents();
}
//}
@ -542,7 +554,7 @@ namespace app
public void SetGamesText()
{
if (labelGames.InvokeRequired)
/*if (labelGames.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { SetGamesText(); };
@ -551,7 +563,8 @@ namespace app
else
{
labelGames.Text = CurrentGameNumberSinceStart.ToString() + " entered. " + CurrentGameNumberFullyDone.ToString() + " fully done";
}
}*/
labelGames.Text = CurrentGameNumberSinceStart.ToString() + " entered. " + CurrentGameNumberFullyDone.ToString() + " fully done";
}
public void Startt()
@ -639,9 +652,14 @@ namespace app
PublicGame = (CharConfig.GamePass == "");
if (!PublicGame && CharConfig.IsRushing) PublicGame = true;
if (!PublicGame && !CharConfig.RunGameMakerScript) PublicGame = true;
if (PublicGame) KeyMouse_0.ProcessingDelay = 5;
else KeyMouse_0.ProcessingDelay = 2;
GameStruc_0.AlreadyChickening = false;
PatternsScan_0.StartIndexItemLast = long.MaxValue;
PatternsScan_0.ScanUnitsNumber = 2600;
//PatternsScan_0.ScanUnitsNumber = 2600;
PatternsScan_0.ScanUnitsNumber = 2400;
//PatternsScan_0.ScanUnitsNumber = 2048;
Town_0.TriedToShopCount = 0;
Town_0.TriedToShopCount2 = 0;
Town_0.TriedToMercCount = 0;
@ -698,6 +716,10 @@ namespace app
ChaosRush_0.ResetVars();
BaalRush_0.ResetVars();
Battle_0.DoingBattle = false;
Battle_0.ClearingArea = false;
Battle_0.MoveTryCount = 0;
Town_0.IgnoredTPList.Clear();
Town_0.IgnoredWPList.Clear();
BaalLeech_0.IgnoredTPList.Clear();
@ -709,7 +731,7 @@ namespace app
BeltStruc_0.ForceMANAPotionQty = 0;
BeltStruc_0.ForceHPPotionQty = 0;
SetGamesText();
CurrentGameNumber++;
if (CharConfig.RunGameMakerScript) CurrentGameNumber++;
CurrentGameNumberSinceStart++;
SettingsLoader_0.SaveOthersSettings();
@ -802,11 +824,11 @@ namespace app
if (runnn)
{
//MobsStruc_0.GetMobs("", "", true, 200, new List<long>());
//ObjectsStruc_0.GetObjects("TownPortal", true, new List<uint>());
//MercStruc_0.GetMercInfos();
//PlayerScan_0.ScanForLeecher();
//Battle_0.SetSkills();
//Battle_0.CastSkills();
//SetProcessingTime();
//ItemsStruc_0.GetItems(false);
//if (Running) LoopTimer.Start();
//return;
@ -821,6 +843,8 @@ namespace app
}
else
{
Town_0.FastTowning = false;
if (!Town_0.GetInTown() && Form1_0.ItemsStruc_0.ItemsEquiped <= 2)
{
method_1("Going to town, body not grabbed!", Color.Red);
@ -830,7 +854,7 @@ namespace app
{
if (!CharConfig.IsRushing)
{
if (Battle_0.ClearingArea)
if (Battle_0.ClearingArea || Battle_0.DoingBattle)
{
Battle_0.RunBattleScript();
}
@ -1199,7 +1223,7 @@ namespace app
public void GoToNextScript()
{
if (!CharConfig.IsRushing)
if (!CharConfig.IsRushing && !Town_0.GetInTown())
{
if (CharConfig.RunWPTaker && !WPTaker_0.ScriptDone) WPTaker_0.ScriptDone = true;
else if (CharConfig.RunCowsScript && !Cows_0.ScriptDone) Cows_0.ScriptDone = true;
@ -1339,7 +1363,7 @@ namespace app
{
//try
//{
if (Form1_0.labelGameTime.InvokeRequired)
/*if (Form1_0.labelGameTime.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { method_GameTimeLabel(string_3); };
@ -1349,9 +1373,12 @@ namespace app
{
Form1_0.labelGameTime.Text = string_3;
Application.DoEvents();
}*/
try
{
Form1_0.labelGameTime.Text = string_3;
}
//}
//catch { }
catch { }
}
public void WaitDelay(int DelayTime)
@ -1390,6 +1417,25 @@ namespace app
//catch { }
}
public void SetSettingButton(bool Enabledd)
{
//try
//{
if (button3.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { SetSettingButton(Enabledd); };
button3.Invoke(safeWrite);
}
else
{
button3.Enabled = Enabledd;
Application.DoEvents();
}
//}
//catch { }
}
public void StopBot()
{
SetPlayButtonText("START");
@ -1398,7 +1444,7 @@ namespace app
PlayerScan_0.FoundPlayer = false;
LoopDone = 0;
Stash_0.StashFull = false;
button3.Enabled = true;
SetSettingButton(true);
LoopTimer.Stop();
MapAreaStruc_0.AllMapData.Clear();
overlayForm.ClearAllOverlay();
@ -1409,7 +1455,7 @@ namespace app
{
if (!Running)
{
button3.Enabled = false;
SetSettingButton(false);
SetPlayButtonText("STOP");
Running = true;
Startt();
@ -1427,25 +1473,240 @@ namespace app
KeyMouse.UnhookWindowsHookEx(KeyMouse_0.hookID);
}
private void button2_Click(object sender, EventArgs e)
{
if (!richTextBox2.Visible)
{
richTextBox2.Visible = true;
richTextBox1.Visible = false;
}
else
{
richTextBox2.Visible = false;
richTextBox1.Visible = true;
}
Application.DoEvents();
}
private void button3_Click(object sender, EventArgs e)
{
FormSettings FormSettings_0 = new FormSettings(Form1_0);
FormSettings_0.ShowDialog();
}
private void charSettingsToolStripMenuItem_Click(object sender, EventArgs e)
{
FormCharSettings FormCharSettings_0 = new FormCharSettings(Form1_0);
FormCharSettings_0.ShowDialog();
}
private void tabControl2_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl2.SelectedIndex == 0) ItemsStruc_0.DebugItems();
if (tabControl2.SelectedIndex == 1) Form1_0.MobsStruc_0.DebuggingMobs = true;
if (tabControl2.SelectedIndex == 2) ObjectsStruc_0.DebugObjects();
if (tabControl2.SelectedIndex == 3) MapAreaStruc_0.DebugMapData();
if (tabControl2.SelectedIndex == 4) PathFinding_0.DebugMapCollision();
if (tabControl2.SelectedIndex != 1) Form1_0.MobsStruc_0.DebuggingMobs = false;
}
public void SetDebugMenu()
{
if (DebugMenuStyle == 0)
{
this.Size = new System.Drawing.Size(357, 446);
}
else if (DebugMenuStyle == 1)
{
this.Size = new System.Drawing.Size(570, 446);
}
else if(DebugMenuStyle == 2)
{
this.Size = new System.Drawing.Size(570, 678);
}
}
private void button2_Click(object sender, EventArgs e)
{
if (DebugMenuStyle < 2) DebugMenuStyle++;
else DebugMenuStyle = 0;
SetDebugMenu();
if (DebugMenuStyle == 2) tabControl2_SelectedIndexChanged(null, null);
}
public void AppendTextDebugItems(string ThisT)
{
if (richTextBoxDebugItems.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { AppendTextDebugItems(ThisT); };
richTextBoxDebugItems.Invoke(safeWrite);
}
else
{
richTextBoxDebugItems.AppendText(ThisT);
Application.DoEvents();
}
}
public void ClearDebugItems()
{
if (richTextBoxDebugItems.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { ClearDebugItems(); };
richTextBoxDebugItems.Invoke(safeWrite);
}
else
{
richTextBoxDebugItems.Text = "";
Application.DoEvents();
}
}
public void AppendTextDebugObjects(string ThisT)
{
if (richTextBoxDebugObjects.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { AppendTextDebugObjects(ThisT); };
richTextBoxDebugObjects.Invoke(safeWrite);
}
else
{
richTextBoxDebugObjects.AppendText(ThisT);
Application.DoEvents();
}
}
public void ClearDebugobjects()
{
if (richTextBoxDebugObjects.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { ClearDebugobjects(); };
richTextBoxDebugObjects.Invoke(safeWrite);
}
else
{
richTextBoxDebugObjects.Text = "";
Application.DoEvents();
}
}
public void AppendTextDebugMobs(string ThisT)
{
if (richTextBoxDebugMobs.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { AppendTextDebugMobs(ThisT); };
richTextBoxDebugMobs.Invoke(safeWrite);
}
else
{
richTextBoxDebugMobs.AppendText(ThisT);
Application.DoEvents();
}
}
public void ClearDebugMobs()
{
if (richTextBoxDebugMobs.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { ClearDebugMobs(); };
richTextBoxDebugMobs.Invoke(safeWrite);
}
else
{
richTextBoxDebugMobs.Text = "";
Application.DoEvents();
}
}
public void AppendTextDebugMapData(string ThisT)
{
if (richTextBoxDebugMapData.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { AppendTextDebugMapData(ThisT); };
richTextBoxDebugMapData.Invoke(safeWrite);
}
else
{
richTextBoxDebugMapData.AppendText(ThisT);
Application.DoEvents();
}
}
public void ClearDebugMapData()
{
if (richTextBoxDebugMapData.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { ClearDebugMapData(); };
richTextBoxDebugMapData.Invoke(safeWrite);
}
else
{
richTextBoxDebugMapData.Text = "";
Application.DoEvents();
}
}
public void AppendTextDebugCollision(string ThisT)
{
if (richTextBoxDebugMapCollision.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { AppendTextDebugCollision(ThisT); };
richTextBoxDebugMapCollision.Invoke(safeWrite);
}
else
{
richTextBoxDebugMapCollision.AppendText(ThisT);
Application.DoEvents();
}
}
public void ClearDebugCollision()
{
if (richTextBoxDebugMapCollision.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { ClearDebugCollision(); };
richTextBoxDebugMapCollision.Invoke(safeWrite);
}
else
{
richTextBoxDebugMapCollision.Text = "";
Application.DoEvents();
}
}
private void button3_Click_1(object sender, EventArgs e)
{
FormSettings FormSettings_0 = new FormSettings(Form1_0);
FormSettings_0.ShowDialog();
}
public void AppendTextErrorLogs(string ThisT, Color ThisColor)
{
if (richTextBoxErrorLogs.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { AppendTextErrorLogs(ThisT, ThisColor); };
richTextBoxErrorLogs.Invoke(safeWrite);
}
else
{
richTextBoxErrorLogs.SelectionColor = ThisColor;
richTextBoxErrorLogs.AppendText(ThisT + Environment.NewLine);
Application.DoEvents();
}
}
public void AppendTextGameLogs(string ThisT, Color ThisColor)
{
if (richTextBoxGamesLogs.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { AppendTextGameLogs(ThisT, ThisColor); };
richTextBoxGamesLogs.Invoke(safeWrite);
}
else
{
richTextBoxGamesLogs.SelectionColor = ThisColor;
richTextBoxGamesLogs.AppendText(ThisT + Environment.NewLine);
Application.DoEvents();
}
}
}
}

View File

@ -123,7 +123,19 @@
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colorDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>463, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>39</value>
</metadata>
</root>

View File

@ -31,67 +31,68 @@
this.label1 = new System.Windows.Forms.Label();
this.comboBoxType = new System.Windows.Forms.ComboBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label2 = new System.Windows.Forms.Label();
this.textBoxLeftSkill = new System.Windows.Forms.TextBox();
this.textBoxRightSkill = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.textBoxFastMoveTown = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.textBoxFastMoveTeleport = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.textBoxDefenseSkill = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.textBoxCastDefenseSkill = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.checkBoxAttachRightHand = new System.Windows.Forms.CheckBox();
this.textBoxLifeSkill = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.checkBoxAttachRightHand = new System.Windows.Forms.CheckBox();
this.textBoxCastDefenseSkill = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.textBoxDefenseSkill = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.textBoxFastMoveTeleport = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.textBoxFastMoveTown = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.textBoxRightSkill = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.textBoxLeftSkill = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.comboBoxBelt1 = new System.Windows.Forms.ComboBox();
this.comboBoxBelt2 = new System.Windows.Forms.ComboBox();
this.comboBoxBelt3 = new System.Windows.Forms.ComboBox();
this.comboBoxBelt4 = new System.Windows.Forms.ComboBox();
this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.comboBoxBelt4 = new System.Windows.Forms.ComboBox();
this.comboBoxBelt3 = new System.Windows.Forms.ComboBox();
this.comboBoxBelt2 = new System.Windows.Forms.ComboBox();
this.comboBoxBelt1 = new System.Windows.Forms.ComboBox();
this.groupBoxInventory = new System.Windows.Forms.GroupBox();
this.label13 = new System.Windows.Forms.Label();
this.textBoxCharName = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.checkBoxUseTeleport = new System.Windows.Forms.CheckBox();
this.label15 = new System.Windows.Forms.Label();
this.numericUpDownChickenHP = new System.Windows.Forms.NumericUpDown();
this.numericUpDownTakeHP = new System.Windows.Forms.NumericUpDown();
this.label16 = new System.Windows.Forms.Label();
this.numericUpDownTakeMana = new System.Windows.Forms.NumericUpDown();
this.label17 = new System.Windows.Forms.Label();
this.numericUpDownTakeRV = new System.Windows.Forms.NumericUpDown();
this.label18 = new System.Windows.Forms.Label();
this.numericUpDownGambleAbove = new System.Windows.Forms.NumericUpDown();
this.label19 = new System.Windows.Forms.Label();
this.numericUpDownGambleUntil = new System.Windows.Forms.NumericUpDown();
this.label20 = new System.Windows.Forms.Label();
this.numericUpDownKeyYPos = new System.Windows.Forms.NumericUpDown();
this.numericUpDownKeyXPos = new System.Windows.Forms.NumericUpDown();
this.label21 = new System.Windows.Forms.Label();
this.numericUpDownKeyYPos = new System.Windows.Forms.NumericUpDown();
this.numericUpDownGambleUntil = new System.Windows.Forms.NumericUpDown();
this.label20 = new System.Windows.Forms.Label();
this.numericUpDownGambleAbove = new System.Windows.Forms.NumericUpDown();
this.label19 = new System.Windows.Forms.Label();
this.numericUpDownTakeRV = new System.Windows.Forms.NumericUpDown();
this.checkBoxUseTeleport = new System.Windows.Forms.CheckBox();
this.label18 = new System.Windows.Forms.Label();
this.numericUpDownTakeMana = new System.Windows.Forms.NumericUpDown();
this.label17 = new System.Windows.Forms.Label();
this.numericUpDownTakeHP = new System.Windows.Forms.NumericUpDown();
this.label16 = new System.Windows.Forms.Label();
this.numericUpDownChickenHP = new System.Windows.Forms.NumericUpDown();
this.label15 = new System.Windows.Forms.Label();
this.checkBoxUseMerc = new System.Windows.Forms.CheckBox();
this.numericUpDownMercTakeHPUnder = new System.Windows.Forms.NumericUpDown();
this.label22 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.checkBoxUseBO = new System.Windows.Forms.CheckBox();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownChickenHP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeHP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeMana)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeRV)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleAbove)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleUntil)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownKeyXPos)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownKeyYPos)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownKeyXPos)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleUntil)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleAbove)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeRV)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeMana)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeHP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownChickenHP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMercTakeHPUnder)).BeginInit();
this.groupBox4.SuspendLayout();
this.SuspendLayout();
@ -141,101 +142,15 @@
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Skills Shortcuts Keys";
//
// label2
// checkBoxAttachRightHand
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(10, 49);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(84, 13);
this.label2.TabIndex = 3;
this.label2.Text = "Attack Left Skill:";
//
// textBoxLeftSkill
//
this.textBoxLeftSkill.Location = new System.Drawing.Point(123, 46);
this.textBoxLeftSkill.Name = "textBoxLeftSkill";
this.textBoxLeftSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxLeftSkill.TabIndex = 4;
//
// textBoxRightSkill
//
this.textBoxRightSkill.Location = new System.Drawing.Point(123, 68);
this.textBoxRightSkill.Name = "textBoxRightSkill";
this.textBoxRightSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxRightSkill.TabIndex = 6;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(10, 71);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(91, 13);
this.label3.TabIndex = 5;
this.label3.Text = "Attack Right Skill:";
//
// textBoxFastMoveTown
//
this.textBoxFastMoveTown.Location = new System.Drawing.Point(123, 90);
this.textBoxFastMoveTown.Name = "textBoxFastMoveTown";
this.textBoxFastMoveTown.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTown.TabIndex = 8;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(10, 93);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(108, 13);
this.label4.TabIndex = 7;
this.label4.Text = "Fast Move (In Town):";
//
// textBoxFastMoveTeleport
//
this.textBoxFastMoveTeleport.Location = new System.Drawing.Point(123, 112);
this.textBoxFastMoveTeleport.Name = "textBoxFastMoveTeleport";
this.textBoxFastMoveTeleport.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTeleport.TabIndex = 10;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(10, 115);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(108, 13);
this.label5.TabIndex = 9;
this.label5.Text = "Fast Move (Teleport):";
//
// textBoxDefenseSkill
//
this.textBoxDefenseSkill.Location = new System.Drawing.Point(123, 134);
this.textBoxDefenseSkill.Name = "textBoxDefenseSkill";
this.textBoxDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxDefenseSkill.TabIndex = 12;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(10, 137);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(72, 13);
this.label6.TabIndex = 11;
this.label6.Text = "Defense Skill:";
//
// textBoxCastDefenseSkill
//
this.textBoxCastDefenseSkill.Location = new System.Drawing.Point(123, 156);
this.textBoxCastDefenseSkill.Name = "textBoxCastDefenseSkill";
this.textBoxCastDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxCastDefenseSkill.TabIndex = 14;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(10, 159);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(96, 13);
this.label7.TabIndex = 13;
this.label7.Text = "Cast Defense Skill:";
this.checkBoxAttachRightHand.AutoSize = true;
this.checkBoxAttachRightHand.Location = new System.Drawing.Point(20, 22);
this.checkBoxAttachRightHand.Name = "checkBoxAttachRightHand";
this.checkBoxAttachRightHand.Size = new System.Drawing.Size(136, 17);
this.checkBoxAttachRightHand.TabIndex = 17;
this.checkBoxAttachRightHand.Text = "Attack with Right Hand";
this.checkBoxAttachRightHand.UseVisualStyleBackColor = true;
//
// textBoxLifeSkill
//
@ -253,15 +168,101 @@
this.label8.TabIndex = 15;
this.label8.Text = "Life Skill:";
//
// checkBoxAttachRightHand
// textBoxCastDefenseSkill
//
this.checkBoxAttachRightHand.AutoSize = true;
this.checkBoxAttachRightHand.Location = new System.Drawing.Point(20, 22);
this.checkBoxAttachRightHand.Name = "checkBoxAttachRightHand";
this.checkBoxAttachRightHand.Size = new System.Drawing.Size(136, 17);
this.checkBoxAttachRightHand.TabIndex = 17;
this.checkBoxAttachRightHand.Text = "Attack with Right Hand";
this.checkBoxAttachRightHand.UseVisualStyleBackColor = true;
this.textBoxCastDefenseSkill.Location = new System.Drawing.Point(123, 156);
this.textBoxCastDefenseSkill.Name = "textBoxCastDefenseSkill";
this.textBoxCastDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxCastDefenseSkill.TabIndex = 14;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(10, 159);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(96, 13);
this.label7.TabIndex = 13;
this.label7.Text = "Cast Defense Skill:";
//
// textBoxDefenseSkill
//
this.textBoxDefenseSkill.Location = new System.Drawing.Point(123, 134);
this.textBoxDefenseSkill.Name = "textBoxDefenseSkill";
this.textBoxDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxDefenseSkill.TabIndex = 12;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(10, 137);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(72, 13);
this.label6.TabIndex = 11;
this.label6.Text = "Defense Skill:";
//
// textBoxFastMoveTeleport
//
this.textBoxFastMoveTeleport.Location = new System.Drawing.Point(123, 112);
this.textBoxFastMoveTeleport.Name = "textBoxFastMoveTeleport";
this.textBoxFastMoveTeleport.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTeleport.TabIndex = 10;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(10, 115);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(108, 13);
this.label5.TabIndex = 9;
this.label5.Text = "Fast Move (Teleport):";
//
// textBoxFastMoveTown
//
this.textBoxFastMoveTown.Location = new System.Drawing.Point(123, 90);
this.textBoxFastMoveTown.Name = "textBoxFastMoveTown";
this.textBoxFastMoveTown.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTown.TabIndex = 8;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(10, 93);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(108, 13);
this.label4.TabIndex = 7;
this.label4.Text = "Fast Move (In Town):";
//
// textBoxRightSkill
//
this.textBoxRightSkill.Location = new System.Drawing.Point(123, 68);
this.textBoxRightSkill.Name = "textBoxRightSkill";
this.textBoxRightSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxRightSkill.TabIndex = 6;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(10, 71);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(91, 13);
this.label3.TabIndex = 5;
this.label3.Text = "Attack Right Skill:";
//
// textBoxLeftSkill
//
this.textBoxLeftSkill.Location = new System.Drawing.Point(123, 46);
this.textBoxLeftSkill.Name = "textBoxLeftSkill";
this.textBoxLeftSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxLeftSkill.TabIndex = 4;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(10, 49);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(84, 13);
this.label2.TabIndex = 3;
this.label2.Text = "Attack Left Skill:";
//
// groupBox2
//
@ -280,44 +281,41 @@
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Belt Potions Type";
//
// comboBoxBelt1
// label12
//
this.comboBoxBelt1.FormattingEnabled = true;
this.comboBoxBelt1.Items.AddRange(new object[] {
"HP",
"Mana",
"RV",
"Full RV"});
this.comboBoxBelt1.Location = new System.Drawing.Point(6, 38);
this.comboBoxBelt1.Name = "comboBoxBelt1";
this.comboBoxBelt1.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt1.TabIndex = 0;
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(193, 22);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(34, 13);
this.label12.TabIndex = 7;
this.label12.Text = "Slot4:";
//
// comboBoxBelt2
// label11
//
this.comboBoxBelt2.FormattingEnabled = true;
this.comboBoxBelt2.Items.AddRange(new object[] {
"HP",
"Mana",
"RV",
"Full RV"});
this.comboBoxBelt2.Location = new System.Drawing.Point(64, 38);
this.comboBoxBelt2.Name = "comboBoxBelt2";
this.comboBoxBelt2.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt2.TabIndex = 1;
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(136, 22);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(34, 13);
this.label11.TabIndex = 6;
this.label11.Text = "Slot3:";
//
// comboBoxBelt3
// label10
//
this.comboBoxBelt3.FormattingEnabled = true;
this.comboBoxBelt3.Items.AddRange(new object[] {
"HP",
"Mana",
"RV",
"Full RV"});
this.comboBoxBelt3.Location = new System.Drawing.Point(122, 38);
this.comboBoxBelt3.Name = "comboBoxBelt3";
this.comboBoxBelt3.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt3.TabIndex = 2;
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(78, 22);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(34, 13);
this.label10.TabIndex = 5;
this.label10.Text = "Slot2:";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(21, 22);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(34, 13);
this.label9.TabIndex = 4;
this.label9.Text = "Slot1:";
//
// comboBoxBelt4
//
@ -332,41 +330,44 @@
this.comboBoxBelt4.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt4.TabIndex = 3;
//
// label9
// comboBoxBelt3
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(21, 22);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(34, 13);
this.label9.TabIndex = 4;
this.label9.Text = "Slot1:";
this.comboBoxBelt3.FormattingEnabled = true;
this.comboBoxBelt3.Items.AddRange(new object[] {
"HP",
"Mana",
"RV",
"Full RV"});
this.comboBoxBelt3.Location = new System.Drawing.Point(122, 38);
this.comboBoxBelt3.Name = "comboBoxBelt3";
this.comboBoxBelt3.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt3.TabIndex = 2;
//
// label10
// comboBoxBelt2
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(78, 22);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(34, 13);
this.label10.TabIndex = 5;
this.label10.Text = "Slot2:";
this.comboBoxBelt2.FormattingEnabled = true;
this.comboBoxBelt2.Items.AddRange(new object[] {
"HP",
"Mana",
"RV",
"Full RV"});
this.comboBoxBelt2.Location = new System.Drawing.Point(64, 38);
this.comboBoxBelt2.Name = "comboBoxBelt2";
this.comboBoxBelt2.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt2.TabIndex = 1;
//
// label11
// comboBoxBelt1
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(136, 22);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(34, 13);
this.label11.TabIndex = 6;
this.label11.Text = "Slot3:";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(193, 22);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(34, 13);
this.label12.TabIndex = 7;
this.label12.Text = "Slot4:";
this.comboBoxBelt1.FormattingEnabled = true;
this.comboBoxBelt1.Items.AddRange(new object[] {
"HP",
"Mana",
"RV",
"Full RV"});
this.comboBoxBelt1.Location = new System.Drawing.Point(6, 38);
this.comboBoxBelt1.Name = "comboBoxBelt1";
this.comboBoxBelt1.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt1.TabIndex = 0;
//
// groupBoxInventory
//
@ -407,6 +408,7 @@
//
// groupBox3
//
this.groupBox3.Controls.Add(this.checkBoxUseBO);
this.groupBox3.Controls.Add(this.numericUpDownKeyYPos);
this.groupBox3.Controls.Add(this.numericUpDownKeyXPos);
this.groupBox3.Controls.Add(this.label21);
@ -432,105 +434,28 @@
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Char Parameters";
//
// checkBoxUseTeleport
// numericUpDownKeyYPos
//
this.checkBoxUseTeleport.AutoSize = true;
this.checkBoxUseTeleport.Location = new System.Drawing.Point(18, 186);
this.checkBoxUseTeleport.Name = "checkBoxUseTeleport";
this.checkBoxUseTeleport.Size = new System.Drawing.Size(87, 17);
this.checkBoxUseTeleport.TabIndex = 18;
this.checkBoxUseTeleport.Text = "Use Teleport";
this.checkBoxUseTeleport.UseVisualStyleBackColor = true;
this.numericUpDownKeyYPos.Location = new System.Drawing.Point(216, 167);
this.numericUpDownKeyYPos.Name = "numericUpDownKeyYPos";
this.numericUpDownKeyYPos.Size = new System.Drawing.Size(41, 20);
this.numericUpDownKeyYPos.TabIndex = 34;
//
// label15
// numericUpDownKeyXPos
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(15, 43);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(67, 13);
this.label15.TabIndex = 20;
this.label15.Text = "Chicken HP:";
this.numericUpDownKeyXPos.Location = new System.Drawing.Point(174, 167);
this.numericUpDownKeyXPos.Name = "numericUpDownKeyXPos";
this.numericUpDownKeyXPos.Size = new System.Drawing.Size(41, 20);
this.numericUpDownKeyXPos.TabIndex = 33;
//
// numericUpDownChickenHP
// label21
//
this.numericUpDownChickenHP.Location = new System.Drawing.Point(162, 41);
this.numericUpDownChickenHP.Name = "numericUpDownChickenHP";
this.numericUpDownChickenHP.Size = new System.Drawing.Size(53, 20);
this.numericUpDownChickenHP.TabIndex = 21;
//
// numericUpDownTakeHP
//
this.numericUpDownTakeHP.Location = new System.Drawing.Point(162, 62);
this.numericUpDownTakeHP.Name = "numericUpDownTakeHP";
this.numericUpDownTakeHP.Size = new System.Drawing.Size(53, 20);
this.numericUpDownTakeHP.TabIndex = 23;
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(15, 64);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(115, 13);
this.label16.TabIndex = 22;
this.label16.Text = "Take HP potion under:";
//
// numericUpDownTakeMana
//
this.numericUpDownTakeMana.Location = new System.Drawing.Point(162, 83);
this.numericUpDownTakeMana.Name = "numericUpDownTakeMana";
this.numericUpDownTakeMana.Size = new System.Drawing.Size(53, 20);
this.numericUpDownTakeMana.TabIndex = 25;
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(15, 85);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(127, 13);
this.label17.TabIndex = 24;
this.label17.Text = "Take Mana potion under:";
//
// numericUpDownTakeRV
//
this.numericUpDownTakeRV.Location = new System.Drawing.Point(162, 104);
this.numericUpDownTakeRV.Name = "numericUpDownTakeRV";
this.numericUpDownTakeRV.Size = new System.Drawing.Size(53, 20);
this.numericUpDownTakeRV.TabIndex = 27;
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(15, 106);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(139, 13);
this.label18.TabIndex = 26;
this.label18.Text = "Take RV potion under (HP):";
//
// numericUpDownGambleAbove
//
this.numericUpDownGambleAbove.Increment = new decimal(new int[] {
10000,
0,
0,
0});
this.numericUpDownGambleAbove.Location = new System.Drawing.Point(162, 125);
this.numericUpDownGambleAbove.Maximum = new decimal(new int[] {
10000000,
0,
0,
0});
this.numericUpDownGambleAbove.Name = "numericUpDownGambleAbove";
this.numericUpDownGambleAbove.Size = new System.Drawing.Size(95, 20);
this.numericUpDownGambleAbove.TabIndex = 29;
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(15, 127);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(140, 13);
this.label19.TabIndex = 28;
this.label19.Text = "Gamble above gold amount:";
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(15, 169);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(153, 13);
this.label21.TabIndex = 32;
this.label21.Text = "Keys location in Inventory (x,y):";
//
// numericUpDownGambleUntil
//
@ -558,28 +483,105 @@
this.label20.TabIndex = 30;
this.label20.Text = "Gamble until gold amount:";
//
// numericUpDownKeyXPos
// numericUpDownGambleAbove
//
this.numericUpDownKeyXPos.Location = new System.Drawing.Point(174, 167);
this.numericUpDownKeyXPos.Name = "numericUpDownKeyXPos";
this.numericUpDownKeyXPos.Size = new System.Drawing.Size(41, 20);
this.numericUpDownKeyXPos.TabIndex = 33;
this.numericUpDownGambleAbove.Increment = new decimal(new int[] {
10000,
0,
0,
0});
this.numericUpDownGambleAbove.Location = new System.Drawing.Point(162, 125);
this.numericUpDownGambleAbove.Maximum = new decimal(new int[] {
10000000,
0,
0,
0});
this.numericUpDownGambleAbove.Name = "numericUpDownGambleAbove";
this.numericUpDownGambleAbove.Size = new System.Drawing.Size(95, 20);
this.numericUpDownGambleAbove.TabIndex = 29;
//
// label21
// label19
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(15, 169);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(153, 13);
this.label21.TabIndex = 32;
this.label21.Text = "Keys location in Inventory (x,y):";
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(15, 127);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(140, 13);
this.label19.TabIndex = 28;
this.label19.Text = "Gamble above gold amount:";
//
// numericUpDownKeyYPos
// numericUpDownTakeRV
//
this.numericUpDownKeyYPos.Location = new System.Drawing.Point(216, 167);
this.numericUpDownKeyYPos.Name = "numericUpDownKeyYPos";
this.numericUpDownKeyYPos.Size = new System.Drawing.Size(41, 20);
this.numericUpDownKeyYPos.TabIndex = 34;
this.numericUpDownTakeRV.Location = new System.Drawing.Point(162, 104);
this.numericUpDownTakeRV.Name = "numericUpDownTakeRV";
this.numericUpDownTakeRV.Size = new System.Drawing.Size(53, 20);
this.numericUpDownTakeRV.TabIndex = 27;
//
// checkBoxUseTeleport
//
this.checkBoxUseTeleport.AutoSize = true;
this.checkBoxUseTeleport.Location = new System.Drawing.Point(18, 186);
this.checkBoxUseTeleport.Name = "checkBoxUseTeleport";
this.checkBoxUseTeleport.Size = new System.Drawing.Size(87, 17);
this.checkBoxUseTeleport.TabIndex = 18;
this.checkBoxUseTeleport.Text = "Use Teleport";
this.checkBoxUseTeleport.UseVisualStyleBackColor = true;
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(15, 106);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(139, 13);
this.label18.TabIndex = 26;
this.label18.Text = "Take RV potion under (HP):";
//
// numericUpDownTakeMana
//
this.numericUpDownTakeMana.Location = new System.Drawing.Point(162, 83);
this.numericUpDownTakeMana.Name = "numericUpDownTakeMana";
this.numericUpDownTakeMana.Size = new System.Drawing.Size(53, 20);
this.numericUpDownTakeMana.TabIndex = 25;
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(15, 85);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(127, 13);
this.label17.TabIndex = 24;
this.label17.Text = "Take Mana potion under:";
//
// numericUpDownTakeHP
//
this.numericUpDownTakeHP.Location = new System.Drawing.Point(162, 62);
this.numericUpDownTakeHP.Name = "numericUpDownTakeHP";
this.numericUpDownTakeHP.Size = new System.Drawing.Size(53, 20);
this.numericUpDownTakeHP.TabIndex = 23;
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(15, 64);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(115, 13);
this.label16.TabIndex = 22;
this.label16.Text = "Take HP potion under:";
//
// numericUpDownChickenHP
//
this.numericUpDownChickenHP.Location = new System.Drawing.Point(162, 41);
this.numericUpDownChickenHP.Name = "numericUpDownChickenHP";
this.numericUpDownChickenHP.Size = new System.Drawing.Size(53, 20);
this.numericUpDownChickenHP.TabIndex = 21;
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(15, 43);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(67, 13);
this.label15.TabIndex = 20;
this.label15.Text = "Chicken HP:";
//
// checkBoxUseMerc
//
@ -631,6 +633,16 @@
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// checkBoxUseBO
//
this.checkBoxUseBO.AutoSize = true;
this.checkBoxUseBO.Location = new System.Drawing.Point(123, 186);
this.checkBoxUseBO.Name = "checkBoxUseBO";
this.checkBoxUseBO.Size = new System.Drawing.Size(63, 17);
this.checkBoxUseBO.TabIndex = 35;
this.checkBoxUseBO.Text = "Use BO";
this.checkBoxUseBO.UseVisualStyleBackColor = true;
//
// FormCharSettings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -658,14 +670,14 @@
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownChickenHP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeHP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeMana)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeRV)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleAbove)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleUntil)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownKeyXPos)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownKeyYPos)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownKeyXPos)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleUntil)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownGambleAbove)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeRV)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeMana)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTakeHP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownChickenHP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMercTakeHPUnder)).EndInit();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
@ -729,5 +741,6 @@
private System.Windows.Forms.Label label22;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.CheckBox checkBoxUseBO;
}
}

View File

@ -89,6 +89,7 @@ namespace app
numericUpDownGambleUntil.Value = CharConfig.GambleUntilGoldAmount;
checkBoxUseTeleport.Checked = CharConfig.UseTeleport;
checkBoxUseBO.Checked = CharConfig.UseBO;
comboBoxBelt1.SelectedIndex = CharConfig.BeltPotTypeToHave[0];
comboBoxBelt2.SelectedIndex = CharConfig.BeltPotTypeToHave[1];
@ -134,6 +135,7 @@ namespace app
CharConfig.GambleUntilGoldAmount = (int)numericUpDownGambleUntil.Value;
CharConfig.UseTeleport = checkBoxUseTeleport.Checked;
CharConfig.UseBO = checkBoxUseBO.Checked;
CharConfig.BeltPotTypeToHave[0] = comboBoxBelt1.SelectedIndex;
CharConfig.BeltPotTypeToHave[1] = comboBoxBelt2.SelectedIndex;

View File

@ -9,6 +9,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static app.MapAreaStruc;
using static System.Diagnostics.DebuggableAttribute;
namespace app
{
@ -31,6 +32,11 @@ namespace app
public List<System.Drawing.Point> ExitPoints = new List<System.Drawing.Point>();
public System.Drawing.Point MoveToPoint = new System.Drawing.Point(0, 0);
Font drawFont = new Font("Arial", 10);
SolidBrush drawBrush = new SolidBrush(Color.FromArgb(150, 255, 255, 0));
public List<int> MobsIDs = new List<int>();
public bool ScanningOverlayItems = true;
@ -82,7 +88,8 @@ namespace app
{
DateTime StartScanTime = DateTime.Now;
SetAllGoodChestNearby();
SetAllMonsterNearby();
if (!Form1_0.MobsStruc_0.DebuggingMobs) SetAllMonsterNearby();
if (Form1_0.MobsStruc_0.DebuggingMobs) SetAllMonsterNearbyDebug();
SetAllWPNearby();
SetAllExitNearby();
@ -148,6 +155,20 @@ namespace app
}
}
public void SetAllMonsterNearbyDebug()
{
Form1_0.ClearDebugMobs();
MobsPoints = new List<System.Drawing.Point>();
MobsIDs = new List<int>();
List<int[]> monsterPositions = Form1_0.MobsStruc_0.GetAllMobsNearby();
for (int i = 0; i < monsterPositions.Count; i++)
{
MobsPoints.Add(new System.Drawing.Point(monsterPositions[i][0], monsterPositions[i][1]));
MobsIDs.Add(Form1_0.MobsStruc_0.monsterIDs[i]);
}
}
public void ResetMoveToLocation()
{
ResetPathPoints();
@ -240,6 +261,12 @@ namespace app
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart["x"], itemScreenPosStart["y"]);
StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, yellowPen);
if (Form1_0.MobsStruc_0.DebuggingMobs)
{
string ThisTxt = "ID:" + MobsIDs[i].ToString();
e.Graphics.DrawString(ThisTxt, drawFont, drawBrush, StartPoint.X - (ThisTxt.Length * 3), StartPoint.Y + 10);
}
}
for (int i = 0; i < GoodChestsPoints.Count; i++)

View File

@ -37,6 +37,8 @@ namespace app
public Position PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
public Position TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
public bool CheckingForCloseToTargetPos = true;
public void SetForm1(Form1 form1_1)
{
Form1_0 = form1_1;
@ -50,6 +52,22 @@ namespace app
}
}
public void DebugMapCollision()
{
Form1_0.ClearDebugCollision();
ThisCollisionGrid = Form1_0.MapAreaStruc_0.CollisionGrid((Enums.Area)Form1_0.PlayerScan_0.levelNo);
for (int i = 0; i < ThisCollisionGrid.GetLength(1); i++)
{
for (int k = 0; k < ThisCollisionGrid.GetLength(0); k++)
{
if (ThisCollisionGrid[k, i]) Form1_0.AppendTextDebugCollision("-");
if (!ThisCollisionGrid[k, i]) Form1_0.AppendTextDebugCollision("X");
}
Form1_0.AppendTextDebugCollision(Environment.NewLine);
}
}
public void MoveToNextArea(Area ThisID, int AcceptOffset = 4, bool ClearAreaOnMoving = false)
{
Form1_0.PlayerScan_0.GetPositions();
@ -57,6 +75,7 @@ namespace app
ThisNextAreaID = (int)ThisID;
ThisPlayerAreaID = (int)Form1_0.PlayerScan_0.levelNo;
ThisCollisionGrid = ExpandGrid(ThisID);
CheckingForCloseToTargetPos = true;
try
{
@ -79,8 +98,9 @@ namespace app
{
Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false;
CheckingForCloseToTargetPos = false;
Form1_0.method_1("ToExit " + Form1_0.Town_0.getAreaName((int)ThisID), Color.Red);
//Form1_0.method_1("ToExit " + Form1_0.Town_0.getAreaName((int)ThisID), Color.Red);
try
{
ThisPlayerAreaID = (int)Form1_0.PlayerScan_0.levelNo;
@ -90,6 +110,12 @@ namespace app
ThisOffsetPosition = new Position { X = Form1_0.MapAreaStruc_0.AllMapData[ThisPlayerAreaID - 1].Offset.X, Y = Form1_0.MapAreaStruc_0.AllMapData[ThisPlayerAreaID - 1].Offset.Y };
ThisCollisionGrid = Form1_0.MapAreaStruc_0.CollisionGrid((Enums.Area)Form1_0.PlayerScan_0.levelNo);
try
{
ThisCollisionGrid[ThisFinalPosition.X - ThisOffsetPosition.X, ThisFinalPosition.Y - ThisOffsetPosition.Y] = true; //make sure the exit is walkable
}
catch { }
PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
@ -103,6 +129,7 @@ namespace app
{
Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false;
CheckingForCloseToTargetPos = false;
//Form1_0.method_1("ToNPC " + NPCName, Color.Red);
@ -127,6 +154,7 @@ namespace app
{
Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false;
CheckingForCloseToTargetPos = false;
//Form1_0.method_1("ToObject " + ObjectName, Color.Red);
@ -151,6 +179,7 @@ namespace app
{
if (Form1_0.PlayerScan_0.levelNo == 0) Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false;
CheckingForCloseToTargetPos = true;
//Form1_0.method_1("ToThisPos", Color.Red);
@ -184,20 +213,23 @@ namespace app
targetPos.X += TargetOffsetInCollisiongrid.X;
targetPos.Y += TargetOffsetInCollisiongrid.Y;
if (targetPos.X < 0 || targetPos.Y < 0)
/*if (targetPos.X < 0 || targetPos.Y < 0)
{
Form1_0.method_1("ERROR Target pos: " + targetPos.X + ", " + targetPos.Y, Color.Red);
ThisFinalPosition = new Position { X = ThisFinalPosition.X + ThisOffsetPosition.X, Y = ThisFinalPosition.Y + ThisOffsetPosition.Y };
targetPos = new Point(ThisFinalPosition.X - ThisOffsetPosition.X, ThisFinalPosition.Y - ThisOffsetPosition.Y);
}
}*/
//no need to move we are close already!
if (startPos.X >= (targetPos.X - Form1_0.Mover_0.MoveAcceptOffset)
&& startPos.X <= (targetPos.X + Form1_0.Mover_0.MoveAcceptOffset)
&& startPos.Y >= (targetPos.Y - Form1_0.Mover_0.MoveAcceptOffset)
&& startPos.Y <= (targetPos.Y + Form1_0.Mover_0.MoveAcceptOffset))
if (CheckingForCloseToTargetPos)
{
return;
if (startPos.X >= (targetPos.X - Form1_0.Mover_0.MoveAcceptOffset)
&& startPos.X <= (targetPos.X + Form1_0.Mover_0.MoveAcceptOffset)
&& startPos.Y >= (targetPos.Y - Form1_0.Mover_0.MoveAcceptOffset)
&& startPos.Y <= (targetPos.Y + Form1_0.Mover_0.MoveAcceptOffset))
{
return;
}
}
//Form1_0.method_1("Start pos: " + startPos.X + ", " + startPos.Y, Color.Red);
@ -207,15 +239,29 @@ namespace app
{
Form1_0.method_1("Offsets are bad!", Color.Red);
}*/
if (targetPos.X == 0 && targetPos.Y == 0)
if (targetPos.X <= 0 || targetPos.Y <= 0)
{
Form1_0.method_1("Target pos are bad!", Color.Red);
Form1_0.method_1("Target pos are bad: " + targetPos.X + ", " + targetPos.Y, Color.Red);
return;
}
path = FindPath(startPos, targetPos);
if (path == null)
{
//dump data to txt file
/*string ColisionMapTxt = "";
for (int i = 0; i < ThisCollisionGrid.GetLength(1); i++)
{
for (int k = 0; k < ThisCollisionGrid.GetLength(0); k++)
{
if (ThisCollisionGrid[k, i]) ColisionMapTxt += "-";
if (!ThisCollisionGrid[k, i]) ColisionMapTxt += "X";
}
ColisionMapTxt += Environment.NewLine;
}
File.Create(Form1_0.ThisEndPath + "CollisionMap.txt").Dispose();
File.WriteAllText(Form1_0.ThisEndPath + "CollisionMap.txt", ColisionMapTxt);*/
Form1_0.method_1("No path found.", Color.Red);
//Form1_0.MapAreaStruc_0.DumpMap();
Form1_0.GoToNextScript();
@ -301,7 +347,7 @@ namespace app
if (ClearAreaOnMoving)
{
//Form1_0.method_1("Clearing area of mobs...", Color.Red);
Form1_0.Battle_0.ClearAreaOfMobs(path[CurrentPathIndex].X + ThisOffsetPosition.X - PlayerOffsetInCollisiongrid.X, path[CurrentPathIndex].Y + ThisOffsetPosition.Y - PlayerOffsetInCollisiongrid.Y, (AcceptMoveOffset / 2) + 1);
Form1_0.Battle_0.ClearAreaOfMobs(path[CurrentPathIndex].X + ThisOffsetPosition.X - PlayerOffsetInCollisiongrid.X, path[CurrentPathIndex].Y + ThisOffsetPosition.Y - PlayerOffsetInCollisiongrid.Y, AcceptMoveOffset + 2);
//stop moving thru the pathfinding, we are clearing the area of mobs
if (Form1_0.Battle_0.ClearingArea)
@ -655,92 +701,100 @@ namespace app
openSet.Add(new Node(startPos, null, 0, Heuristic(startPos, targetPos)));
while (openSet.Any())
try
{
Node current = openSet.OrderBy(node => node.F).First();
if (current.Position.Equals(targetPos)) return ReconstructPath(current);
openSet.Remove(current);
closedSet[current.Position.X, current.Position.Y] = true;
for (int p = 0; p < 8; p++) // Assuming 4-direction movement
while (openSet.Any())
{
int nx = current.Position.X + dx[p];
int ny = current.Position.Y + dy[p];
Node current = openSet.OrderBy(node => node.F).First();
if (nx >= 0 && nx < width && ny >= 0 && ny < height)
if (current.Position.Equals(targetPos)) return ReconstructPath(current);
openSet.Remove(current);
closedSet[current.Position.X, current.Position.Y] = true;
for (int p = 0; p < 8; p++) // Assuming 4-direction movement
{
if (nx < ThisCollisionGrid.GetLength(0) && ny < ThisCollisionGrid.GetLength(1)
&& nx < closedSet.GetLength(0) && ny < closedSet.GetLength(1))
int nx = current.Position.X + dx[p];
int ny = current.Position.Y + dy[p];
if (nx >= 0 && nx < width && ny >= 0 && ny < height)
{
// Check if teleportation is possible
/*bool canTeleport = CanTeleport(current.Position, new Point(nx, ny));
if (canTeleport)
if (nx < ThisCollisionGrid.GetLength(0) && ny < ThisCollisionGrid.GetLength(1)
&& nx < closedSet.GetLength(0) && ny < closedSet.GetLength(1))
{
Point teleportTarget = new Point(nx, ny);
double teleportCost = Heuristic(current.Position, teleportTarget);
double tentativeG = current.G + teleportCost;
Node teleportNode = new Node(teleportTarget, current, tentativeG, Heuristic(teleportTarget, targetPos));
openSet.Add(teleportNode);
continue; // Skip regular movement check
}*/
/*if (!ThisCollisionGrid[nx, ny])
{
bool canTeleportTo = CanTeleport(new Point(nx, ny));
if (canTeleportTo)
// Check if teleportation is possible
/*bool canTeleport = CanTeleport(current.Position, new Point(nx, ny));
if (canTeleport)
{
ThisCollisionGrid[nx,ny] = true;
nx = TeleportPoint.X;
ny = TeleportPoint.Y;
//#########################################
/*Point teleportTarget = new Point(nx, ny);
//if (closedSet[nx, ny]) continue; //#####
Point teleportTarget = new Point(nx, ny);
double teleportCost = Heuristic(current.Position, teleportTarget);
double tentativeG = current.G + teleportCost;
Node teleportNode = new Node(teleportTarget, current, tentativeG, Heuristic(teleportTarget, targetPos));
openSet.Add(teleportNode);
continue; // Skip regular movement check*/
//#########################################
/*
//if (ny >= 338 && ny <= 348) Console.WriteLine("Can tel from: " + current.Position.X + ", " + current.Position.Y + " to: " + nx + ", " + ny);
}
}*/
continue; // Skip regular movement check
}*/
//if (ThisCollisionGrid[nx, ny] && !closedSet[nx, ny])
if (ThisCollisionGrid[nx, ny])
{
Point neighborPos = new Point(nx, ny);
//Point neighborPos = new Point(nxTeleport, nyTeleport);
if (closedSet[nx, ny]) continue;
//if (closedSet[nxTeleport, nyTeleport]) continue;
double tentativeG = current.G + 1;
Node neighbor = openSet.FirstOrDefault(node => node.Position.Equals(neighborPos));
if (neighbor == null || tentativeG < neighbor.G)
/*if (!ThisCollisionGrid[nx, ny])
{
if (neighbor == null)
bool canTeleportTo = CanTeleport(new Point(nx, ny));
if (canTeleportTo)
{
neighbor = new Node(neighborPos);
openSet.Add(neighbor);
}
ThisCollisionGrid[nx,ny] = true;
nx = TeleportPoint.X;
ny = TeleportPoint.Y;
neighbor.Parent = current;
neighbor.G = tentativeG;
neighbor.H = Heuristic(neighborPos, targetPos);
//#########################################
/*Point teleportTarget = new Point(nx, ny);
//if (closedSet[nx, ny]) continue; //#####
double teleportCost = Heuristic(current.Position, teleportTarget);
double tentativeG = current.G + teleportCost;
Node teleportNode = new Node(teleportTarget, current, tentativeG, Heuristic(teleportTarget, targetPos));
openSet.Add(teleportNode);
continue; // Skip regular movement check*/
//#########################################
/*
//if (ny >= 338 && ny <= 348) Console.WriteLine("Can tel from: " + current.Position.X + ", " + current.Position.Y + " to: " + nx + ", " + ny);
}
}*/
//if (ThisCollisionGrid[nx, ny] && !closedSet[nx, ny])
if (ThisCollisionGrid[nx, ny])
{
Point neighborPos = new Point(nx, ny);
//Point neighborPos = new Point(nxTeleport, nyTeleport);
if (closedSet[nx, ny]) continue;
//if (closedSet[nxTeleport, nyTeleport]) continue;
double tentativeG = current.G + 1;
if (p > 3) tentativeG += 1;
Node neighbor = openSet.FirstOrDefault(node => node.Position.Equals(neighborPos));
if (neighbor == null || tentativeG < neighbor.G)
{
if (neighbor == null)
{
neighbor = new Node(neighborPos);
openSet.Add(neighbor);
}
neighbor.Parent = current;
neighbor.G = tentativeG;
neighbor.H = Heuristic(neighborPos, targetPos);
}
}
}
}
}
}
}
catch
{
Form1_0.method_1("Issue with PathFinding CollisionGrid 'Indexes'!", Color.Red);
}
// No path found
return null;

View File

@ -23,7 +23,7 @@ namespace app
public int AttackNotRegisteredCount = 0;
public int MoveTryCount = 0;
public int MaxAttackTry = 5; //edit this after knowing we used attack correctly
public int MaxAttackTry = 8; //edit this after knowing we used attack correctly
public int MaxMoveTry = 5;
public bool FirstAttackCasted = false;
@ -37,6 +37,50 @@ namespace app
public void CastDefense()
{
if (CharConfig.UseBO && !Form1_0.Town_0.GetInTown())
{
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.KeyMouse_0.PressKey(Keys.W);
Form1_0.WaitDelay(15);
Form1_0.KeyMouse_0.PressKey(Keys.F4);
Form1_0.WaitDelay(15);
Form1_0.PlayerScan_0.GetPositions();
//press W again to switch weapon again
if (Form1_0.PlayerScan_0.RightSkill != Enums.Skill.BattleOrders)
{
Form1_0.KeyMouse_0.PressKey(Keys.W);
Form1_0.WaitDelay(15);
Form1_0.KeyMouse_0.PressKey(Keys.F4);
Form1_0.WaitDelay(15);
//Form1_0.PlayerScan_0.GetPositions();
}
Form1_0.KeyMouse_0.MouseCliccRight(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(30);
//select battle command
Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseClicc(1025, 610);
Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseCliccRight(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(30); //60 <-
Form1_0.Potions_0.CheckIfWeUsePotion();
//select battle cry
Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseClicc(1165, 610);
Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseCliccRight(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(60);
Form1_0.KeyMouse_0.PressKey(Keys.W);
Form1_0.WaitDelay(15);
}
//cast sacred shield
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillCastDefense);
Form1_0.WaitDelay(5);
@ -88,38 +132,39 @@ namespace app
public void RunBattleScript()
{
if ((Enums.Area) Form1_0.PlayerScan_0.levelNo == Enums.Area.ThroneOfDestruction)
{
//15096,5096
if (Form1_0.PlayerScan_0.yPosFinal > 5096)
{
DoingBattle = false;
FirstAttackCasted = false;
ResetBattleMoveAcceptOffset();
if (!ClearingFullArea) Form1_0.PathFinding_0.MoveToThisPos(new Position { X = AreaX, Y = AreaY });
//Form1_0.Mover_0.MoveToLocation(AreaX, AreaY);
ClearingArea = false;
return;
}
}
if (Form1_0.MobsStruc_0.GetMobs("", "", true, ClearingSize, IgnoredMobsPointer))
{
//Form1_0.method_1("Clearing area of mobs...", Color.Red);
DoingBattle = true;
SetBattleMoveAcceptOffset();
Form1_0.Mover_0.MoveAcceptOffset = 2;
Form1_0.Mover_0.MoveToLocation(Form1_0.MobsStruc_0.xPosFinal + 2, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal + 1, Form1_0.MobsStruc_0.yPosFinal + 1);
Form1_0.Mover_0.MoveAcceptOffset = 4;
ResetBattleMoveAcceptOffset();
/*if (!Form1_0.MobsStruc_0.GetLastMobs())
FirstAttackCasting();
SetSkills();
CastSkills();
if (CharConfig.RunningOnChar.ToLower().Contains("paladin"))
{
if (Form1_0.MobsStruc_0.GetMobs("", "", true, ClearingSize, IgnoredMobsPointer))
{
FirstAttackCasting();
SetSkills();
CastSkills();
AttackTryCheck();
}
}
else
{*/
FirstAttackCasting();
SetSkills();
CastSkills();
if (CharConfig.RunningOnChar.ToLower().Contains("paladin"))
{
CastSkills();
CastSkills();
}
AttackTryCheck();
//}
CastSkills();
}
AttackTryCheck();
}
else
{
@ -139,32 +184,19 @@ namespace app
DoingBattle = true;
SetBattleMoveAcceptOffset();
Form1_0.Mover_0.MoveAcceptOffset = 2;
Form1_0.Mover_0.MoveToLocation(Form1_0.MobsStruc_0.xPosFinal + 2, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal + 1, Form1_0.MobsStruc_0.yPosFinal + 1);
Form1_0.Mover_0.MoveAcceptOffset = 4;
ResetBattleMoveAcceptOffset();
/*if (!Form1_0.MobsStruc_0.GetLastMobs())
FirstAttackCasting();
SetSkills();
CastSkills();
if (CharConfig.RunningOnChar.ToLower().Contains("paladin"))
{
if (Form1_0.MobsStruc_0.GetMobs("", "", true, MaxDistance, new List<long>()))
{
FirstAttackCasting();
SetSkills();
CastSkills();
AttackTryCheck();
}
}
else
{*/
FirstAttackCasting();
SetSkills();
CastSkills();
if (CharConfig.RunningOnChar.ToLower().Contains("paladin"))
{
CastSkills();
CastSkills();
}
AttackTryCheck();
//}
CastSkills();
}
AttackTryCheck();
return true;
}
@ -180,32 +212,20 @@ namespace app
DoingBattle = true;
SetBattleMoveAcceptOffset();
Form1_0.Mover_0.MoveAcceptOffset = 2;
Form1_0.Mover_0.MoveToLocation(Form1_0.MobsStruc_0.xPosFinal + 2, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal + 1, Form1_0.MobsStruc_0.yPosFinal + 1);
Form1_0.Mover_0.MoveAcceptOffset = 4;
ResetBattleMoveAcceptOffset();
/*if (!Form1_0.MobsStruc_0.GetLastMobs())
FirstAttackCasting();
SetSkills();
CastSkills();
if (CharConfig.RunningOnChar.ToLower().Contains("paladin"))
{
if (Form1_0.MobsStruc_0.GetMobs(MobType, MobName, false, 200, new List<long>()))
{
FirstAttackCasting();
SetSkills();
CastSkills();
AttackTryCheck();
}
}
else
{*/
FirstAttackCasting();
SetSkills();
CastSkills();
if (CharConfig.RunningOnChar.ToLower().Contains("paladin"))
{
CastSkills();
CastSkills();
}
AttackTryCheck();
//}
CastSkills();
}
AttackTryCheck();
}
else
{
@ -216,35 +236,37 @@ namespace app
public void MoveAway()
{
int MoveDistance = 4;
int MoveDistance = 5;
//Form1_0.WaitDelay(5); //wait a little bit, we just casted attack
if (MoveTryCount == 1)
{
Form1_0.Mover_0.MoveAcceptOffset = 2;
Form1_0.Mover_0.MoveToLocation(Form1_0.PlayerScan_0.xPosFinal + MoveDistance, Form1_0.PlayerScan_0.yPosFinal + MoveDistance);
Form1_0.Mover_0.MoveToLocationAttack(Form1_0.PlayerScan_0.xPosFinal + MoveDistance, Form1_0.PlayerScan_0.yPosFinal + MoveDistance);
Form1_0.Mover_0.MoveAcceptOffset = 4;
}
if (MoveTryCount == 2)
{
Form1_0.Mover_0.MoveAcceptOffset = 2;
Form1_0.Mover_0.MoveToLocation(Form1_0.PlayerScan_0.xPosFinal - MoveDistance, Form1_0.PlayerScan_0.yPosFinal + MoveDistance);
Form1_0.Mover_0.MoveToLocationAttack(Form1_0.PlayerScan_0.xPosFinal - MoveDistance, Form1_0.PlayerScan_0.yPosFinal + MoveDistance);
Form1_0.Mover_0.MoveAcceptOffset = 4;
}
if (MoveTryCount == 3)
{
Form1_0.Mover_0.MoveAcceptOffset = 2;
Form1_0.Mover_0.MoveToLocation(Form1_0.PlayerScan_0.xPosFinal + MoveDistance, Form1_0.PlayerScan_0.yPosFinal - MoveDistance);
Form1_0.Mover_0.MoveToLocationAttack(Form1_0.PlayerScan_0.xPosFinal + MoveDistance, Form1_0.PlayerScan_0.yPosFinal - MoveDistance);
Form1_0.Mover_0.MoveAcceptOffset = 4;
}
if (MoveTryCount == 4)
{
Form1_0.Mover_0.MoveAcceptOffset = 2;
Form1_0.Mover_0.MoveToLocation(Form1_0.PlayerScan_0.xPosFinal - MoveDistance, Form1_0.PlayerScan_0.yPosFinal - MoveDistance);
Form1_0.Mover_0.MoveToLocationAttack(Form1_0.PlayerScan_0.xPosFinal - MoveDistance, Form1_0.PlayerScan_0.yPosFinal - MoveDistance);
Form1_0.Mover_0.MoveAcceptOffset = 4;
}
}
public void AttackTryCheck()
{
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.MobsStruc_0.GetLastMobs();
//long AttackedThisPointer = Form1_0.MobsStruc_0.LastMobsPointerLocation;
@ -303,7 +325,7 @@ namespace app
}
else
{
Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"] - 30);
Form1_0.KeyMouse_0.MouseCliccRightAttackMove(itemScreenPos["x"], itemScreenPos["y"] - 30);
}
}
else
@ -315,10 +337,11 @@ namespace app
}
else
{
Form1_0.KeyMouse_0.MouseCliccRight(Form1_0.CenterX, Form1_0.CenterY - 1);
Form1_0.KeyMouse_0.MouseCliccRightAttackMove(Form1_0.CenterX, Form1_0.CenterY - 1);
}
}
Form1_0.WaitDelay(20);
//Form1_0.WaitDelay(5);
Form1_0.WaitDelay(1);
}
public void FirstAttackCasting()

View File

@ -15,6 +15,8 @@ namespace app
{
Form1 Form1_0;
public int ProcessingDelay = 1;
private const int WH_KEYBOARD_LL = 13;
public LowLevelKeyboardProc proc;
public IntPtr hookID = IntPtr.Zero;
@ -34,7 +36,7 @@ namespace app
//###############################################
[DllImport("User32.dll")]
public static extern Int32 SendMessage(int hWnd, int Msg, int wParam, IntPtr lParam);
static extern Int32 SendMessage(int hWnd, int Msg, int wParam, IntPtr lParam);
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
@ -81,11 +83,13 @@ namespace app
public void MouseClicc(int ThX, int ThY)
{
//Thread.Sleep(ProcessingDelay);
MouseMoveTo(ThX, ThY);
SendMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
Thread.Sleep(2);
Thread.Sleep(1);
SendMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
Thread.Sleep(2);
Thread.Sleep(ProcessingDelay);
SendMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
}
@ -93,35 +97,51 @@ namespace app
{
MouseMoveTo(ThX, ThY);
SendMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, CreateLParam(150, 150));
Thread.Sleep(2);
Thread.Sleep(1);
SendMessage((int)Form1_0.hWnd, WM_RBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
Thread.Sleep(2);
Thread.Sleep(ProcessingDelay);
SendMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, CreateLParam(150, 150));
}
public void MouseCliccAttackMove(int ThX, int ThY)
{
MouseMoveTo(ThX, ThY);
//PostMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
PostMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
PostMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
}
public void MouseCliccRightAttackMove(int ThX, int ThY)
{
MouseMoveTo(ThX, ThY);
//PostMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, CreateLParam(150, 150));
PostMessage((int)Form1_0.hWnd, WM_RBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
PostMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, CreateLParam(150, 150));
}
public void PressKey(System.Windows.Forms.Keys ThisK)
{
SendMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
SendMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
PostMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
PostMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
}
public void PressKey2(System.Windows.Forms.Keys ThisK)
{
PostMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
Thread.Sleep(1);
//PostMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
}
public void PressKeyHold(System.Windows.Forms.Keys ThisK)
{
SendMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
}
public void ReleaseKey(System.Windows.Forms.Keys ThisK)
{
PostMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
SendMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
}
public void SendCTRL_CLICK(int ThX, int ThY)
@ -130,12 +150,18 @@ namespace app
byte KEYEVENTF_KEYUP = 0x02;
byte VK_CONTROL = 0x11;
//press CTRL
keybd_event(VK_CONTROL, 0, 0, 0);
//PressKeyHold(Keys.LControlKey);
SendMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)Keys.LControlKey, (IntPtr)0);
PostMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, (IntPtr)0);
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, (IntPtr)0);
Thread.Sleep(2);
//release CTRL
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
//ReleaseKey(Keys.LControlKey);
SendMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)Keys.LControlKey, (IntPtr)0);
}
public void SendSHIFT_RIGHTCLICK(int ThX, int ThY)
@ -144,9 +170,7 @@ namespace app
PressKeyHold(Keys.LShiftKey);
PostMessage((int)Form1_0.hWnd, WM_RBUTTONDOWN, 0x00000001, (IntPtr)0);
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, (IntPtr)0);
Thread.Sleep(2);
ReleaseKey(Keys.LShiftKey);
}
@ -156,27 +180,21 @@ namespace app
PressKeyHold(Keys.LShiftKey);
PostMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, (IntPtr)0);
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000000, (IntPtr)0);
Thread.Sleep(2);
ReleaseKey(Keys.LShiftKey);
}
public void PressPotionKey(System.Windows.Forms.Keys ThisK)
{
SendMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
SendMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
PostMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
}
public void PressPotionKeyMerc(System.Windows.Forms.Keys ThisK)
{
PressKeyHold(Keys.LShiftKey);
SendMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
SendMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_SYSKEYDOWN, (ushort)ThisK, (IntPtr)0);
PostMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
ReleaseKey(Keys.LShiftKey);
}
@ -191,22 +209,18 @@ namespace app
public void MouseClicHoldWithoutRelease()
{
SendMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
}
public void MouseClicHold()
{
SendMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
Thread.Sleep(2);
SendMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
PostMessage((int)Form1_0.hWnd, WM_LBUTTONDOWN, 0x00000001, CreateLParam(150, 150));
}
public void MouseClicRelease()
{
SendMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
Thread.Sleep(2);
PostMessage((int)Form1_0.hWnd, WM_LBUTTONUP, 0x00000000, CreateLParam(150, 150));
}
public int CorrectXPos(int ThisPoss)

View File

@ -104,10 +104,8 @@ namespace app
//calculate new Y clicking offset, else it will clic on bottom menu items
if (itemScreenPos["y"] >= (Form1_0.ScreenY - Form1_0.ScreenYMenu))
{
int DiffY = itemScreenPos["y"] - (Form1_0.ScreenY - Form1_0.ScreenYMenu);
double DiffPercent = (DiffY * 100) / itemScreenPos["y"];
//double DiffPercent = (DiffY * 100) / Form1_0.ScreenY;
itemScreenPos["x"] = (int) (itemScreenPos["x"] - ((DiffPercent * itemScreenPos["x"]) / 100));
int DiffX = Form1_0.CenterX - itemScreenPos["x"];
itemScreenPos["x"] = (int)(itemScreenPos["x"] + (DiffX / 6));
itemScreenPos["y"] = (Form1_0.ScreenY - Form1_0.ScreenYMenu);
//Console.WriteLine("corrected pos from: " + Sx + "," + Sy + " to: " + itemScreenPos["x"] + "," + itemScreenPos["y"]);
}
@ -156,9 +154,14 @@ namespace app
|| Form1_0.PlayerScan_0.yPosFinal < (ThisY - 300)
|| Form1_0.PlayerScan_0.yPosFinal > (ThisY + 300))
{
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
if (ThisX == 0 && ThisY == 0)
{
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
if (ThisX == 0 && ThisY == 0) return false;
//######
//not in suposed area, may have taken unwanted tp
@ -166,6 +169,7 @@ namespace app
|| Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1)
{
Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
@ -210,12 +214,14 @@ namespace app
if (!AllowMoveSideWay)
{
Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
if (!Form1_0.GameStruc_0.IsInGame() || !Form1_0.Running)
{
Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
if (AllowPickingItem) Form1_0.ItemsStruc_0.GetItems(true); //#############
@ -311,5 +317,125 @@ namespace app
if (Triess >= 20) IsMoving = false;
}
}
//This will FAST move to a direct location -> no pathfinding (used for attacking mobs)
public bool MoveToLocationAttack(int ThisX, int ThisY)
{
Form1_0.UIScan_0.readUI();
if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu) Form1_0.UIScan_0.CloseAllUIMenu();
Form1_0.PlayerScan_0.GetPositions();
Form1_0.overlayForm.SetMoveToPoint(new System.Drawing.Point(ThisX, ThisY));
StartAreaBeforeMoving = Form1_0.PlayerScan_0.levelNo;
//Form1_0.GameStruc_0.CheckChickenGameTime();
//######
//moving location is way to far away something might be wrong!
if (Form1_0.PlayerScan_0.xPosFinal < (ThisX - 300)
|| Form1_0.PlayerScan_0.xPosFinal > (ThisX + 300)
|| Form1_0.PlayerScan_0.yPosFinal < (ThisY - 300)
|| Form1_0.PlayerScan_0.yPosFinal > (ThisY + 300))
{
return false;
}
if (ThisX == 0 && ThisY == 0) return false;
//######
//no need to move we are close already!
if (Form1_0.PlayerScan_0.xPosFinal >= (ThisX - MoveAcceptOffset)
&& Form1_0.PlayerScan_0.xPosFinal <= (ThisX + MoveAcceptOffset)
&& Form1_0.PlayerScan_0.yPosFinal >= (ThisY - MoveAcceptOffset)
&& Form1_0.PlayerScan_0.yPosFinal <= (ThisY + MoveAcceptOffset))
{
Form1_0.overlayForm.ResetMoveToLocation();
return true;
}
if (!Form1_0.GameStruc_0.IsInGame() || !Form1_0.Running)
{
Form1_0.overlayForm.ResetMoveToLocation();
return false;
}
Dictionary<string, int> itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, ThisX, ThisY);
if (!CharConfig.UseTeleport || (CharConfig.UseTeleport && Form1_0.Town_0.GetInTown()))
{
Form1_0.KeyMouse_0.MouseClicHoldWithoutRelease();
Form1_0.KeyMouse_0.PressKeyHold(System.Windows.Forms.Keys.E);
}
if (Form1_0.Town_0.GetInTown()) Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillfastMoveAtTown);
else Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillfastMoveOutsideTown);
//calculate new Y clicking offset, else it will clic on bottom menu items
if (itemScreenPos["y"] >= (Form1_0.ScreenY - Form1_0.ScreenYMenu))
{
int DiffX = Form1_0.CenterX - itemScreenPos["x"];
itemScreenPos["x"] = (int)(itemScreenPos["x"] + (DiffX / 6));
itemScreenPos["y"] = (Form1_0.ScreenY - Form1_0.ScreenYMenu);
//Console.WriteLine("corrected pos from: " + Sx + "," + Sy + " to: " + itemScreenPos["x"] + "," + itemScreenPos["y"]);
}
Form1_0.WaitDelay(5); //wait a little bit, we just casted attack
if (!CharConfig.UseTeleport || (CharConfig.UseTeleport && Form1_0.Town_0.GetInTown())) Form1_0.KeyMouse_0.MouseMoveTo(itemScreenPos["x"], itemScreenPos["y"]);
if (CharConfig.UseTeleport && !Form1_0.Town_0.GetInTown()) Form1_0.KeyMouse_0.MouseCliccRightAttackMove(itemScreenPos["x"], itemScreenPos["y"]);
//#######
Form1_0.PlayerScan_0.GetPositions();
Form1_0.overlayForm.UpdateOverlay();
Form1_0.GameStruc_0.CheckChickenGameTime();
Form1_0.Potions_0.CheckIfWeUsePotion();
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.SetProcessingTime();
//Application.DoEvents();
//#######
//######
//moving location is way to far away something might be wrong!
if (Form1_0.PlayerScan_0.xPosFinal < (ThisX - 300)
|| Form1_0.PlayerScan_0.xPosFinal > (ThisX + 300)
|| Form1_0.PlayerScan_0.yPosFinal < (ThisY - 300)
|| Form1_0.PlayerScan_0.yPosFinal > (ThisY + 300))
{
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
if (ThisX == 0 && ThisY == 0)
{
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
//######
//not in suposed area, may have taken unwanted tp
if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1
|| Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1)
{
Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
}
bool MovedCorrectly = false;
if (Form1_0.PlayerScan_0.xPosFinal >= (ThisX - MoveAcceptOffset)
&& Form1_0.PlayerScan_0.xPosFinal <= (ThisX + MoveAcceptOffset)
&& Form1_0.PlayerScan_0.yPosFinal >= (ThisY - MoveAcceptOffset)
&& Form1_0.PlayerScan_0.yPosFinal <= (ThisY + MoveAcceptOffset))
{
MovedCorrectly = true;
}
if (!CharConfig.UseTeleport || (CharConfig.UseTeleport && Form1_0.Town_0.GetInTown()))
{
//Form1_0.KeyMouse_0.MouseClicRelease();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
}
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillDefenseAura);
Form1_0.overlayForm.ResetMoveToLocation();
return MovedCorrectly;
}
}
}

View File

@ -59,6 +59,9 @@ namespace app
ForceLeave = true;
Form1_0.BaalLeech_0.SearchSameGamesAsLastOne = false;
Form1_0.LeaveGame(false);
Form1_0.TotalDeadCount++;
Form1_0.LabelDeadCount.Text = Form1_0.TotalDeadCount.ToString();
return;
//Chicken();
}
@ -89,6 +92,9 @@ namespace app
ForceLeave = true;
Form1_0.BaalLeech_0.SearchSameGamesAsLastOne = false;
Form1_0.LeaveGame(false);
Form1_0.TotalDeadCount++;
Form1_0.LabelDeadCount.Text = Form1_0.TotalDeadCount.ToString();
return;
//Chicken();
}
@ -236,6 +242,9 @@ namespace app
{
Form1_0.method_1("Leaving reason: Chicken HP", Color.Red);
Form1_0.LeaveGame(false);
Form1_0.TotalChickenCount++;
Form1_0.LabelChickenCount.Text = Form1_0.TotalChickenCount.ToString();
}
public void PressPotionKey(int i, bool SendToMerc)

View File

@ -113,14 +113,15 @@ namespace app
LastitemScreenPos = new Dictionary<string, int>();
//sell items
if (!Form1_0.Town_0.FastTowning)
{
//if (!Form1_0.Town_0.FastTowning)
//{
if (Form1_0.InventoryStruc_0.HasInventoryItems())
{
Form1_0.SetGameStatus("TOWN-SHOP-SELL ITEMS");
for (int i = 0; i < 40; i++)
{
if (CharConfig.InventoryDontCheckItem[i] == 0 && Form1_0.InventoryStruc_0.InventoryHasItem[i] >= 1)
if ((CharConfig.InventoryDontCheckItem[i] == 0 && Form1_0.InventoryStruc_0.InventoryHasItem[i] >= 1 && !Form1_0.Town_0.FastTowning)
|| (CharConfig.InventoryDontCheckItem[i] == 0 && Form1_0.InventoryStruc_0.InventoryHasItem[i] >= 1 && Form1_0.InventoryStruc_0.InventoryHasStashItem[i] == 0) && Form1_0.Town_0.FastTowning)
{
Dictionary<string, int> itemScreenPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
itemScreenPos = Form1_0.InventoryStruc_0.ConvertInventoryLocToScreenPos(itemScreenPos["x"], itemScreenPos["y"]);
@ -191,7 +192,7 @@ namespace app
}
}
}
}
//}
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
@ -420,7 +421,7 @@ namespace app
//buy tome of portal for cows level
if (ShopForTomeOfPortal)
{
bool HasTownPortal = Form1_0.InventoryStruc_0.HasInventoryItemName("Tome of Town Portal");
bool HasTownPortal = Form1_0.InventoryStruc_0.HasInventoryItemName("Tome of Town Portal");
tries = 0;
while (!HasTownPortal && tries < 1)
{

View File

@ -176,7 +176,7 @@ namespace app
while (Form1_0.ItemsStruc_0.ItemOnCursor && Tryy < 5)
{
Form1_0.KeyMouse_0.MouseClicc(PosX, PosY);
Form1_0.WaitDelay(10);
Form1_0.WaitDelay(5);
Form1_0.ItemsStruc_0.GetItems(false); //get inventory again
Tryy++;
}
@ -193,7 +193,7 @@ namespace app
while (!Form1_0.ItemsStruc_0.ItemOnCursor && Tryy < 5)
{
Form1_0.KeyMouse_0.MouseClicc(PosX, PosY);
Form1_0.WaitDelay(10);
Form1_0.WaitDelay(5);
Form1_0.ItemsStruc_0.GetItems(false); //get inventory again
Tryy++;
}

View File

@ -51,7 +51,7 @@ namespace app
TriedToMercCount = 0;
TriedToUseTPCount = 0;
Towning = false;
FastTowning = false;
//FastTowning = false;
ForcedTowning = false;
//UseLastTP = true;
@ -90,6 +90,9 @@ namespace app
Form1_0.Potions_0.ForceLeave = true;
Form1_0.BaalLeech_0.SearchSameGamesAsLastOne = false;
Form1_0.LeaveGame(false);
Form1_0.TotalDeadCount++;
Form1_0.LabelDeadCount.Text = Form1_0.TotalDeadCount.ToString();
return;
}
@ -182,6 +185,10 @@ namespace app
}
else
{
Form1_0.Battle_0.DoingBattle = false;
Form1_0.Battle_0.ClearingArea = false;
Form1_0.Battle_0.MoveTryCount = 0;
//switch town
if (CurrentScript == 0)
{
@ -526,7 +533,7 @@ namespace app
}
}
}
else
else
{
Form1_0.method_1("NO WP FOUND NEAR IN TOWN", Color.OrangeRed);
IgnoredWPList.Clear();
@ -553,7 +560,7 @@ namespace app
}
}
}
else
else
{
Form1_0.method_1("NO WP FOUND NEAR IN TOWN", Color.OrangeRed);
IgnoredWPList.Clear();
@ -600,11 +607,11 @@ namespace app
if (GetInTown() && Towning) return true;
bool ShouldBe = false;
if (Form1_0.InventoryStruc_0.HasUnidItemInInventory())
if (Form1_0.InventoryStruc_0.HasUnidItemInInventory() && !FastTowning)
{
ShouldBe = true;
}
if (Form1_0.InventoryStruc_0.ContainStashItemInInventory())
if (Form1_0.InventoryStruc_0.ContainStashItemInInventory() && !FastTowning)
{
ShouldBe = true;
}
@ -616,7 +623,7 @@ namespace app
{
ShouldBe = true;
}
if (Form1_0.Gamble_0.CanGamble())
if (Form1_0.Gamble_0.CanGamble() && !FastTowning)
{
ShouldBe = true;
}
@ -884,7 +891,7 @@ namespace app
{
CheckForNPCValidPos("Larzuk");
//Form1_0.PathFinding_0.MoveToNPC("Larzuk"); //not found
Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 5146, Y = 5139 });
Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 5145, Y = 5141 });
Form1_0.NPCStruc_0.GetNPC("Larzuk");
MovedCorrectly = true;
}

View File

@ -837,5 +837,288 @@ namespace app
MapsInfernalTrial = 140,
MapsRuinedCitadel = 141
}
public enum Skill
{
Attack = 0,
Kick = 1,
Jab = 10,
ResistFire = 100,
HolyBolt = 101,
HolyFire = 102,
Thorns = 103,
Defiance = 104,
ResistCold = 105,
Zeal = 106,
Charge = 107,
BlessedAim = 108,
Cleansing = 109,
ColdArrow = 11,
ResistLightning = 110,
Vengeance = 111,
BlessedHammer = 112,
Concentration = 113,
HolyFreeze = 114,
Vigor = 115,
Conversion = 116,
HolyShield = 117,
HolyShock = 118,
Sanctuary = 119,
Meditation = 120,
FistOfTheHeavens = 121,
Fanaticism = 122,
Conviction = 123,
Redemption = 124,
Salvation = 125,
Bash = 126,
BladeMastery = 127,
AxeMastery = 128,
MaceMastery = 129,
Dodge = 13,
Howl = 130,
FindPotion = 131,
Leap = 132,
DoubleSwing = 133,
PoleArmMastery = 134,
ThrowingMastery = 135,
SpearMastery = 136,
Taunt = 137,
Shout = 138,
Stun = 139,
PowerStrike = 14,
DoubleThrow = 140,
IncreasedStamina = 141,
FindItem = 142,
LeapAttack = 143,
Concentrate = 144,
IronSkin = 145,
BattleCry = 146,
Frenzy = 147,
IncreasedSpeed = 148,
BattleOrders = 149,
PoisonJavelin = 15,
GrimWard = 150,
Whirlwind = 151,
Berserk = 152,
NaturalResistance = 153,
WarCry = 154,
BattleCommand = 155,
FireHit = 156,
UnHolyBolt = 157,
SkeletonRaise = 158,
MaggotEgg = 159,
ExplodingArrow = 16,
ShamanFire = 160,
MagottUp = 161,
MagottDown = 162,
MagottLay = 163,
AndrialSpray = 164,
Jump = 165,
SwarmMove = 166,
Nest = 167,
QuickStrike = 168,
VampireFireball = 169,
SlowMissiles = 17,
VampireFirewall = 170,
VampireMeteor = 171,
GargoyleTrap = 172,
SpiderLay = 173,
VampireHeal = 174,
VampireRaise = 175,
Submerge = 176,
FetishAura = 177,
FetishInferno = 178,
ZakarumHeal = 179,
Avoid = 18,
Emerge = 180,
Resurrect = 181,
Bestow = 182,
MissileSkill1 = 183,
MonTeleport = 184,
PrimeLightning = 185,
PrimeBolt = 186,
PrimeBlaze = 187,
PrimeFirewall = 188,
PrimeSpike = 189,
Impale = 19,
PrimeIceNova = 190,
PrimePoisonball = 191,
PrimePoisonNova = 192,
DiabLight = 193,
DiabCold = 194,
DiabFire = 195,
FingerMageSpider = 196,
DiabWall = 197,
DiabRun = 198,
DiabPrison = 199,
Throw = 2,
LightningBolt = 20,
PoisonBallTrap = 200,
AndyPoisonBolt = 201,
HireableMissile = 202,
DesertTurret = 203,
ArcaneTower = 204,
MonBlizzard = 205,
Mosquito = 206,
CursedBallTrapRight = 207,
CursedBallTrapLeft = 208,
MonFrozenArmor = 209,
IceArrow = 21,
MonBoneArmor = 210,
MonBoneSpirit = 211,
MonCurseCast = 212,
HellMeteor = 213,
RegurgitatorEat = 214,
MonFrenzy = 215,
QueenDeath = 216,
ScrollOfIdentify = 217,
BookOfIdentify = 218,
ScrollOfTownportal = 219,
GuidedArrow = 22,
BookOfTownportal = 220,
Raven = 221,
PoisonCreeper = 222,
Werewolf = 223,
Lycanthropy = 224,
Firestorm = 225,
OakSage = 226,
SummonSpiritWolf = 227,
Werebear = 228,
Maul = 229,
HandOfAthena = 23,
SolarCreeper = 230,
SpiritOfBarbs = 231,
SummonGrizzly = 232,
Fury = 233,
Armageddon = 234,
Hurricane = 235,
FireTrauma = 236,
ClawsOfThunder = 237,
BladesOfIce = 238,
DragonTalon = 239,
FireClaws = 24,
DragonTalonSentry = 240,
ShockWave = 241,
Bladeshield = 242,
ChargedBoltSentry = 243,
WakeOfFireSentry = 244,
WakeOfInfernoSentry = 245,
BladeFury = 246,
Fade = 247,
ShadowWarrior = 248,
ClawMastery = 249,
Inferno = 25,
PsychicHammer = 250,
TigerStrike = 251,
DragonTalons = 252,
ShockField = 253,
BladeSentinel = 254,
Quickness = 255,
FadeLow = 256,
ClawMasteryLow = 257,
TigerStrikeLow = 258,
DragonTalonsLow = 259,
Blaze = 26,
ShockWeb = 260,
BladeFuryLow = 261,
BurstOfSpeedLow = 262,
HolyShockLow = 263,
HolyFreezeLow = 264,
HolyFireLow = 265,
ThornsLow = 266,
HolyShieldLow = 267,
FistOfTheHeavensLow = 268,
Prayer = 269,
FireWall = 27,
ResistFireLow = 270,
ResistColdLow = 271,
ResistLightningLow = 272,
DefianceLow = 273,
BlessedAimLow = 274,
StunLow = 275,
ZealLow = 276,
ChargeLow = 277,
BlessedHammerLow = 278,
ConcentrationLow = 279,
Warmth = 28,
Enchant = 29,
ColdBolt = 3,
GolemMastery = 30,
BoneArmor = 31,
RaiseSkeleton = 32,
DimVision = 33,
Weaken = 34,
PoisonExplosion = 35,
BoneSpear = 36,
BloodGolem = 37,
Attract = 38,
Decrepify = 39,
BoneSpirit = 4,
IronMaiden = 40,
Terror = 41,
BoneWall = 42,
SummonMastery = 43,
CorpseExplosion = 44,
IronGolem = 45,
LowerResistance = 46,
PoisonNova = 47,
BoneSpiritDecoy = 48,
BonePrison = 49,
MagicArrow = 5,
Teeth = 50,
BoneSpiritTeleport = 51,
PoisonDagger = 52,
CorpseFire = 53,
Etherealize = 54,
BoneArmorVortex = 55,
BoneSpiritSeek = 56,
PoisonExplosionCaster = 57,
BoneSpiritCast = 58,
BoneSpiritBuff = 59,
FireArrow = 6,
CorpseCycler = 60,
ShadowWarriorSpawn = 61,
PoisonArrow = 62,
ColdArrowCaster = 63,
MultipleShot = 64,
Dodging = 65,
PowerStrikeLeft = 66,
PowerStrikeRight = 67,
FireHitLeft = 68,
FireHitRight = 69,
InnerSight = 7,
ChargeLeft = 70,
ChargeRight = 71,
BowDamage = 72,
ThrowDamage = 73,
PassiveResistCold = 74,
PassiveResistFire = 75,
PassiveResistLightning = 76,
PassiveResistPoison = 77,
PassiveDamageCold = 78,
PassiveDamageFire = 79,
CriticalStrike = 8,
PassiveDamageLightning = 80,
PassiveDamagePoison = 81,
DodgeLeft = 82,
DodgeRight = 83,
EvadeLeft = 84,
EvadeRight = 85,
CriticalStrikeLeft = 86,
CriticalStrikeRight = 87,
CriticalStrikeLeftLow = 88,
CriticalStrikeRightLow = 89,
InTown = 9,
FireArrowCaster = 90,
InnerSightCaster = 91,
CriticalStrikeCaster = 92,
SpellMove = 93,
PassivesMove = 94,
ChargedStrike = 95,
PlagueJavelin = 96,
LightningStrike = 97,
LightningStrikeLeft = 98,
LightningStrikeRight = 99
}
}
}

View File

@ -372,7 +372,7 @@ namespace app
{
//try
//{
if (Form1_0.labelGameName.InvokeRequired)
/*if (Form1_0.labelGameName.InvokeRequired)
{
// Call this same method but append THREAD2 to the text
Action safeWrite = delegate { method_GameLabel(string_3); };
@ -382,7 +382,8 @@ namespace app
{
Form1_0.labelGameName.Text = string_3;
Application.DoEvents();
}
}*/
Form1_0.labelGameName.Text = string_3;
//}
//catch { }
}
@ -426,15 +427,19 @@ namespace app
public bool IsInGame()
{
long baseAddress = (long)Form1_0.BaseAddress + (long)Form1_0.offsets["unitTable"] - 64;
byte[] unitTableBuffer = new byte[1];
Form1_0.Mem_0.ReadRawMemory(baseAddress, ref unitTableBuffer, 1);
//Console.WriteLine(unitTableBuffer[0]);
if (unitTableBuffer[0] == 0x01)
try
{
return true;
long baseAddress = (long)Form1_0.BaseAddress + (long)Form1_0.offsets["unitTable"] - 64;
byte[] unitTableBuffer = new byte[1];
Form1_0.Mem_0.ReadRawMemory(baseAddress, ref unitTableBuffer, 1);
//Console.WriteLine(unitTableBuffer[0]);
if (unitTableBuffer[0] == 0x01)
{
return true;
}
}
catch { }
return false;
}

View File

@ -103,7 +103,7 @@ namespace app
{
int ThisNewIndex = GetNextFreeSpaceInInventory();
if (ThisNewIndex > -1)
if (ThisNewIndex > -1)
{
//remove item from this slot
Dictionary<string, int> itemScreenPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(thisindex);
@ -213,6 +213,37 @@ namespace app
}
}
public void DumpBadItemsOnGround()
{
Form1_0.UIScan_0.OpenUIMenu("invMenu");
Form1_0.ItemsStruc_0.GetItems(false);
//place all bad items on ground
for (int i = 0; i < 40; i++)
{
Form1_0.UIScan_0.OpenUIMenu("invMenu");
if (CharConfig.InventoryDontCheckItem[i] == 0 && InventoryHasItem[i] >= 1 && InventoryHasStashItem[i] == 0)
{
//pick key item from this slot
Dictionary<string, int> itemScreenPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
itemScreenPos = Form1_0.InventoryStruc_0.ConvertInventoryLocToScreenPos(itemScreenPos["x"], itemScreenPos["y"]);
/*Form1_0.Stash_0.PickItem(itemScreenPos["x"], itemScreenPos["y"]);
if (!Form1_0.Stash_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY))
{
Form1_0.Stash_0.PlaceItem(itemScreenPos["x"], itemScreenPos["y"]);
}*/
Form1_0.KeyMouse_0.MouseClicc(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.WaitDelay(10);
Form1_0.KeyMouse_0.MouseClicc(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(10);
}
}
Form1_0.UIScan_0.CloseUIMenu("invMenu");
}
public void ResetInventory()
{
InventoryHasItem = new int[40];

View File

@ -702,24 +702,28 @@ namespace app
}
if (ItemTypee == "armor")
{
if (Form1_0.ItemsStruc_0.ItemNAAME.Contains("Plate")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Armor")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Skin")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Mail")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Coat")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Shell")
|| Form1_0.ItemsStruc_0.ItemNAAME == "Cuirass"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Dusk Shroud"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Wire Fleece"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Studded Leather"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Great Hauberk"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Boneweave"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Wyrmhide"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Scarab Husk"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Boneweave")
try
{
return true;
if (Form1_0.ItemsStruc_0.ItemNAAME.Contains("Plate")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Armor")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Skin")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Mail")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Coat")
|| Form1_0.ItemsStruc_0.ItemNAAME.Contains("Shell")
|| Form1_0.ItemsStruc_0.ItemNAAME == "Cuirass"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Dusk Shroud"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Wire Fleece"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Studded Leather"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Great Hauberk"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Boneweave"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Wyrmhide"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Scarab Husk"
|| Form1_0.ItemsStruc_0.ItemNAAME == "Boneweave")
{
return true;
}
}
catch { }
}
if (ItemTypee == "circlet")
{

View File

@ -11,6 +11,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using static app.Enums;
using static app.MapAreaStruc;
using static System.Windows.Forms.AxHost;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
@ -55,6 +56,7 @@ namespace app
public byte[] statBufferEx = new byte[] { };
public byte[] pStatB = new byte[180];
public UInt32 itemQuality = 0;
public long pStatsListExPtr = 0;
public string LastPick = "";
@ -82,7 +84,7 @@ namespace app
public void GetStatsAddr()
{
long pStatsListExPtr = BitConverter.ToInt64(itemdatastruc, 0x88);
pStatsListExPtr = BitConverter.ToInt64(itemdatastruc, 0x88);
/*pStatB = new byte[180];
Form1_0.Mem_0.ReadRawMemory(pStatsListExPtr, ref pStatB, 180);
@ -247,6 +249,16 @@ namespace app
return false;
}
public void DebugItems()
{
Form1_0.ClearDebugItems();
DebuggingItems = true;
GetItems(false);
DebuggingItems = false;
}
public bool DebuggingItems = false;
public bool GetItems(bool IsPickingItem)
{
if (!Form1_0.GameStruc_0.IsInGame()) return false;
@ -257,6 +269,9 @@ namespace app
Form1_0.Potions_0.ForceLeave = true;
Form1_0.BaalLeech_0.SearchSameGamesAsLastOne = false;
Form1_0.LeaveGame(false);
Form1_0.TotalDeadCount++;
Form1_0.LabelDeadCount.Text = Form1_0.TotalDeadCount.ToString();
return false;
}
@ -296,8 +311,8 @@ namespace app
Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144);
ItemsScanned++;
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(BitConverter.ToUInt32(itemdatastruc, 4));
txtFileNo = BitConverter.ToUInt32(itemdatastruc, 4);
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(txtFileNo);
GetUnitData();
GetUnitPathData();
GetStatsAddr();
@ -309,6 +324,11 @@ namespace app
{
ItemOnCursor = true;
//Form1_0.method_1("cursor: " + ItemNAAME + " - at: " + itemx + "," + itemy, Color.BlueViolet);
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Cursor" + Environment.NewLine);
}
}
if (itemdatastruc[0x0C] == 0)
@ -316,13 +336,19 @@ namespace app
if (dwOwnerId == Form1_0.PlayerScan_0.unitId && equiploc == 0)
{
ItemsInInventory++;
//Form1_0.method_1("inv: " + ItemNAAME + " - at: " + itemx + "," + itemy);
//Form1_0.method_1("inv: " + ItemNAAME + " - at: " + itemx + "," + itemy, Color.Red);
if (!IsPickingItem)
{
Form1_0.PlayerScan_0.GetHPAndManaOnThisEquippedItem();
Form1_0.InventoryStruc_0.SetInventoryItem();
Form1_0.InventoryStruc_0.SetHUDItem();
}
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Inventory" + Environment.NewLine);
}
}
if (dwOwnerId == Form1_0.PlayerScan_0.unitId && equiploc == 4)
@ -330,6 +356,11 @@ namespace app
//here for items in stash
//Form1_0.method_1("name: " + ItemNAAME + " - at: " + itemx + "," + itemy, Color.DarkGreen);
Form1_0.StashStruc_0.AddStashItem(itemx, itemy, 1);
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Stash" + Environment.NewLine);
}
}
if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc == 4)
{
@ -344,18 +375,30 @@ namespace app
if (dwOwnerId == dwOwnerId_Shared3) StashNum = 4;
Form1_0.StashStruc_0.AddStashItem(itemx, itemy, StashNum);
}
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shared Stash" + Environment.NewLine);
}
}
if (dwOwnerId == Form1_0.PlayerScan_0.unitId && equiploc == 3)
{
//here for items in cube
//Form1_0.method_1("name: " + ItemNAAME + " - at: " + itemx + "," + itemy, Color.DarkGreen);
Form1_0.Cubing_0.AddCubeItem(itemx, itemy);
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Cube" + Environment.NewLine);
}
}
}
if (itemdatastruc[0x0C] == 1)
{
if (dwOwnerId == Form1_0.PlayerScan_0.unitId && equiploc == 255)
{
//Form1_0.method_1("inv: " + ItemNAAME + " - at: " + itemx + "," + itemy, Color.Red);
ItemsEquiped++;
if (!IsPickingItem)
{
@ -363,6 +406,11 @@ namespace app
Form1_0.Repair_0.GetDurabilityOnThisEquippedItem();
}
//Form1_0.method_1("name: " + ItemNAAME + " - at: " + itemx + "," + itemy + " - " + equiploc, Color.DarkGreen);
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - Equipped" + Environment.NewLine);
}
}
}
if (itemdatastruc[0x0C] == 2)
@ -374,6 +422,11 @@ namespace app
{
Form1_0.BeltStruc_0.AddBeltItem(UsePotionNotInRightSpot);
}
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Belt" + Environment.NewLine);
}
}
}
//; on ground, dropping
@ -381,6 +434,13 @@ namespace app
{
ItemsOnGround++;
//Form1_0.method_1_Items("Ground: " + ItemNAAME, GetColorFromQuality((int)itemQuality));
if (DebuggingItems)
{
Form1_0.AppendTextDebugItems("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Ground/Droping" + Environment.NewLine);
}
Form1_0.UIScan_0.readUI();
if (Form1_0.ItemsAlert_0.ShouldPickItem(false) || Form1_0.BeltStruc_0.ItemGrabPotion()
&& (!Form1_0.UIScan_0.leftMenu && !Form1_0.UIScan_0.rightMenu && !Form1_0.UIScan_0.fullMenu)
@ -388,9 +448,9 @@ namespace app
{
//###########
//Bugged items
if (ItemNAAME == "Perfect Diamond" && (Form1_0.PlayerScan_0.levelNo >= 106 && Form1_0.PlayerScan_0.levelNo < 109)) continue;
if (ItemNAAME == "Large Axe") continue;
if (ItemNAAME == "Hand Axe") continue;
//if (ItemNAAME == "Perfect Diamond" && (Form1_0.PlayerScan_0.levelNo >= 106 && Form1_0.PlayerScan_0.levelNo < 109)) continue;
//if (ItemNAAME == "Large Axe") continue;
//if (ItemNAAME == "Hand Axe") continue;
//###########
/*string SavePathh = Form1_0.ThisEndPath + "DumpItempPathStruc";
@ -402,9 +462,9 @@ namespace app
{
//###########
//Bugged items
if (ItemNAAME == "Perfect Diamond" && (Form1_0.PlayerScan_0.levelNo >= 106 && Form1_0.PlayerScan_0.levelNo < 109)) continue;
if (ItemNAAME == "Large Axe") continue;
if (ItemNAAME == "Hand Axe") continue;
//if (ItemNAAME == "Perfect Diamond" && (Form1_0.PlayerScan_0.levelNo >= 106 && Form1_0.PlayerScan_0.levelNo < 109)) continue;
//if (ItemNAAME == "Large Axe") continue;
//if (ItemNAAME == "Hand Axe") continue;
//###########
int DiffXPlayer = itemx - Form1_0.PlayerScan_0.xPosFinal;
@ -420,19 +480,24 @@ namespace app
//####
if (CharConfig.UseTeleport)
{
if (DiffXPlayer > 4 || DiffYPlayer > 4)
{
Form1_0.Mover_0.MoveToLocation(itemx, itemy);
//Form1_0.Mover_0.MoveToLocation(itemx, itemy); //slow move
Form1_0.Mover_0.MoveToLocationAttack(itemx, itemy); //fast move
Form1_0.PlayerScan_0.GetPositions();
GetUnitPathData();
//GetUnitPathData();
itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, itemx, itemy);
}
}
if (itemScreenPos["x"] == 0 && itemScreenPos["y"] == 0) continue;
//####
TriesToPickItemCount++;
Form1_0.KeyMouse_0.PressKeyHold(System.Windows.Forms.Keys.E);
Form1_0.KeyMouse_0.MouseClicc(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.KeyMouse_0.MouseClicc(itemScreenPos["x"], itemScreenPos["y"]);
//Form1_0.KeyMouse_0.MouseClicc(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
if (ItemNAAME != LastPick)
{
@ -449,9 +514,16 @@ namespace app
}
}
//after a lot of try picking item, inventory might be full, go to town
if (TriesToPickItemCount >= 45)
//after a lot of try picking item, inventory might be full, dump bad item to ground
if (TriesToPickItemCount == 7)
{
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
}
//after a lot of try picking item, inventory might be full, go to town
if (TriesToPickItemCount >= 15)
{
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
TriesToPickItemCount = 0;
Form1_0.Town_0.GoToTown();
return false;
@ -459,14 +531,11 @@ namespace app
return true;
}
}
else
{
TriesToPickItemCount = 0; //nothing to pick!
}
}
}
}
TriesToPickItemCount = 0; //nothing to pick!
//Form1_0.method_1("-----", Color.Black);
return false;
}
@ -481,6 +550,9 @@ namespace app
Form1_0.Potions_0.ForceLeave = true;
Form1_0.BaalLeech_0.SearchSameGamesAsLastOne = false;
Form1_0.LeaveGame(false);
Form1_0.TotalDeadCount++;
Form1_0.LabelDeadCount.Text = Form1_0.TotalDeadCount.ToString();
return false;
}
@ -587,6 +659,7 @@ namespace app
if (Form1_0.ItemsStruc_0.ItemsEquiped <= 2) return;
Form1_0.method_1("Grabbing all items for gold", Color.BlueViolet);
Form1_0.WaitDelay(5);
while (true)
{

View File

@ -211,6 +211,18 @@ namespace app
return ThisPos;
}
public void DebugMapData()
{
Form1_0.ClearDebugMapData();
DebuggingMapData = true;
GetPositionOfAllObject("object", "", (int)Form1_0.PlayerScan_0.levelNo, new List<int>(), true);
GetPositionOfAllObject("exit", "", (int)Form1_0.PlayerScan_0.levelNo, new List<int>(), true);
GetPositionOfAllObject("npc", "", (int)Form1_0.PlayerScan_0.levelNo, new List<int>(), true);
DebuggingMapData = false;
}
public bool DebuggingMapData = false;
public List<Position> GetPositionOfAllObject(string ObjectType, string ObjectName, int AreaID, List<int> IgnoreTheseIndex, bool IgnoreName = false)
{
List<Position> ThisPos = new List<Position>();
@ -237,6 +249,11 @@ namespace app
|| 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 });
if (DebuggingMapData)
{
Form1_0.AppendTextDebugMapData("ID:" + AllMapData[i].Objects[k].ID + "(" + AllMapData[i].Objects[k].Name + ") at:" + (AllMapData[i].Offset.X + AllMapData[i].Objects[k].X) + ", " + (AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y) + Environment.NewLine);
}
}
}
if (AllMapData[i].Objects[k].Type == "exit_area" && ObjectType == "exit_area")
@ -245,6 +262,11 @@ namespace app
|| 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 });
if (DebuggingMapData)
{
Form1_0.AppendTextDebugMapData("ID:" + AllMapData[i].Objects[k].ID + "(" + AllMapData[i].Objects[k].Name + ") at:" + (AllMapData[i].Offset.X + AllMapData[i].Objects[k].X) + ", " + (AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y) + Environment.NewLine);
}
}
}
if (AllMapData[i].Objects[k].Type == "object" && ObjectType == "object")
@ -255,6 +277,11 @@ namespace app
if (Form1_0.ObjectsStruc_0.IsWaypoint(int.Parse(AllMapData[i].Objects[k].ID)))
{
ThisPos.Add(new Position { X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X, Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y });
if (DebuggingMapData)
{
Form1_0.AppendTextDebugMapData("ID:" + AllMapData[i].Objects[k].ID + "(" + AllMapData[i].Objects[k].Name + ") at:" + (AllMapData[i].Offset.X + AllMapData[i].Objects[k].X) + ", " + (AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y) + Environment.NewLine);
}
}
}
else
@ -263,6 +290,11 @@ namespace app
|| 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 });
if (DebuggingMapData)
{
Form1_0.AppendTextDebugMapData("ID:" + AllMapData[i].Objects[k].ID + "(" + AllMapData[i].Objects[k].Name + ") at:" + (AllMapData[i].Offset.X + AllMapData[i].Objects[k].X) + ", " + (AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y) + Environment.NewLine);
}
}
}
}
@ -273,6 +305,11 @@ namespace app
|| 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 });
if (DebuggingMapData)
{
Form1_0.AppendTextDebugMapData("ID:" + AllMapData[i].Objects[k].ID + "(" + AllMapData[i].Objects[k].Name + ") at:" + (AllMapData[i].Offset.X + AllMapData[i].Objects[k].X) + ", " + (AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y) + Environment.NewLine);
}
}
}
}

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
@ -51,7 +52,14 @@ namespace app
address = this.GetAddressFromOffsets(address, aOffsets);
}*/
ReadProcessMemory((int) Form1_0.processHandle, (IntPtr)address, buffer, bytes, ref pBytesRead);
try
{
ReadProcessMemory((int)Form1_0.processHandle, (IntPtr)address, buffer, bytes, ref pBytesRead);
}
catch
{
Form1_0.method_1("Couldn't read D2R process memory!", Color.Red);
}
}
public string ReadMemString(long TPoint)
@ -176,7 +184,11 @@ namespace app
if (bytesRead > 0)
{
return BitConverter.ToInt32(Form1_0.bufferRead, 0);
try
{
return BitConverter.ToInt32(Form1_0.bufferRead, 0);
}
catch { }
}
return 0;
}
@ -189,7 +201,11 @@ namespace app
if (bytesRead > 0)
{
return BitConverter.ToUInt16(Form1_0.bufferRead, 0);
try
{
return BitConverter.ToUInt16(Form1_0.bufferRead, 0);
}
catch { }
}
return 0;
}
@ -219,7 +235,11 @@ namespace app
if (bytesRead > 0)
{
return BitConverter.ToInt32(Form1_0.bufferRead, 0);
try
{
return BitConverter.ToInt32(Form1_0.bufferRead, 0);
}
catch { }
}
return 0;
}

View File

@ -76,7 +76,8 @@ namespace app
string playerMinion = Form1_0.MobsStruc_0.getPlayerMinion((int)txtFileNo);
if (playerMinion != "") isPlayerMinion = true;
//Console.WriteLine((EnumsMobsNPC.MobsNPC)txtFileNo);
//Console.WriteLine(Form1_0.NPCStruc_0.getNPC_ID((int) txtFileNo));
//Console.WriteLine(txtFileNo.ToString() + ", isUnique:" + isUnique + ", isPlayerMinion:" + isPlayerMinion + ", mode:" + mode + ", pos:" + xPosFinal + ", " + yPosFinal);
//if (IsMerc((int) txtFileNo))
if (isUnique == 0 && isPlayerMinion && mode != 0 && mode != 12)
@ -131,6 +132,8 @@ namespace app
MercHP = ThisHPStat >> 8;
}
//Console.WriteLine("HP:" + MercHP);
/*Form1_0.Mem_0.ReadRawMemory(this.statExPtr, ref statBuffer, (int)(this.statExCount * 10));
for (int i = 0; i < this.statExCount; i++)
{

View File

@ -47,7 +47,7 @@ namespace app
{
//return true;
GetUnitPathData();
//GetUnitPathData();
bool[,] ThisCollisionGrid = Form1_0.MapAreaStruc_0.CollisionGrid((Enums.Area)Form1_0.PlayerScan_0.levelNo);
@ -132,58 +132,82 @@ namespace app
LastMobPos.Y = yPosFinal;
}
public List<int> monsterIDs = new List<int>();
public List<int[]> GetAllMobsNearby()
{
Form1_0.PatternsScan_0.scanForUnitsPointer("NPC");
List<int[]> monsterPositions2 = new List<int[]>();
for (int i = 0; i < Form1_0.PatternsScan_0.AllNPCPointers.Count; i++)
monsterIDs = new List<int>();
try
{
MobsPointerLocation = Form1_0.PatternsScan_0.AllNPCPointers[i];
if (MobsPointerLocation > 0)
for (int i = 0; i < Form1_0.PatternsScan_0.AllNPCPointers.Count; i++)
{
//mobsdatastruc = new byte[144];
//Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation, ref mobsdatastruc, 144);
//txtFileNo = BitConverter.ToUInt32(mobsdatastruc, 4);
//uint FirrstName = txtFileNo;
MobsPointerLocation = Form1_0.PatternsScan_0.AllNPCPointers[i];
if (MobsPointerLocation > 0)
{
//mobsdatastruc = new byte[144];
//Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation, ref mobsdatastruc, 144);
//txtFileNo = BitConverter.ToUInt32(mobsdatastruc, 4);
//uint FirrstName = txtFileNo;
CurrentPointerBytes = new byte[4];
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 4, ref CurrentPointerBytes, CurrentPointerBytes.Length);
txtFileNo = BitConverter.ToUInt32(CurrentPointerBytes, 0);
CurrentPointerBytes = new byte[4];
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 4, ref CurrentPointerBytes, CurrentPointerBytes.Length);
txtFileNo = BitConverter.ToUInt32(CurrentPointerBytes, 0);
//long pStatsListExPtr = BitConverter.ToInt64(mobsdatastruc, 0x88);
CurrentPointerBytes = new byte[8];
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x88, ref CurrentPointerBytes, CurrentPointerBytes.Length);
long pStatsListExPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
//long pStatsListExPtr = BitConverter.ToInt64(mobsdatastruc, 0x88);
CurrentPointerBytes = new byte[8];
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x88, ref CurrentPointerBytes, CurrentPointerBytes.Length);
long pStatsListExPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
bool isPlayerMinion = false;
if (getPlayerMinion((int)txtFileNo) != "") isPlayerMinion = true;
else isPlayerMinion = ((Form1_0.Mem_0.ReadUInt32((IntPtr)(pStatsListExPtr + 0xAC8 + 0xc)) & 31) == 1); //is a revive
bool isPlayerMinion = false;
if (getPlayerMinion((int)txtFileNo) != "") isPlayerMinion = true;
else isPlayerMinion = ((Form1_0.Mem_0.ReadUInt32((IntPtr)(pStatsListExPtr + 0xAC8 + 0xc)) & 31) == 1); //is a revive
if (Form1_0.NPCStruc_0.HideNPC((int)txtFileNo) == 0
&& Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo) == ""
&& !isPlayerMinion)
if ((Form1_0.NPCStruc_0.HideNPC((int)txtFileNo) == 0
&& Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo) == ""
&& !isPlayerMinion
&& !DebuggingMobs)
|| DebuggingMobs)
//&& IsThisMobInBound())
//&& !ShouldBeIgnored(txtFileNo))
{
GetUnitPathData();
GetStatsAddr();
MobsHP = GetHPFromStats();
//Console.WriteLine("found near mob " + Form1_0.NPCStruc_0.getNPC_ID((int)txtFileNo) + " at: " + xPosFinal + ", " + yPosFinal + " HP:" + MobsHP);
if (xPosFinal != 0 && yPosFinal != 0)
{
//if (MobsHP != 0) monsterPositions2.Add(Tuple.Create((int) xPosFinal, (int) yPosFinal));
if (MobsHP != 0) monsterPositions2.Add(new int[2] { (int)xPosFinal, (int)yPosFinal });
GetUnitPathData();
GetStatsAddr();
MobsHP = GetHPFromStats();
if (DebuggingMobs)
{
Form1_0.AppendTextDebugMobs("ID:" + txtFileNo + "(" + Form1_0.NPCStruc_0.getNPC_ID((int)txtFileNo) + ") at:" + xPosFinal + ", " + yPosFinal + " - HP:" + MobsHP + Environment.NewLine);
}
//Console.WriteLine("found near mob " + Form1_0.NPCStruc_0.getNPC_ID((int)txtFileNo) + " at: " + xPosFinal + ", " + yPosFinal + " HP:" + MobsHP);
if (xPosFinal != 0 && yPosFinal != 0)
{
//if (MobsHP != 0) monsterPositions2.Add(Tuple.Create((int) xPosFinal, (int) yPosFinal));
if (MobsHP != 0)
{
monsterPositions2.Add(new int[2] { (int)xPosFinal, (int)yPosFinal });
monsterIDs.Add((int) txtFileNo);
}
}
}
}
}
}
catch
{
Form1_0.method_1("Couldn't get All Mobs Nearby!", Color.Red);
}
return monsterPositions2;
}
public bool DebuggingMobs = false;
public bool GetMobs(string MobType, string MobName, bool Nearest, int MaxMobDistance, List<long> IgnoredListPointers)
{
txtFileNo = 0;
@ -229,8 +253,8 @@ namespace app
//Console.WriteLine("found near mob " + txtFileNo + " at: " + xPosFinal + ", " + yPosFinal + " HP:" + MobHPBuffer);
if ((MobHPBuffer > 0 || (MobHPBuffer == 0 && MobName != ""))
&& (xPosFinal != 0 && yPosFinal != 0))
//&& IsThisMobInBound())
&& (xPosFinal != 0 && yPosFinal != 0)//)
&& IsThisMobInBound())
{
//get nearest mobs in all mobs
if (Nearest)
@ -420,8 +444,8 @@ namespace app
public int GetHPFromStats()
{
//try
//{
try
{
if (this.statCount < 100)
{
Form1_0.Mem_0.ReadRawMemory(this.statPtr, ref statBuffer, (int)(this.statCount * 10));
@ -433,8 +457,10 @@ namespace app
int statValue = BitConverter.ToInt32(statBuffer, offset + 0x4);
if (statEnum == 6)
{
//byte[] RunBuf = new byte[4];
//int NewV = 1 << 8;
//byte[] RunBuf = new byte[4] { 0x01, 0x00, 0x00, 0x00 };
//Form1_0.Mem_0.WriteRawMemory((IntPtr)(this.statPtr + offset + 0x4), RunBuf, 4);
return statValue;
}
}
@ -461,8 +487,11 @@ namespace app
{
Console.WriteLine("statExCount too long > 100: " + this.statExCount);
}*/
//}
//catch { }
}
catch
{
Form1_0.method_1("Couldn't get Mob HP from Stats!", Color.Red);
}
return 0; // or some other default value
}

View File

@ -374,9 +374,11 @@ namespace app
// case 424: return 1; //OakSage
// case 428: return 1; //DruidBear
case 543: return 1; //BaalThrone
case 565: return 1; //BaalThrone Something...
case 567: return 1; //InjuredBarbarian
case 568: return 1; //InjuredBarbarian2
case 569: return 1; //InjuredBarbarian3
case 574: return 1; //BaalThrone Something...
case 711: return 1; //DemonHole
}
return 0;

View File

@ -5,6 +5,7 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Diagnostics.DebuggableAttribute;
namespace app
{
@ -94,6 +95,16 @@ namespace app
return objectsPositions2;
}
public void DebugObjects()
{
Form1_0.ClearDebugobjects();
DebuggingObjects = true;
GetObjects("", false);
DebuggingObjects = false;
}
public bool DebuggingObjects = false;
public bool GetObjects(string ObjectType, bool Nearest, List<uint> IgnoredIDList = null, int MaxDistance = 999, string PortalOwner = "", int PortalArea = 0)
{
txtFileNo = 0;
@ -120,6 +131,11 @@ namespace app
//Form1_0.method_1("Object: " + getObjectName((int)txtFileNo) + " - " + itemx + ", " + itemy, Color.DarkOrchid);
if (DebuggingObjects)
{
Form1_0.AppendTextDebugObjects("ID:" + txtFileNo + "(" + getObjectName((int)txtFileNo) + ") at:" + itemx + ", " + itemy + Environment.NewLine);
}
if (ObjectType == "TownPortal")
{
if (isPortal((int)txtFileNo) == 1)

View File

@ -251,7 +251,15 @@ namespace app
public void scanForUnitsPointer(string SearchUnitsType)
{
long UnitOffset = (long)Form1_0.BaseAddress + (long)Form1_0.offsets["unitTable"] + Form1_0.UnitStrucOffset;
long UnitOffset = 0;
try
{
UnitOffset = (long)Form1_0.BaseAddress + (long)Form1_0.offsets["unitTable"] + Form1_0.UnitStrucOffset;
}
catch
{
return;
}
if (SearchUnitsType == "item") AllPossibleItemsPointers = new List<long>();
if (SearchUnitsType == "player") AllPossiblePlayerPointers = new List<long>();

View File

@ -18,6 +18,7 @@ using System.Windows.Forms;
using System.Xml.Linq;
using static app.Enums;
using static app.EnumsStates;
using static app.MapAreaStruc;
using static System.Runtime.InteropServices.ComTypes.IStream;
using static System.Windows.Forms.AxHost;
@ -54,6 +55,10 @@ namespace app
public long statPtr = 0;
public long statCount = 0;
public Enums.PlayerClass CurrentPlayerClass;
public Enums.Skill LeftSkill;
public Enums.Skill RightSkill;
public long PlayerGoldInventory = 0;
public long PlayerGoldInStash = 0;
public long PlayerHP = 0;
@ -125,6 +130,14 @@ namespace app
xPosFinal = (ushort)(xPos + xPosOffsetPercent);
yPosFinal = (ushort)(yPos + yPosOffsetPercent);
//Console.WriteLine("X: " + xPos);
//Console.WriteLine("Off: " + Form1_0.Mem_0.ReadByteRaw((IntPtr)(pathAddress + 0x02)).ToString("X2"));
//Console.WriteLine("Off: " + Form1_0.Mem_0.ReadByteRaw((IntPtr)(pathAddress + 0x03)).ToString("X2"));
//Console.WriteLine("Off: " + Form1_0.Mem_0.ReadByteRaw((IntPtr)(pathAddress + 0x04)).ToString("X2"));
//Console.WriteLine("Off: " + Form1_0.Mem_0.ReadByteRaw((IntPtr)(pathAddress + 0x05)).ToString("X2"));
//byte[] bytee = new byte[2] { 0x76, 0x1e };
//Form1_0.Mem_0.WriteRawMemory((IntPtr)(pathAddress + 0x02), bytee, bytee.Length);
pStatsListEx = Form1_0.Mem_0.ReadInt64Raw((IntPtr)(PlayerPointer + 0x88));
statPtr = Form1_0.Mem_0.ReadInt64Raw((IntPtr)(pStatsListEx + 0x30));
statCount = Form1_0.Mem_0.ReadInt32Raw((IntPtr)(pStatsListEx + 0x38));
@ -155,6 +168,8 @@ namespace app
ushort statEnum = BitConverter.ToUInt16(buffer, offset);
uint statValue = BitConverter.ToUInt32(buffer, offset + 0x2);
//Console.WriteLine((Enums.Attribute) statEnum + " - " + statValue);
if (statEnum == (ushort) Enums.Attribute.Life)
{
PlayerHP = statValue >> 8;
@ -256,6 +271,26 @@ namespace app
//#####################################################################################################
//#####################################################################################################
//#####################################################################################################
// Skills
long skillListPtr = Form1_0.Mem_0.ReadInt64Raw((IntPtr)(PlayerPointer + 0x100));
//var skills = GetSkills(skillListPtr);
long leftSkillPtr = Form1_0.Mem_0.ReadInt64Raw((IntPtr)(skillListPtr + 0x08));
long leftSkillTxtPtr = Form1_0.Mem_0.ReadInt64Raw((IntPtr)leftSkillPtr);
ushort leftSkillId = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)leftSkillTxtPtr);
LeftSkill = (Enums.Skill)leftSkillId;
long rightSkillPtr = Form1_0.Mem_0.ReadInt64Raw((IntPtr)(skillListPtr + 0x10));
long rightSkillTxtPtr = Form1_0.Mem_0.ReadInt64Raw((IntPtr)rightSkillPtr);
ushort rightSkillId = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)rightSkillTxtPtr);
RightSkill = (Enums.Skill)rightSkillId;
// Class
uint classValue = Form1_0.Mem_0.ReadUInt32Raw((IntPtr)(PlayerPointer + 0x174));
CurrentPlayerClass = (Enums.PlayerClass)classValue;
//#####################################################################################################
//#####################################################################################################
//#####################################################################################################
//get player name
PlayerNamePointer = Form1_0.Mem_0.ReadInt64Raw((IntPtr)(PlayerPointer + 0x10));
@ -429,7 +464,7 @@ namespace app
Form1_0.method_1("Leecher name is empty!", Color.Red);
}
for (int i = 0; i < 8; i++)
for (int i = 0; i < 9; i++)
{
string name = Form1_0.Mem_0.ReadMemString(partyStruct);
if (name.ToLower() == LeeeechName.ToLower())

View File

@ -71,7 +71,7 @@ namespace app
Form1_0.KeyMouse_0.PressKey(ThisKey);
Form1_0.WaitDelay(5);
ThisMenuClose = !GetMenuActive(UIName);
Application.DoEvents();
//Application.DoEvents();
TryClic++;
}
}
@ -87,7 +87,7 @@ namespace app
Form1_0.KeyMouse_0.PressKey(ThisKey);
Form1_0.WaitDelay(5);
ThisMenuOpen = GetMenuActive(UIName);
Application.DoEvents();
//Application.DoEvents();
TryClic++;
}
@ -105,7 +105,7 @@ namespace app
Form1_0.KeyMouse_0.PressKey(ThisKey);
Form1_0.WaitDelay(5);
ThisMenuClose = !GetMenuActive(UIName);
Application.DoEvents();
//Application.DoEvents();
TryClic++;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.