Jump to content

Pasterke

Members
  • Posts

    165
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Pasterke got a reaction from Droidz in playing with wRobot   
    Hi guys,
    I have my banned account back and for the moment I don't have any computer with windows installed. I play on my iMac or under Linux. wRobot works only under windows.
    I made an account with a battle-chest and botted a while on that account. I had a new working restoration routine that worked very fine until lvl 90. After an HD crash I didn't replace the windows HD because I realy don't need it, I only used windows to play
    WoW. And playing WoW in a virtual guest don't work well.
    Maybe I will install windows again, but that's not an priority for the moment. I can play WoW manualy and thats enough. Further I wait for the next ban wave, don't want to loose my new account. If wrobot is'n affected, maybe I will play again with it. I only
    botted on that battle chest account and only did dungeons, no materials farming and afk botting. See if this one survive an ban wave.
    So, don't ask me to update fight routines for the moment. Just waiting for now. I only play the druid class and I had working routines for every spec.
    Hope to survive the ban wave (think it's coming soon) and maybe I will back again then.
    My main program language is C++ and I have alot of work as freelancer, that's why I dont need Windows.
     
  2. Like
    Pasterke got a reaction from fragik in Dream of Cenarius Procs   
    The best method is to add spell condition to Healing Touch : isSpellOverlayed true.
  3. Like
    Pasterke got a reaction from Hapiguy in INSTANT BAN after 10 minutes bot us   
    Think taura is a Bossland dev to scare out the users here, afraid to loose more HB users.
  4. Like
    Pasterke got a reaction from loves2spooge in Purpose of wrotation   
    I wonder how i'm topping the dps with wrotation in raids and dungeons. You will not top dps if you use the fight class editor, but with a pure C# you will. Before you can top dps with wrotation, you need to know your class. If you top dps manualy, then you can have better dps with wrotation.
  5. Like
    Pasterke got a reaction from kersh in Regarding subscription   
    Download the bot. Unzip it. Then you can update it. Choose your private server version and update.
    Change the name of the folder to macth your private server version.
    Then you can unpack the zip file again, and update it for another version of wow, etc...
    So basically you can have mutltiple versions of wrobot. Just rename the folders with the version you updated. wrobotLK, wrobotTBC, wrobotLegal ....
    Then just start the wrobot.exe in the folder you need for the game you play.
     
  6. Like
    Pasterke got a reaction from iMod in DK Debuff Bug since update   
    Try that :
     
    public static bool myDebuffExists(String debuff) { var auras = ObjectManager.Target.GetAllBuff(); foreach(var a in auras) { string aura = a.ToString(); if (aura.Contains(debuff) && (aura.Contains(ObjectManager.Me.Guid.ToString()) || aura.Contains(ObjectManager.Me.Guid128.ToString()))) return true; } return false; }  
  7. Like
    Pasterke got a reaction from Duskydandelions in Fight classe heal wrotation   
    Ainsi joint la fightclass que j'utilise pour le moment en solution vs2015.
    Sorry, c'est celle la que j'utilise :
    DruidRestoration.zip
  8. Like
    Pasterke got a reaction from Duskydandelions in Fight classe heal wrotation   
    Oui, il faut C# pour une fightclass heal.
    Mais vous avez ici un example. Ca marche tres bien pour druid restoration. Une fois que vous avez la mouture, c'est pas tres difficile pour l'adopter a une autre class heal.
  9. Like
    Pasterke got a reaction from AudreyH in base framework C# for fightclasses   
    This is a base Framework in C# to develop a fightclass.
    Everything is named Test, just rename Test to Disc, Warrior etc ....
    I put some comments where needed.
    Imoportant : CastSpellOn can't be used on unfriendly targets because the protected status of the WoW API !
    Hope this is usefull :)
     
     
    frameWork.zip
  10. Like
    Pasterke got a reaction from BetterSister in Druid cat change.   
    private Spell catForm = new Spell("Cat Form");
    If (!ObjectManager.Me.HaveBuff("Cat Form") && Fight.InFight) { catForm.launch(); }
  11. Like
    Pasterke got a reaction from Droidz in Get debuffs/buffs   
    Sometimes it's difficult to check debuffs/buffs before casting a spell.
    Example : Druid Guardian, if you have Faerie Swarm talent, you need to cast Faerie Fire; because Faerie Swarm is unknown spell. If you need to check if debuff faerie swarm exists, then you have a problem, for those who don't have Faerie Swarm.
    To check the debuff I use following C# code :
    public bool debuffExixts(string debuff) { /*[F] 11:09:45 - check Aura: Growl: ID=6795, Stack=0, TimeLeft=1082 ms, Owner=00000000079D3B1E0834FC0000000000*/ List<Aura> t = ObjectManager.Target.GetAllBuff(); foreach (var aura in t) { string[] checkAura = aura.ToString().Split(':'); //Logging.WriteFight("check Aura: " + checkAura[0].Trim()); if (ObjectManager.Me.Guid == ObjectManager.Target.BuffCastedBy(checkAura[0].Trim()) && checkAura[0].Contains(debuff)) return true; } return false; } Faerie Fire and Faerie Swarm have 1 common text, Faerie. Then you can use debuffExists("Faerie") to check.
     
  12. Like
    Pasterke got a reaction from BetterSister in Get debuffs/buffs   
    Sometimes it's difficult to check debuffs/buffs before casting a spell.
    Example : Druid Guardian, if you have Faerie Swarm talent, you need to cast Faerie Fire; because Faerie Swarm is unknown spell. If you need to check if debuff faerie swarm exists, then you have a problem, for those who don't have Faerie Swarm.
    To check the debuff I use following C# code :
    public bool debuffExixts(string debuff) { /*[F] 11:09:45 - check Aura: Growl: ID=6795, Stack=0, TimeLeft=1082 ms, Owner=00000000079D3B1E0834FC0000000000*/ List<Aura> t = ObjectManager.Target.GetAllBuff(); foreach (var aura in t) { string[] checkAura = aura.ToString().Split(':'); //Logging.WriteFight("check Aura: " + checkAura[0].Trim()); if (ObjectManager.Me.Guid == ObjectManager.Target.BuffCastedBy(checkAura[0].Trim()) && checkAura[0].Contains(debuff)) return true; } return false; } Faerie Fire and Faerie Swarm have 1 common text, Faerie. Then you can use debuffExists("Faerie") to check.
     
  13. Like
    Pasterke got a reaction from reapler in A few questions about the CustomClass   
    what are you trying to do ? If your interact returns null, wrobot will crash.
    public WoWPlayer getNearestPlayer
            {
                get
                {
                    var t = ObjectManager.GetObjectWoWPlayer().Where(p => p != null //from here on you can add checks
                        && p.IsAlive 
                        && p.IsHorde //or p.IsAlliance
                        && !TraceLine.TraceLineGo(p.Position) //test if no objects between you and target (target is in line of sight)
                        && p.GetDistance <= 40).OrderBy(p => p.HealthPercent).ThenBy(p => p.GetDistance).ToList(); //1st sort on healtpercent and if you want then by distance
                    if (t.Count() > 0) // check if t > 0, what means he find something you ask
                    {
                        WoWPlayer v = new WoWPlayer(t.FirstOrDefault().GetBaseAddress);
                        return v;
                    }
                    return null; //if t == 0 then return null
                }
            }
    then yo can use getNearestPlayer to do something in your code
    if (getNearestPlayer != null)
    {
          try
        {
             Interact.InteractGameObject(getNearestPlayer.GetBaseAddress);
             spell.Launch();
         }
         catch (Exception e) { Logging.WriteError("ErrorDescription: " + e.ToString()); }
    }
     
  14. Like
    Pasterke got a reaction from leetdemon in Party Buffing   
    Ok, here you go
    public static List<WoWUnit> getPartyPets()
            {
                Vector3 myPos = ObjectManager.Me.Position;
                var ret = new List<WoWUnit>();
                var pets = ObjectManager.GetObjectWoWUnit().Where(p => p != null
                    && p.IsPet).ToList();
                foreach (var m in pets)
                {
                    if (m.IsValid && m.IsAlive && m.InCombat && m.Target.IsNotZero() && m.Position.DistanceTo2D(myPos) <= 40 && !TraceLine.TraceLineGo(m.Position))
                    {
                        if (ret.All(u => u.Guid != m.Target))
                        {
                            var targetUnit = new WoWUnit(ObjectManager.GetObjectByGuid(m.Target).GetBaseAddress);
                            if (targetUnit.IsValid && targetUnit.IsAlive)
                            {
                                ret.Add(targetUnit);
                            }
                        }
                    }
                }
                return ret;
            }
            public static List<WoWUnit> GetPartyTargets()
            {
                Vector3 myPos = ObjectManager.Me.Position;
                var partyMembers = Party.GetPartyHomeAndInstance();
                
                var ret = new List<WoWUnit>();
                foreach (var m in partyMembers)
                {
                    if (m.IsValid && m.IsAlive && m.InCombat && m.Target.IsNotZero() && m.Position.DistanceTo2D(myPos) <= 40 && !TraceLine.TraceLineGo(m.Position))
                    {
                        if (ret.All(u => u.Guid != m.Target))
                        {
                            var targetUnit = new WoWUnit(ObjectManager.GetObjectByGuid(m.Target).GetBaseAddress);
                            if (targetUnit.IsValid && targetUnit.IsAlive)
                            {
                                ret.Add(targetUnit);
                            }
                        }
                    }
                }
                return ret;
            }
            public static int partyCount { get { return GetPartyTargets().Count(); } }
            public static bool buffExists(WoWUnit unit, string buff)
            {
                return unit.HaveBuff(buff);
            }
            public static bool petBuffExists(string buff)
            {
                return ObjectManager.Pet.HaveBuff(buff);
            }
            public HashSet<string> statsBuffs = new HashSet<string>()
            {
                "Mark of the Wild",
                "Blessing of Kings",
                "Gift of the Wild"
            };
            public bool checkBuff(WoWUnit unit)
            {
                var a = unit.GetAllBuff();
                foreach(var aura in a)
                {
                    if (statsBuffs.Contains(aura.ToString())) return false;
                }
                return true;
            }
            public bool needStatsBuff(string buff, bool reqs)
            {
                if (!reqs) return false;
                foreach(WoWUnit t in GetPartyTargets())
                {
                    if (!buffExists(t, buff) && !checkBuff(t))
                    {
                        try
                        {
                            SpellManager.CastSpellByNameOn(buff, t.Name);
                            Logging.WriteFight(buff + "on " + t.Name);
                            return true;
                        }
                        catch(Exception e) { Logging.WriteFight("Single StatsBuffs: " + e.Message); }
                    }
                }
                return false;
            }
           public bool petsNeedStats(string buff, bool reqs)
            {
                if (!reqs) return false;
                foreach (WoWUnit t in getPartyPets())
                {
                    if (!buffExists(t, buff) && !checkBuff(t))
                    {
                        try
                        {
                            SpellManager.CastSpellByNameOn(buff, t.Name);
                            Logging.WriteFight(buff + "on " + t.Name);
                            return true;
                        }
                        catch (Exception e) { Logging.WriteFight("Pet StatsBuffs: " + e.Message); }
                    }
                }
                return false;
            }
            private Spell motw = new Spell("Mark of the Wild");
            public void Routine()
            {
                if (partyCount > 0 && needStatsBuff("Mark of the Wild", motw.KnownSpell && motw.IsSpellUsable)) return;
                if (partyCount > 0 && petsNeedStats("Mark of the Wild", motw.KnownSpell && motw.IsSpellUsable)) return;
            }
    To check for other buffs make a new hashset and new bools, eg. needFortitude, petsNeedFortitude
  15. Like
    Pasterke got a reaction from leetdemon in Party Buffing   
    That's the c# programming language, not scripts.
    Install visual studio (the free version) and learn how to work with it. It's not that difficult :)
    You can load a .cs files in visual studio and see the code. With intellisense it helps you alot to add or change code.
  16. Like
    Pasterke got a reaction from BetterSister in FightClass Condition help   
    This is only possible with c# code. Set your current position and add 5 yards, then cast freezing trap at that postion. Easy stuff.
  17. Like
    Pasterke got a reaction from MrBottie in Finding nearby a player with specific name and helping it   
    You need to get wowplayer names instead of wowunit names, and then you need to check if the player has the same faction of you, check if he's in combat and then check his target.
  18. Like
    Pasterke got a reaction from Droidz in base framework C# for fightclasses   
    This is a base Framework in C# to develop a fightclass.
    Everything is named Test, just rename Test to Disc, Warrior etc ....
    I put some comments where needed.
    Imoportant : CastSpellOn can't be used on unfriendly targets because the protected status of the WoW API !
    Hope this is usefull :)
     
     
    frameWork.zip
  19. Like
    Pasterke got a reaction from Dashia in Party Buffing   
    That's the c# programming language, not scripts.
    Install visual studio (the free version) and learn how to work with it. It's not that difficult :)
    You can load a .cs files in visual studio and see the code. With intellisense it helps you alot to add or change code.
  20. Like
    Pasterke got a reaction from BetterSister in Party Buffing   
    That's the c# programming language, not scripts.
    Install visual studio (the free version) and learn how to work with it. It's not that difficult :)
    You can load a .cs files in visual studio and see the code. With intellisense it helps you alot to add or change code.
  21. Like
    Pasterke got a reaction from Dashia in Party Buffing   
    Ok, here you go
    public static List<WoWUnit> getPartyPets()
            {
                Vector3 myPos = ObjectManager.Me.Position;
                var ret = new List<WoWUnit>();
                var pets = ObjectManager.GetObjectWoWUnit().Where(p => p != null
                    && p.IsPet).ToList();
                foreach (var m in pets)
                {
                    if (m.IsValid && m.IsAlive && m.InCombat && m.Target.IsNotZero() && m.Position.DistanceTo2D(myPos) <= 40 && !TraceLine.TraceLineGo(m.Position))
                    {
                        if (ret.All(u => u.Guid != m.Target))
                        {
                            var targetUnit = new WoWUnit(ObjectManager.GetObjectByGuid(m.Target).GetBaseAddress);
                            if (targetUnit.IsValid && targetUnit.IsAlive)
                            {
                                ret.Add(targetUnit);
                            }
                        }
                    }
                }
                return ret;
            }
            public static List<WoWUnit> GetPartyTargets()
            {
                Vector3 myPos = ObjectManager.Me.Position;
                var partyMembers = Party.GetPartyHomeAndInstance();
                
                var ret = new List<WoWUnit>();
                foreach (var m in partyMembers)
                {
                    if (m.IsValid && m.IsAlive && m.InCombat && m.Target.IsNotZero() && m.Position.DistanceTo2D(myPos) <= 40 && !TraceLine.TraceLineGo(m.Position))
                    {
                        if (ret.All(u => u.Guid != m.Target))
                        {
                            var targetUnit = new WoWUnit(ObjectManager.GetObjectByGuid(m.Target).GetBaseAddress);
                            if (targetUnit.IsValid && targetUnit.IsAlive)
                            {
                                ret.Add(targetUnit);
                            }
                        }
                    }
                }
                return ret;
            }
            public static int partyCount { get { return GetPartyTargets().Count(); } }
            public static bool buffExists(WoWUnit unit, string buff)
            {
                return unit.HaveBuff(buff);
            }
            public static bool petBuffExists(string buff)
            {
                return ObjectManager.Pet.HaveBuff(buff);
            }
            public HashSet<string> statsBuffs = new HashSet<string>()
            {
                "Mark of the Wild",
                "Blessing of Kings",
                "Gift of the Wild"
            };
            public bool checkBuff(WoWUnit unit)
            {
                var a = unit.GetAllBuff();
                foreach(var aura in a)
                {
                    if (statsBuffs.Contains(aura.ToString())) return false;
                }
                return true;
            }
            public bool needStatsBuff(string buff, bool reqs)
            {
                if (!reqs) return false;
                foreach(WoWUnit t in GetPartyTargets())
                {
                    if (!buffExists(t, buff) && !checkBuff(t))
                    {
                        try
                        {
                            SpellManager.CastSpellByNameOn(buff, t.Name);
                            Logging.WriteFight(buff + "on " + t.Name);
                            return true;
                        }
                        catch(Exception e) { Logging.WriteFight("Single StatsBuffs: " + e.Message); }
                    }
                }
                return false;
            }
           public bool petsNeedStats(string buff, bool reqs)
            {
                if (!reqs) return false;
                foreach (WoWUnit t in getPartyPets())
                {
                    if (!buffExists(t, buff) && !checkBuff(t))
                    {
                        try
                        {
                            SpellManager.CastSpellByNameOn(buff, t.Name);
                            Logging.WriteFight(buff + "on " + t.Name);
                            return true;
                        }
                        catch (Exception e) { Logging.WriteFight("Pet StatsBuffs: " + e.Message); }
                    }
                }
                return false;
            }
            private Spell motw = new Spell("Mark of the Wild");
            public void Routine()
            {
                if (partyCount > 0 && needStatsBuff("Mark of the Wild", motw.KnownSpell && motw.IsSpellUsable)) return;
                if (partyCount > 0 && petsNeedStats("Mark of the Wild", motw.KnownSpell && motw.IsSpellUsable)) return;
            }
    To check for other buffs make a new hashset and new bools, eg. needFortitude, petsNeedFortitude
  22. Like
    Pasterke got a reaction from eeny in Party Buffing   
    Ok, here you go
    public static List<WoWUnit> getPartyPets()
            {
                Vector3 myPos = ObjectManager.Me.Position;
                var ret = new List<WoWUnit>();
                var pets = ObjectManager.GetObjectWoWUnit().Where(p => p != null
                    && p.IsPet).ToList();
                foreach (var m in pets)
                {
                    if (m.IsValid && m.IsAlive && m.InCombat && m.Target.IsNotZero() && m.Position.DistanceTo2D(myPos) <= 40 && !TraceLine.TraceLineGo(m.Position))
                    {
                        if (ret.All(u => u.Guid != m.Target))
                        {
                            var targetUnit = new WoWUnit(ObjectManager.GetObjectByGuid(m.Target).GetBaseAddress);
                            if (targetUnit.IsValid && targetUnit.IsAlive)
                            {
                                ret.Add(targetUnit);
                            }
                        }
                    }
                }
                return ret;
            }
            public static List<WoWUnit> GetPartyTargets()
            {
                Vector3 myPos = ObjectManager.Me.Position;
                var partyMembers = Party.GetPartyHomeAndInstance();
                
                var ret = new List<WoWUnit>();
                foreach (var m in partyMembers)
                {
                    if (m.IsValid && m.IsAlive && m.InCombat && m.Target.IsNotZero() && m.Position.DistanceTo2D(myPos) <= 40 && !TraceLine.TraceLineGo(m.Position))
                    {
                        if (ret.All(u => u.Guid != m.Target))
                        {
                            var targetUnit = new WoWUnit(ObjectManager.GetObjectByGuid(m.Target).GetBaseAddress);
                            if (targetUnit.IsValid && targetUnit.IsAlive)
                            {
                                ret.Add(targetUnit);
                            }
                        }
                    }
                }
                return ret;
            }
            public static int partyCount { get { return GetPartyTargets().Count(); } }
            public static bool buffExists(WoWUnit unit, string buff)
            {
                return unit.HaveBuff(buff);
            }
            public static bool petBuffExists(string buff)
            {
                return ObjectManager.Pet.HaveBuff(buff);
            }
            public HashSet<string> statsBuffs = new HashSet<string>()
            {
                "Mark of the Wild",
                "Blessing of Kings",
                "Gift of the Wild"
            };
            public bool checkBuff(WoWUnit unit)
            {
                var a = unit.GetAllBuff();
                foreach(var aura in a)
                {
                    if (statsBuffs.Contains(aura.ToString())) return false;
                }
                return true;
            }
            public bool needStatsBuff(string buff, bool reqs)
            {
                if (!reqs) return false;
                foreach(WoWUnit t in GetPartyTargets())
                {
                    if (!buffExists(t, buff) && !checkBuff(t))
                    {
                        try
                        {
                            SpellManager.CastSpellByNameOn(buff, t.Name);
                            Logging.WriteFight(buff + "on " + t.Name);
                            return true;
                        }
                        catch(Exception e) { Logging.WriteFight("Single StatsBuffs: " + e.Message); }
                    }
                }
                return false;
            }
           public bool petsNeedStats(string buff, bool reqs)
            {
                if (!reqs) return false;
                foreach (WoWUnit t in getPartyPets())
                {
                    if (!buffExists(t, buff) && !checkBuff(t))
                    {
                        try
                        {
                            SpellManager.CastSpellByNameOn(buff, t.Name);
                            Logging.WriteFight(buff + "on " + t.Name);
                            return true;
                        }
                        catch (Exception e) { Logging.WriteFight("Pet StatsBuffs: " + e.Message); }
                    }
                }
                return false;
            }
            private Spell motw = new Spell("Mark of the Wild");
            public void Routine()
            {
                if (partyCount > 0 && needStatsBuff("Mark of the Wild", motw.KnownSpell && motw.IsSpellUsable)) return;
                if (partyCount > 0 && petsNeedStats("Mark of the Wild", motw.KnownSpell && motw.IsSpellUsable)) return;
            }
    To check for other buffs make a new hashset and new bools, eg. needFortitude, petsNeedFortitude
  23. Like
    Pasterke got a reaction from Dashia in Party Buffing   
    You don't need to cast it on the target, if you cast it on yourself, then everyone get the buff. Don't make things too complicate.
    private Spell MoTW = new Spell("Mark of the Wild");
        public bool needMotw(bool reqs)
        {
            if (!reqs) return false;
            if (!MoTW.KnownSpell) return false;
            if (!MoTW.IsSpellUsable) return false;
            var t = GetPartyMembers().Where(p => p != null
                && p.GetDistance <= 40
                && !p.HaveBuff(MoTW.Name)
                && !p.HaveBuff("Legacy of the Emperor")
                && !p.HaveBuff("Blessing of Kings")
                && !p.HaveBuff("Lone Wolf: Power of the Primates")
                && !p.HaveBuff("Bark of the Wild")
                && !p.HaveBuff("Blessing of Kongs")
                && !p.HaveBuff("Embrace of the Shale Spider")
                && !p.HaveBuff("Strength of the Earth"));
            if (t != null)
            {
                try
                {
                    SpellManager.CastSpellByNameOn(MoTW.Name, ObjectManager.Me.Name);
                    Logging.WriteFight(MoTW.Name);
                    return true;
                }
                catch (Exception e)
                {
                    Logging.WriteFight("MotW: " + e.Message);
                }
            }
            return false;
        }
     
    Then just look if you need it :
    if (needMotw(Party.GetPartyNumberPlayers() > 0)) return true;
  24. Like
    Pasterke got a reaction from Droidz in anyone got a thorium ore profile for silithus?   
    Select Gatherer.
    Product Settings
    Profile Creator
    Set Record Path on on. Minimize Window.
    Usefull addon : Gathermate2 and Gathermate2_data.
    In addon config  Gathermate2 choose import (check what you want to import)
    Open your map and put it in mini mode.
    You will see the ores on your map.
    Now fly araound making a circle (you end where you start)
    If you reach your startpoint again, maximize Profile Creator.
    Hit the save button, and give it a name.
    Close Profile Creator.
    Load your just created profile.
    Hit start.
    Realy easy to create your own profile.
  25. Like
    Pasterke got a reaction from BetterSister in anyone got a thorium ore profile for silithus?   
    Select Gatherer.
    Product Settings
    Profile Creator
    Set Record Path on on. Minimize Window.
    Usefull addon : Gathermate2 and Gathermate2_data.
    In addon config  Gathermate2 choose import (check what you want to import)
    Open your map and put it in mini mode.
    You will see the ores on your map.
    Now fly araound making a circle (you end where you start)
    If you reach your startpoint again, maximize Profile Creator.
    Hit the save button, and give it a name.
    Close Profile Creator.
    Load your just created profile.
    Hit start.
    Realy easy to create your own profile.
×
×
  • Create New...