PQR - Rotation Bot menu

Shout-Out

User Tag List

Page 609 of 779 FirstFirst ... 109509559605606607608609610611612613659709 ... LastLast
Results 9,121 to 9,135 of 11681
  1. #9121
    thenthelies's Avatar Member
    Reputation
    14
    Join Date
    Dec 2007
    Posts
    70
    Thanks G/R
    3/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks a lot crystal_tech, I'll dig deep and try to recreate that though nova/profile you gave for reference.

    Originally Posted by Gabbz View Post
    What is your problem exactly? Im coding in a similiar way and for the most part there is no issue. Altough some of the abilities that are off cd like Soulburn there could be some timing issues.

    The best way is to create a timer for when you tried the ability and then check that amount of time has passed. But again, what is the problem really?
    I've started coding a destro lock and the most glaring problem would be double casting immolate on initial application because it's queuing up the next spell (another immolate) before it registers the DOT is active. Pretty much It will usually double cast ANY ability that cast time is longer than the GCD and doesn't have a CD. I know I can fix these things with SpellCancelQueuedSpell() but that's loosing precious milliseconds on my minmax rotation.

    I play with manual cast macro set to auto hotkey spamming 0ms + my ingame latency adjuster set to 400ms (i play at 200ms) so I can guarantee 0ms delay between ability casts.

    PQR - Rotation Bot
  2. #9122
    crystal_tech's Avatar Elite User
    Reputation
    468
    Join Date
    Feb 2008
    Posts
    1,033
    Thanks G/R
    1/6
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by thenthelies View Post
    Thanks a lot crystal_tech, I'll dig deep and try to recreate that though nova/profile you gave for reference.



    I've started coding a destro lock and the most glaring problem would be double casting immolate on initial application because it's queuing up the next spell (another immolate) before it registers the DOT is active. Pretty much It will usually double cast ANY ability that cast time is longer than the GCD and doesn't have a CD. I know I can fix these things with SpellCancelQueuedSpell() but that's loosing precious milliseconds on my minmax rotation.

    I play with manual cast macro set to auto hotkey spamming 0ms + my ingame latency adjuster set to 400ms (i play at 200ms) so I can guarantee 0ms delay between ability casts.
    for the quickest fix heres the code from the data file

    PHP Code:
    --Tabled Cast Time Checking for When you Last Cast Something.
    CheckCastTime = {}
    Nova_CheckLastCast nil
    function Nova_CheckLastCast(spellidytime) -- SpellID of Spell To CheckHow long of a gap are you looking for?
        if 
    ytime 0 then
            
    if #CheckCastTime > 0 then
                
    for i=1#CheckCastTime do
                    
    if CheckCastTime[i].SpellID == spellid then
                        
    if GetTime() - CheckCastTime[i].CastTime ytime then
                            CheckCastTime
    [i].CastTime GetTime()
                            return 
    true
                        
    else
                            return 
    false
                        end
                    end
                end
            end
            table
    .insert(CheckCastTime, { SpellID spellidCastTime GetTime() } )
            return 
    true
        
    elseif ytime <= 0 then
            
    return true
        end
        
    return false
    end 
    pretty much this is how to use it

    PHP Code:

    if Nova_CheckLastCast(spellid.3then --set delay
         
    if not UnitDebuffID("target"SpellIDthen --if debuff is missing
              CastSpellByName
    (GetSpellInfo(spellid)) --cast it
              
    return true
         
    --if debuff is up and time left on it is less than 2 secs 
         
    elseif UnitDebuffID("target"SpellID) and select(7UnitDebuffID("target"SpellID)) - GetTime() < 2 then 
              CastSpellByName
    (GetSpellInfo(spellid)) -- cast it
              
    return true
         end
    end 

    Please if someone helped you donate rep to them.

  3. #9123
    WWF's Avatar Active Member
    Reputation
    31
    Join Date
    Jul 2010
    Posts
    215
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by vitalic View Post
    Any chance you could upload that for me?
    done (private)

  4. #9124
    paintpauller's Avatar Contributor
    Reputation
    128
    Join Date
    Jan 2012
    Posts
    265
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    any idea on how to check if a spell was successfully cast? trying to make some simple code to both take advantage of double jeopardy and keep Censure up on my focus.
    here is what i have so far, it will only cast on my focus because JudgOnTarget is never being set true. ignore the prints they are there for debugging =p
    PHP Code:
    if UnitExists("focus")
        and 
    not UnitIsDeadOrGhost("focus")
        and 
    not PQR_IsOutOfSight("focus"1)
        and 
    UnitCanAttack("player""focus") == 1
        
    and IsSpellInRange(GetSpellInfo(20271), "focus") == 1
    then
        useFocusJudg 
    true
    else
        
    useFocusJudg false
    end


    if setJudgOn == nil then
        setJudgOn 
    true
        
        JudgOnFocus 
    true 
        
    print("JudgOnFocus set")
        
    JudgOnTarget false 
        
    print("JudgOnTarget set")
    end


    if useFocusJudg then
        
    if JudgOnFocus == true then
            JudgOnTarget 
    CastSpellByName(GetSpellInfo(20271),"focus")
            if 
    JudgOnTarget == true then
                JudgOnFocus 
    false
                
    print("Judg on Focus")
            
    end
            
    return true
        
    elseif JudgOnTarget == true then
            JudgOnFocus 
    CastSpellByName(GetSpellInfo(20271),"target")
            if 
    JudgOnFocus == true then
                JudgOnTarget 
    false
                
    print("Judg on Target")
            
    end
            
    return true
        end
    else
        print(
    "No focus, Judg on Target")
        
    CastSpellByName(GetSpellInfo(20271),"target")
        return 
    true
    end 

    Alpha Profiles: - All profiles with PQInterface support!
    Alpha Interrupt: https://goo.gl/OLhGi - Ignore List, Random Percentage, Time Delays, & much More!
    Alpha Utilities: https://goo.gl/rt7WA - Farming, Prospecting, Disenchanting, Milling, & Questing
    Alpha Moonkin: https://goo.gl/gjxw0 - Optimized DPS Rotation for PvE, Mashup of 3 Profiles
    Avery's Ret: https://goo.gl/GhurM - My take on Avery's outstanding Ret profile with PQI

  5. #9125
    piratepetey's Avatar Sergeant
    Reputation
    4
    Join Date
    Apr 2012
    Posts
    63
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi all.

    Curious problem for the coders here:

    Remember the checks for MSV heroic that would stop DPSing the boss if certain abilities were up, e.g. Spirit Kings heroic:

    PHP Code:
    if npcID == 60709 then --Spirit KingsQiang. (Impervious Shield
                --
    Stop all attacks until 0.2 seconds after cast time ends and until buff (Impervious Shieldis gone
                 
                --
    only continue checking if we are targetting the boss or have no target
                if (
    not UnitExists("target")) or (UnitIsUnit("target"bossCheck)) or (cleaveClass or isAOEthen 
                    local impName 
    GetSpellInfo(117961
                    
    local impShieldBuff UnitBuffID(bossCheck117961
                     
                    if (
    bossCasting and bossCasting == impNamethen 
                        StopAttack
    () 
                        
    SpellStopCasting() 
                        
    local delayAdd = (castEnd/1000) - GetTime() --the number of seconds remaining on the cast
                        
    PQR_resumeAttack GetTime() + delayAdd 0.2 
                        
    return true 
                    end 
    Could anyone have a bash at doing that for some of the fights in 5.2? I'm thinking specifically from a healer POV for Twin Consorts for the tank debuff Beast of Nightmare. Healers can't heal that target and should only use BIG hitting heals to top.

    Anyone up for a bit of a challenge?



    Edit: I think I've found a way to do it using one of Sheuron's healing functions that's included in the Nova data file, but if anyone else has a more elegant method I'd be interested to hear it
    Last edited by piratepetey; 04-02-2013 at 04:55 PM. Reason: Update with possible solution

  6. #9126
    vitalic's Avatar Contributor CoreCoins Purchaser
    Reputation
    182
    Join Date
    Jun 2010
    Posts
    3,527
    Thanks G/R
    8/3
    Trade Feedback
    10 (100%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    So WWF kindly sent me 2.1.0 and I can say with some certainty there has been a change between the two versions that is having a big effect on CPU consumption, perhaps you might want to take a look Xelper?



    On 2.1.0 it runs at 0% cpu when idle, and 0-0.1% when running my profile, which is using 2-7% in 2.2.0

  7. #9127
    dklcfr's Avatar Master Sergeant
    Reputation
    26
    Join Date
    Aug 2010
    Posts
    127
    Thanks G/R
    3/4
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    anyone got ability code for this trinket? Stolen Relic of Zuldazar - Item - World of Warcraft

  8. #9128
    Troy598's Avatar Private
    Reputation
    1
    Join Date
    Apr 2013
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Reserved thread - In case one day I try to develop profile
    Last edited by Troy598; 04-02-2013 at 09:33 PM.

  9. #9129
    blakehan's Avatar Member
    Reputation
    1
    Join Date
    Apr 2012
    Posts
    41
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by vitalic View Post
    So WWF kindly sent me 2.1.0 and I can say with some certainty there has been a change between the two versions that is having a big effect on CPU consumption, perhaps you might want to take a look Xelper?



    On 2.1.0 it runs at 0% cpu when idle, and 0-0.1% when running my profile, which is using 2-7% in 2.2.0

    hi ! can u send me 2.1.0 PQR?
    email: [email protected]

  10. #9130
    gnitor's Avatar Corporal
    Reputation
    7
    Join Date
    Feb 2012
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by dklcfr View Post
    anyone got ability code for this trinket? Stolen Relic of Zuldazar - Item - World of Warcraft
    Could it be this? Blessing of Zuldazar - Spell - World of Warcraft


    Originally Posted by paintpauller View Post
    any idea on how to check if a spell was successfully cast? trying to make some simple code to both take advantage of double jeopardy and keep Censure up on my focus.
    here is what i have so far, it will only cast on my focus because JudgOnTarget is never being set true. ignore the prints they are there for debugging =p
    I haven't done anything like that but you might want to try to use Units GUID between your target and your focus, and store on which you did your Judgement last directly. http://www.wowwiki.com/API_UnitGUID
    This is maybe stupid, but my understanding of GUID is that they are unique so you should be able to differentiate easily on which target you did your Judgement.

    This said, it might be very interesting if there is already a way to know if a spell has been successfully cast on the target like you mean.
    Last edited by gnitor; 04-02-2013 at 11:06 PM.

  11. #9131
    MaathaiWangari's Avatar Private
    Reputation
    1
    Join Date
    Mar 2013
    Posts
    3
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I am interested in Affliction Warlock and 5.0.4 BM Hunter. Reviewed in detail on the issue of PQR - Rotation Bot. Nice comments and sharing seen here.

    Hanging Scales
    Last edited by MaathaiWangari; 04-06-2013 at 02:04 AM.

  12. #9132
    Gabbz's Avatar Contributor
    Reputation
    184
    Join Date
    Dec 2011
    Posts
    451
    Thanks G/R
    1/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by crystal_tech View Post
    for the quickest fix heres the code from the data file

    PHP Code:
    --Tabled Cast Time Checking for When you Last Cast Something.
    CheckCastTime = {}
    Nova_CheckLastCast nil
    function Nova_CheckLastCast(spellidytime) -- SpellID of Spell To CheckHow long of a gap are you looking for?
        if 
    ytime 0 then
            
    if #CheckCastTime > 0 then
                
    for i=1#CheckCastTime do
                    
    if CheckCastTime[i].SpellID == spellid then
                        
    if GetTime() - CheckCastTime[i].CastTime ytime then
                            CheckCastTime
    [i].CastTime GetTime()
                            return 
    true
                        
    else
                            return 
    false
                        end
                    end
                end
            end
            table
    .insert(CheckCastTime, { SpellID spellidCastTime GetTime() } )
            return 
    true
        
    elseif ytime <= 0 then
            
    return true
        end
        
    return false
    end 
    pretty much this is how to use it

    PHP Code:

    if Nova_CheckLastCast(spellid.3then --set delay
         
    if not UnitDebuffID("target"SpellIDthen --if debuff is missing
              CastSpellByName
    (GetSpellInfo(spellid)) --cast it
              
    return true
         
    --if debuff is up and time left on it is less than 2 secs 
         
    elseif UnitDebuffID("target"SpellID) and select(7UnitDebuffID("target"SpellID)) - GetTime() < 2 then 
              CastSpellByName
    (GetSpellInfo(spellid)) -- cast it
              
    return true
         end
    end 
    Crystal, is there no check that you actually cast the spell? It seems that when checking if it already have been cast you also insert the spell in the table. However it is not certain that the spell actually was cast.
    Looking for exploiters and botters to Elder Scrolls Online.

  13. #9133
    Nerder's Avatar Contributor
    Reputation
    117
    Join Date
    Aug 2012
    Posts
    263
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by paintpauller View Post
    any idea on how to check if a spell was successfully cast? trying to make some simple code to both take advantage of double jeopardy and keep Censure up on my focus.
    here is what i have so far, it will only cast on my focus because JudgOnTarget is never being set true. ignore the prints they are there for debugging =p
    So I already responded to paint in a PM but just for anyone else who wants to see for his check on the successful cast you could work with what I did. I am giving credit to the nova team on the main part to me getting this, which is what bubba put out for his mistweaver check a while ago.

    Long story short though my code was made for my combat rogue profile to check how many times sinister strike and or revealing strike have been cast while the moderate insight buff was up and active. Here's what I have and have it working:
    Code:
    if UnitBuffID("player", MODERATEINSIGHT) == nil then
    	CheckForDeep = 0
    end
    
    if CombatLog == nil then
       Nova_CombatLog = CreateFrame('Frame')
    
       Nova_CombatLog:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
       function CombatLog_OnEvent(self, event, ...)
       		local type, _, sourceGUID, sourceNAME, _, _, destGUID, destNAME = select(2, ...)
            if (event=="COMBAT_LOG_EVENT_UNFILTERED") then
    			if sourceNAME ~= UnitName("player") then --Could add in a "if destGUID ~= UnitGUID("focus") then"
                	return false
                end
                if type == "SPELL_DAMAGE" and ( select(12, ...) == 1752 or select(12, ...) == 84617 ) then --It'll trigger if there was any damage either sinister strike, or revealing strike
                   	CheckForDeep = CheckForDeep + 1
    			elseif type == "SPELL_AURA_REMOVED" and ( select(12, ...) == 84745 or select(12, ...) == 84746 or select(12, ...) == 84747 ) then --will set the counter back to 0 if any of the 3 buffs were lost
    				CheckForDeep = 0
    			end
    		end
    	end
    
    
        
        Nova_CombatLog:SetScript("OnEvent", CombatLog_OnEvent)
        
    	CombatLog = true
    end
    and then after it has the check the application for it was in my spell for slice and dice, so when I had the buff moderate insight, and was at 3 sucsessful hits from either sinister strike or revealing strike to cast slice and dice again:
    Code:
    if AoE and FanOK == 1 then
    	return false
    end
    
    if ( not HasBuff(SLICEANDDICE)
     or ( BuffTime(SLICEANDDICE) < 2
     or ( BuffTime(SLICEANDDICE) < 15
     and CheckForDeep == 3
     and GetComboPoints("player", "target") >= 4 ) ) ) then
            Cast(SLICEANDDICE)
    end

  14. #9134
    Guinness's Avatar Member
    Reputation
    5
    Join Date
    Apr 2012
    Posts
    75
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just so you know there will be some PQR functions that will not work right in 2.1 because of the way Blizzard updated their end. It might not be an impact for the character and profile your are using PQR on at the moment, just something to realize.

  15. #9135
    paintpauller's Avatar Contributor
    Reputation
    128
    Join Date
    Jan 2012
    Posts
    265
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Big thanks to Nerder for pointing me into the right direction!

    for those wanting a working double jeopardy/censure code for your focus here it is!
    PHP Code:
    if UnitExists("focus")
        and 
    not UnitIsDeadOrGhost("focus")
        and 
    not PQR_IsOutOfSight("focus"1)
        and 
    UnitCanAttack("player""focus") == 1
        
    and IsSpellInRange(GetSpellInfo(20271), "focus") == 1
    then
        useFocusJudg 
    true
    else
        
    useFocusJudg false
    end


    if CombatLog == nil then
        local 
    function BadInfos()
            if 
    sourceNAME ~= UnitName("player"then
                
    return false
            end
            
    if destGUID == UnitGUID("focus") or destGUID == UnitGUID("target"then
            
    else return false end
        end
        NextJudgTarget 
    "focus"
        
    Nova_CombatLog CreateFrame('Frame')
        
    Nova_CombatLog:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
        function 
    CombatLog_OnEvent(selfevent, ...)
            
    local type_sourceGUIDsourceNAME__destGUIDdestNAME select(2, ...)
            if (
    event=="COMBAT_LOG_EVENT_UNFILTERED"then
                BadInfos
    ()
                if 
    type == "SPELL_DAMAGE" and select(12, ...) == 20271 then
                    
    if destGUID == UnitGUID("target"then
                           NextJudgTarget 
    "focus"
                       
    else
                           
    NextJudgTarget "target"
                       
    end
                end
            end
        end
        Nova_CombatLog
    :SetScript("OnEvent"CombatLog_OnEvent)
        
    CombatLog true
    end


    if useFocusJudg then
        CastSpellByName
    (GetSpellInfo(20271), NextJudgTarget)
    else
        
    CastSpellByName(GetSpellInfo(20271),"target")
    end 
    Last edited by paintpauller; 04-03-2013 at 04:49 AM.

    Alpha Profiles: - All profiles with PQInterface support!
    Alpha Interrupt: https://goo.gl/OLhGi - Ignore List, Random Percentage, Time Delays, & much More!
    Alpha Utilities: https://goo.gl/rt7WA - Farming, Prospecting, Disenchanting, Milling, & Questing
    Alpha Moonkin: https://goo.gl/gjxw0 - Optimized DPS Rotation for PvE, Mashup of 3 Profiles
    Avery's Ret: https://goo.gl/GhurM - My take on Avery's outstanding Ret profile with PQI

Similar Threads

  1. [Bot] PQR PE Next Steps / Future of Rotation Botting
    By Chevrolet1 in forum World of Warcraft Bots and Programs
    Replies: 120
    Last Post: 10-21-2014, 11:47 AM
  2. [Bot] PQR - Rotation Bot
    By Xelper in forum World of Warcraft Bots and Programs
    Replies: 1738
    Last Post: 10-15-2014, 11:00 AM
  3. [Selling] 3 Lifetime Session Keys For Sale, Great for the PQR user looking for a rotation bot
    By cukiemunster in forum World of Warcraft Buy Sell Trade
    Replies: 13
    Last Post: 03-11-2014, 07:18 AM
  4. rotation bot leveling (PQR)
    By classdog in forum WoW Bots Questions & Requests
    Replies: 3
    Last Post: 09-17-2013, 06:13 PM
  5. [HELP] PQR Rotation Bot Profile Making
    By Missu in forum Programming
    Replies: 0
    Last Post: 10-22-2012, 06:27 AM
All times are GMT -5. The time now is 01:24 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search