Compare commits
2 Commits
3452fa405a
...
45d3299f00
Author | SHA1 | Date |
---|---|---|
Bouletmarc | 45d3299f00 | |
Bouletmarc | a4778a348c |
|
@ -0,0 +1,119 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Enums;
|
||||
using static MapAreaStruc;
|
||||
|
||||
public class ArachnidLair
|
||||
{
|
||||
Form1 Form1_0;
|
||||
|
||||
public int CurrentStep = 0;
|
||||
public bool ScriptDone = false;
|
||||
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
Form1_0 = form1_1;
|
||||
}
|
||||
|
||||
public void ResetVars()
|
||||
{
|
||||
CurrentStep = 0;
|
||||
ScriptDone = false;
|
||||
}
|
||||
|
||||
public void DetectCurrentStep()
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.SpiderForest) CurrentStep = 1;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.SpiderCavern) CurrentStep = 2;
|
||||
}
|
||||
|
||||
public void RunScript()
|
||||
{
|
||||
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
|
||||
|
||||
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
|
||||
{
|
||||
ScriptDone = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Form1_0.Town_0.GetInTown())
|
||||
{
|
||||
Form1_0.SetGameStatus("GO TO WP");
|
||||
CurrentStep = 0;
|
||||
|
||||
Form1_0.Town_0.GoToWPArea(3, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.SetGameStatus("DOING ARACHNID LAIR");
|
||||
Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.WaitDelay(15);
|
||||
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.SpiderForest)
|
||||
{
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
DetectCurrentStep();
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.GoToTown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentStep == 1)
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.SpiderCavern)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
|
||||
Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.SpiderCavern);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 2)
|
||||
{
|
||||
//####
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.SpiderForest)
|
||||
{
|
||||
CurrentStep--;
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
Form1_0.SetGameStatus("CLEARING ARACHNID LAIR");
|
||||
|
||||
if ((Enums.Area)Form1_0.Battle_0.AreaIDFullyCleared != Enums.Area.SpiderCavern)
|
||||
{
|
||||
Form1_0.Battle_0.ClearFullAreaOfMobs();
|
||||
|
||||
if (!Form1_0.Battle_0.ClearingArea)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -349,7 +349,7 @@ public class Baal
|
|||
}
|
||||
|
||||
//STOP CASTING ERROR DETECTING MOBS/BAAL MOVED
|
||||
if ((DateTime.Now - TimeSinceLastWaveDone).TotalSeconds > 25)
|
||||
/*if ((DateTime.Now - TimeSinceLastWaveDone).TotalSeconds > 25)
|
||||
{
|
||||
TimeSinceLastWaveDone = DateTime.MaxValue;
|
||||
TimeSinceLastWaveSet = false;
|
||||
|
@ -369,7 +369,7 @@ public class Baal
|
|||
CheckingThroneBackMode = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
//STOP CASTING
|
||||
if (Form1_0.MobsStruc_0.GetMobs("", "", true, 30, IgnoredMobs))
|
||||
|
|
299
Bots/Chaos.cs
299
Bots/Chaos.cs
|
@ -37,9 +37,10 @@ public class Chaos
|
|||
public int SealType = 0;
|
||||
|
||||
public bool MovedToTPPos = false;
|
||||
|
||||
public bool CastedAtSeis = false;
|
||||
|
||||
public bool FastChaosPopingSeals = false;
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
Form1_0 = form1_1;
|
||||
|
@ -55,6 +56,7 @@ public class Chaos
|
|||
StartTimeUniqueBossWaiting = DateTime.Now;
|
||||
MovedToTPPos = false;
|
||||
CastedAtSeis = false;
|
||||
FastChaosPopingSeals = false;
|
||||
}
|
||||
|
||||
public void DetectCurrentStep()
|
||||
|
@ -182,56 +184,59 @@ public class Chaos
|
|||
StartTimeUniqueBossWaiting = DateTime.Now;
|
||||
TimeSetForWaitingUniqueBoss = true;
|
||||
}
|
||||
|
||||
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 < CharConfig.ChaosWaitingSealBossDelay)
|
||||
{
|
||||
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Grand Vizier of Chaos", false, 200, new List<long>());
|
||||
|
||||
Form1_0.PlayerScan_0.GetPositions();
|
||||
Form1_0.overlayForm.UpdateOverlay();
|
||||
Form1_0.GameStruc_0.CheckChickenGameTime();
|
||||
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.CastSkillsNoMove();
|
||||
//###
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
if (!UniqueDetected)
|
||||
{
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CurrentSealPos.Y == 5275) SealType = 1;
|
||||
else SealType = 2;
|
||||
Form1_0.SetGameStatus("KILLING VIZIER");
|
||||
|
||||
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 < CharConfig.ChaosWaitingSealBossDelay)
|
||||
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Grand Vizier of Chaos", false, 200, new List<long>()))
|
||||
{
|
||||
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Grand Vizier of Chaos", false, 200, new List<long>());
|
||||
|
||||
Form1_0.PlayerScan_0.GetPositions();
|
||||
Form1_0.overlayForm.UpdateOverlay();
|
||||
Form1_0.GameStruc_0.CheckChickenGameTime();
|
||||
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.CastSkillsNoMove();
|
||||
//###
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
if (!UniqueDetected)
|
||||
{
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
if (Form1_0.MobsStruc_0.MobsHP > 0)
|
||||
{
|
||||
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Grand Vizier of Chaos", new List<long>());
|
||||
}
|
||||
else
|
||||
{
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.SetGameStatus("KILLING VIZIER");
|
||||
|
||||
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Grand Vizier of Chaos", false, 200, new List<long>()))
|
||||
{
|
||||
if (Form1_0.MobsStruc_0.MobsHP > 0)
|
||||
{
|
||||
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Grand Vizier of Chaos", new List<long>());
|
||||
}
|
||||
else
|
||||
{
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -243,7 +248,7 @@ public class Chaos
|
|||
&& 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();
|
||||
if (!FastChaos && !FastChaosPopingSeals) Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
MovedToTPPos = true;
|
||||
Form1_0.PathFinding_0.MoveToObject("DiabloSeal5", 4, true);
|
||||
|
@ -310,65 +315,68 @@ public class Chaos
|
|||
StartTimeUniqueBossWaiting = DateTime.Now;
|
||||
TimeSetForWaitingUniqueBoss = true;
|
||||
}
|
||||
|
||||
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 < CharConfig.ChaosWaitingSealBossDelay)
|
||||
{
|
||||
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Lord De Seis", false, 200, new List<long>());
|
||||
|
||||
Form1_0.PlayerScan_0.GetPositions();
|
||||
Form1_0.overlayForm.UpdateOverlay();
|
||||
Form1_0.GameStruc_0.CheckChickenGameTime();
|
||||
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.CastSkillsNoMove();
|
||||
//###
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
if (!UniqueDetected)
|
||||
{
|
||||
//Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CurrentSealPos.X == 7773) SealType = 1;
|
||||
else SealType = 2;
|
||||
Form1_0.SetGameStatus("KILLING LORD DE SEIS");
|
||||
|
||||
if (SealType == 1)
|
||||
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Lord De Seis", false, 200, new List<long>()))
|
||||
{
|
||||
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 < CharConfig.ChaosWaitingSealBossDelay)
|
||||
{
|
||||
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Lord De Seis", false, 200, new List<long>());
|
||||
|
||||
Form1_0.PlayerScan_0.GetPositions();
|
||||
Form1_0.overlayForm.UpdateOverlay();
|
||||
Form1_0.GameStruc_0.CheckChickenGameTime();
|
||||
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.CastSkillsNoMove();
|
||||
//###
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
if (!UniqueDetected)
|
||||
{
|
||||
//Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
if (Form1_0.MobsStruc_0.MobsHP > 0)
|
||||
{
|
||||
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Lord De Seis", new List<long>());
|
||||
}
|
||||
else
|
||||
{
|
||||
//Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.SetGameStatus("KILLING LORD DE SEIS");
|
||||
|
||||
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Lord De Seis", false, 200, new List<long>()))
|
||||
{
|
||||
if (Form1_0.MobsStruc_0.MobsHP > 0)
|
||||
{
|
||||
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Lord De Seis", new List<long>());
|
||||
}
|
||||
else
|
||||
{
|
||||
//Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
//######
|
||||
|
@ -428,57 +436,49 @@ public class Chaos
|
|||
StartTimeUniqueBossWaiting = DateTime.Now;
|
||||
TimeSetForWaitingUniqueBoss = true;
|
||||
}
|
||||
|
||||
if (CurrentSealPos.X == 7893) SealType = 1;
|
||||
else SealType = 2;
|
||||
|
||||
if (SealType == 1) SealType = 1; // temp
|
||||
else Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 7933, Y = 5299 }, 4, true);
|
||||
|
||||
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 < CharConfig.ChaosWaitingSealBossDelay)
|
||||
{
|
||||
UniqueDetected = Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Winged Death", false, 200, new List<long>());
|
||||
|
||||
Form1_0.PlayerScan_0.GetPositions();
|
||||
Form1_0.overlayForm.UpdateOverlay();
|
||||
Form1_0.GameStruc_0.CheckChickenGameTime();
|
||||
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.CastSkillsNoMove();
|
||||
//###
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
if (!UniqueDetected)
|
||||
{
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CurrentSealPos.X == 7893) SealType = 1;
|
||||
else SealType = 2;
|
||||
Form1_0.SetGameStatus("KILLING INFECTOR");
|
||||
|
||||
if (SealType == 1) SealType = 1; // temp
|
||||
else Form1_0.PathFinding_0.MoveToThisPos(new Position { X = 7933, Y = 5299 }, 4, true);
|
||||
|
||||
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 < CharConfig.ChaosWaitingSealBossDelay)
|
||||
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Winged Death", 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();
|
||||
Form1_0.GameStruc_0.CheckChickenGameTime();
|
||||
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.CastSkillsNoMove();
|
||||
//###
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
if (!UniqueDetected)
|
||||
{
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.SetGameStatus("KILLING INFECTOR");
|
||||
|
||||
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Winged Death", false, 200, new List<long>()))
|
||||
if (Form1_0.MobsStruc_0.MobsHP > 0)
|
||||
{
|
||||
if (Form1_0.MobsStruc_0.MobsHP > 0)
|
||||
{
|
||||
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Winged Death", new List<long>());
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
Form1_0.Battle_0.RunBattleScriptOnThisMob("getSuperUniqueName", "Winged Death", new List<long>());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -487,6 +487,12 @@ public class Chaos
|
|||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
|
||||
TimeSetForWaitingUniqueBoss = false;
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
//######
|
||||
}
|
||||
|
@ -501,7 +507,7 @@ public class Chaos
|
|||
if (Form1_0.PathFinding_0.MoveToThisPos(DiabloSpawnPos, 4, true))
|
||||
{
|
||||
//Form1_0.PathFinding_0.MoveToThisPos(DiabloSpawnPos, 4, true);
|
||||
Form1_0.Battle_0.CastDefense();
|
||||
if (!FastChaos) Form1_0.Battle_0.CastDefense();
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
|
@ -515,7 +521,7 @@ public class Chaos
|
|||
bool DetectedDiablo = Form1_0.MobsStruc_0.GetMobs("getBossName", "Diablo", false, 200, new List<long>());
|
||||
DateTime StartTime = DateTime.Now;
|
||||
TimeSpan TimeSinceDetecting = DateTime.Now - StartTime;
|
||||
while (!DetectedDiablo && TimeSinceDetecting.TotalSeconds < 12)
|
||||
while (!DetectedDiablo && TimeSinceDetecting.TotalSeconds < 13)
|
||||
{
|
||||
Form1_0.SetGameStatus("WAITING DETECTING DIABLO");
|
||||
DetectedDiablo = Form1_0.MobsStruc_0.GetMobs("getBossName", "Diablo", false, 200, new List<long>());
|
||||
|
@ -534,10 +540,11 @@ public class Chaos
|
|||
}
|
||||
}
|
||||
|
||||
if (TimeSinceDetecting.TotalSeconds >= 12)
|
||||
if (TimeSinceDetecting.TotalSeconds >= 13)
|
||||
{
|
||||
Form1_0.MobsStruc_0.DetectThisMob("getBossName", "Diablo", false, 200, new List<long>());
|
||||
Form1_0.method_1("Waited too long for Diablo repoping the seals!", Color.OrangeRed);
|
||||
FastChaosPopingSeals = true;
|
||||
CurrentStep = 3;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,145 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Enums;
|
||||
using static MapAreaStruc;
|
||||
|
||||
public class Crypt
|
||||
{
|
||||
Form1 Form1_0;
|
||||
|
||||
public int CurrentStep = 0;
|
||||
public bool ScriptDone = false;
|
||||
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
Form1_0 = form1_1;
|
||||
}
|
||||
|
||||
public void ResetVars()
|
||||
{
|
||||
CurrentStep = 0;
|
||||
ScriptDone = false;
|
||||
}
|
||||
|
||||
public void DetectCurrentStep()
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ColdPlains) CurrentStep = 1;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BurialGrounds) CurrentStep = 2;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.Crypt) CurrentStep = 3;
|
||||
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.Mausoleum)
|
||||
{
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.BurialGrounds);
|
||||
CurrentStep = 2;
|
||||
}
|
||||
}
|
||||
|
||||
public void RunScript()
|
||||
{
|
||||
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
|
||||
|
||||
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
|
||||
{
|
||||
ScriptDone = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Form1_0.Town_0.GetInTown())
|
||||
{
|
||||
Form1_0.SetGameStatus("GO TO WP");
|
||||
CurrentStep = 0;
|
||||
|
||||
Form1_0.Town_0.GoToWPArea(1, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.SetGameStatus("DOING CRYPT");
|
||||
Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.WaitDelay(15);
|
||||
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ColdPlains)
|
||||
{
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
DetectCurrentStep();
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.GoToTown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentStep == 1)
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BurialGrounds)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
|
||||
Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.BurialGrounds);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 2)
|
||||
{
|
||||
//####
|
||||
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.Crypt)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ColdPlains)
|
||||
{
|
||||
CurrentStep--;
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.Crypt);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 3)
|
||||
{
|
||||
//####
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BurialGrounds)
|
||||
{
|
||||
CurrentStep--;
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
Form1_0.SetGameStatus("CLEARING CRYPT");
|
||||
|
||||
if ((Enums.Area)Form1_0.Battle_0.AreaIDFullyCleared != Enums.Area.Crypt)
|
||||
{
|
||||
Form1_0.Battle_0.ClearFullAreaOfMobs();
|
||||
|
||||
if (!Form1_0.Battle_0.ClearingArea)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,145 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Enums;
|
||||
using static MapAreaStruc;
|
||||
|
||||
public class Mausoleum
|
||||
{
|
||||
Form1 Form1_0;
|
||||
|
||||
public int CurrentStep = 0;
|
||||
public bool ScriptDone = false;
|
||||
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
Form1_0 = form1_1;
|
||||
}
|
||||
|
||||
public void ResetVars()
|
||||
{
|
||||
CurrentStep = 0;
|
||||
ScriptDone = false;
|
||||
}
|
||||
|
||||
public void DetectCurrentStep()
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ColdPlains) CurrentStep = 1;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BurialGrounds) CurrentStep = 2;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.Mausoleum) CurrentStep = 3;
|
||||
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.Crypt)
|
||||
{
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.BurialGrounds);
|
||||
CurrentStep = 2;
|
||||
}
|
||||
}
|
||||
|
||||
public void RunScript()
|
||||
{
|
||||
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
|
||||
|
||||
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
|
||||
{
|
||||
ScriptDone = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Form1_0.Town_0.GetInTown())
|
||||
{
|
||||
Form1_0.SetGameStatus("GO TO WP");
|
||||
CurrentStep = 0;
|
||||
|
||||
Form1_0.Town_0.GoToWPArea(1, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.SetGameStatus("DOING MAUSOLEUM");
|
||||
Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.WaitDelay(15);
|
||||
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ColdPlains)
|
||||
{
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
DetectCurrentStep();
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.GoToTown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentStep == 1)
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BurialGrounds)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
|
||||
Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.BurialGrounds);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 2)
|
||||
{
|
||||
//####
|
||||
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.Mausoleum)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ColdPlains)
|
||||
{
|
||||
CurrentStep--;
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.Mausoleum);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 3)
|
||||
{
|
||||
//####
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BurialGrounds)
|
||||
{
|
||||
CurrentStep--;
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
Form1_0.SetGameStatus("CLEARING MAUSOLEUM");
|
||||
|
||||
if ((Enums.Area)Form1_0.Battle_0.AreaIDFullyCleared != Enums.Area.Mausoleum)
|
||||
{
|
||||
Form1_0.Battle_0.ClearFullAreaOfMobs();
|
||||
|
||||
if (!Form1_0.Battle_0.ClearingArea)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -125,9 +125,13 @@ public class Mephisto
|
|||
{
|
||||
if (Form1_0.Battle_0.EndBossBattle())
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
|
||||
//Position ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "portal", 102 - 1, new List<int>() { });
|
||||
//if (Form1_0.Mover_0.MoveToLocation(ThisFinalPosition.X, ThisFinalPosition.Y))
|
||||
while (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
|
||||
/*while (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
|
||||
{
|
||||
Form1_0.ItemsStruc_0.GetItems(true);
|
||||
if (Form1_0.Mover_0.MoveToLocation(17601, 8070))
|
||||
|
@ -145,7 +149,7 @@ public class Mephisto
|
|||
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
ScriptDone = true;*/
|
||||
return;
|
||||
//Form1_0.LeaveGame(true);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,180 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Enums;
|
||||
using static MapAreaStruc;
|
||||
|
||||
public class Pit
|
||||
{
|
||||
Form1 Form1_0;
|
||||
|
||||
public int CurrentStep = 0;
|
||||
public bool ScriptDone = false;
|
||||
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
Form1_0 = form1_1;
|
||||
}
|
||||
|
||||
public void ResetVars()
|
||||
{
|
||||
CurrentStep = 0;
|
||||
ScriptDone = false;
|
||||
}
|
||||
|
||||
public void DetectCurrentStep()
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.OuterCloister) CurrentStep = 1;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.MonasteryGate) CurrentStep = 2;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.TamoeHighland) CurrentStep = 3;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.PitLevel1) CurrentStep = 4;
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.PitLevel2) CurrentStep = 5;
|
||||
}
|
||||
|
||||
public void RunScript()
|
||||
{
|
||||
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
|
||||
|
||||
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
|
||||
{
|
||||
ScriptDone = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Form1_0.Town_0.GetInTown())
|
||||
{
|
||||
Form1_0.SetGameStatus("GO TO WP");
|
||||
CurrentStep = 0;
|
||||
|
||||
Form1_0.Town_0.GoToWPArea(1, 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.SetGameStatus("DOING CRYPT");
|
||||
Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.WaitDelay(15);
|
||||
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.OuterCloister)
|
||||
{
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
DetectCurrentStep();
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.GoToTown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentStep == 1)
|
||||
{
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.BurialGrounds)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
|
||||
Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.MonasteryGate);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 2)
|
||||
{
|
||||
//####
|
||||
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.TamoeHighland)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.OuterCloister)
|
||||
{
|
||||
CurrentStep--;
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
Form1_0.PathFinding_0.MoveToNextArea(Enums.Area.TamoeHighland);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 3)
|
||||
{
|
||||
//####
|
||||
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.PitLevel1)
|
||||
{
|
||||
CurrentStep++;
|
||||
return;
|
||||
}
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.MonasteryGate)
|
||||
{
|
||||
CurrentStep--;
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.PitLevel1);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 4)
|
||||
{
|
||||
Form1_0.SetGameStatus("CLEARING PIT LVL1");
|
||||
if ((Enums.Area)Form1_0.Battle_0.AreaIDFullyCleared != Enums.Area.PitLevel1)
|
||||
{
|
||||
Form1_0.Battle_0.ClearFullAreaOfMobs();
|
||||
|
||||
if (!Form1_0.Battle_0.ClearingArea)
|
||||
{
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.PitLevel2);
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.PitLevel2);
|
||||
CurrentStep++;
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentStep == 5)
|
||||
{
|
||||
//####
|
||||
if (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.PitLevel1)
|
||||
{
|
||||
Form1_0.PathFinding_0.MoveToExit(Enums.Area.PitLevel2);
|
||||
return;
|
||||
}
|
||||
//####
|
||||
|
||||
Form1_0.SetGameStatus("CLEARING PIT LVL2");
|
||||
if ((Enums.Area)Form1_0.Battle_0.AreaIDFullyCleared != Enums.Area.PitLevel2)
|
||||
{
|
||||
Form1_0.Battle_0.ClearFullAreaOfMobs();
|
||||
|
||||
if (!Form1_0.Battle_0.ClearingArea)
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -157,11 +157,14 @@ public class MephistoRush
|
|||
|
||||
if (Form1_0.Battle_0.EndBossBattle())
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
|
||||
//Position ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "portal", 102 - 1, new List<int>() { });
|
||||
//if (Form1_0.Mover_0.MoveToLocation(ThisFinalPosition.X, ThisFinalPosition.Y))
|
||||
|
||||
while (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
|
||||
/*while (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
|
||||
{
|
||||
if (Form1_0.Mover_0.MoveToLocation(17601, 8070))
|
||||
{
|
||||
|
@ -178,7 +181,7 @@ public class MephistoRush
|
|||
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.UseLastTP = false;
|
||||
ScriptDone = true;
|
||||
ScriptDone = true;*/
|
||||
return;
|
||||
//Form1_0.LeaveGame(true);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class ShopBot
|
||||
{
|
||||
Form1 Form1_0;
|
||||
|
||||
public int CurrentStep = 0;
|
||||
public bool ScriptDone = false;
|
||||
public int MaxShopCount = -1;
|
||||
public int CurrentShopCount = 0;
|
||||
public int ShopBotTownAct = 5;
|
||||
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
Form1_0 = form1_1;
|
||||
}
|
||||
|
||||
public void ResetVars()
|
||||
{
|
||||
CurrentStep = 0;
|
||||
ScriptDone = false;
|
||||
}
|
||||
|
||||
public void RunScript()
|
||||
{
|
||||
Form1_0.Town_0.ScriptTownAct = ShopBotTownAct;
|
||||
|
||||
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
|
||||
{
|
||||
ScriptDone = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (CurrentStep == 0)
|
||||
{
|
||||
Form1_0.SetGameStatus("DOING SHOPBOT");
|
||||
Form1_0.Battle_0.CastDefense();
|
||||
Form1_0.WaitDelay(15);
|
||||
|
||||
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.Harrogath)
|
||||
{
|
||||
CurrentStep++;
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.Town_0.FastTowning = false;
|
||||
Form1_0.Town_0.GoToTown();
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentStep == 1)
|
||||
{
|
||||
Form1_0.SetGameStatus("TOWN-SHOPBOT");
|
||||
//Console.WriteLine("town moving to shop");
|
||||
Form1_0.Town_0.MoveToStore();
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 2)
|
||||
{
|
||||
Form1_0.Town_0.GoToWPArea(5, 1);
|
||||
CurrentStep++;
|
||||
}
|
||||
|
||||
if (CurrentStep == 2)
|
||||
{
|
||||
Form1_0.Town_0.GoToWPArea(5, 0);
|
||||
|
||||
if (MaxShopCount > 0)
|
||||
{
|
||||
CurrentShopCount++;
|
||||
if (CurrentShopCount >= MaxShopCount)
|
||||
{
|
||||
ScriptDone = true;
|
||||
}
|
||||
}
|
||||
CurrentStep = 1;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -139,6 +139,11 @@ public static class CharConfig
|
|||
public static bool RunBaalLeechScript = true; //BAAL LEECH SCRIPT
|
||||
public static bool RunTerrorZonesScript = false;
|
||||
public static bool RunItemGrabScriptOnly = false;
|
||||
public static bool RunShopBotScript = false;
|
||||
public static bool RunMausoleumScript = false;
|
||||
public static bool RunCryptScript = false;
|
||||
public static bool RunArachnidScript = false;
|
||||
public static bool RunPitScript = false;
|
||||
//NOT IN GAME SCRIPT (SEARCH GAMES OR CREATE A NEW GAME)
|
||||
public static bool RunChaosSearchGameScript = false; //CHAOS GAMES SEARCHER SCRIPT
|
||||
public static bool RunBaalSearchGameScript = true; //BAAL GAMES SEARCHER SCRIPT
|
||||
|
@ -191,5 +196,6 @@ public static class CharConfig
|
|||
public static int LeechEnterTPDelay = 600;
|
||||
public static int MephistoRedPortalEnterDelay = 800;
|
||||
public static int CubeItemPlaceDelay = 16;
|
||||
public static int CreateGameWaitDelay = 1;
|
||||
|
||||
}
|
||||
|
|
|
@ -254,7 +254,7 @@ public class SettingsLoader
|
|||
{
|
||||
string[] Splitted = AllLines[i].Split('=');
|
||||
if (Splitted[0] == "MaxGameTime") AllLines[i] = "MaxGameTime=" + CharConfig.MaxGameTime;
|
||||
if (Splitted[0] == "LogNotUsefulErrors") AllLines[i] = "LogNotUsefulErrors=" + CharConfig.IsRushing;
|
||||
if (Splitted[0] == "LogNotUsefulErrors") AllLines[i] = "LogNotUsefulErrors=" + CharConfig.LogNotUsefulErrors;
|
||||
|
||||
if (Splitted[0] == "IsRushing") AllLines[i] = "IsRushing=" + CharConfig.IsRushing;
|
||||
if (Splitted[0] == "RushLeecherName") AllLines[i] = "RushLeecherName=" + CharConfig.RushLeecherName;
|
||||
|
@ -347,6 +347,11 @@ public class SettingsLoader
|
|||
if (Splitted[0] == "RunNihlatakScript") AllLines[i] = "RunNihlatakScript=" + CharConfig.RunNihlatakScript;
|
||||
if (Splitted[0] == "RunFrozensteinScript") AllLines[i] = "RunFrozensteinScript=" + CharConfig.RunFrozensteinScript;
|
||||
if (Splitted[0] == "RunTerrorZonesScript") AllLines[i] = "RunTerrorZonesScript=" + CharConfig.RunTerrorZonesScript;
|
||||
if (Splitted[0] == "RunShopBotScript") AllLines[i] = "RunShopBotScript=" + CharConfig.RunShopBotScript;
|
||||
if (Splitted[0] == "RunMausoleumScript") AllLines[i] = "RunMausoleumScript=" + CharConfig.RunMausoleumScript;
|
||||
if (Splitted[0] == "RunCryptScript") AllLines[i] = "RunCryptScript=" + CharConfig.RunCryptScript;
|
||||
if (Splitted[0] == "RunArachnidScript") AllLines[i] = "RunArachnidScript=" + CharConfig.RunArachnidScript;
|
||||
if (Splitted[0] == "RunPitScript") AllLines[i] = "RunPitScript=" + CharConfig.RunPitScript;
|
||||
|
||||
if (Splitted[0] == "RunChaosSearchGameScript") AllLines[i] = "RunChaosSearchGameScript=" + CharConfig.RunChaosSearchGameScript;
|
||||
if (Splitted[0] == "RunBaalSearchGameScript") AllLines[i] = "RunBaalSearchGameScript=" + CharConfig.RunBaalSearchGameScript;
|
||||
|
@ -417,6 +422,7 @@ public class SettingsLoader
|
|||
if (Splitted[0] == "MephistoRedPortalEnterDelay") AllLines[i] = "MephistoRedPortalEnterDelay=" + CharConfig.MephistoRedPortalEnterDelay;
|
||||
if (Splitted[0] == "CubeItemPlaceDelay") AllLines[i] = "CubeItemPlaceDelay=" + CharConfig.CubeItemPlaceDelay;
|
||||
if (Splitted[0] == "OverallDelaysMultiplyer") AllLines[i] = "OverallDelaysMultiplyer=" + CharConfig.OverallDelaysMultiplyer;
|
||||
if (Splitted[0] == "CreateGameWaitDelay") AllLines[i] = "CreateGameWaitDelay=" + CharConfig.CreateGameWaitDelay;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1361,6 +1367,26 @@ public class SettingsLoader
|
|||
{
|
||||
CharConfig.RunTerrorZonesScript = bool.Parse(Params[1].ToLower());
|
||||
}
|
||||
if (Params[0].Contains("RunShopBotScript"))
|
||||
{
|
||||
CharConfig.RunShopBotScript = bool.Parse(Params[1].ToLower());
|
||||
}
|
||||
if (Params[0].Contains("RunMausoleumScript"))
|
||||
{
|
||||
CharConfig.RunMausoleumScript = bool.Parse(Params[1].ToLower());
|
||||
}
|
||||
if (Params[0].Contains("RunCryptScript"))
|
||||
{
|
||||
CharConfig.RunCryptScript = bool.Parse(Params[1].ToLower());
|
||||
}
|
||||
if (Params[0].Contains("RunArachnidScript"))
|
||||
{
|
||||
CharConfig.RunArachnidScript = bool.Parse(Params[1].ToLower());
|
||||
}
|
||||
if (Params[0].Contains("RunPitScript"))
|
||||
{
|
||||
CharConfig.RunPitScript = bool.Parse(Params[1].ToLower());
|
||||
}
|
||||
//########
|
||||
|
||||
if (Params[0].Contains("RunItemGrabScriptOnly"))
|
||||
|
@ -1463,6 +1489,7 @@ public class SettingsLoader
|
|||
if (Params[0].Contains("LeechEnterTPDelay")) CharConfig.LeechEnterTPDelay = int.Parse(Params[1]);
|
||||
if (Params[0].Contains("MephistoRedPortalEnterDelay")) CharConfig.MephistoRedPortalEnterDelay = int.Parse(Params[1]);
|
||||
if (Params[0].Contains("CubeItemPlaceDelay")) CharConfig.CubeItemPlaceDelay = int.Parse(Params[1]);
|
||||
if (Params[0].Contains("CreateGameWaitDelay")) CharConfig.CreateGameWaitDelay = int.Parse(Params[1]);
|
||||
if (Params[0].Contains("OverallDelaysMultiplyer")) CharConfig.OverallDelaysMultiplyer = double.Parse(Params[1], System.Globalization.CultureInfo.InvariantCulture);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,6 +77,8 @@ partial class Form1
|
|||
this.button4 = new System.Windows.Forms.Button();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.tabPage10 = new System.Windows.Forms.TabPage();
|
||||
this.richTextBoSoldLogs = new System.Windows.Forms.RichTextBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
|
@ -90,6 +92,7 @@ partial class Form1
|
|||
this.tabPage6.SuspendLayout();
|
||||
this.tabPage7.SuspendLayout();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.tabPage10.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
|
@ -166,6 +169,7 @@ partial class Form1
|
|||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Controls.Add(this.tabPage8);
|
||||
this.tabControl1.Controls.Add(this.tabPage9);
|
||||
this.tabControl1.Controls.Add(this.tabPage10);
|
||||
this.tabControl1.Location = new System.Drawing.Point(5, 31);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
|
@ -599,6 +603,28 @@ partial class Form1
|
|||
//
|
||||
this.folderBrowserDialog1.Description = "Select the folder where D2 LOD 1.13C is located";
|
||||
//
|
||||
// tabPage10
|
||||
//
|
||||
this.tabPage10.Controls.Add(this.richTextBoSoldLogs);
|
||||
this.tabPage10.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage10.Name = "tabPage10";
|
||||
this.tabPage10.Size = new System.Drawing.Size(323, 324);
|
||||
this.tabPage10.TabIndex = 4;
|
||||
this.tabPage10.Text = "Sold Logs";
|
||||
this.tabPage10.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// richTextBoSoldLogs
|
||||
//
|
||||
this.richTextBoSoldLogs.DetectUrls = false;
|
||||
this.richTextBoSoldLogs.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.richTextBoSoldLogs.Location = new System.Drawing.Point(0, 0);
|
||||
this.richTextBoSoldLogs.Name = "richTextBoSoldLogs";
|
||||
this.richTextBoSoldLogs.ReadOnly = true;
|
||||
this.richTextBoSoldLogs.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
|
||||
this.richTextBoSoldLogs.Size = new System.Drawing.Size(323, 324);
|
||||
this.richTextBoSoldLogs.TabIndex = 6;
|
||||
this.richTextBoSoldLogs.Text = "";
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
@ -640,6 +666,7 @@ partial class Form1
|
|||
this.tabPage7.ResumeLayout(false);
|
||||
this.statusStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.PerformLayout();
|
||||
this.tabPage10.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
@ -695,5 +722,7 @@ partial class Form1
|
|||
public System.Windows.Forms.CheckBox checkBoxShowValidObjectOnly;
|
||||
private System.Windows.Forms.Button buttonPauseResume;
|
||||
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
|
||||
private System.Windows.Forms.TabPage tabPage10;
|
||||
private System.Windows.Forms.RichTextBox richTextBoSoldLogs;
|
||||
}
|
||||
|
||||
|
|
215
Form1.cs
215
Form1.cs
|
@ -40,12 +40,13 @@ using static MapAreaStruc;
|
|||
public partial class Form1 : Form
|
||||
{
|
||||
|
||||
public string BotVersion = "V2.99";
|
||||
public string BotVersion = "V3.01";
|
||||
|
||||
public string D2_LOD_113C_Path = "";
|
||||
|
||||
public Process process;
|
||||
public string ThisEndPath = Application.StartupPath + @"\Extracted\";
|
||||
public string ThisLogPath = Application.StartupPath + @"\Logs\";
|
||||
public Dictionary<string, IntPtr> offsets = new Dictionary<string, IntPtr>();
|
||||
public IntPtr BaseAddress = (IntPtr)0;
|
||||
public IntPtr processHandle = (IntPtr)0;
|
||||
|
@ -166,6 +167,11 @@ public partial class Form1 : Form
|
|||
public Shenk Shenk_0;
|
||||
public Nihlatak Nihlatak_0;
|
||||
public Frozenstein Frozenstein_0;
|
||||
public ShopBot ShopBot_0;
|
||||
public Mausoleum Mausoleum_0;
|
||||
public Crypt Crypt_0;
|
||||
public ArachnidLair ArachnidLair_0;
|
||||
public Pit Pit_0;
|
||||
|
||||
public AndarielRush AndarielRush_0;
|
||||
public DarkWoodRush DarkWoodRush_0;
|
||||
|
@ -352,6 +358,11 @@ public partial class Form1 : Form
|
|||
Frozenstein_0 = new Frozenstein();
|
||||
TerrorZones_0 = new TerrorZones();
|
||||
AreaScript_0 = new AreaScript();
|
||||
ShopBot_0 = new ShopBot();
|
||||
Mausoleum_0 = new Mausoleum();
|
||||
Crypt_0 = new Crypt();
|
||||
ArachnidLair_0 = new ArachnidLair();
|
||||
Pit_0 = new Pit();
|
||||
|
||||
AndarielRush_0 = new AndarielRush();
|
||||
DarkWoodRush_0 = new DarkWoodRush();
|
||||
|
@ -429,6 +440,11 @@ public partial class Form1 : Form
|
|||
Frozenstein_0.SetForm1(Form1_0);
|
||||
TerrorZones_0.SetForm1(Form1_0);
|
||||
AreaScript_0.SetForm1(Form1_0);
|
||||
ShopBot_0.SetForm1(Form1_0);
|
||||
Mausoleum_0.SetForm1(Form1_0);
|
||||
Crypt_0.SetForm1(Form1_0);
|
||||
ArachnidLair_0.SetForm1(Form1_0);
|
||||
Pit_0.SetForm1(Form1_0);
|
||||
|
||||
AndarielRush_0.SetForm1(Form1_0);
|
||||
DarkWoodRush_0.SetForm1(Form1_0);
|
||||
|
@ -565,12 +581,14 @@ public partial class Form1 : Form
|
|||
|
||||
if (responseBody.Contains("public string BotVersion = "))
|
||||
{
|
||||
double ThisVersionOnline = double.Parse(responseBody.Substring(responseBody.IndexOf('=') + 4, 3), System.Globalization.CultureInfo.InvariantCulture);
|
||||
double ThisVersionCurrent = double.Parse(BotVersion.Substring(1, 3), System.Globalization.CultureInfo.InvariantCulture);
|
||||
string ThisOnlineVString = responseBody.Substring(responseBody.IndexOf('=') + 4, 5);
|
||||
ThisOnlineVString = ThisOnlineVString.Replace("\"", "").Replace(";", "");
|
||||
double ThisVersionOnline = double.Parse(ThisOnlineVString, System.Globalization.CultureInfo.InvariantCulture);
|
||||
double ThisVersionCurrent = double.Parse(BotVersion.Substring(1).Replace("\"", ""), System.Globalization.CultureInfo.InvariantCulture);
|
||||
|
||||
if (ThisVersionOnline > ThisVersionCurrent)
|
||||
{
|
||||
method_1("New update V" + ThisVersionOnline + " available on github!", Color.Red);
|
||||
method_1("New update V" + ThisVersionOnline.ToString().Replace(",", ".") + " available on github!", Color.Red);
|
||||
buttonUpdate.Visible = true;
|
||||
}
|
||||
else if (ThisVersionOnline == ThisVersionCurrent)
|
||||
|
@ -671,6 +689,36 @@ public partial class Form1 : Form
|
|||
richTextBox2.SelectionColor = ThisColor;
|
||||
richTextBox2.AppendText(LogThis + Environment.NewLine);
|
||||
method_1(LogThis, ThisColor, false);
|
||||
|
||||
if (!Directory.Exists(ThisLogPath)) Directory.CreateDirectory(ThisLogPath);
|
||||
if (!File.Exists(ThisLogPath + "ItemsLogs.txt")) File.Create(ThisLogPath + "ItemsLogs.txt").Dispose();
|
||||
File.AppendAllText(ThisLogPath + "ItemsLogs.txt", LogThis + Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
}
|
||||
//}
|
||||
//catch { }
|
||||
}
|
||||
|
||||
public void method_1_SoldItems(string string_3, Color ThisColor)
|
||||
{
|
||||
//try
|
||||
//{
|
||||
if (richTextBoSoldLogs.InvokeRequired)
|
||||
{
|
||||
// Call this same method but append THREAD2 to the text
|
||||
Action safeWrite = delegate { method_1_Items(string_3, ThisColor); };
|
||||
richTextBoSoldLogs.Invoke(safeWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
string LogThis = string_3 + " " + GameStruc_0.GetTimeNow();
|
||||
richTextBoSoldLogs.SelectionColor = ThisColor;
|
||||
richTextBoSoldLogs.AppendText(LogThis + Environment.NewLine);
|
||||
method_1(LogThis, ThisColor, false);
|
||||
|
||||
if (!Directory.Exists(ThisLogPath)) Directory.CreateDirectory(ThisLogPath);
|
||||
if (!File.Exists(ThisLogPath + "ItemsSoldLogs.txt")) File.Create(ThisLogPath + "ItemsSoldLogs.txt").Dispose();
|
||||
File.AppendAllText(ThisLogPath + "ItemsSoldLogs.txt", LogThis + Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
}
|
||||
//}
|
||||
|
@ -978,6 +1026,11 @@ public partial class Form1 : Form
|
|||
Nihlatak_0.ResetVars();
|
||||
Frozenstein_0.ResetVars();
|
||||
TerrorZones_0.ResetVars();
|
||||
ShopBot_0.ResetVars();
|
||||
Mausoleum_0.ResetVars();
|
||||
Crypt_0.ResetVars();
|
||||
ArachnidLair_0.ResetVars();
|
||||
Pit_0.ResetVars();
|
||||
|
||||
AndarielRush_0.ResetVars();
|
||||
DarkWoodRush_0.ResetVars();
|
||||
|
@ -1035,9 +1088,26 @@ public partial class Form1 : Form
|
|||
Form1_0.PatternsScan_0.GetUnitsScannedCount(1);
|
||||
if (Form1_0.PatternsScan_0.ScannedItemsCount < 100)
|
||||
{
|
||||
method_1("Detected Poiters Error, Restarting Bot...", Color.Red);
|
||||
method_1("Detected Pointers Error, Restarting Bot...", Color.Red);
|
||||
PatternsScan_0.ResetV1Scanning();
|
||||
HasPointers = false;
|
||||
PointerError = true;
|
||||
|
||||
PatternsScan_0.AllItemsPointers = new Dictionary<long, bool>();
|
||||
PatternsScan_0.AllObjectsPointers = new Dictionary<long, bool>(); //->refer to all gameobjects
|
||||
PatternsScan_0.AllPlayersPointers = new Dictionary<long, bool>();
|
||||
PatternsScan_0.AllNPCPointers = new Dictionary<long, bool>();
|
||||
|
||||
PatternsScan_0.AllPossiblePointers = new List<long>();
|
||||
|
||||
PatternsScan_0.AllPossibleItemsPointers = new List<long>();
|
||||
PatternsScan_0.AllPossiblePlayerPointers = new List<long>();
|
||||
PatternsScan_0.AllPossibleObjectsPointers = new List<long>();
|
||||
PatternsScan_0.AllPossibleNPCPointers = new List<long>();
|
||||
|
||||
PatternsScan_0.AllScannedPointers = new Dictionary<long, bool>();
|
||||
PatternsScan_0.StartIndexItem = long.MaxValue;
|
||||
PatternsScan_0.StartIndexItemLast = long.MaxValue;
|
||||
//PatternsScan_0.PatternScan();
|
||||
}
|
||||
}
|
||||
|
@ -1095,6 +1165,7 @@ public partial class Form1 : Form
|
|||
//if (PatternsScan_0.StartIndexItem_V2 == long.MaxValue) PatternsScan_0.DetectFirstUnitPointer(); //UNITS SCAN V2
|
||||
Town_0.GetCorpse();
|
||||
ItemsStruc_0.GetBadItemsOnCursor();
|
||||
InventoryStruc_0.CheckInventorySpecialUniqueItems();
|
||||
HasPointers = true;
|
||||
}
|
||||
else
|
||||
|
@ -1117,6 +1188,7 @@ public partial class Form1 : Form
|
|||
//if (PatternsScan_0.StartIndexItem_V2 == long.MaxValue) PatternsScan_0.DetectFirstUnitPointer(); //UNITS SCAN V2
|
||||
Town_0.GetCorpse();
|
||||
ItemsStruc_0.GetBadItemsOnCursor();
|
||||
InventoryStruc_0.CheckInventorySpecialUniqueItems();
|
||||
HasPointers = true;
|
||||
}
|
||||
else
|
||||
|
@ -1158,9 +1230,9 @@ public partial class Form1 : Form
|
|||
//ItemsStruc_0.GetItems(true);
|
||||
//overlayForm.SetAllOverlay();
|
||||
//GameStruc_0.GetTerrorZones();
|
||||
|
||||
//Running = false;
|
||||
//if (Running) LoopTimer.Start();
|
||||
//KeyMouse_0.SetForm1(Form1_0);
|
||||
//return;
|
||||
|
||||
if (CharConfig.RunMapHackOnly)
|
||||
|
@ -1205,13 +1277,18 @@ public partial class Form1 : Form
|
|||
{
|
||||
if (Form1_0.Town_0.TownScriptDone)
|
||||
{
|
||||
ItemsStruc_0.TriesToPickItemCount = 0;
|
||||
Town_0.FastTowning = true;
|
||||
Town_0.ForcedTowning = false;
|
||||
//Town_0.FastTowning = false;
|
||||
Town_0.UseLastTP = false;
|
||||
Town_0.TPSpawned = false;
|
||||
}
|
||||
if (!Form1_0.Town_0.GetInTown()) Form1_0.Town_0.TownScriptDone = false;
|
||||
if (!Form1_0.Town_0.GetInTown())
|
||||
{
|
||||
Form1_0.Stash_0.DeposingGoldCount = 0;
|
||||
Form1_0.Town_0.TownScriptDone = false;
|
||||
}
|
||||
|
||||
if (!Town_0.GetInTown() && Form1_0.ItemsStruc_0.ItemsEquiped <= 2)
|
||||
{
|
||||
|
@ -1235,127 +1312,162 @@ public partial class Form1 : Form
|
|||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunCowsScript && !Cows_0.ScriptDone)
|
||||
if (CharConfig.RunShopBotScript && !ShopBot_0.ScriptDone)
|
||||
{
|
||||
Cows_0.RunScript();
|
||||
ShopBot_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunCountessScript && !Countess_0.ScriptDone)
|
||||
if (CharConfig.RunMausoleumScript && !Mausoleum_0.ScriptDone)
|
||||
{
|
||||
Countess_0.RunScript();
|
||||
Mausoleum_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunAndarielScript && !Andariel_0.ScriptDone)
|
||||
if (CharConfig.RunCryptScript && !Crypt_0.ScriptDone)
|
||||
{
|
||||
Andariel_0.RunScript();
|
||||
Crypt_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunSummonerScript && !Summoner_0.ScriptDone)
|
||||
if (CharConfig.RunPitScript && !Pit_0.ScriptDone)
|
||||
{
|
||||
Summoner_0.RunScript();
|
||||
Pit_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunDurielScript && !Duriel_0.ScriptDone)
|
||||
if (CharConfig.RunCowsScript && !Cows_0.ScriptDone)
|
||||
{
|
||||
Duriel_0.RunScript();
|
||||
Cows_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunLowerKurastScript && !LowerKurast_0.ScriptDone)
|
||||
if (CharConfig.RunCountessScript && !Countess_0.ScriptDone)
|
||||
{
|
||||
LowerKurast_0.RunScript();
|
||||
Countess_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunA3SewersScript && !Act3Sewers_0.ScriptDone)
|
||||
if (CharConfig.RunAndarielScript && !Andariel_0.ScriptDone)
|
||||
{
|
||||
Act3Sewers_0.RunScript();
|
||||
Andariel_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunUpperKurastScript && !UpperKurast_0.ScriptDone)
|
||||
if (CharConfig.RunSummonerScript && !Summoner_0.ScriptDone)
|
||||
{
|
||||
UpperKurast_0.RunScript();
|
||||
Summoner_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunTravincalScript && !Travincal_0.ScriptDone)
|
||||
if (CharConfig.RunDurielScript && !Duriel_0.ScriptDone)
|
||||
{
|
||||
Travincal_0.RunScript();
|
||||
Duriel_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunMephistoScript && !Mephisto_0.ScriptDone)
|
||||
if (CharConfig.RunArachnidScript && !ArachnidLair_0.ScriptDone)
|
||||
{
|
||||
Mephisto_0.RunScript();
|
||||
ArachnidLair_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunChaosScript && !Chaos_0.ScriptDone)
|
||||
if (CharConfig.RunLowerKurastScript && !LowerKurast_0.ScriptDone)
|
||||
{
|
||||
Chaos_0.RunScript();
|
||||
LowerKurast_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunChaosLeechScript && !ChaosLeech_0.ScriptDone)
|
||||
if (CharConfig.RunA3SewersScript && !Act3Sewers_0.ScriptDone)
|
||||
{
|
||||
ChaosLeech_0.RunScript();
|
||||
Act3Sewers_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunEldritchScript && !Eldritch_0.ScriptDone)
|
||||
if (CharConfig.RunUpperKurastScript && !UpperKurast_0.ScriptDone)
|
||||
{
|
||||
Eldritch_0.RunScript();
|
||||
UpperKurast_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunShenkScript && !Shenk_0.ScriptDone)
|
||||
if (CharConfig.RunTravincalScript && !Travincal_0.ScriptDone)
|
||||
{
|
||||
Shenk_0.RunScript();
|
||||
Travincal_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunFrozensteinScript && !Frozenstein_0.ScriptDone)
|
||||
if (CharConfig.RunMephistoScript && !Mephisto_0.ScriptDone)
|
||||
{
|
||||
Frozenstein_0.RunScript();
|
||||
Mephisto_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunPindleskinScript && !Pindleskin_0.ScriptDone)
|
||||
if (CharConfig.RunChaosScript && !Chaos_0.ScriptDone)
|
||||
{
|
||||
Pindleskin_0.RunScript();
|
||||
Chaos_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunNihlatakScript && !Nihlatak_0.ScriptDone)
|
||||
if (CharConfig.RunChaosLeechScript && !ChaosLeech_0.ScriptDone)
|
||||
{
|
||||
Nihlatak_0.RunScript();
|
||||
ChaosLeech_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunBaalScript && !Baal_0.ScriptDone)
|
||||
if (CharConfig.RunEldritchScript && !Eldritch_0.ScriptDone)
|
||||
{
|
||||
Baal_0.RunScript();
|
||||
Eldritch_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunBaalLeechScript && !BaalLeech_0.ScriptDone)
|
||||
if (CharConfig.RunShenkScript && !Shenk_0.ScriptDone)
|
||||
{
|
||||
BaalLeech_0.RunScript();
|
||||
Shenk_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunTerrorZonesScript && !TerrorZones_0.ScriptDone)
|
||||
if (CharConfig.RunFrozensteinScript && !Frozenstein_0.ScriptDone)
|
||||
{
|
||||
TerrorZones_0.RunScript();
|
||||
Frozenstein_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.LeaveGame(true);
|
||||
if (CharConfig.RunPindleskinScript && !Pindleskin_0.ScriptDone)
|
||||
{
|
||||
Pindleskin_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunNihlatakScript && !Nihlatak_0.ScriptDone)
|
||||
{
|
||||
Nihlatak_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunBaalScript && !Baal_0.ScriptDone)
|
||||
{
|
||||
Baal_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunBaalLeechScript && !BaalLeech_0.ScriptDone)
|
||||
{
|
||||
BaalLeech_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CharConfig.RunTerrorZonesScript && !TerrorZones_0.ScriptDone)
|
||||
{
|
||||
TerrorZones_0.RunScript();
|
||||
}
|
||||
else
|
||||
{
|
||||
Form1_0.LeaveGame(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1557,6 +1669,11 @@ public partial class Form1 : Form
|
|||
{
|
||||
Form1_0.KeyMouse_0.MouseClicc(970, 970); //clic 'play'
|
||||
Form1_0.WaitDelay(100);
|
||||
|
||||
if (CharConfig.GameDifficulty == 0) Form1_0.KeyMouse_0.MouseClicc(960, 450); //clic 'normal'
|
||||
if (CharConfig.GameDifficulty == 0) Form1_0.KeyMouse_0.MouseClicc(960, 520); //clic 'nm'
|
||||
if (CharConfig.GameDifficulty == 0) Form1_0.KeyMouse_0.MouseClicc(960, 585); //clic 'hell'
|
||||
Form1_0.WaitDelay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1969,6 +2086,8 @@ public partial class Form1 : Form
|
|||
//SetPlayButtonText("STOP");
|
||||
Running = true;
|
||||
BotJustStarted = true;
|
||||
Form1_0.GameStartedTime = DateTime.Now;
|
||||
Form1_0.InventoryStruc_0.DisabledSpecialItems = false;
|
||||
Startt();
|
||||
}
|
||||
|
||||
|
|
|
@ -69,10 +69,10 @@ public partial class FormAdvancedSettings : Form
|
|||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Overall Delays Multiplyer";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.EndBattleGrabDelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "End Battle Grab Delay (ms*100)";
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "End Battle Item Grab Delay (ms*100)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.MaxTimeEnterGame;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Max Game Time To Enter (sec)";
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Max Search Game Time To Enter (sec)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.BaalWavesCastDelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Baal Waves Cast Delay (sec)";
|
||||
|
@ -81,7 +81,7 @@ public partial class FormAdvancedSettings : Form
|
|||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Chaos Waiting Seal Boss Delay (sec)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.RecastBODelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Recast BO Delay (sec)";
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Recast BO after Delay (sec)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.TownSwitchAreaDelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Town Switch Area Delay (sec)";
|
||||
|
@ -93,13 +93,16 @@ public partial class FormAdvancedSettings : Form
|
|||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Player MaxHP Check Delay (ms)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.LeechEnterTPDelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Leech Enter TP Delay (ms*10)";
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Leech Games Enter TP Delay (ms*10)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.MephistoRedPortalEnterDelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Mephisto Red Portal Enter Delay (ms*10)";
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Mephisto Ending Red Portal Delay (ms*10)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.CubeItemPlaceDelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Cube Item Place Delay (ms*10)";
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Cube Item Placing Delay (ms*10)";
|
||||
dataGridViewAdvanced.Rows.Add();
|
||||
dataGridViewAdvanced.Rows[dataGridViewAdvanced.Rows.Count - 1].Cells[0].Value = CharConfig.CubeItemPlaceDelay;
|
||||
dataGridViewAdvanced.Rows[RowsIndex++].HeaderCell.Value = "Create New Game Wait Delay (ms*10)";
|
||||
}
|
||||
|
||||
public void SaveSettings()
|
||||
|
@ -130,6 +133,7 @@ public partial class FormAdvancedSettings : Form
|
|||
CharConfig.LeechEnterTPDelay = int.Parse(dataGridViewAdvanced.Rows[RowsIndex++].Cells[0].Value.ToString());
|
||||
CharConfig.MephistoRedPortalEnterDelay = int.Parse(dataGridViewAdvanced.Rows[RowsIndex++].Cells[0].Value.ToString());
|
||||
CharConfig.CubeItemPlaceDelay = int.Parse(dataGridViewAdvanced.Rows[RowsIndex++].Cells[0].Value.ToString());
|
||||
CharConfig.CreateGameWaitDelay = int.Parse(dataGridViewAdvanced.Rows[RowsIndex++].Cells[0].Value.ToString());
|
||||
}
|
||||
|
||||
private void FormAdvancedSettings_FormClosing(object sender, FormClosingEventArgs e)
|
||||
|
|
|
@ -31,45 +31,50 @@ partial class FormSettings
|
|||
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("Maphack ONLY (no script running)");
|
||||
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("Item Grab ONLY");
|
||||
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("Maphack & Item Grab ONLY");
|
||||
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("Cows");
|
||||
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("Countess");
|
||||
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("Andariel");
|
||||
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem("Summoner");
|
||||
System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem("Duriel");
|
||||
System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem("Lower Kurast (Chests)");
|
||||
System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem("Act3 Sewers (Chests)");
|
||||
System.Windows.Forms.ListViewItem listViewItem11 = new System.Windows.Forms.ListViewItem("Upper Kurast (Chests)");
|
||||
System.Windows.Forms.ListViewItem listViewItem12 = new System.Windows.Forms.ListViewItem("Travincal");
|
||||
System.Windows.Forms.ListViewItem listViewItem13 = new System.Windows.Forms.ListViewItem("Mephisto");
|
||||
System.Windows.Forms.ListViewItem listViewItem14 = new System.Windows.Forms.ListViewItem("Chaos");
|
||||
System.Windows.Forms.ListViewItem listViewItem15 = new System.Windows.Forms.ListViewItem("Chaos Leech");
|
||||
System.Windows.Forms.ListViewItem listViewItem16 = new System.Windows.Forms.ListViewItem("Eldritch");
|
||||
System.Windows.Forms.ListViewItem listViewItem17 = new System.Windows.Forms.ListViewItem("Shenk");
|
||||
System.Windows.Forms.ListViewItem listViewItem18 = new System.Windows.Forms.ListViewItem("Frozenstein (Anya)");
|
||||
System.Windows.Forms.ListViewItem listViewItem19 = new System.Windows.Forms.ListViewItem("Pindleskin");
|
||||
System.Windows.Forms.ListViewItem listViewItem20 = new System.Windows.Forms.ListViewItem("Nihlatak");
|
||||
System.Windows.Forms.ListViewItem listViewItem21 = new System.Windows.Forms.ListViewItem("Baal");
|
||||
System.Windows.Forms.ListViewItem listViewItem22 = new System.Windows.Forms.ListViewItem("Baal Leech");
|
||||
System.Windows.Forms.ListViewItem listViewItem23 = new System.Windows.Forms.ListViewItem("Terror Zones");
|
||||
System.Windows.Forms.ListViewItem listViewItem24 = new System.Windows.Forms.ListViewItem("Waypoint Taker");
|
||||
System.Windows.Forms.ListViewItem listViewItem25 = new System.Windows.Forms.ListViewItem("Dark Wood");
|
||||
System.Windows.Forms.ListViewItem listViewItem26 = new System.Windows.Forms.ListViewItem("Tristram");
|
||||
System.Windows.Forms.ListViewItem listViewItem27 = new System.Windows.Forms.ListViewItem("Andariel");
|
||||
System.Windows.Forms.ListViewItem listViewItem28 = new System.Windows.Forms.ListViewItem("Radament");
|
||||
System.Windows.Forms.ListViewItem listViewItem29 = new System.Windows.Forms.ListViewItem("Hall of the Dead (Cube)");
|
||||
System.Windows.Forms.ListViewItem listViewItem30 = new System.Windows.Forms.ListViewItem("Far Oasis (Staff)");
|
||||
System.Windows.Forms.ListViewItem listViewItem31 = new System.Windows.Forms.ListViewItem("Lost City (Ammy)");
|
||||
System.Windows.Forms.ListViewItem listViewItem32 = new System.Windows.Forms.ListViewItem("Summoner");
|
||||
System.Windows.Forms.ListViewItem listViewItem33 = new System.Windows.Forms.ListViewItem("Duriel");
|
||||
System.Windows.Forms.ListViewItem listViewItem34 = new System.Windows.Forms.ListViewItem("Kahlim Eye");
|
||||
System.Windows.Forms.ListViewItem listViewItem35 = new System.Windows.Forms.ListViewItem("Kahlim Brain");
|
||||
System.Windows.Forms.ListViewItem listViewItem36 = new System.Windows.Forms.ListViewItem("Kahlim Heart");
|
||||
System.Windows.Forms.ListViewItem listViewItem37 = new System.Windows.Forms.ListViewItem("Travincal");
|
||||
System.Windows.Forms.ListViewItem listViewItem38 = new System.Windows.Forms.ListViewItem("Mephisto");
|
||||
System.Windows.Forms.ListViewItem listViewItem39 = new System.Windows.Forms.ListViewItem("Chaos");
|
||||
System.Windows.Forms.ListViewItem listViewItem40 = new System.Windows.Forms.ListViewItem("Anya");
|
||||
System.Windows.Forms.ListViewItem listViewItem41 = new System.Windows.Forms.ListViewItem("Ancients");
|
||||
System.Windows.Forms.ListViewItem listViewItem42 = new System.Windows.Forms.ListViewItem("Baal");
|
||||
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("ShopBot");
|
||||
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("Mausoleum");
|
||||
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("Crypt");
|
||||
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem("Pit");
|
||||
System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem("Cows");
|
||||
System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem("Countess");
|
||||
System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem("Andariel");
|
||||
System.Windows.Forms.ListViewItem listViewItem11 = new System.Windows.Forms.ListViewItem("Summoner");
|
||||
System.Windows.Forms.ListViewItem listViewItem12 = new System.Windows.Forms.ListViewItem("Duriel");
|
||||
System.Windows.Forms.ListViewItem listViewItem13 = new System.Windows.Forms.ListViewItem("Arachnid Lair");
|
||||
System.Windows.Forms.ListViewItem listViewItem14 = new System.Windows.Forms.ListViewItem("Lower Kurast (Chests)");
|
||||
System.Windows.Forms.ListViewItem listViewItem15 = new System.Windows.Forms.ListViewItem("Act3 Sewers (Chests)");
|
||||
System.Windows.Forms.ListViewItem listViewItem16 = new System.Windows.Forms.ListViewItem("Upper Kurast (Chests)");
|
||||
System.Windows.Forms.ListViewItem listViewItem17 = new System.Windows.Forms.ListViewItem("Travincal");
|
||||
System.Windows.Forms.ListViewItem listViewItem18 = new System.Windows.Forms.ListViewItem("Mephisto");
|
||||
System.Windows.Forms.ListViewItem listViewItem19 = new System.Windows.Forms.ListViewItem("Chaos");
|
||||
System.Windows.Forms.ListViewItem listViewItem20 = new System.Windows.Forms.ListViewItem("Chaos Leech");
|
||||
System.Windows.Forms.ListViewItem listViewItem21 = new System.Windows.Forms.ListViewItem("Eldritch");
|
||||
System.Windows.Forms.ListViewItem listViewItem22 = new System.Windows.Forms.ListViewItem("Shenk");
|
||||
System.Windows.Forms.ListViewItem listViewItem23 = new System.Windows.Forms.ListViewItem("Frozenstein (Anya)");
|
||||
System.Windows.Forms.ListViewItem listViewItem24 = new System.Windows.Forms.ListViewItem("Pindleskin");
|
||||
System.Windows.Forms.ListViewItem listViewItem25 = new System.Windows.Forms.ListViewItem("Nihlatak");
|
||||
System.Windows.Forms.ListViewItem listViewItem26 = new System.Windows.Forms.ListViewItem("Baal");
|
||||
System.Windows.Forms.ListViewItem listViewItem27 = new System.Windows.Forms.ListViewItem("Baal Leech");
|
||||
System.Windows.Forms.ListViewItem listViewItem28 = new System.Windows.Forms.ListViewItem("Terror Zones");
|
||||
System.Windows.Forms.ListViewItem listViewItem29 = new System.Windows.Forms.ListViewItem("Waypoint Taker");
|
||||
System.Windows.Forms.ListViewItem listViewItem30 = new System.Windows.Forms.ListViewItem("Dark Wood");
|
||||
System.Windows.Forms.ListViewItem listViewItem31 = new System.Windows.Forms.ListViewItem("Tristram");
|
||||
System.Windows.Forms.ListViewItem listViewItem32 = new System.Windows.Forms.ListViewItem("Andariel");
|
||||
System.Windows.Forms.ListViewItem listViewItem33 = new System.Windows.Forms.ListViewItem("Radament");
|
||||
System.Windows.Forms.ListViewItem listViewItem34 = new System.Windows.Forms.ListViewItem("Hall of the Dead (Cube)");
|
||||
System.Windows.Forms.ListViewItem listViewItem35 = new System.Windows.Forms.ListViewItem("Far Oasis (Staff)");
|
||||
System.Windows.Forms.ListViewItem listViewItem36 = new System.Windows.Forms.ListViewItem("Lost City (Ammy)");
|
||||
System.Windows.Forms.ListViewItem listViewItem37 = new System.Windows.Forms.ListViewItem("Summoner");
|
||||
System.Windows.Forms.ListViewItem listViewItem38 = new System.Windows.Forms.ListViewItem("Duriel");
|
||||
System.Windows.Forms.ListViewItem listViewItem39 = new System.Windows.Forms.ListViewItem("Kahlim Eye");
|
||||
System.Windows.Forms.ListViewItem listViewItem40 = new System.Windows.Forms.ListViewItem("Kahlim Brain");
|
||||
System.Windows.Forms.ListViewItem listViewItem41 = new System.Windows.Forms.ListViewItem("Kahlim Heart");
|
||||
System.Windows.Forms.ListViewItem listViewItem42 = new System.Windows.Forms.ListViewItem("Travincal");
|
||||
System.Windows.Forms.ListViewItem listViewItem43 = new System.Windows.Forms.ListViewItem("Mephisto");
|
||||
System.Windows.Forms.ListViewItem listViewItem44 = new System.Windows.Forms.ListViewItem("Chaos");
|
||||
System.Windows.Forms.ListViewItem listViewItem45 = new System.Windows.Forms.ListViewItem("Anya");
|
||||
System.Windows.Forms.ListViewItem listViewItem46 = new System.Windows.Forms.ListViewItem("Ancients");
|
||||
System.Windows.Forms.ListViewItem listViewItem47 = new System.Windows.Forms.ListViewItem("Baal");
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormSettings));
|
||||
this.listViewRunScripts = new System.Windows.Forms.ListView();
|
||||
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
|
@ -125,6 +130,16 @@ partial class FormSettings
|
|||
this.textBox2LeechName = new System.Windows.Forms.TextBox();
|
||||
this.textBoxAvoidWords = new System.Windows.Forms.TextBox();
|
||||
this.button4 = new System.Windows.Forms.Button();
|
||||
this.checkBoxFastChaos = new System.Windows.Forms.CheckBox();
|
||||
this.buttonOverlaySettings = new System.Windows.Forms.Button();
|
||||
this.buttonReload = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button5 = new System.Windows.Forms.Button();
|
||||
this.checkBoxBaalLeechFightMobs = new System.Windows.Forms.CheckBox();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.buttonApplyShopBot = new System.Windows.Forms.Button();
|
||||
this.numericUpDownMaxShopCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.numericUpDownShopTownAct = new System.Windows.Forms.NumericUpDown();
|
||||
this.panelBaalFeature = new System.Windows.Forms.Panel();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.listViewBaalLeaveOnMobs = new System.Windows.Forms.ListView();
|
||||
|
@ -145,27 +160,27 @@ partial class FormSettings
|
|||
this.label19 = new System.Windows.Forms.Label();
|
||||
this.panelChaosFeature = new System.Windows.Forms.Panel();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
this.checkBoxFastChaos = new System.Windows.Forms.CheckBox();
|
||||
this.buttonOverlaySettings = new System.Windows.Forms.Button();
|
||||
this.buttonReload = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button5 = new System.Windows.Forms.Button();
|
||||
this.panelBaalLeech = new System.Windows.Forms.Panel();
|
||||
this.checkBoxBaalLeechFightMobs = new System.Windows.Forms.CheckBox();
|
||||
this.label20 = new System.Windows.Forms.Label();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.panelShopBot = new System.Windows.Forms.Panel();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
this.label21 = new System.Windows.Forms.Label();
|
||||
this.groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownRunNumber)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxTime)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalLeaveMobsCount)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalMobID)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalMobCount)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxShopCount)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownShopTownAct)).BeginInit();
|
||||
this.panelBaalFeature.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.panelOverlay.SuspendLayout();
|
||||
this.groupBoxSearch.SuspendLayout();
|
||||
this.panelChaosFeature.SuspendLayout();
|
||||
this.panelBaalLeech.SuspendLayout();
|
||||
this.panelShopBot.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// listViewRunScripts
|
||||
|
@ -180,12 +195,12 @@ partial class FormSettings
|
|||
listViewItem2.StateImageIndex = 0;
|
||||
listViewItem3.StateImageIndex = 0;
|
||||
listViewItem4.StateImageIndex = 0;
|
||||
listViewItem5.Checked = true;
|
||||
listViewItem5.StateImageIndex = 1;
|
||||
listViewItem5.StateImageIndex = 0;
|
||||
listViewItem6.StateImageIndex = 0;
|
||||
listViewItem7.StateImageIndex = 0;
|
||||
listViewItem8.StateImageIndex = 0;
|
||||
listViewItem9.StateImageIndex = 0;
|
||||
listViewItem9.Checked = true;
|
||||
listViewItem9.StateImageIndex = 1;
|
||||
listViewItem10.StateImageIndex = 0;
|
||||
listViewItem11.StateImageIndex = 0;
|
||||
listViewItem12.StateImageIndex = 0;
|
||||
|
@ -201,6 +216,11 @@ partial class FormSettings
|
|||
listViewItem22.StateImageIndex = 0;
|
||||
listViewItem23.StateImageIndex = 0;
|
||||
listViewItem24.StateImageIndex = 0;
|
||||
listViewItem25.StateImageIndex = 0;
|
||||
listViewItem26.StateImageIndex = 0;
|
||||
listViewItem27.StateImageIndex = 0;
|
||||
listViewItem28.StateImageIndex = 0;
|
||||
listViewItem29.StateImageIndex = 0;
|
||||
this.listViewRunScripts.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
|
||||
listViewItem1,
|
||||
listViewItem2,
|
||||
|
@ -225,7 +245,12 @@ partial class FormSettings
|
|||
listViewItem21,
|
||||
listViewItem22,
|
||||
listViewItem23,
|
||||
listViewItem24});
|
||||
listViewItem24,
|
||||
listViewItem25,
|
||||
listViewItem26,
|
||||
listViewItem27,
|
||||
listViewItem28,
|
||||
listViewItem29});
|
||||
this.listViewRunScripts.Location = new System.Drawing.Point(12, 168);
|
||||
this.listViewRunScripts.Name = "listViewRunScripts";
|
||||
this.listViewRunScripts.Size = new System.Drawing.Size(225, 276);
|
||||
|
@ -448,11 +473,6 @@ partial class FormSettings
|
|||
this.listViewRush.FullRowSelect = true;
|
||||
this.listViewRush.GridLines = true;
|
||||
this.listViewRush.HideSelection = false;
|
||||
listViewItem25.StateImageIndex = 0;
|
||||
listViewItem26.StateImageIndex = 0;
|
||||
listViewItem27.StateImageIndex = 0;
|
||||
listViewItem28.StateImageIndex = 0;
|
||||
listViewItem29.StateImageIndex = 0;
|
||||
listViewItem30.StateImageIndex = 0;
|
||||
listViewItem31.StateImageIndex = 0;
|
||||
listViewItem32.StateImageIndex = 0;
|
||||
|
@ -466,12 +486,12 @@ partial class FormSettings
|
|||
listViewItem40.StateImageIndex = 0;
|
||||
listViewItem41.StateImageIndex = 0;
|
||||
listViewItem42.StateImageIndex = 0;
|
||||
listViewItem43.StateImageIndex = 0;
|
||||
listViewItem44.StateImageIndex = 0;
|
||||
listViewItem45.StateImageIndex = 0;
|
||||
listViewItem46.StateImageIndex = 0;
|
||||
listViewItem47.StateImageIndex = 0;
|
||||
this.listViewRush.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
|
||||
listViewItem25,
|
||||
listViewItem26,
|
||||
listViewItem27,
|
||||
listViewItem28,
|
||||
listViewItem29,
|
||||
listViewItem30,
|
||||
listViewItem31,
|
||||
listViewItem32,
|
||||
|
@ -484,7 +504,12 @@ partial class FormSettings
|
|||
listViewItem39,
|
||||
listViewItem40,
|
||||
listViewItem41,
|
||||
listViewItem42});
|
||||
listViewItem42,
|
||||
listViewItem43,
|
||||
listViewItem44,
|
||||
listViewItem45,
|
||||
listViewItem46,
|
||||
listViewItem47});
|
||||
this.listViewRush.Location = new System.Drawing.Point(279, 168);
|
||||
this.listViewRush.Name = "listViewRush";
|
||||
this.listViewRush.Size = new System.Drawing.Size(225, 270);
|
||||
|
@ -834,6 +859,142 @@ partial class FormSettings
|
|||
this.button4.UseVisualStyleBackColor = true;
|
||||
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||
//
|
||||
// checkBoxFastChaos
|
||||
//
|
||||
this.checkBoxFastChaos.AutoSize = true;
|
||||
this.checkBoxFastChaos.Location = new System.Drawing.Point(14, 33);
|
||||
this.checkBoxFastChaos.Name = "checkBoxFastChaos";
|
||||
this.checkBoxFastChaos.Size = new System.Drawing.Size(79, 17);
|
||||
this.checkBoxFastChaos.TabIndex = 12;
|
||||
this.checkBoxFastChaos.Text = "Fast Chaos";
|
||||
this.toolTip1.SetToolTip(this.checkBoxFastChaos, "Enable this to perform a Fast Chaos (Only Kill Seals Boss)");
|
||||
this.checkBoxFastChaos.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// buttonOverlaySettings
|
||||
//
|
||||
this.buttonOverlaySettings.Image = global::app.Properties.Resources.Application;
|
||||
this.buttonOverlaySettings.Location = new System.Drawing.Point(172, 595);
|
||||
this.buttonOverlaySettings.Name = "buttonOverlaySettings";
|
||||
this.buttonOverlaySettings.Size = new System.Drawing.Size(31, 25);
|
||||
this.buttonOverlaySettings.TabIndex = 9;
|
||||
this.toolTip1.SetToolTip(this.buttonOverlaySettings, "Edit Overlay Settings");
|
||||
this.buttonOverlaySettings.UseVisualStyleBackColor = true;
|
||||
this.buttonOverlaySettings.Click += new System.EventHandler(this.buttonOverlaySettings_Click);
|
||||
//
|
||||
// buttonReload
|
||||
//
|
||||
this.buttonReload.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.buttonReload.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.buttonReload.Image = global::app.Properties.Resources.Load;
|
||||
this.buttonReload.Location = new System.Drawing.Point(12, 6);
|
||||
this.buttonReload.Name = "buttonReload";
|
||||
this.buttonReload.Size = new System.Drawing.Size(34, 29);
|
||||
this.buttonReload.TabIndex = 17;
|
||||
this.toolTip1.SetToolTip(this.buttonReload, "Load/Import from a previous Settings File");
|
||||
this.buttonReload.UseVisualStyleBackColor = true;
|
||||
this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.button2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.button2.Image = global::app.Properties.Resources.Save;
|
||||
this.button2.Location = new System.Drawing.Point(189, 6);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(48, 29);
|
||||
this.button2.TabIndex = 13;
|
||||
this.toolTip1.SetToolTip(this.button2, "Save current Settings");
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// button5
|
||||
//
|
||||
this.button5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.button5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
|
||||
this.button5.Location = new System.Drawing.Point(53, 6);
|
||||
this.button5.Name = "button5";
|
||||
this.button5.Size = new System.Drawing.Size(131, 29);
|
||||
this.button5.TabIndex = 29;
|
||||
this.button5.Text = "Advanced Settings";
|
||||
this.toolTip1.SetToolTip(this.button5, "Load/Import from a previous Settings File");
|
||||
this.button5.UseVisualStyleBackColor = true;
|
||||
this.button5.Click += new System.EventHandler(this.button5_Click);
|
||||
//
|
||||
// checkBoxBaalLeechFightMobs
|
||||
//
|
||||
this.checkBoxBaalLeechFightMobs.AutoSize = true;
|
||||
this.checkBoxBaalLeechFightMobs.Location = new System.Drawing.Point(14, 33);
|
||||
this.checkBoxBaalLeechFightMobs.Name = "checkBoxBaalLeechFightMobs";
|
||||
this.checkBoxBaalLeechFightMobs.Size = new System.Drawing.Size(78, 17);
|
||||
this.checkBoxBaalLeechFightMobs.TabIndex = 12;
|
||||
this.checkBoxBaalLeechFightMobs.Text = "Fight Mobs";
|
||||
this.toolTip1.SetToolTip(this.checkBoxBaalLeechFightMobs, "Enable this to fight mobs during the leech, if set to false it will fight mobs on" +
|
||||
"ly nearby the leech spot\r\n");
|
||||
this.checkBoxBaalLeechFightMobs.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button6
|
||||
//
|
||||
this.button6.Location = new System.Drawing.Point(61, 82);
|
||||
this.button6.Name = "button6";
|
||||
this.button6.Size = new System.Drawing.Size(75, 23);
|
||||
this.button6.TabIndex = 12;
|
||||
this.button6.Text = "Apply";
|
||||
this.toolTip1.SetToolTip(this.button6, "Apply and Leave this menu");
|
||||
this.button6.UseVisualStyleBackColor = true;
|
||||
this.button6.Click += new System.EventHandler(this.button6_Click);
|
||||
//
|
||||
// buttonApplyShopBot
|
||||
//
|
||||
this.buttonApplyShopBot.Location = new System.Drawing.Point(61, 82);
|
||||
this.buttonApplyShopBot.Name = "buttonApplyShopBot";
|
||||
this.buttonApplyShopBot.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonApplyShopBot.TabIndex = 12;
|
||||
this.buttonApplyShopBot.Text = "Apply";
|
||||
this.toolTip1.SetToolTip(this.buttonApplyShopBot, "Apply and Leave this menu");
|
||||
this.buttonApplyShopBot.UseVisualStyleBackColor = true;
|
||||
this.buttonApplyShopBot.Click += new System.EventHandler(this.buttonApplyShopBot_Click);
|
||||
//
|
||||
// numericUpDownMaxShopCount
|
||||
//
|
||||
this.numericUpDownMaxShopCount.Location = new System.Drawing.Point(107, 33);
|
||||
this.numericUpDownMaxShopCount.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDownMaxShopCount.Minimum = new decimal(new int[] {
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
-2147483648});
|
||||
this.numericUpDownMaxShopCount.Name = "numericUpDownMaxShopCount";
|
||||
this.numericUpDownMaxShopCount.Size = new System.Drawing.Size(51, 20);
|
||||
this.numericUpDownMaxShopCount.TabIndex = 13;
|
||||
this.toolTip1.SetToolTip(this.numericUpDownMaxShopCount, "Set the Bot go to Shop Count, if at -1 or 0, It will Shop Infinitly");
|
||||
//
|
||||
// numericUpDownShopTownAct
|
||||
//
|
||||
this.numericUpDownShopTownAct.Location = new System.Drawing.Point(107, 56);
|
||||
this.numericUpDownShopTownAct.Maximum = new decimal(new int[] {
|
||||
5,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDownShopTownAct.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDownShopTownAct.Name = "numericUpDownShopTownAct";
|
||||
this.numericUpDownShopTownAct.Size = new System.Drawing.Size(51, 20);
|
||||
this.numericUpDownShopTownAct.TabIndex = 15;
|
||||
this.toolTip1.SetToolTip(this.numericUpDownShopTownAct, "Set the Town act of which of want to shop bot to run for");
|
||||
this.numericUpDownShopTownAct.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// panelBaalFeature
|
||||
//
|
||||
this.panelBaalFeature.Controls.Add(this.groupBox2);
|
||||
|
@ -1048,67 +1209,6 @@ partial class FormSettings
|
|||
this.label18.TabIndex = 12;
|
||||
this.label18.Text = "Chaos Run Features";
|
||||
//
|
||||
// checkBoxFastChaos
|
||||
//
|
||||
this.checkBoxFastChaos.AutoSize = true;
|
||||
this.checkBoxFastChaos.Location = new System.Drawing.Point(14, 33);
|
||||
this.checkBoxFastChaos.Name = "checkBoxFastChaos";
|
||||
this.checkBoxFastChaos.Size = new System.Drawing.Size(79, 17);
|
||||
this.checkBoxFastChaos.TabIndex = 12;
|
||||
this.checkBoxFastChaos.Text = "Fast Chaos";
|
||||
this.toolTip1.SetToolTip(this.checkBoxFastChaos, "Enable this to perform a Fast Chaos (Only Kill Seals Boss)");
|
||||
this.checkBoxFastChaos.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// buttonOverlaySettings
|
||||
//
|
||||
this.buttonOverlaySettings.Image = global::app.Properties.Resources.Application;
|
||||
this.buttonOverlaySettings.Location = new System.Drawing.Point(172, 595);
|
||||
this.buttonOverlaySettings.Name = "buttonOverlaySettings";
|
||||
this.buttonOverlaySettings.Size = new System.Drawing.Size(31, 25);
|
||||
this.buttonOverlaySettings.TabIndex = 9;
|
||||
this.toolTip1.SetToolTip(this.buttonOverlaySettings, "Edit Overlay Settings");
|
||||
this.buttonOverlaySettings.UseVisualStyleBackColor = true;
|
||||
this.buttonOverlaySettings.Click += new System.EventHandler(this.buttonOverlaySettings_Click);
|
||||
//
|
||||
// buttonReload
|
||||
//
|
||||
this.buttonReload.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.buttonReload.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.buttonReload.Image = global::app.Properties.Resources.Load;
|
||||
this.buttonReload.Location = new System.Drawing.Point(12, 6);
|
||||
this.buttonReload.Name = "buttonReload";
|
||||
this.buttonReload.Size = new System.Drawing.Size(34, 29);
|
||||
this.buttonReload.TabIndex = 17;
|
||||
this.toolTip1.SetToolTip(this.buttonReload, "Load/Import from a previous Settings File");
|
||||
this.buttonReload.UseVisualStyleBackColor = true;
|
||||
this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.button2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.button2.Image = global::app.Properties.Resources.Save;
|
||||
this.button2.Location = new System.Drawing.Point(189, 6);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(48, 29);
|
||||
this.button2.TabIndex = 13;
|
||||
this.toolTip1.SetToolTip(this.button2, "Save current Settings");
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// button5
|
||||
//
|
||||
this.button5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.button5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
|
||||
this.button5.Location = new System.Drawing.Point(53, 6);
|
||||
this.button5.Name = "button5";
|
||||
this.button5.Size = new System.Drawing.Size(131, 29);
|
||||
this.button5.TabIndex = 29;
|
||||
this.button5.Text = "Advanced Settings";
|
||||
this.toolTip1.SetToolTip(this.button5, "Load/Import from a previous Settings File");
|
||||
this.button5.UseVisualStyleBackColor = true;
|
||||
this.button5.Click += new System.EventHandler(this.button5_Click);
|
||||
//
|
||||
// panelBaalLeech
|
||||
//
|
||||
this.panelBaalLeech.Controls.Add(this.checkBoxBaalLeechFightMobs);
|
||||
|
@ -1120,18 +1220,6 @@ partial class FormSettings
|
|||
this.panelBaalLeech.TabIndex = 23;
|
||||
this.panelBaalLeech.Visible = false;
|
||||
//
|
||||
// checkBoxBaalLeechFightMobs
|
||||
//
|
||||
this.checkBoxBaalLeechFightMobs.AutoSize = true;
|
||||
this.checkBoxBaalLeechFightMobs.Location = new System.Drawing.Point(14, 33);
|
||||
this.checkBoxBaalLeechFightMobs.Name = "checkBoxBaalLeechFightMobs";
|
||||
this.checkBoxBaalLeechFightMobs.Size = new System.Drawing.Size(78, 17);
|
||||
this.checkBoxBaalLeechFightMobs.TabIndex = 12;
|
||||
this.checkBoxBaalLeechFightMobs.Text = "Fight Mobs";
|
||||
this.toolTip1.SetToolTip(this.checkBoxBaalLeechFightMobs, "Enable this to fight mobs during the leech, if set to false it will fight mobs on" +
|
||||
"ly nearby the leech spot\r\n");
|
||||
this.checkBoxBaalLeechFightMobs.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label20
|
||||
//
|
||||
this.label20.AutoSize = true;
|
||||
|
@ -1143,23 +1231,56 @@ partial class FormSettings
|
|||
this.label20.TabIndex = 12;
|
||||
this.label20.Text = "Baal Leech Run Features";
|
||||
//
|
||||
// button6
|
||||
// panelShopBot
|
||||
//
|
||||
this.button6.Location = new System.Drawing.Point(61, 82);
|
||||
this.button6.Name = "button6";
|
||||
this.button6.Size = new System.Drawing.Size(75, 23);
|
||||
this.button6.TabIndex = 12;
|
||||
this.button6.Text = "Apply";
|
||||
this.toolTip1.SetToolTip(this.button6, "Apply and Leave this menu");
|
||||
this.button6.UseVisualStyleBackColor = true;
|
||||
this.button6.Click += new System.EventHandler(this.button6_Click);
|
||||
this.panelShopBot.Controls.Add(this.numericUpDownShopTownAct);
|
||||
this.panelShopBot.Controls.Add(this.label23);
|
||||
this.panelShopBot.Controls.Add(this.numericUpDownMaxShopCount);
|
||||
this.panelShopBot.Controls.Add(this.label22);
|
||||
this.panelShopBot.Controls.Add(this.label21);
|
||||
this.panelShopBot.Controls.Add(this.buttonApplyShopBot);
|
||||
this.panelShopBot.Location = new System.Drawing.Point(732, 12);
|
||||
this.panelShopBot.Name = "panelShopBot";
|
||||
this.panelShopBot.Size = new System.Drawing.Size(203, 114);
|
||||
this.panelShopBot.TabIndex = 24;
|
||||
this.panelShopBot.Visible = false;
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.AutoSize = true;
|
||||
this.label23.Location = new System.Drawing.Point(14, 59);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(56, 13);
|
||||
this.label23.TabIndex = 14;
|
||||
this.label23.Text = "Town Act:";
|
||||
//
|
||||
// label22
|
||||
//
|
||||
this.label22.AutoSize = true;
|
||||
this.label22.Location = new System.Drawing.Point(14, 36);
|
||||
this.label22.Name = "label22";
|
||||
this.label22.Size = new System.Drawing.Size(89, 13);
|
||||
this.label22.TabIndex = 12;
|
||||
this.label22.Text = "Max Shop Count:";
|
||||
//
|
||||
// label21
|
||||
//
|
||||
this.label21.AutoSize = true;
|
||||
this.label21.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label21.ForeColor = System.Drawing.Color.Blue;
|
||||
this.label21.Location = new System.Drawing.Point(34, 11);
|
||||
this.label21.Name = "label21";
|
||||
this.label21.Size = new System.Drawing.Size(135, 13);
|
||||
this.label21.TabIndex = 12;
|
||||
this.label21.Text = "ShopBot Run Features";
|
||||
//
|
||||
// FormSettings
|
||||
//
|
||||
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(250, 691);
|
||||
this.ClientSize = new System.Drawing.Size(251, 691);
|
||||
this.Controls.Add(this.panelShopBot);
|
||||
this.Controls.Add(this.panelBaalLeech);
|
||||
this.Controls.Add(this.button5);
|
||||
this.Controls.Add(this.panelChaosFeature);
|
||||
|
@ -1203,6 +1324,8 @@ partial class FormSettings
|
|||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalLeaveMobsCount)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalMobID)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalMobCount)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxShopCount)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownShopTownAct)).EndInit();
|
||||
this.panelBaalFeature.ResumeLayout(false);
|
||||
this.panelBaalFeature.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
|
@ -1215,6 +1338,8 @@ partial class FormSettings
|
|||
this.panelChaosFeature.PerformLayout();
|
||||
this.panelBaalLeech.ResumeLayout(false);
|
||||
this.panelBaalLeech.PerformLayout();
|
||||
this.panelShopBot.ResumeLayout(false);
|
||||
this.panelShopBot.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
@ -1305,4 +1430,11 @@ partial class FormSettings
|
|||
private System.Windows.Forms.CheckBox checkBoxBaalLeechFightMobs;
|
||||
private System.Windows.Forms.Label label20;
|
||||
private System.Windows.Forms.Button button6;
|
||||
private System.Windows.Forms.Panel panelShopBot;
|
||||
private System.Windows.Forms.Label label21;
|
||||
private System.Windows.Forms.Button buttonApplyShopBot;
|
||||
private System.Windows.Forms.NumericUpDown numericUpDownShopTownAct;
|
||||
private System.Windows.Forms.Label label23;
|
||||
private System.Windows.Forms.NumericUpDown numericUpDownMaxShopCount;
|
||||
private System.Windows.Forms.Label label22;
|
||||
}
|
|
@ -41,6 +41,9 @@ public partial class FormSettings : Form
|
|||
panelBaalLeech.Visible = false;
|
||||
panelBaalLeech.Location = new System.Drawing.Point(23, 197);
|
||||
|
||||
panelShopBot.Visible = false;
|
||||
panelShopBot.Location = new System.Drawing.Point(23, 197);
|
||||
|
||||
LoadSettings();
|
||||
}
|
||||
|
||||
|
@ -62,11 +65,16 @@ public partial class FormSettings : Form
|
|||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunMapHackOnly;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunItemGrabScriptOnly;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunMapHackPickitOnly;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunShopBotScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunMausoleumScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunCryptScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunPitScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunCowsScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunCountessScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunAndarielScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunSummonerScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunDurielScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunArachnidScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunLowerKurastScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunA3SewersScript;
|
||||
listViewRunScripts.Items[CurrI++].Checked = CharConfig.RunUpperKurastScript;
|
||||
|
@ -115,6 +123,7 @@ public partial class FormSettings : Form
|
|||
|
||||
comboBoxDifficulty.SelectedIndex = CharConfig.GameDifficulty;
|
||||
|
||||
if (Form1_0.CurrentGameNumber <= 0) Form1_0.CurrentGameNumber = 1;
|
||||
numericUpDownRunNumber.Value = Form1_0.CurrentGameNumber;
|
||||
|
||||
//###################
|
||||
|
@ -151,6 +160,10 @@ public partial class FormSettings : Form
|
|||
checkBoxOverlayShowMH.Checked = Form1_0.overlayForm.ShowMapHackShowLines;
|
||||
checkBoxOverlayShowUnitsCount.Checked = Form1_0.overlayForm.ShowUnitsScanCount;
|
||||
//###################
|
||||
//SHOP BOT
|
||||
numericUpDownMaxShopCount.Value = Form1_0.ShopBot_0.MaxShopCount;
|
||||
numericUpDownShopTownAct.Value = Form1_0.ShopBot_0.ShopBotTownAct;
|
||||
//###################
|
||||
|
||||
SetCreateGameGroupbox();
|
||||
SetRushMenu();
|
||||
|
@ -229,6 +242,12 @@ public partial class FormSettings : Form
|
|||
groupBox1.Visible = true;
|
||||
groupBoxSearch.Visible = false;
|
||||
}
|
||||
|
||||
if (comboBoxLobby.SelectedIndex == 4)
|
||||
{
|
||||
groupBox1.Visible = true;
|
||||
groupBoxSearch.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveSettings()
|
||||
|
@ -248,11 +267,16 @@ public partial class FormSettings : Form
|
|||
CharConfig.RunMapHackOnly = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunItemGrabScriptOnly = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunMapHackPickitOnly = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunShopBotScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunMausoleumScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunCryptScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunPitScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunCowsScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunCountessScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunAndarielScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunSummonerScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunDurielScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunArachnidScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunLowerKurastScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunA3SewersScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
CharConfig.RunUpperKurastScript = listViewRunScripts.Items[CurrI++].Checked;
|
||||
|
@ -361,6 +385,12 @@ public partial class FormSettings : Form
|
|||
else if (textBoxAvoidWords.Text != "") CharConfig.BaalSearchAvoidWords.Add(textBoxAvoidWords.Text);
|
||||
}
|
||||
CharConfig.SearchLeecherName = textBox2LeechName.Text;
|
||||
|
||||
//###################
|
||||
//SHOP BOT
|
||||
Form1_0.ShopBot_0.MaxShopCount = int.Parse(numericUpDownMaxShopCount.Value.ToString());
|
||||
Form1_0.ShopBot_0.ShopBotTownAct = int.Parse(numericUpDownShopTownAct.Value.ToString());
|
||||
//###################
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
|
@ -421,6 +451,10 @@ public partial class FormSettings : Form
|
|||
{
|
||||
panelChaosFeature.Visible = true;
|
||||
}
|
||||
else if (listViewRunScripts.SelectedItems[0].Text == "ShopBot")
|
||||
{
|
||||
panelShopBot.Visible = true;
|
||||
}
|
||||
else if (listViewRunScripts.SelectedItems[0].Text == "Maphack ONLY (no script running)")
|
||||
{
|
||||
panelOverlay.Visible = true;
|
||||
|
@ -493,4 +527,9 @@ public partial class FormSettings : Form
|
|||
{
|
||||
panelBaalLeech.Visible = false;
|
||||
}
|
||||
|
||||
private void buttonApplyShopBot_Click(object sender, EventArgs e)
|
||||
{
|
||||
panelShopBot.Visible = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -310,7 +310,8 @@ public class Battle
|
|||
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySwapWeapon);
|
||||
Form1_0.WaitDelay(15);
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleOrder);
|
||||
//Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleOrder);
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleCommand);
|
||||
Form1_0.WaitDelay(10);
|
||||
/*Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
|
||||
Form1_0.WaitDelay(5);
|
||||
|
@ -319,11 +320,13 @@ public class Battle
|
|||
Form1_0.PlayerScan_0.GetPositions();
|
||||
|
||||
//press W again to switch weapon again
|
||||
if (Form1_0.PlayerScan_0.RightSkill != Enums.Skill.BattleOrders)
|
||||
//if (Form1_0.PlayerScan_0.RightSkill != Enums.Skill.BattleOrders)
|
||||
if (Form1_0.PlayerScan_0.RightSkill != Enums.Skill.BattleCommand)
|
||||
{
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySwapWeapon);
|
||||
Form1_0.WaitDelay(15);
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleOrder);
|
||||
//Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleOrder);
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleCommand);
|
||||
Form1_0.WaitDelay(10);
|
||||
/*Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
|
||||
Form1_0.WaitDelay(5);
|
||||
|
@ -336,7 +339,8 @@ public class Battle
|
|||
Form1_0.WaitDelay(35);
|
||||
|
||||
//select battle command
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleCommand);
|
||||
//Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleCommand);
|
||||
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleOrder);
|
||||
Form1_0.WaitDelay(10);
|
||||
/*Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
|
||||
Form1_0.WaitDelay(5);
|
||||
|
|
|
@ -47,7 +47,7 @@ public class Gamble
|
|||
int ThisStartCount = Form1_0.ItemsStruc_0.ItemsInInventory;
|
||||
|
||||
string GambleThisItem = CharConfig.GambleItems[GambleType];
|
||||
if (Form1_0.ItemsStruc_0.GetShopItem(GambleThisItem, true))
|
||||
if (Form1_0.ItemsStruc_0.GetShopItem(GambleThisItem))
|
||||
{
|
||||
Dictionary<string, int> itemScreenPos = Form1_0.Shop_0.ConvertShopLocToScreenPos(Form1_0.ItemsStruc_0.itemx, Form1_0.ItemsStruc_0.itemy);
|
||||
Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
|
|
|
@ -17,6 +17,7 @@ public class KeyMouse
|
|||
public int ProcessingDelay = 1;
|
||||
|
||||
private const int WH_KEYBOARD_LL = 13;
|
||||
private const int WH_MOUSE_LL = 14;
|
||||
public LowLevelKeyboardProc proc;
|
||||
public IntPtr hookID = IntPtr.Zero;
|
||||
|
||||
|
@ -31,8 +32,27 @@ public class KeyMouse
|
|||
public const int WM_KEYDOWN = 256;
|
||||
public const int WM_KEYUP = 257;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
private struct POINT
|
||||
{
|
||||
public int x;
|
||||
public int y;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
private struct MSLLHOOKSTRUCT
|
||||
{
|
||||
public POINT pt;
|
||||
public uint mouseData;
|
||||
public uint flags;
|
||||
public uint time;
|
||||
public IntPtr dwExtraInfo;
|
||||
}
|
||||
|
||||
//###############################################
|
||||
//###############################################
|
||||
private delegate IntPtr LowLevelMouseProc(int nCode, IntPtr wParam, IntPtr lParam);
|
||||
public delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
|
||||
|
||||
[DllImport("User32.dll")]
|
||||
static extern Int32 SendMessage(int hWnd, int Msg, int wParam, IntPtr lParam);
|
||||
|
@ -51,24 +71,57 @@ public class KeyMouse
|
|||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
private static extern bool SetCursorPos(int x, int y);
|
||||
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern IntPtr SetWindowsHookEx(int idHook,
|
||||
LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);
|
||||
private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool UnhookWindowsHookEx(IntPtr hhk);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode,
|
||||
IntPtr wParam, IntPtr lParam);
|
||||
private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern IntPtr GetModuleHandle(string lpModuleName);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelMouseProc lpfn, IntPtr hMod, uint dwThreadId);
|
||||
|
||||
[DllImport("user32.dll", SetLastError = true)]
|
||||
private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
private static extern IntPtr GetForegroundWindow();
|
||||
|
||||
InputSimulator sim;
|
||||
|
||||
/*[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern IntPtr OpenProcess(uint processAccess, bool bInheritHandle, int processId);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern IntPtr GetProcAddress(IntPtr hModule, string procName);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, uint size, out int lpNumberOfBytesWritten);
|
||||
|
||||
[DllImport("kernel32.dll")]
|
||||
static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, out IntPtr lpThreadId);
|
||||
|
||||
[DllImport("kernel32.dll")]
|
||||
static extern bool CloseHandle(IntPtr hObject);
|
||||
|
||||
const uint PROCESS_CREATE_THREAD = 0x0002;
|
||||
const uint PROCESS_QUERY_INFORMATION = 0x0400;
|
||||
const uint PROCESS_VM_OPERATION = 0x0008;
|
||||
const uint PROCESS_VM_WRITE = 0x0020;
|
||||
const uint PROCESS_VM_READ = 0x0010;
|
||||
const uint MEM_COMMIT = 0x1000;
|
||||
const uint MEM_RESERVE = 0x2000;
|
||||
const uint PAGE_READWRITE = 0x04;*/
|
||||
|
||||
//###############################################
|
||||
//###############################################
|
||||
|
||||
|
@ -77,8 +130,72 @@ public class KeyMouse
|
|||
Form1_0 = form1_1;
|
||||
|
||||
sim = new InputSimulator();
|
||||
|
||||
// Get the process ID of the target process
|
||||
/*Process targetProcess = Process.GetProcessesByName("D2R")[0];
|
||||
int processId = targetProcess.Id;
|
||||
|
||||
// Open the target process
|
||||
IntPtr processHandle = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ, false, processId);
|
||||
|
||||
// Get the address of the SetCursorPos function
|
||||
IntPtr setCursorPosAddr = GetProcAddress(GetModuleHandle("user32.dll"), "SetCursorPos");
|
||||
|
||||
// Allocate memory in the target process for the buffer
|
||||
IntPtr remoteBuffer = VirtualAllocEx(processHandle, IntPtr.Zero, 4096, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
|
||||
|
||||
// Write the code to change the mouse position to the buffer
|
||||
byte[] buffer = WriteMousePositionChangeCode(1, 100); // Example: Move mouse to (100, 100)
|
||||
int bytesWritten;
|
||||
WriteProcessMemory(processHandle, remoteBuffer, buffer, (uint)buffer.Length, out bytesWritten);
|
||||
|
||||
// Create a remote thread to execute the code
|
||||
IntPtr threadId;
|
||||
IntPtr threadHandle = CreateRemoteThread(processHandle, IntPtr.Zero, 0, setCursorPosAddr, remoteBuffer, 0, out threadId);
|
||||
|
||||
// Clean up
|
||||
CloseHandle(threadHandle);
|
||||
CloseHandle(processHandle);*/
|
||||
}
|
||||
|
||||
/*static byte[] WriteMousePositionChangeCode(int x, int y)
|
||||
{
|
||||
// Example code to change mouse position to (x, y)
|
||||
byte[] code = new byte[]
|
||||
{
|
||||
0x68, (byte)x, (byte)(x >> 8), (byte)(x >> 16), (byte)(x >> 24), // push x
|
||||
0x68, (byte)y, (byte)(y >> 8), (byte)(y >> 16), (byte)(y >> 24), // push y
|
||||
0xC3 // ret
|
||||
};
|
||||
return code;
|
||||
}*/
|
||||
|
||||
|
||||
/*private static IntPtr MouseHookCallback(int nCode, IntPtr wParam, IntPtr lParam)
|
||||
{
|
||||
if (nCode >= 0 && wParam == (IntPtr)WM_LBUTTONDOWN)
|
||||
{
|
||||
// Extract mouse coordinates from the hook event
|
||||
MSLLHOOKSTRUCT hookStruct = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MSLLHOOKSTRUCT));
|
||||
int x = hookStruct.pt.x;
|
||||
int y = hookStruct.pt.y;
|
||||
|
||||
// Check if the mouse click is within the target process window
|
||||
IntPtr windowHandle = GetForegroundWindow();
|
||||
uint processId;
|
||||
GetWindowThreadProcessId(windowHandle, out processId);
|
||||
if (processId == targetProcessId)
|
||||
{
|
||||
// Perform your custom mouse actions here
|
||||
// For example, send mouse clicks or move the mouse
|
||||
// SimulateMouseClick(x, y);
|
||||
// SimulateMouseMove(x, y);
|
||||
}
|
||||
}
|
||||
|
||||
return CallNextHookEx(hookID, nCode, wParam, lParam);
|
||||
}*/
|
||||
|
||||
private static IntPtr CreateLParam(int LoWord, int HiWord)
|
||||
{
|
||||
return (IntPtr)((HiWord << 16) | (LoWord & 0xffff));
|
||||
|
@ -172,6 +289,7 @@ public class KeyMouse
|
|||
{
|
||||
PostMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
|
||||
SendMessage((int)Form1_0.hWnd, WM_SYSKEYUP, (ushort)ThisK, (IntPtr)0);
|
||||
sim.Keyboard.KeyUp((WindowsInput.Native.VirtualKeyCode)ThisK);
|
||||
}
|
||||
|
||||
public void SendCTRL_CLICK(int ThX, int ThY)
|
||||
|
@ -339,7 +457,14 @@ public class KeyMouse
|
|||
}
|
||||
}
|
||||
|
||||
public delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
|
||||
private static IntPtr SetHookMouse(LowLevelMouseProc proc)
|
||||
{
|
||||
using (Process curProcess = Process.GetCurrentProcess())
|
||||
using (ProcessModule curModule = curProcess.MainModule)
|
||||
{
|
||||
return SetWindowsHookEx(WH_MOUSE_LL, proc, GetModuleHandle(curModule.ModuleName), 0);
|
||||
}
|
||||
}
|
||||
|
||||
public IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
|
||||
{
|
||||
|
|
|
@ -289,6 +289,7 @@ public class Mover
|
|||
|
||||
//######
|
||||
//moving location is way to far away something might be wrong!
|
||||
Form1_0.KeyMouse_0.ReleaseKey(CharConfig.KeyForceMovement);
|
||||
if (!IsPositionNearOf(ThisX, ThisY, 300)) return false;
|
||||
if (ThisX == 0 && ThisY == 0) return false;
|
||||
//######
|
||||
|
@ -297,12 +298,14 @@ public class Mover
|
|||
if (IsPositionNearOf(ThisX, ThisY, MoveAcceptOffset))
|
||||
{
|
||||
Form1_0.overlayForm.ResetMoveToLocation();
|
||||
Form1_0.KeyMouse_0.ReleaseKey(CharConfig.KeyForceMovement);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!Form1_0.GameStruc_0.IsInGame() || !Form1_0.Running)
|
||||
{
|
||||
Form1_0.overlayForm.ResetMoveToLocation();
|
||||
Form1_0.KeyMouse_0.ReleaseKey(CharConfig.KeyForceMovement);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.Drawing;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Enums;
|
||||
|
||||
public class Shop
|
||||
{
|
||||
|
@ -69,7 +70,7 @@ public class Shop
|
|||
return false;
|
||||
}
|
||||
|
||||
public bool PlaceItem(int PosX, int PosY)
|
||||
public bool PlaceItem(int PosX, int PosY, bool ForceBadDetection = false)
|
||||
{
|
||||
int Tryy = 0;
|
||||
Form1_0.ItemsStruc_0.GetItems(false);
|
||||
|
@ -79,6 +80,12 @@ public class Shop
|
|||
Form1_0.WaitDelay(10);
|
||||
Form1_0.ItemsStruc_0.GetItems(false); //get inventory again
|
||||
Tryy++;
|
||||
|
||||
if (Tryy == 5 && ForceBadDetection)
|
||||
{
|
||||
Form1_0.ItemsStruc_0.GetBadItemsOnCursor();
|
||||
Tryy = 10;
|
||||
}
|
||||
}
|
||||
if (Tryy >= 15)
|
||||
{
|
||||
|
@ -215,6 +222,22 @@ public class Shop
|
|||
if (Form1_0.InventoryStruc_0.InventoryHasStashItem[i] == 0
|
||||
&& Form1_0.InventoryStruc_0.InventoryHasUnidItem[i] == 0)
|
||||
{
|
||||
//################
|
||||
//GET ITEM SOLD INFOS
|
||||
string SoldTxt = "";
|
||||
Color ThisCol = Color.Black;
|
||||
Dictionary<string, int> itemXYPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
|
||||
if (Form1_0.ItemsStruc_0.GetSpecificItem(0, Form1_0.InventoryStruc_0.InventoryItemNames[i], itemXYPos["x"], itemXYPos["y"], Form1_0.PlayerScan_0.unitId, 0, true))
|
||||
{
|
||||
SoldTxt = "Sold Item:" + Form1_0.ItemsStruc_0.ItemNAAME + " (ID:" + Form1_0.ItemsStruc_0.txtFileNo + ")" + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + Form1_0.ItemsStruc_0.GetQualityTextString() + " && " + Form1_0.ItemsStruc_0.GetAllFlagsFromItem() + " && " + Form1_0.ItemsStruc_0.GetAllValuesFromStats() + Form1_0.ItemsStruc_0.GetItemsStashInfosTxt();
|
||||
ThisCol = Form1_0.ItemsStruc_0.GetColorFromQuality((int)Form1_0.ItemsStruc_0.itemQuality);
|
||||
if (Form1_0.ItemsAlert_0.ShouldKeepItem())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//################
|
||||
|
||||
Dictionary<string, int> itemScreenPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
|
||||
itemScreenPos = Form1_0.InventoryStruc_0.ConvertInventoryLocToScreenPos(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
|
||||
|
@ -246,6 +269,7 @@ public class Shop
|
|||
}
|
||||
else
|
||||
{
|
||||
if (SoldTxt != "") Form1_0.method_1_SoldItems(SoldTxt, ThisCol);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -566,5 +590,11 @@ public class Shop
|
|||
|
||||
if (HasTownPortal) ShopForTomeOfPortal = false;
|
||||
}
|
||||
|
||||
//ShopBot
|
||||
if (CharConfig.RunShopBotScript && !Form1_0.ShopBot_0.ScriptDone && Form1_0.ShopBot_0.CurrentStep > 0)
|
||||
{
|
||||
Form1_0.ItemsStruc_0.ShopBotGetPurchaseItems();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ public class Stash
|
|||
public int RunningScriptCount = 0;
|
||||
|
||||
public bool MakingCowPortal = false;
|
||||
public int DeposingGoldCount = 0;
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
|
@ -43,6 +44,21 @@ public class Stash
|
|||
if ((CharConfig.InventoryDontCheckItem[i] == 0 && Form1_0.InventoryStruc_0.InventoryHasStashItem[i] >= 1)
|
||||
|| (MakingCowPortal && Form1_0.InventoryStruc_0.InventoryItemNames[i] == "Tome of Town Portal"))
|
||||
{
|
||||
//################
|
||||
//GET ITEM (UNIQUE GC, GHEED, TORCH, ANNI)
|
||||
bool IsUniqueSpecial = false;
|
||||
Dictionary<string, int> itemXYPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
|
||||
if (Form1_0.ItemsStruc_0.GetSpecificItem(0, Form1_0.InventoryStruc_0.InventoryItemNames[i], itemXYPos["x"], itemXYPos["y"], Form1_0.PlayerScan_0.unitId, 0))
|
||||
{
|
||||
if ((Form1_0.ItemsStruc_0.ItemNAAME == "Small Charm"
|
||||
|| Form1_0.ItemsStruc_0.ItemNAAME == "Large Charm"
|
||||
|| Form1_0.ItemsStruc_0.ItemNAAME == "Grand Charm")
|
||||
&& Form1_0.ItemsStruc_0.itemQuality == 7) //Unique
|
||||
{
|
||||
IsUniqueSpecial = true;
|
||||
}
|
||||
}
|
||||
//################
|
||||
Form1_0.SetGameStatus("TOWN-STASH-ITEM:" + Form1_0.InventoryStruc_0.InventoryItemNames[i]);
|
||||
Form1_0.method_1_Items("Stashed: " + Form1_0.InventoryStruc_0.InventoryItemNames[i], Form1_0.ItemsStruc_0.GetColorFromQuality(Form1_0.InventoryStruc_0.InventoryItemQuality[i]));
|
||||
|
||||
|
@ -50,6 +66,11 @@ public class Stash
|
|||
itemScreenPos = Form1_0.InventoryStruc_0.ConvertInventoryLocToScreenPos(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
|
||||
int TryStashCount = 0;
|
||||
if (IsUniqueSpecial)
|
||||
{
|
||||
TryStashCount = 1;
|
||||
Form1_0.KeyMouse_0.MouseClicc(340, 200); //clic shared stash1
|
||||
}
|
||||
while (true)
|
||||
{
|
||||
int Tries = 0;
|
||||
|
@ -147,7 +168,12 @@ public class Stash
|
|||
if (!Form1_0.UIScan_0.leftMenu && !Form1_0.UIScan_0.rightMenu) return;
|
||||
|
||||
//deposit gold
|
||||
Form1_0.KeyMouse_0.MouseClicc(200, 200); //clic stash1
|
||||
if (DeposingGoldCount == 0) Form1_0.KeyMouse_0.MouseClicc(200, 200); //clic stash1
|
||||
if (DeposingGoldCount == 1) Form1_0.KeyMouse_0.MouseClicc(340, 200); //clic shared stash1
|
||||
if (DeposingGoldCount == 2) Form1_0.KeyMouse_0.MouseClicc(450, 200); //clic shared stash2
|
||||
if (DeposingGoldCount == 3) Form1_0.KeyMouse_0.MouseClicc(600, 200); //clic shared stash3
|
||||
DeposingGoldCount++;
|
||||
if (DeposingGoldCount > 3) DeposingGoldCount = 0;
|
||||
|
||||
if (Form1_0.PlayerScan_0.PlayerGoldInventory > 0)
|
||||
{
|
||||
|
|
|
@ -83,7 +83,6 @@ public class Town
|
|||
|
||||
public void RunTownScript()
|
||||
{
|
||||
Form1_0.ItemsStruc_0.TriesToPickItemCount = 0;
|
||||
//Console.WriteLine("Fast town: " + FastTowning);
|
||||
if (!ShouldBeInTown())
|
||||
{
|
||||
|
@ -1099,7 +1098,7 @@ public class Town
|
|||
Form1_0.UIScan_0.CloseUIMenu("npcInteract");
|
||||
Form1_0.UIScan_0.CloseUIMenu("npcShop");
|
||||
|
||||
Form1_0.Shop_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY);
|
||||
Form1_0.Shop_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,6 +61,11 @@ RunFrozensteinScript=false
|
|||
RunTerrorZonesScript=false
|
||||
RunItemGrabScriptOnly=false
|
||||
ClearAfterBoss=false
|
||||
RunShopBotScript=false
|
||||
RunMausoleumScript=false
|
||||
RunCryptScript=false
|
||||
RunArachnidScript=false
|
||||
RunPitScript=false
|
||||
|
||||
//#######################################
|
||||
//NOT IN GAME SCRIPT (SEARCH GAMES OR CREATE A NEW GAME)
|
||||
|
|
|
@ -376,7 +376,7 @@ public static class EnumsMobsNPC
|
|||
NecroMage = 364,
|
||||
Griswold = 365,
|
||||
compellingorb = 366,
|
||||
tyrael2 = 367,
|
||||
Tyrael = 367,
|
||||
youngdiablo = 368,
|
||||
atrap7 = 369,
|
||||
spiritmummy = 370,
|
||||
|
|
|
@ -143,6 +143,8 @@ public class GameStruc
|
|||
|
||||
Form1_0.SetGameStatus("LOADING GAME");
|
||||
|
||||
Form1_0.WaitDelay(CharConfig.CreateGameWaitDelay);
|
||||
|
||||
//###############
|
||||
/*GetAllGamesNames();
|
||||
SelectGame(0, false);
|
||||
|
|
|
@ -31,12 +31,224 @@ public class InventoryStruc
|
|||
|
||||
public bool HasIDTome = false;
|
||||
|
||||
public bool DisabledSpecialItems = false;
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
Form1_0 = form1_1;
|
||||
|
||||
}
|
||||
|
||||
public void CheckInventorySpecialUniqueItems()
|
||||
{
|
||||
if (DisabledSpecialItems) return;
|
||||
|
||||
//#######
|
||||
string ThisNamee = "SmallCharm";
|
||||
int ThisIndex = 2;
|
||||
bool PickingAnni = false;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
//Console.WriteLine(Form1_0.ItemsStruc_0.ItemNAAME + ":" + ThisNamee);
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) PickingAnni = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
ThisNamee = "SmallCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
|
||||
ThisNamee = "LargeCharm";
|
||||
ThisIndex = 2;
|
||||
bool PickingTorch = false;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) PickingTorch = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
ThisNamee = "LargeCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
|
||||
ThisNamee = "GrandCharm";
|
||||
ThisIndex = 2;
|
||||
bool PickingGC = false;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) PickingGC = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
ThisNamee = "GrandCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
//#######
|
||||
|
||||
if (PickingAnni || PickingTorch || PickingGC)
|
||||
{
|
||||
Form1_0.ItemsStruc_0.GetItems(false);
|
||||
|
||||
//Check inside Inventory
|
||||
for (int i = 0; i < 40; i++)
|
||||
{
|
||||
if (CharConfig.InventoryDontCheckItem[i] == 1)
|
||||
{
|
||||
//################
|
||||
//GET ITEM (UNIQUE GC, GHEED, TORCH, ANNI)
|
||||
Dictionary<string, int> itemXYPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
|
||||
if (Form1_0.ItemsStruc_0.GetSpecificItem(0, "", itemXYPos["x"], itemXYPos["y"], Form1_0.PlayerScan_0.unitId, 0))
|
||||
{
|
||||
if (Form1_0.ItemsStruc_0.ItemNAAME == "Small Charm" && Form1_0.ItemsStruc_0.itemQuality == 7)
|
||||
{
|
||||
Form1_0.method_1("Cannot Pick Anni since you have one in your inventory, disabling Anni from pickit!", Color.OrangeRed);
|
||||
|
||||
ThisNamee = "SmallCharm";
|
||||
ThisIndex = 2;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee] = false;
|
||||
}
|
||||
}
|
||||
ThisNamee = "SmallCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
}
|
||||
else if (Form1_0.ItemsStruc_0.ItemNAAME == "Large Charm" && Form1_0.ItemsStruc_0.itemQuality == 7)
|
||||
{
|
||||
Form1_0.method_1("Cannot Pick Torch since you have one in your inventory, disabling Torch from pickit!", Color.OrangeRed);
|
||||
|
||||
ThisNamee = "LargeCharm";
|
||||
ThisIndex = 2;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee] = false;
|
||||
}
|
||||
}
|
||||
ThisNamee = "LargeCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
}
|
||||
else if (Form1_0.ItemsStruc_0.ItemNAAME == "Grand Charm" && Form1_0.ItemsStruc_0.itemQuality == 7)
|
||||
{
|
||||
Form1_0.method_1("Cannot Pick Unique GC's since you have one in your inventory, disabling Unique GC's from pickit!", Color.OrangeRed);
|
||||
|
||||
ThisNamee = "GrandCharm";
|
||||
ThisIndex = 2;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee] = false;
|
||||
}
|
||||
}
|
||||
ThisNamee = "GrandCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
//################
|
||||
}
|
||||
}
|
||||
|
||||
//Check inside stash
|
||||
for (int i = 0; i < 100; i++)
|
||||
{
|
||||
if (Form1_0.StashStruc_0.Stash1_ItemTxtNoList[i] >= 603 && Form1_0.StashStruc_0.Stash1_ItemTxtNoList[i] <= 605)
|
||||
{
|
||||
//################
|
||||
//GET ITEM (UNIQUE GC, GHEED, TORCH, ANNI)
|
||||
Dictionary<string, int> itemXYPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
|
||||
if (Form1_0.ItemsStruc_0.GetSpecificItem(0, "", itemXYPos["x"], itemXYPos["y"], Form1_0.PlayerScan_0.unitId, 4))
|
||||
{
|
||||
if (Form1_0.ItemsStruc_0.ItemNAAME == "Small Charm" && Form1_0.ItemsStruc_0.itemQuality == 7)
|
||||
{
|
||||
Form1_0.method_1("Cannot Pick Anni since you have one in your normal stash, disabling Anni from pickit!", Color.OrangeRed);
|
||||
|
||||
ThisNamee = "SmallCharm";
|
||||
ThisIndex = 2;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee] = false;
|
||||
}
|
||||
}
|
||||
ThisNamee = "SmallCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
}
|
||||
else if (Form1_0.ItemsStruc_0.ItemNAAME == "Large Charm" && Form1_0.ItemsStruc_0.itemQuality == 7)
|
||||
{
|
||||
Form1_0.method_1("Cannot Pick Torch since you have one in your normal stash, disabling Torch from pickit!", Color.OrangeRed);
|
||||
|
||||
ThisNamee = "LargeCharm";
|
||||
ThisIndex = 2;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee] = false;
|
||||
}
|
||||
}
|
||||
ThisNamee = "LargeCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
}
|
||||
else if (Form1_0.ItemsStruc_0.ItemNAAME == "Grand Charm" && Form1_0.ItemsStruc_0.itemQuality == 7)
|
||||
{
|
||||
Form1_0.method_1("Cannot Pick Unique GC's since you have one in your normal stash, disabling Unique GC's from pickit!", Color.OrangeRed);
|
||||
|
||||
ThisNamee = "GrandCharm";
|
||||
ThisIndex = 2;
|
||||
while (Form1_0.ItemsAlert_0.PickItemsNormal_ByName.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee])
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality.ContainsKey(ThisNamee))
|
||||
{
|
||||
if (Form1_0.ItemsAlert_0.PickItemsNormal_ByName_Quality[ThisNamee] == 7) Form1_0.ItemsAlert_0.PickItemsNormal_ByName[ThisNamee] = false;
|
||||
}
|
||||
}
|
||||
ThisNamee = "GrandCharm" + ThisIndex;
|
||||
ThisIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
//################
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DisabledSpecialItems = true;
|
||||
}
|
||||
|
||||
public void UseTP()
|
||||
{
|
||||
if (HUDItems_tpscrolls_locx != -1 && HUDItems_tpscrolls_locy != -1)
|
||||
|
@ -229,6 +441,7 @@ public class InventoryStruc
|
|||
|
||||
public void DumpBadItemsOnGround()
|
||||
{
|
||||
//return;
|
||||
//#########################################
|
||||
//reset trying to pick item if inventory is free of spots, meaning he try to grab while a mobs is in the way
|
||||
bool HasItemItemInInventory = false;
|
||||
|
@ -263,6 +476,61 @@ public class InventoryStruc
|
|||
Form1_0.ItemsStruc_0.GetBadItemsOnCursor();
|
||||
//Form1_0.ItemsStruc_0.GetItems(false);
|
||||
|
||||
//#######################################################
|
||||
//#######################################################
|
||||
//MANUAL ID THE ITEMS WITH TOME ID
|
||||
bool HasTownID = HasInventoryItemName("Tome of Identify");
|
||||
if (HasTownID && HUDItems_idscrolls > 0)
|
||||
{
|
||||
int tries2 = 0;
|
||||
while (Form1_0.InventoryStruc_0.HasUnidItemInInventory() && tries2 < 2)
|
||||
{
|
||||
//Form1_0.SetGameStatus("INVENTORY-ID ITEMS");
|
||||
Form1_0.SetProcessingTime();
|
||||
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
bool IdentifiedItem = false;
|
||||
for (int i = 0; i < 40; i++)
|
||||
{
|
||||
if (Form1_0.InventoryStruc_0.InventoryItemNames[i] == "Tome of Identify")
|
||||
{
|
||||
Dictionary<string, int> itemScreenPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(i);
|
||||
itemScreenPos = Form1_0.InventoryStruc_0.ConvertInventoryLocToScreenPos(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
Form1_0.WaitDelay(20);
|
||||
|
||||
for (int k = 0; k < 40; k++)
|
||||
{
|
||||
if (Form1_0.InventoryStruc_0.InventoryHasUnidItem[k] == 1 && CharConfig.InventoryDontCheckItem[i] == 0)
|
||||
{
|
||||
itemScreenPos = Form1_0.InventoryStruc_0.ConvertIndexToXY(k);
|
||||
itemScreenPos = Form1_0.InventoryStruc_0.ConvertInventoryLocToScreenPos(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
Form1_0.KeyMouse_0.MouseClicc(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
Form1_0.WaitDelay(100);
|
||||
Form1_0.Shop_0.PlaceItem(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
IdentifiedItem = true;
|
||||
Form1_0.ItemsStruc_0.GetItems(false); //get inventory again
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
|
||||
|
||||
if (!IdentifiedItem) tries2++;
|
||||
else tries2 = 0;
|
||||
}
|
||||
|
||||
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
|
||||
}
|
||||
//#######################################################
|
||||
//#######################################################
|
||||
|
||||
//place all bad items on ground
|
||||
for (int i = 0; i < 40; i++)
|
||||
{
|
||||
|
|
|
@ -164,6 +164,8 @@ public class ItemsAlert
|
|||
|
||||
public void RemoveNotPickingItems()
|
||||
{
|
||||
return;
|
||||
|
||||
//Remove all the items that are disabled in the Pickit to improve Pickit performance
|
||||
List<string> KeysToRemove = new List<string>();
|
||||
foreach (var ThisDir in PickItemsRunesKeyGems)
|
||||
|
@ -313,7 +315,7 @@ public class ItemsAlert
|
|||
}
|
||||
}
|
||||
|
||||
return SameStats;
|
||||
if (SameStats) return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -386,7 +388,7 @@ public class ItemsAlert
|
|||
}
|
||||
}
|
||||
|
||||
return SameStats;
|
||||
if (SameStats) return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -250,7 +250,7 @@ public class ItemsStruc
|
|||
}
|
||||
}
|
||||
|
||||
public bool GetShopItem(string ShopItemName, bool GetGambleShopItem = false)
|
||||
public bool GetShopItem(string ShopItemName)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -276,8 +276,7 @@ public class ItemsStruc
|
|||
{
|
||||
if (dwOwnerId != Form1_0.PlayerScan_0.unitId)
|
||||
{
|
||||
if ((GetGambleShopItem && equiploc == 0)
|
||||
|| (!GetGambleShopItem && equiploc == 3))
|
||||
if (equiploc <= 3)
|
||||
{
|
||||
if (ItemNAAME == ShopItemName)
|
||||
{
|
||||
|
@ -291,7 +290,7 @@ public class ItemsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetShopItem()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetShopItem()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -535,7 +534,7 @@ public class ItemsStruc
|
|||
AllItemsIncube.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Cube - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
|
||||
}
|
||||
}
|
||||
else if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc == 3)
|
||||
else if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc <= 3)
|
||||
{
|
||||
//Shop Items
|
||||
if (DebuggingItems)
|
||||
|
@ -543,14 +542,14 @@ public class ItemsStruc
|
|||
AllItemsInShop.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shop - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
|
||||
}
|
||||
}
|
||||
else if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc == 0)
|
||||
/*else if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc == 0)
|
||||
{
|
||||
//Shop Gamble Items
|
||||
if (DebuggingItems)
|
||||
{
|
||||
AllItemsInShop.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shop(Gamble) - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
|
||||
}
|
||||
}
|
||||
}*/
|
||||
else
|
||||
{
|
||||
AllItemsOthers.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - Others - EquipLocation:" + equiploc + " - SelfOwner:" + (dwOwnerId == Form1_0.PlayerScan_0.unitId) + " - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
|
||||
|
@ -575,12 +574,12 @@ public class ItemsStruc
|
|||
AllItemsEquipped.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - Equipped - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
|
||||
}
|
||||
|
||||
if (ItemNAAME == "Crusader Gauntlets")
|
||||
/*if (ItemNAAME == "Crusader Gauntlets")
|
||||
{
|
||||
string SavePathh = Form1_0.ThisEndPath + "DumpItempUnitDataStruc";
|
||||
File.Create(SavePathh).Dispose();
|
||||
File.WriteAllBytes(SavePathh, pUnitData);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -763,7 +762,145 @@ public class ItemsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetItems()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetItems()'", Color.OrangeRed);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool GetSpecificItem(int ItemLocation, string ItemName, int PositionX, int PositionY, uint dwOwnerId, int Thisequiploc, bool InventoryItem = true)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!Form1_0.GameStruc_0.IsInGame()) return false;
|
||||
|
||||
//dead leave game
|
||||
if (Form1_0.PlayerScan_0.PlayerDead || Form1_0.Potions_0.ForceLeave)
|
||||
{
|
||||
Form1_0.Potions_0.ForceLeave = true;
|
||||
Form1_0.BaalLeech_0.SearchSameGamesAsLastOne = false;
|
||||
Form1_0.LeaveGame(false);
|
||||
Form1_0.IncreaseDeadCount();
|
||||
return false;
|
||||
}
|
||||
|
||||
Form1_0.PatternsScan_0.scanForUnitsPointer("item");
|
||||
foreach (var ThisCurrentPointer in Form1_0.PatternsScan_0.AllItemsPointers)
|
||||
{
|
||||
ItemPointerLocation = ThisCurrentPointer.Key;
|
||||
if (ItemPointerLocation > 0)
|
||||
{
|
||||
itemdatastruc = new byte[144];
|
||||
Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144);
|
||||
|
||||
ItemsScanned++;
|
||||
txtFileNo = BitConverter.ToUInt32(itemdatastruc, 4);
|
||||
uint ItemID = BitConverter.ToUInt32(itemdatastruc, 8);
|
||||
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(txtFileNo);
|
||||
GetUnitData();
|
||||
GetUnitPathData();
|
||||
GetStatsAddr();
|
||||
|
||||
//Form1_0.method_1("ItemType: " + BitConverter.ToUInt32(itemdatastruc, 0).ToString() + ", TxtFileNo: " + BitConverter.ToUInt32(itemdatastruc, 4).ToString() + ", Name: " + ItemNAAME + ", Location: " + GetItemLocation(itemdatastruc[0x0C]));
|
||||
//; itemLoc - 0 in inventory, 1 equipped, 2 in belt, 3 on ground, 4 cursor, 5 dropping, 6 socketed
|
||||
if (itemdatastruc[0x0C] == ItemLocation)
|
||||
{
|
||||
bool CanGo = true;
|
||||
if (itemdatastruc[0x0C] == 0)
|
||||
{
|
||||
if (dwOwnerId != 0 && dwOwnerId == Form1_0.PlayerScan_0.unitId && Thisequiploc == equiploc)
|
||||
{
|
||||
if (!InventoryItem) CanGo = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (InventoryItem && dwOwnerId != Form1_0.PlayerScan_0.unitId) CanGo = false;
|
||||
if (Thisequiploc != equiploc) CanGo = false;
|
||||
|
||||
if (((ItemName != "" && ItemNAAME == ItemName) || ItemName == "") && CanGo)
|
||||
{
|
||||
if (itemx == PositionX && itemy == PositionY)
|
||||
{
|
||||
Console.WriteLine(Form1_0.ItemsStruc_0.ItemNAAME);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetSpecificItem()'", Color.OrangeRed);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool ShopBotGetPurchaseItems()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!Form1_0.GameStruc_0.IsInGame()) return false;
|
||||
|
||||
//dead leave game
|
||||
if (Form1_0.PlayerScan_0.PlayerDead || Form1_0.Potions_0.ForceLeave)
|
||||
{
|
||||
Form1_0.Potions_0.ForceLeave = true;
|
||||
Form1_0.BaalLeech_0.SearchSameGamesAsLastOne = false;
|
||||
Form1_0.LeaveGame(false);
|
||||
Form1_0.IncreaseDeadCount();
|
||||
return false;
|
||||
}
|
||||
|
||||
Form1_0.PatternsScan_0.scanForUnitsPointer("item");
|
||||
foreach (var ThisCurrentPointer in Form1_0.PatternsScan_0.AllItemsPointers)
|
||||
{
|
||||
ItemPointerLocation = ThisCurrentPointer.Key;
|
||||
if (ItemPointerLocation > 0)
|
||||
{
|
||||
itemdatastruc = new byte[144];
|
||||
Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144);
|
||||
|
||||
ItemsScanned++;
|
||||
txtFileNo = BitConverter.ToUInt32(itemdatastruc, 4);
|
||||
uint ItemID = BitConverter.ToUInt32(itemdatastruc, 8);
|
||||
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(txtFileNo);
|
||||
GetUnitData();
|
||||
GetUnitPathData();
|
||||
GetStatsAddr();
|
||||
|
||||
//Form1_0.method_1("ItemType: " + BitConverter.ToUInt32(itemdatastruc, 0).ToString() + ", TxtFileNo: " + BitConverter.ToUInt32(itemdatastruc, 4).ToString() + ", Name: " + ItemNAAME + ", Location: " + GetItemLocation(itemdatastruc[0x0C]));
|
||||
//; itemLoc - 0 in inventory, 1 equipped, 2 in belt, 3 on ground, 4 cursor, 5 dropping, 6 socketed
|
||||
if (itemdatastruc[0x0C] == 0)
|
||||
{
|
||||
if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc <= 3)
|
||||
{
|
||||
//if (Form1_0.ItemsAlert_0.ShouldPickItem(true))
|
||||
if (Form1_0.ItemsAlert_0.ShouldPickItem(false))
|
||||
{
|
||||
if (equiploc == 0) Form1_0.KeyMouse_0.MouseClicc(220, 200); //clic shop1
|
||||
if (equiploc == 1) Form1_0.KeyMouse_0.MouseClicc(350, 200); //clic shop2
|
||||
if (equiploc == 2) Form1_0.KeyMouse_0.MouseClicc(475, 200); //clic shop3
|
||||
if (equiploc == 3) Form1_0.KeyMouse_0.MouseClicc(600, 200); //clic shop4
|
||||
Form1_0.WaitDelay(15);
|
||||
|
||||
Dictionary<string, int> itemScreenPos = Form1_0.Shop_0.ConvertShopLocToScreenPos(Form1_0.ItemsStruc_0.itemx, Form1_0.ItemsStruc_0.itemy);
|
||||
Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]);
|
||||
Form1_0.WaitDelay(15);
|
||||
|
||||
Form1_0.Town_0.Towning = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'ShopBotGetPurchaseItems()'", Color.OrangeRed);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -903,7 +1040,7 @@ public class ItemsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'PickThisItem()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'PickThisItem()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -1034,7 +1171,7 @@ public class ItemsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GrabItemsForGold()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GrabItemsForGold()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -684,6 +684,87 @@ public class MapAreaStruc
|
|||
cg[94, 28] = false;
|
||||
}
|
||||
|
||||
|
||||
// Frigid
|
||||
if (area == Enums.Area.FrigidHighlands)
|
||||
{
|
||||
cg[285, 731] = false;
|
||||
cg[286, 731] = false;
|
||||
cg[287, 731] = false;
|
||||
cg[288, 731] = false;
|
||||
cg[289, 731] = false;
|
||||
cg[290, 731] = false;
|
||||
cg[291, 731] = false;
|
||||
cg[292, 731] = false;
|
||||
cg[293, 731] = false;
|
||||
cg[294, 731] = false;
|
||||
cg[295, 731] = false;
|
||||
cg[296, 731] = false;
|
||||
cg[297, 731] = false;
|
||||
cg[298, 731] = false;
|
||||
cg[299, 731] = false;
|
||||
//cg[300, 731] = false;
|
||||
cg[301, 731] = false;
|
||||
cg[302, 731] = false;
|
||||
cg[303, 731] = false;
|
||||
cg[304, 731] = false;
|
||||
cg[305, 731] = false;
|
||||
cg[306, 731] = false;
|
||||
cg[307, 731] = false;
|
||||
cg[308, 731] = false;
|
||||
cg[309, 731] = false;
|
||||
cg[310, 731] = false;
|
||||
cg[311, 731] = false;
|
||||
cg[312, 731] = false;
|
||||
cg[313, 731] = false;
|
||||
cg[314, 731] = false;
|
||||
cg[315, 731] = false;
|
||||
cg[316, 731] = false;
|
||||
cg[317, 731] = false;
|
||||
cg[318, 731] = false;
|
||||
cg[319, 731] = false;
|
||||
//cg[320, 731] = false;
|
||||
|
||||
cg[285, 723] = false;
|
||||
cg[285, 724] = false;
|
||||
cg[285, 725] = false;
|
||||
cg[285, 726] = false;
|
||||
cg[285, 727] = false;
|
||||
cg[285, 728] = false;
|
||||
cg[285, 729] = false;
|
||||
|
||||
cg[270, 722] = false;
|
||||
cg[271, 722] = false;
|
||||
cg[272, 722] = false;
|
||||
cg[273, 722] = false;
|
||||
cg[274, 722] = false;
|
||||
cg[275, 722] = false;
|
||||
cg[276, 722] = false;
|
||||
cg[277, 722] = false;
|
||||
cg[278, 722] = false;
|
||||
cg[279, 722] = false;
|
||||
cg[280, 722] = false;
|
||||
cg[281, 722] = false;
|
||||
cg[282, 722] = false;
|
||||
cg[283, 722] = false;
|
||||
cg[284, 722] = false;
|
||||
cg[285, 722] = false;
|
||||
|
||||
cg[270, 719] = false;
|
||||
cg[270, 720] = false;
|
||||
|
||||
cg[265, 718] = false;
|
||||
cg[266, 718] = false;
|
||||
cg[267, 718] = false;
|
||||
cg[268, 718] = false;
|
||||
cg[269, 718] = false;
|
||||
cg[270, 718] = false;
|
||||
|
||||
cg[265, 714] = false;
|
||||
cg[265, 715] = false;
|
||||
cg[265, 716] = false;
|
||||
}
|
||||
|
||||
//dump data to txt file
|
||||
/*string ColisionMapTxt = "";
|
||||
for (int i = 0; i < cg.GetLength(0); i++)
|
||||
|
|
|
@ -126,7 +126,7 @@ public class MercStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetMercInfos()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetMercInfos()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
Form1_0.Grid_SetInfos("Merc", "Not alive/detected");
|
||||
|
|
|
@ -167,32 +167,34 @@ public class MobsStruc
|
|||
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x88, ref CurrentPointerBytes, CurrentPointerBytes.Length);
|
||||
long pStatsListExPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
|
||||
|
||||
MobsStatesAll = Form1_0.PlayerScan_0.GetStates(pStatsListExPtr);
|
||||
|
||||
bool isPlayerMinion = false;
|
||||
if (getPlayerMinion((int)txtFileNo2) != "") 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)txtFileNo2) == 0
|
||||
&& Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo2) == ""
|
||||
&& !isPlayerMinion
|
||||
&& !Form1_0.PlayerScan_0.HasState(EnumsStates.State.Revive, MobsStatesAll)
|
||||
&& !DebuggingMobs)
|
||||
|| DebuggingMobs)
|
||||
//&& IsThisMobInBound())
|
||||
if ((Form1_0.NPCStruc_0.HideNPC((int)txtFileNo2) == 0 && !DebuggingMobs) || DebuggingMobs)
|
||||
//&& !ShouldBeIgnored(txtFileNo2))
|
||||
{
|
||||
GetUnitPathDataAll();
|
||||
GetStatsAddrAll();
|
||||
MobsHPAll = GetHPFromStatsAll();
|
||||
|
||||
if (xPosFinalAll != 0 && yPosFinalAll != 0)
|
||||
if (Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo2) == "")
|
||||
{
|
||||
if (MobsHPAll != 0)
|
||||
bool isPlayerMinion = false;
|
||||
if (getPlayerMinion((int)txtFileNo2) != "") isPlayerMinion = true;
|
||||
else isPlayerMinion = ((Form1_0.Mem_0.ReadUInt32((IntPtr)(pStatsListExPtr + 0xAC8 + 0xc)) & 31) == 1); //is a revive
|
||||
|
||||
if (!isPlayerMinion)
|
||||
{
|
||||
if (ThisMobID == 0 || (ThisMobID > 0 && ThisMobID == txtFileNo2))
|
||||
MobsStatesAll = Form1_0.PlayerScan_0.GetStates(pStatsListExPtr);
|
||||
if (!Form1_0.PlayerScan_0.HasState(EnumsStates.State.Revive, MobsStatesAll))
|
||||
{
|
||||
Count++;
|
||||
GetUnitPathDataAll();
|
||||
GetStatsAddrAll();
|
||||
MobsHPAll = GetHPFromStatsAll();
|
||||
|
||||
if (xPosFinalAll != 0 && yPosFinalAll != 0)
|
||||
{
|
||||
if (MobsHPAll != 0)
|
||||
{
|
||||
if (ThisMobID == 0 || (ThisMobID > 0 && ThisMobID == txtFileNo2))
|
||||
{
|
||||
Count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -202,7 +204,7 @@ public class MobsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetMobsCount()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetMobsCount()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return Count;
|
||||
|
@ -246,40 +248,43 @@ public class MobsStruc
|
|||
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x88, ref CurrentPointerBytes, CurrentPointerBytes.Length);
|
||||
long pStatsListExPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
|
||||
|
||||
MobsStatesAll = Form1_0.PlayerScan_0.GetStates(pStatsListExPtr);
|
||||
|
||||
bool isPlayerMinion = false;
|
||||
if (getPlayerMinion((int)txtFileNo2) != "") 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)txtFileNo2) == 0
|
||||
&& Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo2) == ""
|
||||
&& !isPlayerMinion
|
||||
&& !Form1_0.PlayerScan_0.HasState(EnumsStates.State.Revive, MobsStatesAll)
|
||||
&& !DebuggingMobs)
|
||||
|| DebuggingMobs)
|
||||
//&& IsThisMobInBound())
|
||||
if ((Form1_0.NPCStruc_0.HideNPC((int)txtFileNo2) == 0 && !DebuggingMobs) || DebuggingMobs)
|
||||
//&& !ShouldBeIgnored(txtFileNo2))
|
||||
{
|
||||
GetUnitPathDataAll();
|
||||
GetStatsAddrAll();
|
||||
MobsHPAll = GetHPFromStatsAll();
|
||||
|
||||
if (DebuggingMobs)
|
||||
if (Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo2) == "")
|
||||
{
|
||||
if ((xPosFinalAll != 0 && yPosFinalAll != 0 && Form1_0.checkBoxShowOnlyValidMobs.Checked) || !Form1_0.checkBoxShowOnlyValidMobs.Checked)
|
||||
{
|
||||
Form1_0.AppendTextDebugMobs("ID:" + txtFileNo2 + "(" + (EnumsMobsNPC.MonsterType)((int)txtFileNo2) + ") at:" + xPosFinalAll + ", " + yPosFinalAll + " - HP:" + MobsHPAll + ", Type:" + ((Enums.MonsterType) GetMonsterType(flag)) + Environment.NewLine);
|
||||
}
|
||||
}
|
||||
bool isPlayerMinion = false;
|
||||
if (getPlayerMinion((int)txtFileNo2) != "") isPlayerMinion = true;
|
||||
else isPlayerMinion = ((Form1_0.Mem_0.ReadUInt32((IntPtr)(pStatsListExPtr + 0xAC8 + 0xc)) & 31) == 1); //is a revive
|
||||
|
||||
if (xPosFinalAll != 0 && yPosFinalAll != 0)
|
||||
{
|
||||
if (MobsHPAll != 0)
|
||||
if (!isPlayerMinion)
|
||||
{
|
||||
monsterPositions2.Add(new int[2] { (int)xPosFinalAll, (int)yPosFinalAll });
|
||||
monsterIDs.Add((int)txtFileNo2);
|
||||
monsterTypes.Add(GetMonsterType(flag));
|
||||
MobsStatesAll = Form1_0.PlayerScan_0.GetStates(pStatsListExPtr);
|
||||
if (!Form1_0.PlayerScan_0.HasState(EnumsStates.State.Revive, MobsStatesAll))
|
||||
{
|
||||
|
||||
GetUnitPathDataAll();
|
||||
GetStatsAddrAll();
|
||||
MobsHPAll = GetHPFromStatsAll();
|
||||
|
||||
if (DebuggingMobs)
|
||||
{
|
||||
if ((xPosFinalAll != 0 && yPosFinalAll != 0 && Form1_0.checkBoxShowOnlyValidMobs.Checked) || !Form1_0.checkBoxShowOnlyValidMobs.Checked)
|
||||
{
|
||||
Form1_0.AppendTextDebugMobs("ID:" + txtFileNo2 + "(" + (EnumsMobsNPC.MonsterType)((int)txtFileNo2) + ") at:" + xPosFinalAll + ", " + yPosFinalAll + " - HP:" + MobsHPAll + ", Type:" + ((Enums.MonsterType)GetMonsterType(flag)) + Environment.NewLine);
|
||||
}
|
||||
}
|
||||
|
||||
if (xPosFinalAll != 0 && yPosFinalAll != 0)
|
||||
{
|
||||
if (MobsHPAll != 0)
|
||||
{
|
||||
monsterPositions2.Add(new int[2] { (int)xPosFinalAll, (int)yPosFinalAll });
|
||||
monsterIDs.Add((int)txtFileNo2);
|
||||
monsterTypes.Add(GetMonsterType(flag));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -288,7 +293,7 @@ public class MobsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetAllMobsNearby()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetAllMobsNearby()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return monsterPositions2;
|
||||
|
@ -410,7 +415,7 @@ public class MobsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't get Mob HP from Stats!", Color.Red);
|
||||
Form1_0.method_1("Couldn't get Mob HP from Stats!", Color.OrangeRed);
|
||||
}
|
||||
return 0; // or some other default value
|
||||
}
|
||||
|
@ -450,7 +455,8 @@ public class MobsStruc
|
|||
}
|
||||
|
||||
//Set Fast Chaos Only Super Uniques
|
||||
if (Form1_0.Chaos_0.FastChaos && MobType == "" && MobName == ""
|
||||
if ((Form1_0.Chaos_0.FastChaos || Form1_0.Chaos_0.FastChaosPopingSeals)
|
||||
&& MobType == "" && MobName == ""
|
||||
&& (Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ChaosSanctuary)
|
||||
{
|
||||
MobType = "getSuperUniqueName";
|
||||
|
@ -475,165 +481,168 @@ public class MobsStruc
|
|||
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x88, ref CurrentPointerBytes, CurrentPointerBytes.Length);
|
||||
long pStatsListExPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
|
||||
|
||||
MobsStates = Form1_0.PlayerScan_0.GetStates(pStatsListExPtr);
|
||||
|
||||
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
|
||||
|
||||
//Console.WriteLine("found near mob " + txtFileNo + " at: " + xPosFinal + ", " + yPosFinal);
|
||||
|
||||
if (Form1_0.NPCStruc_0.HideNPC((int)txtFileNo) == 0
|
||||
&& Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo) == ""
|
||||
&& !isPlayerMinion
|
||||
&& !Form1_0.PlayerScan_0.HasState(EnumsStates.State.Revive, MobsStates))
|
||||
//&& !ShouldBeIgnored(txtFileNo))
|
||||
if ((Form1_0.NPCStruc_0.HideNPC((int)txtFileNo) == 0 && !DebuggingMobs) || DebuggingMobs)
|
||||
//&& !ShouldBeIgnored(txtFileNo2))
|
||||
{
|
||||
GetUnitPathData();
|
||||
GetStatsAddr();
|
||||
int MobHPBuffer = GetHPFromStats();
|
||||
|
||||
CurrentPointerBytes = new byte[8];
|
||||
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x10, ref CurrentPointerBytes, CurrentPointerBytes.Length);
|
||||
long unitDataPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
|
||||
byte flag = Form1_0.Mem_0.ReadByteRaw((IntPtr)(unitDataPtr + 0x1A));
|
||||
|
||||
/*if (MobType == "getBossName"
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Champion)
|
||||
if (Form1_0.NPCStruc_0.getTownNPC((int)txtFileNo) == "")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
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 (MobType == "getSuperUniqueName"
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Champion
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.SuperUnique)
|
||||
{
|
||||
continue;
|
||||
}*/
|
||||
|
||||
if ((MobType == "getUniqueName" || MobType == "getSuperUniqueName" || MobType == "getBossName")
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Champion
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.SuperUnique
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Unique)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
//Avoid Immunes
|
||||
if (CharConfig.AvoidColdImmune
|
||||
|| CharConfig.AvoidFireImmune
|
||||
|| CharConfig.AvoidLightImmune
|
||||
|| CharConfig.AvoidPoisonImmune
|
||||
|| CharConfig.AvoidMagicImmune)
|
||||
{
|
||||
if (IsImmune(Enums.StatResist.ColdImmune) && CharConfig.AvoidColdImmune
|
||||
|| IsImmune(Enums.StatResist.FireImmune) && CharConfig.AvoidFireImmune
|
||||
|| IsImmune(Enums.StatResist.LightImmune) && CharConfig.AvoidLightImmune
|
||||
|| IsImmune(Enums.StatResist.PoisonImmune) && CharConfig.AvoidPoisonImmune
|
||||
|| IsImmune(Enums.StatResist.MagicImmune) && CharConfig.AvoidMagicImmune)
|
||||
if (!isPlayerMinion)
|
||||
{
|
||||
//Form1_0.method_1(MobName + ", isImmune", Color.Red);
|
||||
if (MobType != "getBossName" && MobType != "getSuperUniqueName") continue; //go to next mobs
|
||||
}
|
||||
}
|
||||
|
||||
bool IsMobInBound = true;
|
||||
if (MobType != "getBossName" && MobType != "getSuperUniqueName") IsMobInBound = IsThisMobInBound();
|
||||
|
||||
//Form1_0.method_1(MobName + ", isInBound: " + IsMobInBound + ", HP Buffer: " + MobHPBuffer, Color.Red);
|
||||
|
||||
//Console.WriteLine("found near mob " + txtFileNo + " at: " + xPosFinal + ", " + yPosFinal + " HP:" + MobHPBuffer);
|
||||
if ((MobHPBuffer > 0 || (MobHPBuffer == 0 && MobName != ""))
|
||||
&& (xPosFinal != 0 && yPosFinal != 0)//)
|
||||
&& IsMobInBound)
|
||||
{
|
||||
if (CharConfig.LeaveDiabloClone && (EnumsMobsNPC.MonsterType)txtFileNo == EnumsMobsNPC.MonsterType.Diabloclone)
|
||||
{
|
||||
Form1_0.method_1("DClone found near, leaving game!", Color.Red);
|
||||
Form1_0.LeaveGame(false);
|
||||
Form1_0.WaitDelay(100);
|
||||
return false;
|
||||
}
|
||||
|
||||
//get nearest mobs in all mobs
|
||||
if (Nearest)
|
||||
{
|
||||
int DiffXPlayer = xPosFinal - Form1_0.PlayerScan_0.xPosFinal;
|
||||
int DiffYPlayer = yPosFinal - Form1_0.PlayerScan_0.yPosFinal;
|
||||
if (DiffXPlayer < 0) DiffXPlayer = -DiffXPlayer;
|
||||
if (DiffYPlayer < 0) DiffYPlayer = -DiffYPlayer;
|
||||
|
||||
if (DiffXPlayer <= LastDiffX
|
||||
&& DiffYPlayer <= LastDiffY
|
||||
&& DiffXPlayer <= MaxMobDistance
|
||||
&& DiffYPlayer <= MaxMobDistance)
|
||||
MobsStates = Form1_0.PlayerScan_0.GetStates(pStatsListExPtr);
|
||||
if (!Form1_0.PlayerScan_0.HasState(EnumsStates.State.Revive, MobsStates))
|
||||
{
|
||||
NearestMobPointer = MobsPointerLocation;
|
||||
LastDiffX = DiffXPlayer;
|
||||
LastDiffY = DiffYPlayer;
|
||||
}
|
||||
xPosFinal = 0;
|
||||
yPosFinal = 0;
|
||||
}
|
||||
GetUnitPathData();
|
||||
GetStatsAddr();
|
||||
int MobHPBuffer = GetHPFromStats();
|
||||
|
||||
if (MobType == "") GoodMob = true;
|
||||
CurrentPointerBytes = new byte[8];
|
||||
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x10, ref CurrentPointerBytes, CurrentPointerBytes.Length);
|
||||
long unitDataPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
|
||||
byte flag = Form1_0.Mem_0.ReadByteRaw((IntPtr)(unitDataPtr + 0x1A));
|
||||
|
||||
//get the mobs by name and type
|
||||
if (MobType == "getBossName")
|
||||
{
|
||||
if (getBossName((int)txtFileNo) == MobName)
|
||||
{
|
||||
if (!Nearest)
|
||||
/*if (MobType == "getBossName"
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Champion)
|
||||
{
|
||||
MobsHP = MobHPBuffer;
|
||||
LastMobsPointerLocation = MobsPointerLocation;
|
||||
LastMobtxtFileNo = txtFileNo;
|
||||
LastMobPos.X = xPosFinal;
|
||||
LastMobPos.Y = yPosFinal;
|
||||
return true;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
|
||||
if (MobType == "getSuperUniqueName"
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Champion
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.SuperUnique)
|
||||
{
|
||||
GoodMob = true;
|
||||
continue;
|
||||
}*/
|
||||
|
||||
if ((MobType == "getUniqueName" || MobType == "getSuperUniqueName" || MobType == "getBossName")
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Champion
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.SuperUnique
|
||||
&& (Enums.MonsterType)GetMonsterType(flag) != Enums.MonsterType.Unique)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (MobType == "getPlayerMinion")
|
||||
{
|
||||
if (getPlayerMinion((int)txtFileNo) == MobName)
|
||||
{
|
||||
if (!Nearest)
|
||||
|
||||
//Avoid Immunes
|
||||
if (CharConfig.AvoidColdImmune
|
||||
|| CharConfig.AvoidFireImmune
|
||||
|| CharConfig.AvoidLightImmune
|
||||
|| CharConfig.AvoidPoisonImmune
|
||||
|| CharConfig.AvoidMagicImmune)
|
||||
{
|
||||
MobsHP = MobHPBuffer;
|
||||
LastMobsPointerLocation = MobsPointerLocation;
|
||||
LastMobtxtFileNo = txtFileNo;
|
||||
LastMobPos.X = xPosFinal;
|
||||
LastMobPos.Y = yPosFinal;
|
||||
return true;
|
||||
if (IsImmune(Enums.StatResist.ColdImmune) && CharConfig.AvoidColdImmune
|
||||
|| IsImmune(Enums.StatResist.FireImmune) && CharConfig.AvoidFireImmune
|
||||
|| IsImmune(Enums.StatResist.LightImmune) && CharConfig.AvoidLightImmune
|
||||
|| IsImmune(Enums.StatResist.PoisonImmune) && CharConfig.AvoidPoisonImmune
|
||||
|| IsImmune(Enums.StatResist.MagicImmune) && CharConfig.AvoidMagicImmune)
|
||||
{
|
||||
//Form1_0.method_1(MobName + ", isImmune", Color.Red);
|
||||
if (MobType != "getBossName" && MobType != "getSuperUniqueName") continue; //go to next mobs
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
bool IsMobInBound = true;
|
||||
if (MobType != "getBossName" && MobType != "getSuperUniqueName") IsMobInBound = IsThisMobInBound();
|
||||
|
||||
//Form1_0.method_1(MobName + ", isInBound: " + IsMobInBound + ", HP Buffer: " + MobHPBuffer, Color.Red);
|
||||
|
||||
//Console.WriteLine("found near mob " + txtFileNo + " at: " + xPosFinal + ", " + yPosFinal + " HP:" + MobHPBuffer);
|
||||
if ((MobHPBuffer > 0 || (MobHPBuffer == 0 && MobName != ""))
|
||||
&& (xPosFinal != 0 && yPosFinal != 0)//)
|
||||
&& IsMobInBound)
|
||||
{
|
||||
GoodMob = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (MobType == "getSuperUniqueName" || MobType == "getUniqueName")
|
||||
{
|
||||
if ((MobName == "" && getSuperUniqueName((int)txtFileNo) != "") || (MobName != "" && getSuperUniqueName((int)txtFileNo) == MobName))
|
||||
{
|
||||
//Console.WriteLine(getSuperUniqueName((int)txtFileNo));
|
||||
if (!Nearest)
|
||||
{
|
||||
MobsHP = MobHPBuffer;
|
||||
LastMobsPointerLocation = MobsPointerLocation;
|
||||
LastMobtxtFileNo = txtFileNo;
|
||||
LastMobPos.X = xPosFinal;
|
||||
LastMobPos.Y = yPosFinal;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
GoodMob = true;
|
||||
if (CharConfig.LeaveDiabloClone && (EnumsMobsNPC.MonsterType)txtFileNo == EnumsMobsNPC.MonsterType.Diabloclone)
|
||||
{
|
||||
Form1_0.method_1("DClone found near, leaving game!", Color.Red);
|
||||
Form1_0.LeaveGame(false);
|
||||
Form1_0.WaitDelay(100);
|
||||
return false;
|
||||
}
|
||||
|
||||
//get nearest mobs in all mobs
|
||||
if (Nearest)
|
||||
{
|
||||
int DiffXPlayer = xPosFinal - Form1_0.PlayerScan_0.xPosFinal;
|
||||
int DiffYPlayer = yPosFinal - Form1_0.PlayerScan_0.yPosFinal;
|
||||
if (DiffXPlayer < 0) DiffXPlayer = -DiffXPlayer;
|
||||
if (DiffYPlayer < 0) DiffYPlayer = -DiffYPlayer;
|
||||
|
||||
if (DiffXPlayer <= LastDiffX
|
||||
&& DiffYPlayer <= LastDiffY
|
||||
&& DiffXPlayer <= MaxMobDistance
|
||||
&& DiffYPlayer <= MaxMobDistance)
|
||||
{
|
||||
NearestMobPointer = MobsPointerLocation;
|
||||
LastDiffX = DiffXPlayer;
|
||||
LastDiffY = DiffYPlayer;
|
||||
}
|
||||
xPosFinal = 0;
|
||||
yPosFinal = 0;
|
||||
}
|
||||
|
||||
if (MobType == "") GoodMob = true;
|
||||
|
||||
//get the mobs by name and type
|
||||
if (MobType == "getBossName")
|
||||
{
|
||||
if (getBossName((int)txtFileNo) == MobName)
|
||||
{
|
||||
if (!Nearest)
|
||||
{
|
||||
MobsHP = MobHPBuffer;
|
||||
LastMobsPointerLocation = MobsPointerLocation;
|
||||
LastMobtxtFileNo = txtFileNo;
|
||||
LastMobPos.X = xPosFinal;
|
||||
LastMobPos.Y = yPosFinal;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
GoodMob = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (MobType == "getPlayerMinion")
|
||||
{
|
||||
if (getPlayerMinion((int)txtFileNo) == MobName)
|
||||
{
|
||||
if (!Nearest)
|
||||
{
|
||||
MobsHP = MobHPBuffer;
|
||||
LastMobsPointerLocation = MobsPointerLocation;
|
||||
LastMobtxtFileNo = txtFileNo;
|
||||
LastMobPos.X = xPosFinal;
|
||||
LastMobPos.Y = yPosFinal;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
GoodMob = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (MobType == "getSuperUniqueName" || MobType == "getUniqueName")
|
||||
{
|
||||
if ((MobName == "" && getSuperUniqueName((int)txtFileNo) != "") || (MobName != "" && getSuperUniqueName((int)txtFileNo) == MobName))
|
||||
{
|
||||
//Console.WriteLine(getSuperUniqueName((int)txtFileNo));
|
||||
if (!Nearest)
|
||||
{
|
||||
MobsHP = MobHPBuffer;
|
||||
LastMobsPointerLocation = MobsPointerLocation;
|
||||
LastMobtxtFileNo = txtFileNo;
|
||||
LastMobPos.X = xPosFinal;
|
||||
LastMobPos.Y = yPosFinal;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
GoodMob = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -670,7 +679,7 @@ public class MobsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetMobs()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetMobs()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -791,7 +800,7 @@ public class MobsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't get Mob HP from Stats!", Color.Red);
|
||||
Form1_0.method_1("Couldn't get Mob HP from Stats!", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return 0; // or some other default value
|
||||
|
|
|
@ -73,7 +73,7 @@ public class NPCStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetAllNPCNearby()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetAllNPCNearby()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return npcPositions2;
|
||||
|
@ -127,7 +127,7 @@ public class NPCStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetNPC()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetNPC()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -96,7 +96,7 @@ public class ObjectsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetAllObjectsNearby()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetAllObjectsNearby()'", Color.OrangeRed);
|
||||
}
|
||||
return new List<int[]>();
|
||||
}
|
||||
|
@ -268,7 +268,7 @@ public class ObjectsStruc
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'GetObjects()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'GetObjects()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -49,6 +49,8 @@ public class PatternsScan
|
|||
public long StartIndexItem_V3 = 0x231818140B0;
|
||||
|
||||
public int UnitsScanVersion = 1;
|
||||
public int MaxUnitsIncreaseCount = 5;
|
||||
public int CurrentUnitsIncreaseCount = 0;
|
||||
|
||||
public void SetForm1(Form1 form1_1)
|
||||
{
|
||||
|
@ -582,15 +584,20 @@ public class PatternsScan
|
|||
//VERSION 1 UNITS SCAN
|
||||
public void IncreaseV1Scanning()
|
||||
{
|
||||
ScanUnitsNumber += 100;
|
||||
ScanUnitsNegativeOffset += 25;
|
||||
Form1_0.method_1("Units Scan have increased trying to detect more Units, but glitch may happend too!", Color.OrangeRed);
|
||||
if (CurrentUnitsIncreaseCount < MaxUnitsIncreaseCount)
|
||||
{
|
||||
ScanUnitsNumber += 100;
|
||||
ScanUnitsNegativeOffset += 25;
|
||||
Form1_0.method_1("Units Scan have increased trying to detect more Units, but glitch may happend too!", Color.OrangeRed);
|
||||
CurrentUnitsIncreaseCount++;
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetV1Scanning()
|
||||
{
|
||||
ScanUnitsNumber = 2600;
|
||||
ScanUnitsNegativeOffset = 150;
|
||||
CurrentUnitsIncreaseCount = 0;
|
||||
}
|
||||
|
||||
public void scanForUnitsPointerV1(string SearchUnitsType)
|
||||
|
|
|
@ -711,7 +711,7 @@ public class PlayerScan
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'scanForPlayer()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'scanForPlayer()'", Color.OrangeRed);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -801,7 +801,7 @@ public class PlayerScan
|
|||
}
|
||||
catch
|
||||
{
|
||||
Form1_0.method_1("Couldn't 'ScanForOthersPlayers()'", Color.Red);
|
||||
Form1_0.method_1("Couldn't 'ScanForOthersPlayers()'", Color.OrangeRed);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -108,6 +108,11 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Bots\Act3Sewers.cs" />
|
||||
<Compile Include="Bots\ArachnidLair.cs" />
|
||||
<Compile Include="Bots\Pit.cs" />
|
||||
<Compile Include="Bots\Crypt.cs" />
|
||||
<Compile Include="Bots\Mausoleum.cs" />
|
||||
<Compile Include="Bots\ShopBot.cs" />
|
||||
<Compile Include="Bots\Frozenstein.cs" />
|
||||
<Compile Include="Bots\Rush\AnyaRush.cs" />
|
||||
<Compile Include="Bots\TerrorZones.cs" />
|
||||
|
|
|
@ -61,6 +61,11 @@ RunFrozensteinScript=false
|
|||
RunTerrorZonesScript=false
|
||||
RunItemGrabScriptOnly=false
|
||||
ClearAfterBoss=false
|
||||
RunShopBotScript=false
|
||||
RunMausoleumScript=false
|
||||
RunCryptScript=false
|
||||
RunArachnidScript=false
|
||||
RunPitScript=false
|
||||
|
||||
//#######################################
|
||||
//NOT IN GAME SCRIPT (SEARCH GAMES OR CREATE A NEW GAME)
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
0d9e997fba28e6b8c8fd081b7e48ee7bf126721731758b7ff8acbbb5adf5c63b
|
||||
2ae71cce72fade27b0411d421b78102354a654225d53ea8a2e0083b44862b45f
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue