Jump to content

Droidz

Administrators
  • Posts

    12519
  • Joined

  • Last visited

Everything posted by Droidz

  1. Bonjour, Je viens de tester et ça ne bug pas, quand l'option "Manage character rotation, ..." et désactivé WRobot ne prend pas le contrôle du personnage. Avez-vous essayé avec un Fightclass normal voir si le problème vient de la la?
  2. You can load normal fightclass. You talk about Fightclass? if yes, yes fightclass is only for manage spells rotation (you can stop fight (FightBG.StopFight() ;) but you are limited (WRobot manage automatically target, if you change target WRobot select again last target). I'll reply here: http://wrobot.eu/page/bug_tracker.html/_/wrotation-le-bouton-de-management-de-distance-nest-pas-pris-en-compte-r241 You can stop fight: "FightBG.StopFight();" Custom class or Custom Profile? if custom profile, I have make it to create quickly small bot (produit) with access at wrobot api without need compilation. If fightclass I have make it to manage spells/items during/out combat. Yes, he has not documentation and I don't think write this soon, few people use wrobot api yet. Merci.
  3. Bonjour, je viens de supprimer le message qui s'affiche au démarrage. Merci d’attendre la prochaine MAJ.
  4. 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).
  5. Droidz

    mesh error

    Hello, I'll not fix problem with path finder now, I'll fix it for WoD.
  6. 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?
  7. 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 } }
  8. ps: And read this post:
  9. 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).
  10. 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.
  11. 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.
  12. ps: And share your fightclass
  13. 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?
  14. Hello, Try to deactivate option " attack before being attacked " for don jon.
  15. Hello, Look on google: https://www.google.fr/search?q=Win32Exception+(0x80004005)&oq=Win32Exception+(0x80004005)
  16. Droidz

    Sleep Mode

    Hello, This feature is added in bot "Schedule" (param "/Wait").
  17. Hello, I cannot add drop menu (this required a lot of change). For condition description I have reply here:
  18. Droidz

    bot crashing unusable

    Hello, Please post on forum, it is not bug (and I have reply ).
  19. Droidz

    Can Run 2 Bots

    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).
  20. Droidz

    mailbox

    Hello, Search on the forum, a lot of ask for this.
  21. 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;
  22. Droidz

    Shutdown if Complete

    Hello, Wait next update, I have added this option in tab "Security...".
  23. Droidz

    BG Suggestion.

    Hello, I'll don't add this feature, you have time to debuff when you wait in queue and wait than battleground start.
  24. Hello, Can you share your log file please (you can found it in "Logs" folder).
  25. 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 >
×
×
  • Create New...