Skip to content
View in the app

A better way to browse. Learn more.

WRobot

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Droidz

Administrators
  • Joined

  • Last visited

Everything posted by Droidz

  1. Hello, Use an Fightclass is not a good way to manage target at attack. It is more recommended to make an "Custom Profile" or the best is to make an "Product" (bot) (you can activate option "Dont Start Fighting" in general settings but I recommand to not use Fightclass for this). I have make sample of custom class with your code (if this works like you want say me it I'll give code to join queue and enter in bg) (you can after use this code with small edit to make product dll): using System; using System.Collections.Generic; using System.Linq; using robotManager.FiniteStateMachine; using robotManager.Helpful; using robotManager.Products; using wManager; using wManager.Wow.Bot.States; using wManager.Wow.Enums; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; public class CustomProfile : Custom_Profile.ICustomProfile { private static readonly Engine Fsm = new Engine(); // Start custom profile public void Pulse() { try { // Update spell list SpellManager.UpdateSpellBook(); // Load CC: wManager.Wow.Helpers.CustomClass.LoadCustomClass(); // FSM : http://en.wikipedia.org/wiki/Finite-state_machine Fsm.States.Clear(); Fsm.AddState(new wManager.Wow.Bot.States.Relogger { Priority = 200 }); // Relog if disconnected Fsm.AddState(new wManager.Wow.Bot.States.Pause { Priority = 13 }); // Manage bot pause Fsm.AddState(new wManager.Wow.Bot.States.ResurrectBG { Priority = 12 }); // Resurrect player (bg mode) Fsm.AddState(new wManager.Wow.Bot.States.Resurrect { Priority = 12 }); // Resurrect player (b=normal mode) Fsm.AddState(new wManager.Wow.Bot.States.MyMacro { Priority = 11 }); // Manage MyMacro (user settings in general settings) Fsm.AddState(new wManager.Wow.Bot.States.FarmingBG { Priority = 10 }); // Farm in BG (for flag, door, ...) Fsm.AddState(new ManageTargetBG { Priority = 9, DistanceSearch = 150 }); // Search target at attacked (THIS CLASS IS AT TGE END OF THIS PAGE) //Fsm.AddState(new wManager.Wow.Bot.States.GrindingBG { Priority = 9, DistanceSearch = 150 }); // Search target at attacked Fsm.AddState(new wManager.Wow.Bot.States.IsAttacked { Priority = 8 }); // Launch combat if player attacked //Fsm.AddState(new wManager.Wow.Bot.States.Regeneration {Priority = 8}); // Regen health/mana //Fsm.AddState(new wManager.Wow.Bot.States.Looting { Priority = 7 }); // Loot npc dead //Fsm.AddState(new wManager.Wow.Bot.States.Farming { Priority = 6 }); // farm mines/herbs/... Fsm.AddState(new wManager.Wow.Bot.States.AntiAfk { Priority = 5 }); // Anti AFK Fsm.AddState(new wManager.Wow.Bot.States.Idle { Priority = 0 }); // If not states need to run, wait Fsm.States.Sort(); // Order states by Prority Fsm.StartEngine(10, "_customProfile"); // Launch FSN (with all added states) StopBotIf.LaunchNewThread(); // Launch bot security (tab "security" in general settings) // Attach onlevelup for spell book: EventsLua.AttachEventLua(LuaEventsId.PLAYER_LEVEL_UP, m => OnLevelUp()); // Follow lua event for get when player level up // Move during combat: //FightBG.MoveDuringCombat = true; Logging.Write("Custom Profile Started."); } catch (Exception e) { try { Dispose(); } catch { } Logging.WriteError("Bot > Pulse(): " + e); } } // Stop custom profile public void Dispose() { try { wManager.Wow.Helpers.CustomClass.DisposeCustomClass(); Fsm.StopEngine(); Fight.StopFight(); MovementManager.StopMove(); } catch (Exception e) { Logging.WriteError("Bot > Dispose(): " + e); } } // When player levelup void OnLevelUp() { Logging.Write("Level UP! Reload Fight Class."); // Update spell list SpellManager.UpdateSpellBook(); // Load CC: wManager.Wow.Helpers.CustomClass.ResetCustomClass(); } // Fsm state to manage target at attack public class ManageTargetBG : State { public override string DisplayName { get { return "Manage target BG"; } } public override int Priority { get { return _priority; } set { _priority = value; } } private int _priority; public override List<State> NextStates { get { return new List<State>(); } } public override List<State> BeforeStates { get { return new List<State>(); } } public List<int> EntryTarget = new List<int>(); public List<uint> FactionsTarget = new List<uint>(); public float DistanceSearch = 150; private WoWUnit _unit; // If this method return true, wrobot launch method Run(), if return false wrobot go to next state in FSM public override bool NeedToRun { get { if (wManagerSetting.CurrentSetting.DontStartFighting) return false; if (!Battleground.IsInBattleground() || !Battleground.BattlegroundIsStarted()) // Not run is not in bg return false; if (!Usefuls.InGame || Usefuls.IsLoadingOrConnecting || ObjectManager.Me.IsDeadMe || !ObjectManager.Me.IsValid || !Products.IsStarted) return false; // Get unit: _unit = new WoWUnit(0); var enemyPlayerList = new List<WoWUnit>(); if (FactionsTarget.Count > 0) enemyPlayerList.AddRange(ObjectManager.GetWoWUnitByFaction(FactionsTarget)); if (EntryTarget.Count > 0) enemyPlayerList.AddRange(ObjectManager.GetWoWUnitByEntry(EntryTarget)); if (ObjectManager.Me.PlayerFaction == "Alliance") enemyPlayerList.AddRange(ObjectManager.GetWoWUnitHorde()); if (ObjectManager.Me.PlayerFaction == "Horde") enemyPlayerList.AddRange(ObjectManager.GetWoWUnitAlliance()); // Your code WoWUnit[] cibles = new WoWUnit[enemyPlayerList.Count]; long[] ciblePv = new long[enemyPlayerList.Count]; int offset = 0; foreach (WoWUnit adversaire in enemyPlayerList) { cibles[offset] = adversaire; ciblePv[offset] = adversaire.Health; offset++; } Array.Sort(ciblePv, cibles); // You can replace your code to sort players by: // cibles = enemyPlayerList.OrderBy(p => p.Health).ToArray(); // And I think it is more appropriate to use HealthPercent instead Health for (int x = 0; x < enemyPlayerList.Count; x++) { if (cibles[x].IsValid && cibles[x].GetDistance < DistanceSearch && cibles[x].IsAlive && _unit.SummonedBy <= 0 && // Avoid pet _unit.Guid != ObjectManager.Pet.Guid && !wManagerSetting.IsBlackListedAllConditions(_unit)) // Check if blacklisted { bool result; PathFinder.FindPath(_unit.Position, out result); // Test if wrobot can make path to the target to avoid stuck if (result) { _unit = cibles[x]; return true; } } } _unit = new WoWUnit(0); return false; } } // If NeedToRun() == true public override void Run() { if (!_unit.IsValid) return; Logging.Write("Player Attack " + _unit.Name + " (lvl " + _unit.Level + ")"); FightBG.StartFight(_unit.Guid); // Launch Fight if (_unit.IsDead) { Statistics.Kills++; } FightBG.StopFight(); } } } ps: I haven't time to test it now, tell me if this don't works, save this file in "WRobot\Profiles\Custom Profile\" (.cs file) and use product "Custom Product).
  2. Droidz commented on caramon's bug report in Bug Tracker
    Hello, I'll not fix problem with path finder now, I'll fix it for WoD.
  3. Hello, If you can share your fightclass please (to look your spell settings). Do you have try to look on another fightclass how heal spell has setting?
  4. Hello, To get if it is enemy player: if (ObjectManager.Target.Type == WoWObjectType.Player) { if (((WoWPlayer) ObjectManager.Target).PlayerFaction != ObjectManager.Me.PlayerFaction) { // Is enemy player } } To interact with your current target (this is useless because it is already your target): Interact.InteractGameObject(ObjectManager.Target.GetBaseAddress); I ignore exactly what is your objective, but if you want search and interact with an enemy player you can use code like: List<WoWPlayer> enemyPlayerList; if (ObjectManager.Me.IsAlliance) enemyPlayerList = ObjectManager.GetWoWUnitHorde(); else enemyPlayerList = ObjectManager.GetWoWUnitAlliance(); WoWPlayer nearestPlayerEnemy = ObjectManager.GetNearestWoWPlayer(enemyPlayerList); if (nearestPlayerEnemy.IsValid && nearestPlayerEnemy.IsAlive && nearestPlayerEnemy.GetDistance < 150) { Interact.InteractGameObject(nearestPlayerEnemy.GetBaseAddress); if (ObjectManager.Me.Target == nearestPlayerEnemy.Guid) { // OK } } To get the nearest attackable NPC: List<WoWUnit> unitList = ObjectManager.GetObjectWoWUnit(); List<WoWUnit> enemyUnitList = new List<WoWUnit>(); foreach (var woWUnit in unitList) { if (woWUnit.IsValid && woWUnit.IsAlive && woWUnit.Reaction <= Reaction.Neutral && UnitCanAttack.CanAttack(woWUnit.GetBaseAddress, ObjectManager.Me.GetBaseAddress)) enemyUnitList.Add(woWUnit); } WoWUnit nearestUnitEnemy = ObjectManager.GetNearestWoWUnit(enemyUnitList); if (nearestUnitEnemy.IsValid && nearestUnitEnemy.IsAlive && nearestUnitEnemy.GetDistance < 150) { Interact.InteractGameObject(nearestUnitEnemy.GetBaseAddress); if (ObjectManager.Me.Target == nearestUnitEnemy.Guid) { // OK } }
  5. ps: And read this post:
  6. Hello, Try to download already installed pack: http://download.wrobot.eu/wrobot/tmp/WRobotFullPack.zip If you can send me your log (you can found it in "Logs" folder).
  7. Droidz replied to Gils's topic in Français
    Bonjour, Le robot suit le chemin enregistré dans le profil, il sort du chemin que quand il à une cible (tuer un PNJ, ramasser une mine...) puis y revient.
  8. Hello, For the first problem, you need only to put same min/max level at the low level quest required and at the quest desired (it is easy way, you can also use C# code). For your second problem, I'll fix it.
  9. ps: And share your fightclass
  10. Hello, please post it in the forum, it is not wrobot bug. Do you have try to look how works this spell in the fight class delivered with the bot?
  11. Hello, Try to deactivate option " attack before being attacked " for don jon.
  12. Hello, Look on google: https://www.google.fr/search?q=Win32Exception+(0x80004005)&oq=Win32Exception+(0x80004005)
  13. Droidz commented on Thatguy's bug report in Bug Tracker
    Hello, This feature is added in bot "Schedule" (param "/Wait").
  14. Hello, I cannot add drop menu (this required a lot of change). For condition description I have reply here:
  15. Droidz commented on jnsow's bug report in Bug Tracker
    Hello, Please post on forum, it is not bug (and I have reply ).
  16. Droidz commented on Ryan's bug report in Bug Tracker
    Hello, You need to use Unlimited subscription to launch several wrobot at the same time or several normal subscription key (you cannot use same license key of normal subscription at the same time).
  17. Droidz commented on jnsow's bug report in Bug Tracker
    Hello, Search on the forum, a lot of ask for this.
  18. Hello, Nice idea. I have added this feature, if someone can help me to complete descriptions: case FightClassContionsType.None: info = Translate.Get(""); break; case FightClassContionsType.PetHealthPercent: info = Translate.Get(""); break; case FightClassContionsType.TargetHealthPercent: info = Translate.Get(""); break; case FightClassContionsType.HealthPercent: info = Translate.Get("Your Percent health (0 to 100)"); break; case FightClassContionsType.ComboPoint: info = Translate.Get(""); break; case FightClassContionsType.Mana: info = Translate.Get("Your mana"); break; case FightClassContionsType.Rage: info = Translate.Get("Your Rage"); break; case FightClassContionsType.Focus: info = Translate.Get("Your Focus"); break; case FightClassContionsType.Energy: info = Translate.Get("Your Energy"); break; case FightClassContionsType.Chi: info = Translate.Get("Your Chi (don't works, use \"Light Force\" for get Chi"); break; case FightClassContionsType.Runes: info = Translate.Get("Your runes"); break; case FightClassContionsType.RunicPower: info = Translate.Get("Your runic power"); break; case FightClassContionsType.SoulShards: info = Translate.Get("Your soul shards"); break; case FightClassContionsType.Eclipse: info = Translate.Get(""); break; case FightClassContionsType.HolyPower: info = Translate.Get(""); break; case FightClassContionsType.Alternate: info = Translate.Get(""); break; case FightClassContionsType.DarkForce: info = Translate.Get(""); break; case FightClassContionsType.LightForce: info = Translate.Get("Your light force (this return Chi)"); break; case FightClassContionsType.ShadowOrbs: info = Translate.Get(""); break; case FightClassContionsType.BurningEmbers: info = Translate.Get(""); break; case FightClassContionsType.DemonicFury: info = Translate.Get(""); break; case FightClassContionsType.ArcaneCharges: info = Translate.Get(""); break; case FightClassContionsType.TargetDistance: info = Translate.Get(""); break; case FightClassContionsType.DistancePetToTarget: info = Translate.Get(""); break; case FightClassContionsType.DistanceMeToPet: info = Translate.Get(""); break; case FightClassContionsType.MeLevel: info = Translate.Get(""); break; case FightClassContionsType.TargetLevel: info = Translate.Get(""); break; case FightClassContionsType.CombatStartSinceMs: info = Translate.Get(""); break; case FightClassContionsType.HostileUnitNear: info = Translate.Get(""); break; case FightClassContionsType.UnitAttackPlayerNear: info = Translate.Get(""); break; case FightClassContionsType.HostileUnitNearTarget: info = Translate.Get(""); break; case FightClassContionsType.UnitAttackPlayerNearTarget: info = Translate.Get(""); break; case FightClassContionsType.Buff: info = Translate.Get(""); break; case FightClassContionsType.TargetBuff: info = Translate.Get(""); break; case FightClassContionsType.PetBuff: info = Translate.Get(""); break; case FightClassContionsType.KnowSpell: info = Translate.Get(""); break; case FightClassContionsType.IsSpellUsable: info = Translate.Get(""); break; case FightClassContionsType.BuffCastedByMe: info = Translate.Get(""); break; case FightClassContionsType.TargetBuffCastedByMe: info = Translate.Get(""); break; case FightClassContionsType.PetBuffCastedByMe: info = Translate.Get(""); break; case FightClassContionsType.InBattleground: info = Translate.Get(""); break; case FightClassContionsType.HaveTarget: info = Translate.Get(""); break; case FightClassContionsType.HavePet: info = Translate.Get(""); break; case FightClassContionsType.MeInCombat: info = Translate.Get(""); break; case FightClassContionsType.MeInMove: info = Translate.Get(""); break; case FightClassContionsType.TargetInMove: info = Translate.Get(""); break; case FightClassContionsType.PetInMove: info = Translate.Get(""); break; case FightClassContionsType.TargetInCast: info = Translate.Get(""); break; case FightClassContionsType.PetInCast: info = Translate.Get(""); break; case FightClassContionsType.MeInCast: info = Translate.Get(""); break; case FightClassContionsType.TargetIsPlayer: info = Translate.Get(""); break; case FightClassContionsType.TargetIsSummoned: info = Translate.Get(""); break; case FightClassContionsType.TargetPetIsMyTarget: info = Translate.Get(""); break; case FightClassContionsType.TargetTargetingMe: info = Translate.Get(""); break; case FightClassContionsType.TargetTargetingMeOrMyPet: info = Translate.Get(""); break; case FightClassContionsType.TargetTargetingMyPet: info = Translate.Get(""); break; case FightClassContionsType.TargetTargetingPartyMember: info = Translate.Get(""); break; case FightClassContionsType.TargetIsElite: info = Translate.Get(""); break; case FightClassContionsType.TargetIsWorldBoss: info = Translate.Get(""); break; case FightClassContionsType.TargetIsBoss: info = Translate.Get(""); break; case FightClassContionsType.MeIsStunned: info = Translate.Get(""); break; case FightClassContionsType.TargetIsStunned: info = Translate.Get(""); break; case FightClassContionsType.PetIsStunned: info = Translate.Get(""); break; case FightClassContionsType.MeIsSwimming: info = Translate.Get(""); break; case FightClassContionsType.TargetIsSwimming: info = Translate.Get(""); break; case FightClassContionsType.PetIsSwimming: info = Translate.Get(""); break; case FightClassContionsType.MeIsFlying: info = Translate.Get(""); break; case FightClassContionsType.TargetIsFlying: info = Translate.Get(""); break; case FightClassContionsType.PetIsFlying: info = Translate.Get(""); break; case FightClassContionsType.RuneReadySlot1: info = Translate.Get(""); break; case FightClassContionsType.RuneReadySlot2: info = Translate.Get(""); break; case FightClassContionsType.RuneReadySlot3: info = Translate.Get(""); break; case FightClassContionsType.RuneReadySlot4: info = Translate.Get(""); break; case FightClassContionsType.RuneReadySlot5: info = Translate.Get(""); break; case FightClassContionsType.RuneReadySlot6: info = Translate.Get(""); break; case FightClassContionsType.MeInGroup: info = Translate.Get(""); break; case FightClassContionsType.IsFacing: info = Translate.Get(""); break; case FightClassContionsType.IsBehind: info = Translate.Get(""); break; case FightClassContionsType.CSharpCode: info = Translate.Get(""); break; case FightClassContionsType.ItemCount: info = Translate.Get(""); break; case FightClassContionsType.LuaScript: info = Translate.Get(""); break; case FightClassContionsType.BuffStack: info = Translate.Get(""); break; case FightClassContionsType.BuffStackTarget: info = Translate.Get(""); break; case FightClassContionsType.BuffStackPet: info = Translate.Get(""); break;
  19. Droidz commented on Badhacker's bug report in Bug Tracker
    Hello, Wait next update, I have added this option in tab "Security...".
  20. Droidz commented on Bear T.O.E.'s bug report in Bug Tracker
    Hello, I'll don't add this feature, you have time to debuff when you wait in queue and wait than battleground start.
  21. Hello, Can you share your log file please (you can found it in "Logs" folder).
  22. Hello, To complete your NPC DB (of tab "Tools") you can, In "Advanced general settings..." tab "Other options" activate option "Automatically add in database the NPCs of loaded profiles". And like has say Seumas, if your profile don't contain NPC you need to add it in you profile or in NpcDB a vendors or repairs. You can also use "Tundra Mammoth" (activate this option in "advanced general settings") if you have this mount. Check also if you settings to sell/repair is good >
  23. Hello, since your post I have added in wrobot code more checks for npc state, I think that your problem is solved. If it is not solved, like have say creativextent blacklist mobs.
  24. Hello, since your post I have added in wrobot code more checks for npc state, I think that your problem is solved. If it is not solved, like have say creativextent blacklist mobs.
  25. Hello, I'll add this.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.