Jump to content

Apexx

Elite user
  • Posts

    332
  • Joined

Posts posted by Apexx

  1. MA1se.png

    Hello everyone!

    It's been quite some time since I have used WRobot, but just recently I purchased another annual license
    and this time I wanted to try Tauri private server that I have seen so much hype about. I finished the 28GB
    download last night and I thought I would make a post here to see if I can assist people with the dreaded 
    WoW Client 64bit error.

    MAWzt.png

    Step-by-step Instructions:

    1. Go to Tauri downloads here. I downloaded the Tauri Client and installed MoP to the default directory provided.
    (If you already have the game installed, skip this step if you want)

    MAbY8.png

     

    2. Scroll down to "Download via torrent"
    3. Click MoP (5.4.8.18414) using your favorite torrent client

    MAENJ.png

     

    4. Only check Wow-64.exe (19.9MB) and Wow.exe (12.5MB) from the "Torrent Contents" list

    MAF2U.png

     

    5. Open the game's install directory

    MAnQD.png

     

    6. Copy the downloaded torrent files into the directory

    MA3l5.png

     

    7. Rename the 64 bit executables

    MA4Jm.png

     

    8. Launch Wow.exe (I suggest Run as Administrator)
    9. Launch WRobot and make sure you downloaded the correct version

    MASkA.png

     

    Hopefully, this will help you out.

  2. You will need to add C Sharp Code to the Spell Conditions list inside the Fight Class editor, and paste the code inside the Value text block.

    It returns true if there are no objects between your position and your target position.

    6 hours ago, Mann said:

    Is there a code that I can use that autoignores a mob when a line of sight happens for one minute for example?

    I would have to look into this further; It might be possible.

    CSharp_Code_Traceline.png

  3. Hello Mann, try adding the following Spell Condition to your ranged abilities. Actually, it may be beneficial to check on most attack abilities.

    C Sharp Code:

    !wManager.Wow.Helpers.TraceLine.TraceLineGo(ObjectManager.Me.Position, ObjectManager.Target.Position)

     

  4. Looking into the fight class, these are the following conditions that must be met in order for it to use Mend Pet:

    • Pet Health Percent <= 85
    • Health Points Lost >= 300 (Not sure if this is Player Health Points Lost, or Pet)
    • Target Health Percent == 25
    • Timer has reached 16 seconds

    Checking how much health points lost is quite redundant if you are already checking if the pet health percent is below # value.
    Why only use Mend Pet when your target health is exactly 25%?

    hbs27 Current Spell Settings:

    Timer = 16000 (This may or may not be necessary).
    Cast spell on  is set to none. (not sure if spell needs to be cast on Pet?)
     

    Spell Settings (Adjusted):

    • Timer  ([optional] Mend Pet Cooldown Time)
    • Cast spell on = Pet?
    • Check if know spell = True
    • Check is spell is good distance = True
    • Check if spell is usable = True

     Spell Conditions:

    • Pet Health Percent = SmallerOrEqual (Desired value)
    • May want to check Pet Buff as well, to see if your pet already has the buff.
    • May want to check if Pet is Alive and Valid with C Sharp Code

    C Sharp Code:

    ObjectManager.Pet.IsAlive && ObjectManager.Pet.IsValid


     

     

  5. You will want to test if the object or unit you are drawing to is valid, alive, within a specific range, etc. It will draw it on on screen as long your requirements are met.

    Sorry - I should say, that is the object, or player, NPC is alive, valid, exists - and IF your conditionals are met (ie: within close distance, is an herb, or mineral vein) it will continuously draw as long as it is within the game's max view distance.

  6. If you are wanting to use Radar3D for a plugin, you will need to include the Plugin interface...

    using robotManager.Helpful;
    using System;
    using wManager.Plugin;
    using wManager.Wow.Helpers;
    
    
    public class Radar3DExample : IPlugin
    {
        private bool _isLaunched;
    
        public void Initialize()
        {
            _isLaunched = true;
            Radar3D.Pulse();
            Radar3D.OnDrawEvent += Radar3DOnDrawEvent;
            Logging.Write("Started");
        }
    
        public void Dispose()
        {
            try
            {
                Radar3D.OnDrawEvent -= Radar3DOnDrawEvent;
            }
            catch { }
    
            _isLaunched = false;
            Logging.Write("Stopped");
        }
    
        public void Settings()
        {
            throw new NotImplementedException();
        }
    
        private void Radar3DOnDrawEvent()
        {
            // Will make sure player is in game and connected, alive and the product is not paused
            if (_isLaunched && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause)
            {
                try
                {
                    /*
                    
                    DrawCircle
                    center => Center of the object
                    radius => the size of the circle
                    color => color of the circle (Using struct System.Drawing.Color ARGB - Alpha, Red, Green, Blue)
                    alpha => 0 = transparent | 255 100% opaque
    
                    Radar3D.DrawCircle(Vector3 center, float radius, Color color, bool filled = false, alpha = 255)
                    
        
                    DrawLine
                    from => where to start the line from
                    to => where to draw the line to
                    color => color of the circle (Using struct System.Drawing.Color ARGB - Alpha, Red, Green, Blue)
                    alpha => 0 = transparent | 255 100% opaque
    
                    Radar3D.DrawLine(Vector3 from, Vector3 to, Color color, alpha = 255)
    
                    */
    
                }
                catch (Exception e)
                {
                    Logging.WriteError("Radar3DOnDrawEvent() Error: " + Environment.NewLine + e);
                    return;
                }
            }
        }
    
    }

     

  7. private static List<string> MagicEffects = new List<string>();
    MagicEffects.Add("Amplify Magic");
    MagicEffects.Add("Avenging Wrath");
    MagicEffects.Add("Barkskin");
    MagicEffects.Add("Bloodlust");
    MagicEffects.Add("Dampen Magic");
    MagicEffects.Add("Divine Favor");
    MagicEffects.Add("Earth Shield");
    MagicEffects.Add("Fade");
    MagicEffects.Add("Fel Domination");
    MagicEffects.Add("Hand of Protection");
    MagicEffects.Add("Heroism");
    MagicEffects.Add("Ice Barrier");
    MagicEffects.Add("Innervate");
    MagicEffects.Add("Lightning Shield");
    MagicEffects.Add("Mana Shield");
    MagicEffects.Add("Nether Protection");
    MagicEffects.Add("Pain Suppression");
    MagicEffects.Add("Power Infusion");
    MagicEffects.Add("Power Word: Shield");
    MagicEffects.Add("Prayer of Mending");
    MagicEffects.Add("Presence of Mind");
    MagicEffects.Add("Regrowth");
    MagicEffects.Add("Rejuvenation");
    MagicEffects.Add("Renew");
    MagicEffects.Add("Sacrifice");
    MagicEffects.Add("Thorns");
    MagicEffects.Add("Water Shield");
    foreach(string effect in MagicEffects)
    {
        if (ObjectManager.Target.HaveBuff(new Spell(effect).Ids))
        {
            _spellName.Launch();
            Logging.WriteDebug("*** Dispelled " + effect + " from " + ObjectManager.Target.Name + " ***");
            Thread.Sleep(SpellManager.GlobalCooldownTimeLeft() + Usefuls.Latency);
            return true;
        }
    }

     

    Could try that..

  8. I do believe Seminko did not define unitToAttack.

    Simply replace

    if (lowestHP != null && unitToAttack.IsValid && unitToAttack.IsAlive && !lowestHP.IsMyTarget) // if the lowest hp mob is valid, alive and NOT your current target

    with:

    if (lowestHP != null && lowestHP.IsValid && lowestHP.IsAlive && !lowestHP.IsMyTarget) // if the lowest hp mob is valid, alive and NOT your current target

     

  9. Hmm, I have not tested this, and it's probably more or-less pseudo code:

    Will use a list of objects from WRobot Settings - List Harvest objects and while the player is more than 1 yard (Distance may need tweaking) from the nearest object,
    will disable all combat until the player distance is within the 1 yard. It will allow for combat if necessary, and while the object is not null and is valid, will interact with it.

    In combat, you may move a lot or a little depending on your fight class, and other plugins, so the distance will most certainly need to played with.

    There may be errors here, but it's just a thought.

    var objectsHarvestIds = new List<WoWGameObject>();
    objectsHarvestIds.AddRange(ObjectManager.GetWoWGameObjectById(wManager.wManagerSetting.CurrentSetting.ListHarvest).OrderByDescending(o => o.GetDistance));
    
    if (objectsHarvestIds.Count <= 0) return;
    
    try
    {
        if (objectsHarvestIds != null)
        {
            var objectToHarvest = objectsHarvestIds.Where(o => o != null && o.IsValid).OrderBy(o => ObjectManager.Me.Position.DistanceTo(o.Position)).FirstOrDefault();
    
            if (objectToHarvest != null && objectToHarvest.IsValid)
            {
                while (Vector3.Distance(ObjectManager.Me.Position, objectToHarvest.Position) > 1.0f)
                {
                    Conditions.ForceIgnoreIsAttacked = true;
                }
    
                while (Vector3.Distance(ObjectManager.Me.Position, objectToHarvest.Position) <= 1.0f)
                {
                    Conditions.ForceIgnoreIsAttacked = false;
    
                    while (objectToHarvest != null && objectToHarvest.IsValid)
                    {
                        Interact.InteractGameObject(objectToHarvest.GetBaseAddress);
                    }
                }
            }
        }
        Conditions.ForceIgnoreIsAttacked = false;
    }
    catch (Exception e)
    {
        Logging.WriteError("HarvestGameObject Error!" + Environment.NewLine + e);
    }

     

  10. Sorry I don't play Vanilla. All Path Finding settings are default.

    I don't have a ranged class to try it with, and I am not sure how Vanilla might defer using built in WRobot functions..

    // Debuff 20549 = War Stomp | 19975 = Entangling Roots
    while (ObjectManager.Target.IsValid &&
        (ObjectManager.Target.HaveBuff(20549) || ObjectManager.Target.HaveBuff(19975)) &&
        Vector3.Distance(ObjectManager.Me.Position, ObjectManager.Target.Position) < 6)
    {
        // Start Movement
        Move.StrafeLeft(Move.MoveAction.PressKey, 2250);
    
        while (ObjectManager.Me.GetMove)
            Thread.Sleep(10);
      
        // Stop Movement and Face Target
        MovementManager.StopMove();
        MovementManager.Face(ObjectManager.Target);
        MovementManager.StopMove();
    
        // Launch spell(s) here...
    }

    With WRotation it works fine (Manage Character Movement disabled), Automaton, Grinder, Quester etc should work, but
    with melee feral druid, it kept trying to run to the target for my range. The automated bot actions are a bit different as the
    bot continues the character movement on its own.

    public float Range { get { return 4.95f; } }

    Maybe someone else can chime in on this. I am at a loss @Seminko. Sorry.

  11. Short Video Demonstration

    // Debuff 20549 = War Stomp | 19975 = Entangling Roots
    while (ObjectManager.Target.IsValid &&
        (ObjectManager.Target.HaveBuff(20549) || ObjectManager.Target.HaveBuff(19975)) &&   
        Vector3.Distance(ObjectManager.Me.Position, ObjectManager.Target.Position) < 6)
    {
        Move.StrafeLeft(Move.MoveAction.PressKey, 1500);
        MovementManager.Face(ObjectManager.Target);
    }

     

×
×
  • Create New...