Jump to content

Droidz

Administrators
  • Posts

    12535
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Droidz got a reaction from Lazaroh in License Key is not working for Legion 7.3.5 (26124)   
    Hello, the problem should sovled
  2. Like
    Droidz got a reaction from Hierophant Green in OnPathFinderFindPathResult   
    When I run 
    wManager.Wow.Bot.Tasks.GoToTask.ToPosition(new Vector3(-5470.455, -2890.753, 350.0887, "None")); in dev tools I get only one pathfinder call.
    If bot don't found path, in some case there can call pathfinder server several times.
  3. Like
    Droidz got a reaction from nax in License Key is not working for Legion 7.3.5 (26124)   
    Hello, the problem should sovled
  4. Like
    Droidz got a reaction from gornov.12345 in How can I tell the relogger stop profile, when bags is full   
    Hello, try this WRobot plugin :
    using System; using robotManager.Helpful; using wManager.Plugin; using wManager.Wow.Helpers; public class Main : IPlugin { private bool _isLaunched; public void Initialize() { _isLaunched = true; while (_isLaunched) { CheckBags(); } } private void CheckBags() { if (Conditions.InGameAndConnectedAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore && Bag.GetContainerNumFreeSlots == 0) { Logging.Write("Bags are full, stopping profile."); wManager.Wow.Memory.WowMemory.CloseHookedProcess(); // Close game Environment.Exit(-20); // Exit code -20 stops relogger profile } } public void Dispose() { _isLaunched = false; } public void Settings() { Logging.Write("No settings available."); } }  
    Main.cs
  5. Like
    Droidz got a reaction from nax in How can I tell the relogger stop profile, when bags is full   
    Hello, try this WRobot plugin :
    using System; using robotManager.Helpful; using wManager.Plugin; using wManager.Wow.Helpers; public class Main : IPlugin { private bool _isLaunched; public void Initialize() { _isLaunched = true; while (_isLaunched) { CheckBags(); } } private void CheckBags() { if (Conditions.InGameAndConnectedAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore && Bag.GetContainerNumFreeSlots == 0) { Logging.Write("Bags are full, stopping profile."); wManager.Wow.Memory.WowMemory.CloseHookedProcess(); // Close game Environment.Exit(-20); // Exit code -20 stops relogger profile } } public void Dispose() { _isLaunched = false; } public void Settings() { Logging.Write("No settings available."); } }  
    Main.cs
  6. Like
    Droidz reacted to vivinagh in License Key is not working for Legion 7.3.5 (26124)   
    Hey i have the same problem. Could you fix mine too? THX @Droidz
  7. Like
    Droidz got a reaction from rootuser in Wrong wow language?   
    Hello, try this plugin :
    using System.Linq; using wManager.Wow.Helpers; public class Main : wManager.Plugin.IPlugin { public void Initialize() { robotManager.Events.Events.OnCustomEvent += (eventName, args, cancelEvent) => { try { if (eventName =="SpellManager.CastSpellByNameOn" && args != null && args.Length == 2 && args[0] != null && args[0] is string && args[1] != null && args[1] is string) { var spellName = (string)args[0]; var luaUnitId = (string)args[1]; var spell = SpellManager.SpellBook().FirstOrDefault(s => s.NameInGame == spellName); if (spell != null) { var englishSpellName = spell.Name; if (!string.IsNullOrWhiteSpace(englishSpellName)) { Lua.LuaDoString(string.Format("CastSpellByName('{0}', '{1}');", englishSpellName.Replace("'", @"\'"), luaUnitId.Replace("'", @"\'"))); cancelEvent.Cancel = true; } } } } catch{} }; } public void Dispose() { } public void Settings() { } }  
    Main.cs
  8. Like
    Droidz got a reaction from dpz0427 in Auto open clam when fishing   
  9. Haha
    Droidz got a reaction from Skemez in Licence no work.   
    But the refund should appear in your bank account now. (5 to 10 days https://docs.stripe.com/refunds )
  10. Like
    Droidz got a reaction from Thayson in Licence no work.   
    Hello,
    You made a refund request which was accepted.
  11. Like
    Droidz got a reaction from dpz0427 in Download profiles and fight classes for Vanilla   
    Download profiles and fight classes for Vanilla
  12. Like
    Droidz reacted to hrvatska157 in License Key is not working for Legion 7.3.5 (26124)   
    Hey i have the same problem. Could you fix mine too? THX @Droidz
  13. Like
    Droidz got a reaction from Nookz in Healing Class Legion   
    /* Changelog: 1.0.0 - initial release 1.0.1 - fixed not healing "recruit a friend" connected payers - fixed endless resurrection tries 1.0.2 - fixed FollowTank trying to follow target which is not in line of sight - improved FollowTank function - added Spell Circle of Healing - added Mass Resurrection if option "Resurrection on" is set to "all" - attack spells will now also be casted if your own target is the only valid one - purify will now check for debuffed partymembers instead of only low health partymembers - modified usage of Holy Word: Chastise - minor code fixes 1.0.3 - changed purify behaviour: wont move to target anymore - added option "Max healrange" - partymembers out of range will be ignored - changed Renew and Flash Heal to make use of "Max healrange" 1.0.4 - the debuff recognition is now much more strict - purify should work much more efficient now */ using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using robotManager; using robotManager.FiniteStateMachine; using robotManager.Helpful; using Timer = robotManager.Helpful.Timer; using wManager.Wow.Class; using wManager.Wow.Enums; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; public class Main : ICustomClass { private MonkMistweaver _monk; public float Range { get { return 39.0f; } } private bool IsRunning; public void Initialize() { MonkMistWeaverSettings.Load(); if (!IsRunning) { _monk = new MonkMistweaver(); _monk.Pulse(); IsRunning = true; } } public void Dispose() { if (IsRunning) { _monk.Stop(); IsRunning = false; } } public void ShowConfiguration() { MonkMistWeaverSettings.Load(); MonkMistWeaverSettings.CurrentSetting.ToForm(); MonkMistWeaverSettings.CurrentSetting.Save(); } class MonkMistweaver { public static float HealRange = 40; public int maxhealrange; // Property: private bool _isLaunched; public bool IsLaunched { get { return _isLaunched; } set { _isLaunched = value; } } // Spells: private Spell _vivify; private Spell _envelopingmist; private Spell _zenpulse; private Spell _detox; private Spell _renewingmist; private Spell _Revival; private Spell _Lifecocoon; public MonkMistweaver() { _envelopingmist = new Spell("Enveloping Mist"); _vivify = new Spell("Vivify"); _zenpulse = new Spell("Zen Pulse"); _detox = new Spell("Detox"); _renewingmist = new Spell("Renewing Mist"); _Revival = new Spell("Revival"); _Lifecocoon = new Spell("Life Cocoon"); } public void Pulse() { _isLaunched = true; var thread = new Thread(RoutineThread) { Name = "Monk MistWeaver Healing Class" }; thread.Start(); } public void Stop() { _isLaunched = false; Logging.WriteFight("Stop 'MistWeaver Monk'"); } #region Routine void RoutineThread() { Logging.WriteFight("'MistWeaver Monk' Started"); if (MonkMistWeaverSettings.CurrentSetting.maxhealrange != null | MonkMistWeaverSettings.CurrentSetting.maxhealrange > 0) { maxhealrange = MonkMistWeaverSettings.CurrentSetting.maxhealrange; } else { maxhealrange = 80; } while (_isLaunched) { Routine(); Thread.Sleep(25); // time between Routine steps in ms - lower time results in higher cpu usage } Logging.WriteFight("'MistWeaver Monk' Stopped"); } void Routine() { if (!Conditions.InGameAndConnectedAndAlive || ObjectManager.Me.IsMounted || ObjectManager.Me.IsStunned || ObjectManager.Me.Silenced) { return; } if (!ObjectManager.Me.InCombat && !ObjectManager.Me.IsMounted ) { ZenPulse(); Vivify(); Detox(); FollowTank(); return; } // if (!Conditions.InGameAndConnectedAndAlive || ObjectManager.Me.IsMounted || !ObjectManager.Me.InCombat) // || !ObjectManager.Me.InCombat return; if (LifeCocoon()) return; if (Revival()) return; if (EnvelopingMist()) return; if (ZenPulse()) return; if (RenewingMist()) return; if (Vivify()) return; if (Detox()) return; if (FollowTank()) return; } #endregion #region Follow Tank bool FollowTank() { if (MonkMistWeaverSettings.CurrentSetting.FollowTank == false) return false; if (MonkMistWeaverSettings.CurrentSetting.FollowTank == null) return false; var FollowTanks = getTanks().Where(o => o.IsValid && !o.IsMounted).OrderBy(o => o.GetDistance); int FollowTankDistance = MonkMistWeaverSettings.CurrentSetting.FollowTankDistance; if (FollowTanks.Count() > 0) { var u = FollowTanks.First(); WoWPlayer tank = new WoWPlayer(u.GetBaseAddress); if (tank.GetDistance > FollowTankDistance) { while ((float)(System.Math.Round((tank.GetDistance),0)) > FollowTankDistance) { MovementManager.MoveTo(tank.Position); /* Logging.WriteDebug("Following Tank " + tank.Name); Logging.WriteDebug("Current Tank distance " + tank.GetDistance); Logging.WriteDebug("Wanted Tank distance " + FollowTankDistance); */ if ((float)(System.Math.Round((tank.GetDistance),0)) < FollowTankDistance) { MovementManager.StopMove(); return true; } } MovementManager.StopMove(); return true; } return false; } var FollowParty = getPartymembers().Where(o => o.IsValid && !o.IsMounted && (o.Name != ObjectManager.Me.Name)).OrderBy(o => o.GetDistance); if (FollowParty.Count() > 0) { var k = FollowParty.First(); WoWPlayer party = new WoWPlayer(k.GetBaseAddress); //Logging.WriteDebug("Is partymember in line of sight? " + TraceLine.TraceLineGo(party.Position)); if (party.GetDistance > FollowTankDistance) { MovementManager.MoveTo(party); //Logging.WriteDebug("Following Partymember " + party.Name); return false; } } return false; } #endregion #region RenewingMist bool RenewingMist() { if (!_renewingmist.KnownSpell) return false; if (!_renewingmist.IsSpellUsable) return false; var buffTanks = getTanks().Where(o => o.IsValid && !(o.HaveBuff("Renewing Mist"))).OrderBy(o => o.GetDistance); var buffHealers = getHealers().Where(o => o.IsValid && !(o.HaveBuff("Renewing Mist"))).OrderBy(o => o.GetDistance); if (buffTanks.Count() > 0 && buffHealers.Count() > 0) { var u = buffTanks.First(); WoWPlayer tank = new WoWPlayer(u.GetBaseAddress); if (!TraceLine.TraceLineGo(tank.Position) && (tank.Name != ObjectManager.Me.Name)) { //Logging.WriteDebug("Is " + tank.Name + " a healer? " + IsHealer(tank.Name) + " - " + GetHealerName() + " is the healer."); Interact.InteractGameObject(tank.GetBaseAddress, false); _renewingmist.Launch(); return true; } } return false; } #endregion #region Life Cocoon bool LifeCocoon() { if (!_Lifecocoon.KnownSpell) return false; if (!_Lifecocoon.IsSpellUsable) return false; if (MonkMistWeaverSettings.CurrentSetting.PercentLifeCocoonHealth == null) return false; int HandsHealth = MonkMistWeaverSettings.CurrentSetting.PercentLifeCocoonHealth; if (HandsHealth == 0) return false; var members = getPartymembers().Where(o => o.IsValid && o.IsAlive && o.HealthPercent <= HandsHealth && !TraceLine.TraceLineGo(o.Position)).OrderBy(o => o.HealthPercent); if (members.Count() > 0) { var u = members.First(); WoWPlayer healTarget = new WoWPlayer(u.GetBaseAddress); if (healTarget.IsAlive || healTarget.HealthPercent > 0) { while (TraceLine.TraceLineGo(healTarget.Position)) { MovementManager.MoveTo(healTarget); } MovementManager.StopMove(); Interact.InteractGameObject(healTarget.GetBaseAddress, false); _Lifecocoon.Launch(); return true; } } return false; } #endregion #region Enveloping Mist bool EnvelopingMist() { if (!_envelopingmist.KnownSpell) return false; if (!_envelopingmist.IsSpellUsable) return false; if (MonkMistWeaverSettings.CurrentSetting.PercentEnvelopingMistHealth == null) return false; int HandsHealth = MonkMistWeaverSettings.CurrentSetting.PercentEnvelopingMistHealth; if (HandsHealth == 0) return false; var members = getPartymembers().Where(o => o.IsValid && o.IsAlive && o.HealthPercent <= HandsHealth && !TraceLine.TraceLineGo(o.Position)).OrderBy(o => o.HealthPercent); if (members.Count() > 0) { var u = members.First(); WoWPlayer healTarget = new WoWPlayer(u.GetBaseAddress); if (healTarget.IsAlive || healTarget.HealthPercent > 0) { while (TraceLine.TraceLineGo(healTarget.Position)) { MovementManager.MoveTo(healTarget); } MovementManager.StopMove(); Interact.InteractGameObject(healTarget.GetBaseAddress, false); _envelopingmist.Launch(); return true; } } return false; } #endregion #region Vivify bool Vivify() { if (!_vivify.KnownSpell) return false; if (!_vivify.IsSpellUsable) return false; if (MonkMistWeaverSettings.CurrentSetting.PercentVivifyHealth == null) return false; int VivifyHealth = MonkMistWeaverSettings.CurrentSetting.PercentVivifyHealth; if (VivifyHealth == 0) return false; var members = getPartymembers().Where(o => o.IsValid && (o.IsAlive || o.HealthPercent > 0) && o.HealthPercent <= VivifyHealth).OrderBy(o => o.HealthPercent); if (members.Count() > 0) { var u = members.First(); WoWPlayer healTarget = new WoWPlayer(u.GetBaseAddress); if (healTarget.IsAlive || healTarget.HealthPercent > 0) { while (TraceLine.TraceLineGo(healTarget.Position)) { MovementManager.MoveTo(healTarget); } MovementManager.StopMove(); Interact.InteractGameObject(healTarget.GetBaseAddress, false); _vivify.Launch(); return true; } } return false; } #endregion #region Revival /* public int healthTr { get { return MonkMistWeaverSettings.CurrentSetting.PercentRevivalHealth != null ? MonkMistWeaverSettings.CurrentSetting.PercentRevivalHealth : 0; } } public int maxPlayersTr { get { return MonkMistWeaverSettings.CurrentSetting.PlayersCountRevival != null ? MonkMistWeaverSettings.CurrentSetting.PlayersCountRevival : 0; } }*/ bool Revival() { if (!_Revival.KnownSpell) return false; if (!_Revival.IsSpellUsable) return false; int healthTr = MonkMistWeaverSettings.CurrentSetting.PercentRevivalHealth; int maxPlayersTr = MonkMistWeaverSettings.CurrentSetting.Players; // PlayersCountRevival ??? if (healthTr == 0) return false; if (maxPlayersTr == 0) return false; var members = getPartymembers().Where(o => o.IsValid && o.IsAlive && o.HealthPercent <= healthTr && o.GetDistance <= 40); if (members.Count() >= maxPlayersTr) { _Revival.Launch(); return true; } return false; } #endregion #region Zen Pulse public int healthPOH { get { return MonkMistWeaverSettings.CurrentSetting.PercentZenPulseHealth != null ? MonkMistWeaverSettings.CurrentSetting.PercentZenPulseHealth : 0; } } public int maxplayersPOH { get { return MonkMistWeaverSettings.CurrentSetting.PlayersCountZenPulse != null ? MonkMistWeaverSettings.CurrentSetting.PlayersCountZenPulse : 0; } } bool ZenPulse() { if (!_zenpulse.KnownSpell) return false; if (!_zenpulse.IsSpellUsable) return false; if (healthPOH == 0) return false; if (maxplayersPOH == 0) return false; //Logging.WriteDebug("Wild Growth health : " + healthPOH); //Logging.WriteDebug("Wild Growth players: " + maxplayersPOH); var members = getPartymembers().Where(o => o.IsValid && o.IsAlive && o.HealthPercent <= healthPOH && !TraceLine.TraceLineGo(o.Position)).OrderBy(o => o.HealthPercent); if (members.Count() >= maxplayersPOH) { var u = members.First(); WoWPlayer healTarget = new WoWPlayer(u.GetBaseAddress); if (!TraceLine.TraceLineGo(healTarget.Position) && healTarget.IsAlive) { { Interact.InteractGameObject(healTarget.GetBaseAddress, false); _zenpulse.Launch(); return true; } } } return false; } #endregion #region Detox bool Detox() { if (!_detox.KnownSpell) return false; if (!_detox.IsSpellUsable) return false; var members = GetDebuffedPartymembers().OrderBy(o => o.HealthPercent); if (members.Count() > 0) { var u = members.First(); WoWPlayer healTarget = new WoWPlayer(u.GetBaseAddress); if (!TraceLine.TraceLineGo(healTarget.Position) && healTarget.IsAlive) { Interact.InteractGameObject(healTarget.GetBaseAddress, false); if (Lua.LuaDoString<bool>("for j=1,40 do local m=5; local d={UnitDebuff(\"target\",j)}; if (d[5]==\"Magic\" or d[5]==\"Disease\" or d[5]==\"Poison\") and d[7]>m then j=41 return 1 end end;")) { _detox.Launch(); Logging.WriteDebug("Detox " + healTarget.Name); return true; } return false; } } return false; } #endregion #region get in Healingrange bool GetInHealingrange(WoWPlayer healTarget) { if (healTarget.GetDistance > HealRange) { Logging.WriteDebug(healTarget.Name + " is out of range, lets move to him. "); while (healTarget.GetDistance > HealRange) { MovementManager.MoveTo(healTarget); } MovementManager.StopMove(); return true; } return false; } #endregion #region get party List<WoWPlayer> getPartymembers() { List<WoWPlayer> ret = new List<WoWPlayer>(); var u = Party.GetPartyHomeAndInstance().Where(p => p.GetDistance < maxhealrange && p.IsValid && !TraceLine.TraceLineGo(p.Position)); if (u.Count() > 0) { foreach (var unit in u) { WoWPlayer p = new WoWPlayer(unit.GetBaseAddress); ret.Add(p); } } WoWPlayer v = new WoWPlayer(ObjectManager.Me.GetBaseAddress); ret.Add(v); return ret; } List<WoWPlayer> getAllPartymembers() { List<WoWPlayer> ret = new List<WoWPlayer>(); var u = Party.GetPartyHomeAndInstance().Where(p => p.GetDistance < 80 && p.IsValid); if (u.Count() > 0) { foreach (var unit in u) { WoWPlayer p = new WoWPlayer(unit.GetBaseAddress); ret.Add(p); } } WoWPlayer v = new WoWPlayer(ObjectManager.Me.GetBaseAddress); ret.Add(v); return ret; } List<WoWUnit> GetPartyTargets() { List<WoWPlayer> party = Party.GetPartyHomeAndInstance(); List<WoWPlayer> partyMembers = new List<WoWPlayer>(); var ret = new List<WoWUnit>(); partyMembers.AddRange(party.Where(p => p.GetDistance < 40 && p.IsValid && p.HealthPercent > 0)); WoWPlayer Me = new WoWPlayer(ObjectManager.Me.GetBaseAddress); partyMembers.Add(Me); foreach (var m in partyMembers) { var targetUnit = new WoWUnit(ObjectManager.GetObjectByGuid(m.Target).GetBaseAddress); if (m.IsValid && (m.HealthPercent > 0) && (m.InCombat || targetUnit.InCombat) && m.Target.IsNotZero()) { if (ret.All(u => u.Guid != m.Target)) // prevent double list entrys { if (targetUnit.IsValid && targetUnit.IsAlive) { ret.Add(targetUnit); } } } } return ret; } List<WoWPlayer> GetDebuffedPartymembers() { List<WoWPlayer> ret = new List<WoWPlayer>(); List<WoWPlayer> u = new List<WoWPlayer>(); List<WoWPlayer> party = Party.GetPartyHomeAndInstance(); WoWPlayer Me = new WoWPlayer(ObjectManager.Me.GetBaseAddress); u.AddRange(party.Where(p => p.GetDistance < 40 && p.IsValid && p.HealthPercent > 0 && !TraceLine.TraceLineGo(p.Position))); u.Add(Me); if (u.Count() > 0) { //Logging.WriteDebug("Checking" + u.Count + " players for debuffs."); foreach (var unit in u) { WoWPlayer p = new WoWPlayer(unit.GetBaseAddress); List<Aura> debuffs = new List<Aura>(); debuffs = p.GetAllBuff(); //Logging.WriteDebug("Found " + debuffs.Count + " buffs on " + unit.Name); foreach (var m in debuffs) { //Logging.WriteDebug("Buff: " + m.GetSpell + " Flags: " + m.Flag); if (!m.Flag.HasFlag(AuraFlags.Passive) && m.Flag.HasFlag(AuraFlags.Harmful) && m.Flag.HasFlag(AuraFlags.Active) && m.Flag.HasFlag(AuraFlags.Negative) && m.Flag.HasFlag(AuraFlags.Duration)) { ret.Add(p); return ret; } } } } return ret; } #endregion #region get tanks List<WoWPlayer> getTanks() { List<WoWPlayer> ret = new List<WoWPlayer>(); var u = Party.GetPartyHomeAndInstance().Where(p => p.GetDistance < 80 && p.IsValid && !TraceLine.TraceLineGo(p.Position)); if (u.Count() > 0) { foreach (var unit in u) { //Logging.WriteDebug("Unit name: " + unit.Name.ToString().Trim()); if (IsTank(unit.Name.ToString())) { WoWPlayer p = new WoWPlayer(unit.GetBaseAddress); ret.Add(p); } } } /* if (ret.Count() == 0) { Logging.WriteDebug("Could not find a tank!"); WoWPlayer v = new WoWPlayer(ObjectManager.Me.GetBaseAddress); ret.Add(v); } */ return ret; } string GetTankPlayerName() { var lua = new[] { "partyTank = \"\";", "for groupindex = 1,MAX_PARTY_MEMBERS do", " if (UnitInParty(\"party\" .. groupindex)) then", " local role = UnitGroupRolesAssigned(\"party\" .. groupindex);", " if role == \"TANK\" then", " local name, realm = UnitName(\"party\" .. groupindex);", " partyTank = name;", " return;", " end", " end", "end", }; return Lua.LuaDoString(lua, "partyTank"); } public bool IsTank(string unit) { var tankNaam = GetTankPlayerName(); WoWPlayer v = new WoWPlayer(ObjectManager.Me.GetBaseAddress); if (tankNaam.Contains(unit)) { return true; } return false; } #endregion #region getHealers List<WoWPlayer> getHealers() { List<WoWPlayer> ret = new List<WoWPlayer>(); var u = Party.GetPartyHomeAndInstance().Where(p => p.GetDistance < 80 && p.IsValid && !TraceLine.TraceLineGo(p.Position)); if (u.Count() > 0) { foreach (var unit in u) { //Logging.WriteDebug("Healer name: " + unit.Name.ToString().Trim()); if (IsHealer(unit.Name.ToString())) { WoWPlayer p = new WoWPlayer(unit.GetBaseAddress); ret.Add(p); } } } return ret; } string GetHealerName() { var lua = new[] { "partyHealer = \"\";", "for groupindex = 1,MAX_PARTY_MEMBERS do", " if (UnitInParty(\"party\" .. groupindex)) then", " local role = UnitGroupRolesAssigned(\"party\" .. groupindex);", " if role == \"HEALER\" then", " local name, realm = UnitName(\"party\" .. groupindex);", " partyHeaer = name;", " return;", " end", " end", "end", }; return Lua.LuaDoString(lua, "partyHealer"); } public bool IsHealer(string unit) { var healerNaam = GetHealerName(); if (healerNaam.Contains(unit)) { return true; } return false; } #endregion } #region settings [Serializable] public class MonkMistWeaverSettings : Settings { [Setting, DefaultValue(0)] [Category("Healing Spells")] [DisplayName("Life Cocoon HP%")] [Description("Cast Life Cocoon when HP% <= Value")] public int PercentLifeCocoonHealth { get; set; } [Setting, DefaultValue(0)] [Category("Group Healing Spells")] [DisplayName("Zen Pulse Players")] [Description("Cast Zen Pulse when player count with low HP >= Value. 0 = Disable")] public int PlayersCountZenPulse { get; set; } [Setting, DefaultValue(0)] [Category("Group Healing Spells")] [DisplayName("Zen Pulse HP%")] [Description("Cast Zen Pulse when players HP% <= Value")] public int PercentZenPulseHealth { get; set; } [Setting, DefaultValue(0)] [Category("Group Healing Spells")] [DisplayName("Revival HP%")] [Description("Cast Revival when players HP% <= Value")] public int PercentRevivalHealth { get; set; } [Setting, DefaultValue(0)] [Category("Group Healing Spells")] [DisplayName("Revival Players")] [Description("Cast Revival when playercount with low HP >= Value. 0 = Disable")] public int Players { get; set; } [Setting, DefaultValue(0)] [Category("Healing Spells")] [DisplayName("Vivify HP%")] [Description("Cast Vivify when HP% <= Value")] public int PercentVivifyHealth { get; set; } [Setting, DefaultValue(0)] [Category("Healing Spells")] [DisplayName("Enveloping Mist HP%")] [Description("Cast Enveloping Mist when HP% <= Value")] public int PercentEnvelopingMistHealth { get; set; } [Setting, DefaultValue(80)] [Category("Behaviour")] [DisplayName("Max Healrange")] [Description("Maximal distance between you and a valid healtarget")] public int maxhealrange { get; set; } [Setting, DefaultValue(false)] [Category("Behaviour")] [DisplayName("Follow Tank")] [Description("Follow the tank while in fight")] public bool FollowTank { get; set; } [Setting, DefaultValue(0)] [Category("Behaviour")] [DisplayName("Follow Tank Distance")] [Description("Move to tank if distance is higher than value")] public int FollowTankDistance { get; set; } private MonkMistWeaverSettings() { ConfigWinForm(new System.Drawing.Point(400, 600), "MistWeaver Monk " + Translate.Get("Settings")); } public static MonkMistWeaverSettings CurrentSetting { get; set; } public bool Save() { try { return Save(AdviserFilePathAndName("CustomClass-MistWeaver Monk", ObjectManager.Me.Name + "." + Usefuls.RealmName)); } catch (Exception e) { Logging.WriteError("MonkMistWeaverSettings > Save(): " + e); return false; } } public static bool Load() { try { if (File.Exists(AdviserFilePathAndName("CustomClass-MistweaverMonk", ObjectManager.Me.Name + "." + Usefuls.RealmName))) { CurrentSetting = Load<MonkMistWeaverSettings>(AdviserFilePathAndName("CustomClass-MistweaverMonk", ObjectManager.Me.Name + "." + Usefuls.RealmName)); return true; } CurrentSetting = new MonkMistWeaverSettings(); } catch (Exception e) { Logging.WriteError("MonkMistWeaverSettings > Load(): " + e); } return false; } } #endregion } It's code fixed (but no tested)
  14. Like
    Droidz got a reaction from Skemez in monk heals   
    I have test with pala.   In "Party" product settings don't forget to activate option "Healer".   In fight class by spell - Activate option "For friends". - Desactivate option "Combat only". - Add condition "Target distance" (for spell range) and "Target health percent".   ps: sample in attached file heal pala test.xml
  15. Like
    Droidz reacted to rmich in License Key is not working for Legion 7.3.5 (26124)   
    Hi. i got same problem. its telling key is activated in antoher version. Could you please fix it. Thank you.
  16. Like
    Droidz got a reaction from leonie in Change Profile after x   
    Hello, https://wrobot.eu/forums/topic/1717-gatherer-advanced-profile-how-to-change-zone-after-leveltime/
  17. Like
    Droidz got a reaction from nax in Beginner in Lua (first script)   
    Hello,
    Your code can't work it doesn't have the good structure.
    Here is some code with a correct structure (although I don't think it works, it would need to be debugged):
    using System.Collections.Generic; using System.Threading; using robotManager.Helpful; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; using wManager.Wow.Enums; public class Main : wManager.Plugin.IPlugin { public void Initialize() { EventsLuaWithArgs.OnEventsLuaStringWithArgs += OnAuctionHouseShow; } private void OnAuctionHouseShow(string eventName, List<string> args) { if (eventName == "AUCTION_HOUSE_SHOW") { Logging.WriteDebug("Auction House is open"); Thread.Sleep(5000); SellGreenItems(); } } public void SellGreenItems() { foreach (WoWItem item in Bag.GetBagItem()) { if (item.GetItemInfo.ItemRarity == (int)WoWItemQuality.Uncommon) { Logging.WriteDebug($"Selling {item.Name}"); Bag.PickupContainerItem(item.Name); Thread.Sleep(1500); AuctionHelpers.StartAuction(50000, 50000, AuctionHelpers.Duration._12H, 1, 1); //Lua.LuaDoString($@"StartAuction(50000, 50000, 12, 1);"); } } } public void Dispose() { EventsLuaWithArgs.OnEventsLuaStringWithArgs -= OnAuctionHouseShow; } public void Settings() { } }  
  18. Like
    Droidz got a reaction from morrish in Problem with advanced settings (under general settings)   
    Hello,
    Right-click on WRobot.exe and then click Properties. On the Compatibility tab, select Disable Display Scaling On High DPI Settings, and then click OK:
    https://www.youtube.com/watch?v=0xS-UCuyq7s
  19. Like
    Droidz got a reaction from Marvelino123 in New Dragonflight Firestorm server, anyone tested yet?   
    I added support of 10.1.7.51261
  20. Like
    Droidz got a reaction from g i N in (help) Création d'un Plugin   
    using robotManager.Helpful; using wManager.Wow.Helpers; using wManager.Plugin; using Timer = System.Threading.Timer; public class Main : IPlugin { private bool _isEnabled; public void Initialize() { Logging.Write("[JunkRemover] Plugin initialized and activated"); _isEnabled = true; EventsLua.AttachEventLua("BAG_UPDATE", context => BagUpdateHandler()); } public void Dispose() { _isEnabled = false; Logging.Write("[JunkRemover] Plugin disposed"); } private Timer _debounceTimer; private void BagUpdateHandler() { Logging.Write("[JunkRemover] BAG_UPDATE"); if (_debounceTimer != null) { _debounceTimer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); _debounceTimer.Dispose(); } _debounceTimer = new Timer((state) => { if (_isEnabled) { Logging.Write("[JunkRemover] Checking bags for junk"); var needToRunAgain = Lua.LuaDoString<bool>(@" for i = 0, NUM_BAG_SLOTS do for j = 1, C_Container.GetContainerNumSlots(i) do local itemId = C_Container.GetContainerItemID(i, j) if itemId then local itemName, _, itemQuality = GetItemInfo(C_Container.GetContainerItemID(i, j)) if itemName and itemQuality == 0 then print('Deleting ' .. itemName) C_Container.PickupContainerItem(i, j) DeleteCursorItem() return true end end end end return false "); if (needToRunAgain) { BagUpdateHandler(); } } }, null, 1000, System.Threading.Timeout.Infinite); } public void Settings() { } }  
    JunkRemover.cs
  21. Like
    Droidz got a reaction from Elexir in (help) Création d'un Plugin   
    using robotManager.Helpful; using wManager.Wow.Helpers; using wManager.Plugin; using Timer = System.Threading.Timer; public class Main : IPlugin { private bool _isEnabled; public void Initialize() { Logging.Write("[JunkRemover] Plugin initialized and activated"); _isEnabled = true; EventsLua.AttachEventLua("BAG_UPDATE", context => BagUpdateHandler()); } public void Dispose() { _isEnabled = false; Logging.Write("[JunkRemover] Plugin disposed"); } private Timer _debounceTimer; private void BagUpdateHandler() { Logging.Write("[JunkRemover] BAG_UPDATE"); if (_debounceTimer != null) { _debounceTimer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); _debounceTimer.Dispose(); } _debounceTimer = new Timer((state) => { if (_isEnabled) { Logging.Write("[JunkRemover] Checking bags for junk"); var needToRunAgain = Lua.LuaDoString<bool>(@" for i = 0, NUM_BAG_SLOTS do for j = 1, C_Container.GetContainerNumSlots(i) do local itemId = C_Container.GetContainerItemID(i, j) if itemId then local itemName, _, itemQuality = GetItemInfo(C_Container.GetContainerItemID(i, j)) if itemName and itemQuality == 0 then print('Deleting ' .. itemName) C_Container.PickupContainerItem(i, j) DeleteCursorItem() return true end end end end return false "); if (needToRunAgain) { BagUpdateHandler(); } } }, null, 1000, System.Threading.Timeout.Infinite); } public void Settings() { } }  
    JunkRemover.cs
  22. Like
    Droidz got a reaction from hahaha0031 in New Dragonflight Firestorm server, anyone tested yet?   
    I added support of 10.1.7.51261
  23. Like
    Droidz got a reaction from j9000 in New Dragonflight Firestorm server, anyone tested yet?   
    I added support of 10.1.7.51261
  24. Thanks
    Droidz got a reaction from Elexir in New Dragonflight Firestorm server, anyone tested yet?   
    Hello,
    I added the support of the version "10.2.7 build 55664", you need to download again the updater to be able to select this version.
  25. Like
    Droidz reacted to Nookz in License Key is not working for Legion 7.3.5 (26124)   
    same problem 
    my license key is not working on legion 7.3.5 (26124)
    if you can help me plz
    @Droidz
    Thank you
×
×
  • Create New...