Jump to content

Bear T.O.E.

Members
  • Posts

    472
  • Joined

  • Last visited

Posts posted by Bear T.O.E.

  1. Where do I get a list for C Sharp objects that wManager can handle, and a list of objects that wResouces can handle?

    using System;
    using System.Threading;
    using System.Windows.Forms;
    using robotManager.Helpful;
    using robotManager.Products;
    using wManager.Wow.Class;
    using wManager.Wow.Enums;
    using wManager.Wow.Helpers;
    using wManager.Wow.ObjectManager;
    Using wManager.Wow.?????????
    using wResources.Wow.???????
    using Timer = robotManager.Helpful.Timer;

  2. Duh...... I was tired when I asked that..... LOL Thanks. :) But do I add in like this???

     


    local spellid=106839
    local spellname=GetSpellInfo(spellid)
    if UnitExists("target") and not UnitIsFriend("player", "target") and (IsSpellInRange(spellname, "target")==1) then
        local spell, rank, displayName, icon, startTime, endTime, isTradeSkill, castID, nonInterrupt = UnitCastingInfo("target");
        local isChanneling=false
        if (spell==nil) then
            spell, rank, displayName, icon, startTime, endTime, isTradeSkill, castID, nonInterrupt = UnitCastingInfo("target");
            isChanneling=true
        end

  3. On 6/5/2017 at 11:22 AM, Schaka said:

    Just add a Lua condition 
     

    
    spell, rank, displayName, icon, startTime, endTime, isTradeSkill, castID, nonInterrupt = UnitCastingInfo("target")

    Use nonInterrupt as return var and look for value 1 (interruptable).

    Ok where would I add this into my LUA Code to make it work?

  4. This is a C# Frost Death Knight Rotation I have put together. I am Wondering if everything Looks right and will work as I am Intending too. Any Help is completely appreciated. This is my First Attempt at C# Coding so I am willing to listen to any and all criticism.

     

    Please Show Your Work a well so I can learn as I go. I built this in one day. I'm kinda proud of myself. +Rep to McRo for the Custom Fight Class. I use his a base to start. I have also Attacked the File to this post to try and give you all the help to help me out. I will be Making a Blood and a Unholy Rotation as Well. I am playing all the tank classes. So I will be releasing One for all of them soon-ish.

     

     

    using System;
    using System.Threading;
    using System.Windows.Forms;
    using robotManager.Helpful;
    using robotManager.Products;
    using wManager.Wow.Class;
    using wManager.Wow.Enums;
    using wManager.Wow.Helpers;
    using wManager.Wow.ObjectManager;
    using Timer = robotManager.Helpful.Timer;

    public class Main : ICustomClass
    {
        public float Range { get { return 4.5f; } }

        private bool _isLaunched;
        private ulong _lastTarget;

        public void Initialize() // When product started, initialize and launch Fightclass
        {
            _isLaunched = true;
            Logging.Write("Frost DK 7.2.5 Is Running!");
            Rotation();
        }

        public void Dispose() // When product stopped
        {
            _isLaunched = false;
            Logging.Write("Frost DK 7.2.5 Is Not Running!");
        }

        public void ShowConfiguration() // When use click on Fight class settings
        {
           // MessageBox.Show("Frost Death Knight No setting for this Fight Class.");
        }

        // SPELLS:
        // Buff:
        public Spell PillarofFrost = new Spell("Pillar of Frost");
        public Spell EmpowerRuneWeapon = new Spell("Empower Rune Weapon");
        public Spell HungeringRuneWeapon = new Spell("Hungering Rune Weapon");
        public Spell HornofWinter = new Spell("Horn of Winter");
        public Spell WraithWalk = new Spell("Wraith Walk");
        public Spell Anti-MagicShell = new Spell("Anti-Magic Shell");
        public Spell BreathofSindragosa = new Spell("Breath of Sindragosa");
        public Spell Obliteration = new Spell("Obliteration");
        public Spell IceBoundFortitude = new Spell("Ice Bound Fortitude");
        // Racial Buff:
        public Spell DarkFlight = new Spell("DarkFlight");
        public Spell ArcaneTorrent = new Spell("Arcane Torrent")
        public Spell Berserking = new Spell("Berserking");
        public Spell BloodFury = new Spell("Blood Fury");
        public Spell EscapeArtist = new Spell("Escape Artist");
        public Spell EveryManforHimself = new Spell("Every Man for Himself");
        public Spell GiftoftheNaaru = new Spell("Gift of the Naaru");
        public Spell Stoneform = new Spell("Stoneform");
        public Spell WarStomp = new Spell("War Stomp");
        public Spell WilloftheForsaken = new Spell("Will of the Forsaken");
        public Spell Shadowmeld = new Spell("Shadowmeld");
        // Pull:
        public Spell DeathGrip = new Spell("Death Grip");
        public Spell DarkCommand = new Spell("Dark Command");
        // Combat:
        public Spell RemorselessWinter = new Spell("Remorseless Winter");
        public Spell HowlingBlast = new Spell("Howling Blast");
        public Spell Obliterate = new Spell("Obliterate");
        public Spell FrostStrike = new Spell("Frost Strike");
        public Spell Frostscythe = new Spell("Frostscythe");
        public Spell BreathofSindragosa = new Spell("Breath of Sindragosa");
        public Spell Sindragosa'sFury = new Spell("Sindragosa's Fury");
        public Spell GlacialAdvance = new Spell("Glacial Advance");
        public Spell DeathStrike = new Spell("DeathStrike");
        public Timer BreathofSindragosa = new Timer(); // Timer
        public Timer PillarofFrost = new Timer(); // Timer
        public Timer EmpowerRuneWeapon = new Timer(); // Timer
        public Timer Sindragosa'sFury = new Timer(); // Timer
        public Timer HungeringRuneWeapon = new Timer(); // Timer
        public Timer HornofWinter = new Timer(); // Timer
        public Timer WraithWalk = new Timer(); // Timer
        public Timer Anti-MagicShell = new Timer(); // Timer
        public Timer Obliteration = new Timer(); // Timer
        public Timer RemorselessWinter = new Timer(); // Timer
        public Timer GlacialAdvance = new Timer(); // Timer
        public Timer DarkCommand = new Timer(); // Timer
        public Timer DeathGrip = new Timer(); // Timer
        public Timer Shadowmeld = new Timer(); // Timer
        public Timer WilloftheForsaken = new Timer(); // Timer
        public Timer WarStomp = new Timer(); // Timer
        public Timer Stoneform = new Timer(); // Timer
        public Timer GiftoftheNaaru = new Timer(); // Timer
        public Timer EveryManforHimself = new Timer(); // Timer
        public Timer EscapeArtist = new Timer(); // Timer
        public Timer BloodFury = new Timer(); // Timer
        public Timer Berserking = new Timer(); // Timer
        public Timer ArcaneTorrent = new Timer(); // Timer
        public Timer DarkFlight = new Timer(); // Timer


        internal void Rotation()
        {
            Logging.Write("Frost DK 7.2.5 Rotation Started!");
            while (_isLaunched)
            {
                try
                {
                    if (!Products.InPause)
                    {
                        if (!ObjectManager.Me.IsDeadMe)
                        {
                            BuffRotation();

                            if (Fight.InFight && ObjectManager.Me.Target > 0)
                            {
                                Pull();
                                CombatRotation();
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    Logging.WriteError("Frost DK 7.2.5 Rotation ERROR!!!: " + e);
                }

                Thread.Sleep(10); // Pause 10 ms to reduce the CPU usage.
            }
            Logging.Write("Frost DK 7.2.5 Rotation Stopped!");
        }

        internal void BuffRotation()
        {
            if (ObjectManager.Me.IsMounted)
                return;
        }
        internal void Pull()
        {
            if (ObjectManager.Me.Target == _lastTarget)
                return;

            // DarkCommand:
            if (DarkCommand.KnownSpell && DarkCommand.IsSpellUsable && DarkCommand.IsDistanceGood)
            {
                DarkCommand.Launch();
                _lastTarget = ObjectManager.Me.Target;
            }


            // DeathGrip:
            if (DeathGrip.KnownSpell && DeathGrip.IsSpellUsable && DeathGrip.IsDistanceGood)
            {
                DeathGrip.Launch();
                _lastTarget = ObjectManager.Me.Target;
            }
        }

        internal void CombatRotation()
        {
            // DeathGrip:
            if (DeathGrip.IsSpellUsable && DeathGrip.IsDistanceGood && DeathGrip.KnownSpell && ObjectManager.Me.IsInGroup && ObjectManager.Target.IsTargetPartyMember && !ObjectManager.TargetsTarget.GroupRole.Tank)
            {
                DeathGrip.Launch();            
            }

            // DarkCommand:
            if (DarkCommand.IsSpellUsable && DarkCommand.IsDistanceGood && DarkCommand.KnownSpell && ObjectManager.Me.IsInGroup && ObjectManager.Target.IsTargetPartyMember && !ObjectManager.TargetsTarget.GroupRole.Tank)
            {
                DarkCommand.Launch();
                return;
            }

            // RemorselessWinter:
            if (RemorselessWinter.IsSpellUsable && RemorselessWinter.IsDistanceGood && RemorselessWinter.KnownSpell && ObjectManager.Me.Runes >= 1)
            {
                RemorselessWinter.Launch();
                return;
            }

            // PillarofFrost:
            if (PillarofFrost.IsSpellUsable && PillarofFrost.IsDistanceGood && PillarofFrost.KnownSpell && !ObjectManager.Me.IsSpellUsable("Breath of Sindragosa")
            {
                PillarofFrost.Launch();
                return;
            }

            // PillarofFrost:
            if (PillarofFrost.IsSpellUsable && PillarofFrost.IsDistanceGood && PillarofFrost.KnownSpell && ObjectManager.Me.IsSpellUsable("Breath of Sindragosa") && ObjectManager.Me.RunePower == 100 && ObjectManager.Me.Runes == 6)
            {
                PillarofFrost.Launch();
                return;
            }

            // Sindragosa'sFury:
            if (Sindragosa'sFury.IsSpellUsable && Sindragosa'sFury.IsDistanceGood && ObjectManager.Me.IsFacing && !PillarofFrost.IsUsable && ObjectManager.Me.Buff("Pillar of Frost") && ObjectManager.Target.IsBoss)
            {
                Sindragosa'sFury.Launch();
                return;
            }

            // BreathofSindragosa:
            if (BreathofSindragosa.IsSpellUsable && BreathofSindragosa.IsDistanceGood && BreathofSindragosa.KnownSpell && ObjectManager.Me.HaveBuff("Pillar of Frost") && ObjectManager.Me.RunePower == 100 && ObjectManager.Me.Runes == 6)
            {
                BreathofSindragosa.Launch();
                return;
            }

            // HowlingBlast:
            if (HowlingBlast.IsSpellUsable && HowlingBlast.IsDistanceGood && HowlingBlast.KnownSpell && ObjectManager.Me.HaveBuff("Breath of Sindragosa") && ObjectManager.Target.HaveBuff("Rime") && !Object Manager.Me.HaveBuff("Hungering Rune Weapon") && ObjectManager.Me.RunePower >= 35)
            {
                HowlingBlast.Launch();
                return;
            }

            // HowlingBlast:
            if (HowlingBlast.IsSpellUsable && HowlingBlast.IsDistanceGood && HowlingBlast.KnownSpell && ObjectManager.Me.HaveBuf("Rime") && !ObjectManager.Me.HaveBuff("Hungering Rune Weapon") && !ObjectManager.Me.HaveBuff("Breath of Sindragosa"))
            {
                HowlingBlast.Launch();
                return;
            }

            // HowlingBlast:
            if (HowlingBlast.IsSpellUsable && HowlingBlast.IsDistanceGood && HowlingBlast.KnownSpell && !ObjectManager.Me.HaveBuff("Hungering Rune Weapon") && !ObjectManager.Me.HaveBuff("Breath of Sindragosa") && ObjectManager.Me.Runes >=1 && !ObjectManager.Target.HaveBuff("Frost Fever"))
            {
                HowlingBlast.Launch();
                return;
            }

            // Obliterate:
            if (Obliterate.IsSpellUsable && Obliterate.IsDistanceGood && Obliterate.KnownSpell && ObjectManager.Me.HaveBuff("Killing Machine") && ObjectManager.Me.HaveBuff("Pillar of Frost") && !ObjectManager.Me.RunePower == 100 && !ObjectManager.Me.Runes == 6 && !ObjectManager.Me.HaveBuff("Breath of Sindragosa"))
            {
                Obliterate.Launch();
                return;
            }

            // Obliterate:
            if (Obliterate.IsSpellUsable && Obliterate.IsDistanceGood && Obliterate.KnownSpell && !ObjectManager.Me.RunePower == 100 && !ObjectManager.Me.Runes == 6)
            {
                Obliterate.Launch();
                return;
            }

            // HornofWinter:
            if (HornofWinter.IsSpellUsable && HornofWinter.IsDistanceGood && HornofWinter.KnownSpell && ObjectManager.Me.RunePower <= 80 && !ObjectManager.Me.HaveBuff("Hungering Rune Weapon") && ObjectManager.Me.HaveBuff("Breath of Sindragosa") && ObjectManager.BuffTimeLeft(new List<uint> { Breath of Sindragosa }) >= 10000)
            {
                HornofWinter.Launch();
                return;
            }

            // HornofWinter:
            if (HornofWinter.IsSpellUsable && HornofWinter.IsDistanceGood && HornofWinter.KnownSpell && ObjectManager.Me.RunePower <= 80 && !ObjectManager.Me.HaveBuff("Hungering Rune Weapon") && !ObjectManager.Me.HaveBuff("Breath of Sindragosa") && ObjectManager.Me.RunePower <=20 && ObjectManager.Me.Runes <= 2)
            {
                HornofWinter.Launch();
                return;
            }

            // HungeringRuneWeapon:
            if (HungeringRuneWeapon.IsSpellUsable && HungeringRuneWeapon.IsDistanceGood && HungeringRuneWeapon.KnownSpell && ObjectManager.Me.RunePower <= 35 && ObjectManager.Me.HaveBuff("Breath of Sindragosa") && !ObjectManager.Me.HaveBuff("Hungering Rune Weapon"))
            {
                HungeringRuneWeapon.Launch();
                return;
            }

            // EmpoweringRuneWeapon:
            if (EmpoweringRuneWeapon.IsSpellUsable && EmpoweringRuneWeapon.IsDistanceGood && EmpoweringRuneWeapon.KnownSpell && ObjectManager.Me.RunePower <= 35 && ObjectManager.Me.HaveBuff("Breath of Sindragosa") && !ObjectManager.Me.HaveBuff("Empowering Rune Weapon"))
            {
                EmpoweringRuneWeapon.Launch();
                return;
            }

            // FrostStrike:
            if (FrostStrike.IsSpellUsable && FrostStrike.IsDistanceGood && FrostStrike.KnownSpell && !ObjectManager.Me.HaveBuff("Breath of Sindragosa") && ObjectManager.Me.SpellTimeLeft(new List<uint> { Breath of Sindragosa }) >= 15000 && !ObjectManager.Me.RunePower >= 75)
            {
                FrostStrike.Launch();
                return;
            }

            // FrostStrike:
            if (FrostStrike.IsSpellUsable && FrostStrike.IsDistanceGood && FrostStrike.KnownSpell && !ObjectManager.Me.HaveBuff("Breath of Sindragosa") && ObjectManager.Me.HaveBuff("Olbiteration") && ObjectManager.Me.RunePower >= 45)
            {
                FrostStrike.Launch();
                return;
            }

            // IceBoundFortitude:
            if (IceBoundFortitude.IsSpellUsable && IceBoundFortitude.IsDistanceGood && IceBoundFortitude.KnownSpell && ObjectManager.Me.Health <= 20%)
            {
                IceBoundFortitude.Launch();
                return;
            }

            // DeathStrike:
            if (DeathStrike.IsSpellUsable && DeathStrike.IsDistanceGood && DeathStrike.KnownSpell && ObjectManager.Me.RunePower >= 45 && ObjectManager.Me.Health <= 50%)
            {
                DeathStrike.Launch();
                return;
            }

            // DeathStrike:
            if (DeathStrike.IsSpellUsable && DeathStrike.IsDistanceGood && DeathStrike.KnownSpell && ObjectManager.Me.RunePower >= 45 && ObjectManager.Me.Health <= 20% && IceBoundFortitude.IsSpellUsable && ObjectManager.Me.HaveBuff("Ice bound Fortitude"))
            {
                DeathStrike.Launch();
                return;
            }

            // Anti-MagicShell:
            if (Anti-MagicShell.IsSpellUsable && Anti-MagicShell.IsDistanceGood && Anti-MagicShell.KnownSpell && ObjectManager.Me.Health <= 60 && ObjectManager.Target.IsCast)
            {
                Anti-MagicShell.Launch();
                return;
            }

            // WrathWalking:
            if (WrathWalking.IsSpellUsable && WrathWalking.IsDistanceGood && !ObjectManager.Me.InCombat && Object Manager.Me.InMove)
            {
                WrathWalking.Launch();
                return;
            }

            // Obliteration:
            if (Obliteration.IsSpellUsable && Obliteration.IsDistanceGood && ObjectManager.Me.HaveBuff("Pillar of Frost"))
            {
                Obliteration.Launch();
                return;
            }

            // Frostscythe:
            if (Frostscythe.IsSpellUsable && Frostscythe.IsDistanceGood && ObjectManager.Me.Rune >= 1 && ObjectManager.TargetNear >= 1 && ObjectManager.Me.Buff("Killing Machine"))
            {
                Frostscythe.Launch();
                return;
            }

            // GlacialAdvance:
            if (GlacialAdvance.IsSpellUsable && GlacialAdvance.IsDistanceGood && ObjectManager.Me.IsFaccing && ObjectManager.Me.Runes >= 1)
            {
                GlacialAdvance.Launch();
                return;
            }

            // DarkFlight:
            if (DarkFlight.IsSpellUsable && DarkFlight.IsDistanceGood && !ObjectManager.Me.InCombat && ObjectManager.Me.InMove && !WrathWalking.IsSpellUsable)
            {
                DarkFlight.Launch();
                return;
            }

            // ArcaneTorrent:
            if (ArcaneTorrent.IsSpellUsable && ArcaneTorrent.IsDistanceGood && ObjectManager.Target.InCast && ObjectManager.Me.Mana <= 100%)
            {
                ArcaneTorrent.Launch();
                return;
            }

            // Berserking:
            if (Berserking.IsSpellUsable && Berserking.IsDistanceGood && ObjectManager.Me.InCombat)
            {
                Berserking.Launch();
                return;
            }

            // BloodFury:
            if (BloodFury.IsSpellUsable && BloodFury.IsDistanceGood && ObjectManager.Me.InCombat)
            {
                BloodFury.Launch();
                return;
            }

            // EscapeArtist:
            if (EscapeArtist.IsSpellUsable && EscapeArtist.IsDistanceGood && ObjectManager.Me.InCombat  && ObjectManager.Me.IsStun)
            {
                EscapeArtist.Launch();
                return;
            }

            // EveryManforHimself:
            if (EveryManforHimself.IsSpellUsable && EveryManforHimself.IsDistanceGood && ObjectManager.Me.IsStun && ObjectManager.Me.InCombat)
            {
                EveryManforHimself.Launch();
                return;
            }

            // GiftoftheNaaru:
            if (GiftoftheNaaru.IsSpellUsable && GiftoftheNaaru.IsDistanceGood && ObjectManager.Me.Health <= 75%)
            {
                GiftoftheNaaru.Launch();
                return;
            }

            // Stoneform:
            if (Stoneform.IsSpellUsable && Stoneform.IsDistanceGood && ObjectManager.Me.Health <= 75%)
            {
                Stoneform.Launch();
                return;
            }

            // WarStomp:
            if (WarStomp.IsSpellUsable && WarStomp.IsDistanceGood && ObjectManager.Target.InCast && ObjectManager.Me.InCombat)
            {
                HeroicStrike.Launch();
                return;
            }

            // WilloftheForsaken:
            if (WilloftheForsaken.IsSpellUsable && WilloftheForsaken.IsDistanceGood && ObjectManager.Me.Health <= 100% && !ObjectManager.Me.InCombat && ObjectManager.Target.Health == 0)
            {
                WilloftheForsaken.Launch();
                return;
            }

            // Shadowmeld:
            if (Shadowmeld.IsSpellUsable && Shadowmeld.IsDistanceGood && ObjectManager.Me.Health <= 20% && !objectManager.Me.InMove && ObjectManager.Me.InCombet)
            {
                Shadowmeld.Launch();
                return;
            }
        }
    }

     

     

    Legion Frost Death Knight 7.2.5 V.101.cs

  5. How do I Make this code that is made to not Interupt if the spell is shielded, into a code to use if the spell isnt interuptable but can stop the spell by stunning them or at least trying to stuff them.


    local spellid=106839
    local spellname=GetSpellInfo(spellid)
    if UnitExists("target") and not UnitIsFriend("player", "target") and (IsSpellInRange(spellname, "target")==1) then
        local spell, rank, displayName, icon, startTime, endTime, isTradeSkill, castID, nonInterrupt = UnitCastingInfo("target");
        local isChanneling=false
        if (spell==nil) then
            spell, displayName, icon, startTime, endTime, isTradeSkill, castID, nonInterrupt = UnitChannelInfo("target");
            isChanneling=true
        end
        if (spell~=nil) then
            if (nonInterrupt==false) then
                local guid=UnitGUID("target");
                local type, zero, serverId, instanceId, zoneId, npcId, spawnUid = strsplit("-",guid);
                local dontKick={[82618]={171807};    --[[ Tor'goroth, skip Shadow Bolt to kick Consume Life ]]
                                [82682]={166465};    --[[ Archmage Sol, skip Frost Bolt to kick Parasitic Growth ]]
                                    
        --[[ [86135]={172014,172024,172005};  test Ralshira  ]]

                            };
                result=true;
                npcId=tonumber(npcId);
                if (dontKick[npcId]~=nil) then
                    if (dontKick[npcId][1]~=nil) then
                        for i=1, #dontKick[npcId] do
                            if (spell==GetSpellInfo(dontKick[npcId])) then
                                result=false
                            end
                        end
                    end
                end
            end
            if result==false then     --[[ spell not interruptable, we have to save us !!!]]
                local t=GetTime();
                endTime=endTime/1000 - t;
                if (endTime < 3) or isChanneling then --[[ dont start to early ]]
                    local buffexp,buff,buffcnt={},{},{};
                    local i,n,c,x,id,found=0;
                    repeat
                        i=i+1;
                        n,_,_,c,_,_,x,_,_,_,id=UnitAura("target",i,"PLAYER HARMFUL");
                        if n then
                            buffcnt[n]=c
                            buffexp[n]=x-t
                            buff[n]=id;
                            found=true
                        end
                    until (not n) or (i==40);
                    local CatForm=GetSpellInfo(768)
                    local BearForm=GetSpellInfo(5487)
                    local SurvInstincts=GetSpellInfo(61336)
                    local Barkskin=GetSpellInfo(22812)
                    local Ironfur=GetSpellinfo(192081)
                    local MarkOfUrsol=GetSpellInfo(192083)
                    local spellname=Ironfur
                    local start, duration, enabled = GetSpellCooldown(SurvInstincts)
                    if found then
                        if buff[BearForm] then
                            if not buff[SurvInstincts] then
                                if (duration==0) then
                                    spellname=SurvInstincts
                                elseif not buff[Barkskin] then
                                    start, duration, enabled = GetSpellCooldown(Barkskin)
                                    if (duration==0) then
                                        spellname=Barkskin
                                    end
                                end
                            end
                        else
                            spellname=BearForm
                        end
                    else
                        spellname=BearForm
                    end
                    if (spellname==Ironfur) then
                        start, duration, enabled = GetSpellCooldown(Barkskin)
                        if (duration~=0) then
                            spellname=false
                        end
                    end
                    if spellname then
                        CastSpellByName(spellname,"player")
                    end
                end
                
            end
        end
    end


    Anyone Know what Im trying to do here?

  6. Right now I am running this code in my Fight Class. But Im looking to reduce the amount of actual stings the fight class is to execute so that the fight class will react faster to maximize the rotation and DPS. I have found that to many items in the fight classes move list will slow down the characters reaction time on health based or other power based moves that need to be cast out side the rotation. So reducing the number of strings in the list is more effective to the total DPS of healing done. That is how I have been making my good and okay fight classes that I have released. Hence why Im wanting to make a LUA Script to have this done in one more on the fight classes list of moves to fire.

        <FightClassSpell>
          <SpellName>Summon Black OX Statue</SpellName>
          <FightClassConditions>
            <FightClassCondition>
              <ContionType>IsSpellUsable</ContionType>
              <Param xsi:type="FightClassConditionStringBool">
                <Name>Summon Black OX Statue</Name>
                <Need>true</Need>
              </Param>
            </FightClassCondition>
            <FightClassCondition>
              <ContionType>TargetDistance</ContionType>
              <Param xsi:type="FightClassConditionNumber">
                <Type>SmallerOrEqual</Type>
                <Value>40</Value>
              </Param>
            </FightClassCondition>
            <FightClassCondition>
              <ContionType>HaveTarget</ContionType>
              <Param xsi:type="FightClassConditionBool">
                <Value>true</Value>
              </Param>
            </FightClassCondition>
            <FightClassCondition>
              <ContionType>HostileUnitNear</ContionType>
              <Param xsi:type="FightClassConditionUnitNear">
                <Number>1</Number>
                <Type>SmallerOrEqual</Type>
                <Radius>8</Radius>
              </Param>
            </FightClassCondition>
          </FightClassConditions>
          <Priority>34</Priority>
          <Timer>30000</Timer>
          <AOESpell>true</AOESpell>
        </FightClassSpell>
        <FightClassSpell>
          <SpellName>RunMacroText("/tar Black Ox Statue")</SpellName>
          <FightClassConditions>
            <FightClassCondition>
              <ContionType>HostileUnitNear</ContionType>
              <Param xsi:type="FightClassConditionUnitNear">
                <Number>1</Number>
                <Type>SmallerOrEqual</Type>
                <Radius>8</Radius>
              </Param>
            </FightClassCondition>
          </FightClassConditions>
          <Priority>33</Priority>
          <Timer>30000</Timer>
        </FightClassSpell>
        <FightClassSpell>
          <SpellName>Provoke</SpellName>
          <FightClassConditions>
            <FightClassCondition>
              <ContionType>TargetDistance</ContionType>
              <Param xsi:type="FightClassConditionNumber">
                <Type>SmallerOrEqual</Type>
                <Value>40</Value>
              </Param>
            </FightClassCondition>
          </FightClassConditions>
          <Priority>32</Priority>
          <Timer>30000</Timer>
        </FightClassSpell>
        <FightClassSpell>
          <SpellName>RunMacroText("/targetlasttarget")</SpellName>
          <FightClassConditions>
            <FightClassCondition>
              <ContionType>HaveTarget</ContionType>
              <Param xsi:type="FightClassConditionBool">
                <Value>true</Value>
              </Param>
            </FightClassCondition>
            <FightClassCondition>
              <ContionType>TargetDistance</ContionType>
              <Param xsi:type="FightClassConditionNumber">
                <Type>SmallerOrEqual</Type>
                <Value>40</Value>
              </Param>
            </FightClassCondition>
          </FightClassConditions>
          <Priority>31</Priority>
          <Timer>30000</Timer>
        </FightClassSpell>
    
  7. Ok so I'm trying to figure out how to do this in a LUA Script.

     

    /cast Summon Black Ox Statue

    /tar Summon Black Ox Statue

    /cast Provoke

    /targetlasttarget

     

    This macro is what Im trying to do with LUA Scripting. And I have no idea how to start this off cause of the Targeting stuff..... HELP!!!!

  8. So I'm wondering if anyone know of any good gearing guides. I have never used any before and I was wanting to get a few good links to some really good gearing guides. But not just for myself but for everyone in the community. I'm sure this will be useful for us all.

  9. I'm still having issues with stealth while not in combat and having a target. I have it set to stealth if I have a target and I'm not in combat and for some reason it wont stealth.

    <FightClassSpell>
          <SpellName>Steakth</SpellName>
          <FightClassConditions>
            <FightClassCondition>
              <ContionType>MeInCombat</ContionType>
              <Param xsi:type="FightClassConditionBool" />
            </FightClassCondition>
            <FightClassCondition>
              <ContionType>HaveTarget</ContionType>
              <Param xsi:type="FightClassConditionBool">
                <Value>true</Value>
              </Param>
            </FightClassCondition>
          </FightClassConditions>
          <Priority>48</Priority>
          <AddToSettings>true</AddToSettings>
          <AddToSettingsActiveByDefault>true</AddToSettingsActiveByDefault>
          <Timer>6000</Timer>
        </FightClassSpell>
    
  10. Ok so is this how I get it to fire??? with the research needed?

    if (GetUnitSpeed("player") == 0) and not (UnitCastingInfo("player")) and not (UnitChannelInfo("player")) and not (UnitAffectingCombat("player")) and not (IsMounted()) and not (IsFlying()) and not (IsFalling()) and not (IsResting()) and not (UnitIsAFK("player")) then
    local timeLeftToCastAgain = 10*60;
    --[[ Searing Totem ]]
    local idTotem={3599}
    for i=1,#idTotem do
    local spellname=GetSpellInfo(idTotem[i])
            for totemIndex=1,4 do
                local haveTotem, totemName, startTime, duration = GetTotemInfo(totemIndex);
                if (haveTotem and spellname == totemName) then
                    local timeLeft = startTime+duration-GetTime();
                    if (timeLeft < timeLeftToCastAgain) then
                        if (IsUsableSpell(spellname)) then
                            local start, duration, enable = GetSpellCooldown(spellname)
                            if (duration==0) then
                                CastSpellByName(spellname);
                            end
                        end
                        
                    end
                    break;
                end
            end
    end
    end
    
    result = (HaveTotem = 0)
    
  11. Ok check this out... I haven't tested it but I think shit will cause Inquisition to fire if its buff is ( Not there = 0 ) and or at full power 5 stacks.

     

    name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, spellId = UnitBuff("player","SPELL_POWER_HOLY_POWER = 5");
    GetTime(Inquisition = "0, 30"); if (Inquisition <= 30) then retV = "1";else retV = "0";end

     

    If not please fix and tell me why this wont work.

     

    Also if the small code doesn't work then what about this one.

     

    if (GetUnitSpeed("player") == 0) and not (UnitCastingInfo("player")) and not (UnitChannelInfo("player")) and not (UnitAffectingCombat("player")) and not (IsMounted())  and not (IsFlying())  and not (IsFalling())  and not (IsResting())  and not (UnitIsAFK("player")) then
        local timeLeftToCastAgain = 30*120;
    --[[             Inquisition ]]
        local idspell={84936}
        for i=1,#idspell do
            local spellname=GetSpellInfo(idspell)
            for spellIndex=1,4 do
                local havespell, spellName, startTime, duration = GetspellInfo(spellIndex);
                if (havespell and spellname == spellName) then
                    local timeLeft = startTime+duration-GetTime();
                    if (timeLeft < timeLeftToCastAgain);
                    minModifier = GetSpellBonusDamage(2) then
                        if (IsUsableSpell(spellname)) then
                            local start, duration, enable = GetSpellCooldown(spellname)
                            if (duration==30) then
                                CastSpellByName(spellname);
                            end
                        end
                        
                    end
                    break;
                end
            end
        end
    end

    result=(Holy_Power>5)

×
×
  • Create New...