Everything posted by Apexx
-
[Free] Project Wholesome - WOTLK Fightclasses (all 10 included)
- 281 comments
- 29 reviews
-
[Free] Project Wholesome - WOTLK Fightclasses (all 10 included)
- 281 comments
- 29 reviews
-
[Free] Project Wholesome - WOTLK Fightclasses (all 10 included)
There were comments earlier about Death & Decay not working, and I too must pause the bot using alt+x then manually use D&D then un-pause the bot quickly in order for it to work. I don't think I have ever seen it work once in over 2 weeks of using this AIO. Another issue running Frost is that it is always trying to use Icy Touch when just out of range! I would suggest lowing the Fight range just 1yd or so and that should solve the issue. Great stuff though, seriously! Keep up the great work.
- 281 comments
- 29 reviews
-
[Free] Project Wholesome - WOTLK Fightclasses (all 10 included)
The only information I can give you, is I started a new character, I am level 9 no access to potions. When it happens.. every millisecond of running your AIO.
- 281 comments
- 29 reviews
-
[Free] Project Wholesome - WOTLK Fightclasses (all 10 included)
Excellent work with this one! However, I am experiencing an issue with a low level rogue currently. See the image for details.
- 281 comments
- 29 reviews
-
Check For Hostiles Unit(s) Behind Player
Hey @Droidz thank you again!
-
Check For Hostiles Unit(s) Behind Player
I may have something here if anyone is interested. It still needs more testing though. Code: private void FightEventsOnFightStart(WoWUnit wowUnit, CancelEventArgs cancelable) { try { if (Settings.Backpedal) Var.SetVar("CanBack", true); } catch (Exception ex) { MyFunctions.LogWrite("FightEventsOnFightStart() Exception:" + Environment.NewLine + ex.ToString(), true); } } private async void FightEventsOnFightLoop(WoWUnit wowUnit, CancelEventArgs cancelable) { Random _rand = new Random(); bool _playerAggro = false; bool _playerStuck = false; #region Backpedal if (Settings.Backpedal && // Make sure Include Backpedal is TRUE in Settings (!Player.IsPartyMember || ObjectManager.Me.IsInGroup) && // Let's not backpedal in groups! Var.Exist("CanBack") && // Make sure our Variable exists Var.GetVar<bool>("CanBack") && // Make sure the Variable is TRUE Player.InCombat && // Make sure Player is in combat !Player.IsIndoors && // Skip if Player is indoor !Player.IsCast && // Make sure the Player is NOT casting Target.IsAlive && // Make sure the Target is valid Target.IsTargetingMe && // Make sure the Unit is Targeting the player !wowUnit.IsCast && // We don't want to backpedal from a casting target! MyFunctions.TargetInCooldownLevelRange()) // Target level is > Settings CD lvl { try { // Player.IsFacing(Vector3 targetPosition, [float arcRadians = 0.2]) // Player.IsFacing(u.Position, 1.5f) // 1.5 radians = 85.9 degrees || Arc Length = 37.5yd || Sector Area = 468.75 yd^2 var EnemiesInFrontPlayerNearTarget = ObjectManager.GetWoWUnitHostile().Where(u => u.IsValid && u.IsAlive && !u.InCombat && Player.IsFacing(u.Position, 1.5f) && Player.Target != u.GetBaseAddress && u.Position.DistanceTo(Target.Position) <= Settings.BackpedalScanRadius && (u.Reaction == Reaction.Hated || u.Reaction == Reaction.Hostile || u.Reaction == Reaction.Unfriendly)).OrderBy(o => Player.Position.DistanceTo(o.Position)).ToList(); var EnemiesBehindPlayer = ObjectManager.GetWoWUnitHostile().Where(u => u.IsValid && u.IsAlive && !u.InCombat && !Player.IsFacing(u.Position, 1.5f) && Player.Target != u.GetBaseAddress && u.Position.DistanceTo(Player.Position) <= (Settings.BackpedalScanRadius + (Settings.BackpedalScanRadius / 2)) && (u.Reaction == Reaction.Hated || u.Reaction == Reaction.Hostile || u.Reaction == Reaction.Unfriendly)).OrderBy(o => Player.Position.DistanceTo(o.Position)).ToList(); if (EnemiesInFrontPlayerNearTarget != null && EnemiesInFrontPlayerNearTarget.Count > 0) { foreach (WoWUnit unit in EnemiesInFrontPlayerNearTarget.Take(3)) { MyFunctions.LogDebug("Backpedal -> Enemy (Front): " + unit.Level + "-" + unit.Name + " (Distance: " + System.Math.Round(Player.Position.DistanceTo(unit.Position), 3) + "yd"); } WoWUnit NearestFrontUnit = EnemiesInFrontPlayerNearTarget.FirstOrDefault(); if (EnemiesBehindPlayer != null && EnemiesBehindPlayer.Count < 1) { var timer = new robotManager.Helpful.Timer(_rand.Next(3000, 4000)); var timerCheckDistance = new robotManager.Helpful.Timer(_rand.Next(1500, 2250)); Vector3 PlayerStartPos = Player.Position; int EnemyCountBegin = MyFunctions.HostileUnitsInRange(100.0f); MyFunctions.LogDebug("Backpedal -> Found no enemies behind you. Begin Backpedal"); if (wowUnit != NearestFrontUnit && !_playerAggro) { Move.Backward(Move.MoveAction.DownKey); while (!_playerStuck && (!timer.IsReady || wowUnit.Position.DistanceTo(NearestFrontUnit.Position) <= Settings.BackpedalScanRadius)) { if (Player.GetMove && wowUnit.IsCast) { MyFunctions.LogDebug("Backpedal -> Your target is casting; Stopping movement"); Var.SetVar("CanBack", false); break; } if (MyFunctions.HostileUnitsInRange(100.0f) != EnemyCountBegin) { MyFunctions.LogDebug("Backpedal -> Enemy count changed, you may have aggro'd something; Stopping movement"); Var.SetVar("CanBack", false); break; } if (timerCheckDistance.IsReady && Player.Position.DistanceTo(PlayerStartPos) < 1) just over a 1.5 sec. { MyFunctions.LogDebug("Backpedal -> Player might be stuck; Stopping movement"); _playerStuck = true; Var.SetVar("CanBack", false); break; } if (Player.Position.DistanceTo(NearestFrontUnit.Position) > Settings.BackpedalScanRadius) { MyFunctions.LogDebug("Backpedal -> Distance is greater than " + Settings.BackpedalScanRadius + " yards; Stopping movement"); Var.SetVar("CanBack", false); break; } if (Settings.BackpedalScanRadius > 0 && Player.Position.DistanceTo(PlayerStartPos) > Settings.BackpedalScanRadius) { MyFunctions.LogFight("Backpedal -> Player has moved more than " + Settings.BackpedalScanRadius + " yards; Stopping movement"); Var.SetVar("CanBack", false); break; } if (TraceLine.TraceLineGo(wowUnit.Position)) { MyFunctions.LogFight("Backpedal -> Your target is out of line of sight; Stopping movement"); Var.SetVar("CanBack", false); break; } Thread.Sleep(100); return; } } } else if (EnemiesBehindPlayer != null && EnemiesBehindPlayer.Count > 0) { foreach (WoWUnit unit in EnemiesBehindPlayer) { MyFunctions.LogDebug("Backpedal -> Enemy (Back): " + unit.Level + "-" + unit.Name + " (Distance: " + System.Math.Round(Player.Position.DistanceTo(unit.Position), 3) + "yd"); } MyFunctions.LogDebug("Backpedal -> Skipping movement"); Var.SetVar("CanBack", false); return; } } } catch (Exception ex) { MyFunctions.LogWrite("FightEventsOnFightLoop -> Backpedal Exception:" + Environment.NewLine + ex.ToString(), true); } } }
-
Wrotation Movement/Face
There is no changing it. Your best bet is to contact the creator of the script and talk to him/her about it.
-
Wrotation Movement/Face
Is the fight class a DLL file, .cs file, or is it XML?
-
Wrotation Movement/Face
I would definitely get in touch with the developer and request they remove the Auto Face segment of code. The bot will force it the entire combat and there will be nothing you can do about it as long as it's coded in.
-
Check For Hostiles Unit(s) Behind Player
Hi, I am having problems understanding IsBehind. I would like to check if there are any mobs behind me. I am trying to add a backpedal feature to my fight class, but I don't think I am getting it correct. Here's what I tried: var EnemiesBehind = new List<WoWUnit>(); EnemiesBehind.AddRange(ObjectManager.GetWoWUnitHostile().Where( u => u.IsValid && !u.InCombat && u.IsAlive && u.IsBehind(Player.Position, 180.0f) && u.GetDistance <= Settings.BackpedalScanRange).OrderBy( o => ObjectManager.Me.Position.DistanceTo(o.Position))); if (EnemiesBehind != null && EnemiesBehind.Count > 0) { MyFunctions.LogDebug("Enemy, (" + EnemiesBehind.FirstOrDefault().Level + ")" + EnemiesBehind.FirstOrDefault().Name + " found behind you, skipping backpedal!"); Var.SetVar("CanBack", false); return; } Any help is much appreciated! Thank you! Image Reference:
-
How to stop event?
You can Subscribe to the events inside the Initialize() Method like the following (be sure to Unsubscribe from the event on Dispose): ** Code is not tested ** public void Initialize() { wManager.Events.FightEvents.OnFightEnd += FightEventsOnFightEnd; // Subscribe to the Event _isLaunched = true; // ... } public void Dispose() { wManager.Events.FightEvents.OnFightEnd -= FightEventsOnFightEnd; // Unsubscribe from the Event _isLaunched = false; // ... } private void FightEventsOnFightEnd (ulong guid) { Random _rand = new Random(); Logging.WriteDebug("FightEventsOnFightEnd()"); // Wait some random time Thread.Sleep(_rand.Next(2000, 5000)); }
-
WRobot.exe - System Error
Hi, recently I have been getting an error (I believe when I start and stop Automaton) that keeps popping up from time to time. I will submit a log file if I am able to reproduce the error again. Thanks!
-
Warmane Lordaeron Bans
I don't know what the issue is with Warmane. I have been scripting multiple Fight Classes, Plugins, etc for the passed month on Warmane, and have not seen one infraction. Who knows?
-
PauseSafely Plugin
-
PauseSafely Plugin
-
Help
What Fight Class are you using?
-
Warmane Lordaeron Bans
I don't think I am ready to jeopardize my account just yet, but thanks.
-
Warmane Lordaeron Bans
Just checked my account on Lordaeron and it's still active. I wrote an entire PvP Arms Warrior fight class with some Grinding included as well as Fishing.
-
Macro key not pressed in combat
Try this, put it inside your Plugins folder. LuaDuringRegen.cs
-
Macro key not pressed in combat
What version of WoW are you interested in this for?
-
number of mobs around my target at a given distance?
Nice job @cedced30! I am glad you were able to fix your problem! Glad to help! Great added feature as well.
-
PauseSafely Plugin
It's easy to write an opposite player faction check and a generic wowunit NPC detection. I actually commented out my own code to detect players of opposite faction because it seems to work just fine with the WRobot built in feature "Enter advanced settings..." --> "Stop game / bot / Security" --> "Pause bot if Nearby Player" enabled which then activates PauseSafely. I might continue expanding the features.
-
Pause Plugin While Fight Class Finishes Combat
Of course it was that easy. I should have known. Thanks a lot @Droidz! Much appreciated!
-
Pause Plugin While Fight Class Finishes Combat
Is it possible to pause a plugin while the player is in combat? In my plugin, if I put a Thread.Sleep, it appears that it sleeps the entire bot thread.