Jump to content

srazdokunebil

WRobot user
  • Posts

    20
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

srazdokunebil's Achievements

  1. Version 1.0

    117 downloads

    # [FREE] WRobot PathEditor v1.0 plugin for Vanilla 1.12.1 (5875) PathEditor allows Vector3 path XML data to be modified real-time from within the 5875 game client. Use this tool to create paths that can be imported into Quester/Grinder/Gatherer profiles. Please refer to the github readme.md for usage information. github: https://github.com/srazdokunebil/PathEditor Thanks to Matenia, Apexx, Ordush, & Sowelu for their code contributions that made this possible.
  2. Server still down after several reboots.
  3. Fantastic! UserControlMiniMap does exactly what I was looking for. This works great! Thank you both.
  4. I am developing a WRobot plugin that assists in making granular edits to Vector3 paths while in-game. Right now I can add nodes, delete nodes, reposition existing nodes, and display the complete Vector3 path overlay in the client using Radar3D.DrawLine() and Radar3D.DrawCircle(): I would like to draw my path to the WRobot map the same way that the Gatherer Profile Editor does. Is this possible to do from within a plugin?
  5. Problem fixed! Updated with updater.exe et ça marche comme sur des roulettes 🙂 Merci Droidz!
  6. Salut Droidz! A little better! I've reinstalled with the WRobot installer from the main page and reconfigured it. Now the behavior goes: Launch Relogger Start relogger profile WoW client authenticates and logs into game with the correct character WRobot quester profile starts after 10 seconds WoW client /camps back to character screen WoW client logs back into the game with the correct character WRobot quester profile pathing causes character to summon mount WoW client begins a 2nd /camp countdown, but does not exit game when it reaches zero WRobot quester profile proceeds to completion through the 2nd /camp WoW client and WRobot both exit and Relogger loops to 3. after a 30m wait timer
  7. Relogger was working fine up to 11/5-- This happened after applying the lastest update. When Wrobot is used in tandem with Relogger, the wow client now automatically camps upon login. It doesn't camp out immediately: the client simply sits down and displays a countdown from 20 to 0. WRobot itself is fine. This behavior is happening solely avec Relogger. I've restored an unpatched wrobot installation backup from last week, and it is working again. Client: 1.12.1 (5875)
  8. ..parsing AssistLeader() in FightAssist.cs from PartyHelper: public static void AssistLeader() { WoWPlayer leader = ObjectManager.GetObjectWoWPlayer().FirstOrDefault(p => p.Name == PartyFollow.LeaderName); if (leader == null || leader.Target == 0 || ObjectManager.Me.Target == leader.Target || leader.TargetObject.IsDead || leader.TargetObject.Reaction >= Reaction.Friendly || !leader.TargetObject.IsAttackable || !IsCloseEnoughToLeader() || Me.HaveBuff("Food") || Me.HaveBuff("Drink") || wManagerSetting.IsBlackListed(leader.Target) || Logging.Status == "Regeneration") { return; } Fight.StopFight(); ObjectManager.Me.Target = leader.Target; Fight.StartFight(leader.Target, false); } I simply transcribed the Fight.StopFight() and Fight.StartFight() functions into FightEvents_OnFightLoop_Taunt(): public static void FightEvents_OnFightLoop_Taunt(WoWUnit unit, CancelEventArgs cancelable) { // If running Grinder, Gatherer or Automaton, switch to targets that are targeting partymembers if ((OffensiveWarrior.productCategory == "Grinder" || OffensiveWarrior.productCategory == "Automaton" || OffensiveWarrior.productCategory == "Gatherer")) { unit = Methods.GetHighPriorityUnit(8); // returns WOWUnit GUID of closest unit attacking a partymember // if a mob is attacking a partymember and we haven't switched targets in the last 5sec if (unit != null && unit.Guid > 0UL && Methods._lastTargetSwitch.AddSeconds(8) < DateTime.Now) { Methods.LuaPrint("FightEvents_OnFightLoop_Taunt switching target to: " + unit.Guid); Fight.StopFight(); ObjectManager.Me.Target = unit.Guid; Fight.StartFight(unit.Guid, false); Methods._lastTargetSwitch = DateTime.Now; } } } This works flawlessly. Thank you Matenia!
  9. I have put together a few vanilla fightclasses which are working well with the Party and WRotation addons. I've stitched them in C# using Matenia's framework and a patchwork of other code gleaned from this site. I have a tank class, a healing class and a dps class. They are configured thusly: tank - uses Grinder product to follow a path, pick targets and murder things. healer - uses Party product to follow and heal tank dps - uses Party product to follow and assist tank While using the Grinder product, I need to give the tank the ability to switch from its current target to taunt units that are attacking/targeting partymembers in mid-fight. Currently the behavior is Acquire target Kill target Attack & kill remaining adds Goto 1. When I am manually driving the tank using WRotation, I can manually pick targets at will. I am able to switch from my current target to another without any constraints. The healer follows and heals, the dps follows and assists. The tank even rushes to assist partymembers AFTER the current target dies thanks to the Party product. The problem is that when I use the Grinder product, I am unable to get my tank fightclass to switch targets DURING the fight to taunt adds off the others. I am currently attempting this from the fightclass .DLL. I have a series of functions inside the TANK FIGHTCLASS to ascertain if there are targets that need to be taunted off partymembers. public static void CMD_Priotarg() { WoWUnit target = GetHighPriorityUnit(25); // Returns GUID of 1st mob within 25 yds that is targeting a partymember if (target != null && target.Guid >= 0UL && target.IsAlive && target.GetDistance <= 25) { LuaPrint(target.Name + " is attacking a partymember. Switching!"); CombatUtil.TargetUnit(target); MovementManager.Face(target); } } If there's a mob that is targeting party members and needs to be taunted off them, GetHighPriorityUnit() spits out the mob's WoWUnit GUID and I use Matenia's CombatUtil.TargetUnit() function to switch to it. I have the CMD_Priotarg() function bound to a hotkey defined by the fightclass. It is currently working with WRotation. I followed these two threads for guidance. https://wrobot.eu/forums/topic/7658-prioritize-low-hp-targets/ https://wrobot.eu/forums/topic/7681-left-click-unit/ This does not work if I am using the Grinder product. The issue is that Grinder owns the targeting. I've put the function above in a subroutine that ticks alongside the rotation in Matenia's framework. When it is triggered and GetHighPriorityUnit() returns a valid WoWUnit GUID, the tank will switch targets to that mob's GUID for a second, then immediately snap back to the original target. So I found this thread "OK, that probably means that I should be doing this via a fightloop event," I thought. That thread referenced a few event driven fightloop code examples that are much more elegant than my CMD_Priotarg() example. But they all yield the same unwanted behavior. WRobot still acquires the new target and immediately switches back to the original target: public void Initialize() { try { ... FightEvents.OnFightLoop += new FightEvents.FightTargetHandler(Methods.FightEvents_OnFightLoop_Taunt); ... } } ... private static void FightEvents_OnFightLoop_Taunt(WoWUnit unit, CancelEventArgs cancelable) { // If running Grinder, Gatherer or Automaton, switch to targets that are targeting partymembers if ((OffensiveWarrior.productCategory == "Grinder" || OffensiveWarrior.productCategory == "Automaton" || OffensiveWarrior.productCategory == "Gatherer") && woWPlayer.IsPartyMember) { unit = Methods.GetHighPriorityUnit(8); // gets all units attacking you // if a mob is attacking a partymember and we haven't switched targets in the last 5sec if (unit != null && unit.Guid > 0UL && Methods.LastTargetSwitch.AddSeconds(5) < DateTime.Now) { Methods.LuaPrint("FightEvents_OnFightLoop: switchTarget"); CombatUtil.TargetUnit(attacker); Methods.LastTargetSwitch = DateTime.Now; } } } This results in the same snap back targeting behavior while running Grinder. Works fine when using the WRotation product. TL;DR: I can reliably get a fightclass to switch targets after combat has been initiated when using the WRotation product. Can the same be done with the Grinder product? If not, is a workaround possible?
  10. From what I understand, the code: wManager.Wow.Helpers.RunCodeExtension.RunScript(robotManager.Helpful.RunCode.CodeType.CSharp, @"robotManager.Helpful.Var.SetVar(""ManageMovementWRotation"", WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement);", "", out errorsCSharp) ..creates variable ManageMovementWRotation, and assigns it the value of WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement. How does this change the value of WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement while wrobot is running?
  11. Thanks for chiming in! I am aware that the wrobot application winform switch element 'Manage Character Movement' shouldn't toggle in response to the state of WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement being toggled, not unless wrobot is stopped and started again. I'm not 100% clear on what of Droidz's suggestion does, in particular: wManager.Wow.Helpers.RunCodeExtension.RunScript(robotManager.Helpful.RunCode.CodeType.CSharp, @"robotManager.Helpful.Var.SetVar(""ManageMovementWRotation"", WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement);", "", out errorsCSharp)) Does this create variable ManageMovementWRotation that becomes an alias of WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement? Toggling the ManageMovementWRotation variable in turn toggles the WRotation setting? I'm a bit confused as I don't have a clear understanding of what wManager.Wow.Helpers.RunCodeExtension.RunScript is doing.
  12. Thank you, I really appreciate your help! I am integrating this inside of Matenia's 1.12.1 fightclass framework for a melee class. I've declared your function ManageMovement(), and executed it inside the Initialize() subroutine, which executes its contents once at the beginning as you suggest. Am I correct in inferring that your code is meant to toggle the value of WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement when boolean variable ManageMovementWRotation is toggled? This does not seem to work-- I am, however, able to access the correct boolean value of WRotation.Bot.WRotationSetting.CurrentSetting.ManageMovement according to the setting in WRotation -> Product Settings -> Manage Character Movement. I'm just not able to toggle it while wRotation is running.
  13. I'm trying to add a toggle to my fightclass to enable/disable character movement with a hotkey. I'm looking to enable/disable WRotation ->Product Settings ->Manage Character Movement while the rotation is running? If this is possible, which is the C# variable that this setting maps to? I wasn't able to find a definitive answer in the WRobot API or the forums. I'm using this in the context of PQR/WRotation where a melee player might occasionally toggle this setting on to "stick" to mobs.
  14. Good 'ol wacky vanilla API. I suppose the most reliable method would be to use an event handler to countdown time since the last application of the debuff. I was wondering if you had a trick under your sleeve-- Thanks for the confirmation and the code example, Matenia. Happy Festivus!
  15. Is it possible to obtain the time left for a debuff applied to a mob using Lua code (or other means) in vanilla 1.12.1? I've found some conflicting information for UnitDebuff() Vanilla WoW Wiki states that expirationTime is a valid return. Fandom (as of Dec 2016) does not. I am aware that the C# WRobot function BuffTimeLeft() is explicitly not supported in the 1.12.1 version. However; since the client displays debuff countdown timers on the debuff icons, that info is definitely encapsulated in the client. Does any one have a method to extract it?
×
×
  • Create New...