Monday, January 7, 2013

[Release] PQR - Rotation Bot

PQR is a bot designed to perform complex DPS, healing and tanking rotations for the player. It was mainly designed to reduce the tediousness of performing a complex rotation for hours on end, which for many can be a huge relief and provide them with a better WoW experience where they may have wanted to quit in other cases.


  • No addons to configure.
  • No pixel scanning to hinder performance.
  • Easily customizable and shareable abilities and rotations.

You will just need to find a rotation to get started, and there are plenty posted in this thread and on the Wiki. Scroll down to the bottom of this post for direct links to each classes' rotation page. Please do some searching before making posts.

Download PQR
PQR.zip | VirusTotal Scan

(Run PQRUpdater.exe in a new, or current directory of PQR to download the latest version.)





Manual Download Only:
*NOTE: Since you are downloading an EXE directly, some web browsers may consider it malicious.
If you are unable to use the updater, you may download PQR.exe and PQR.exe.config directly.
If you need to download offsets directly, the list of offsets can be found here.
You will need to download from this link:
http://dl.dropbox.com/u/39925787/PQR_Offsets/
Simply add the XML file name to the end of that URL. Ex: Offsets_15050.xml
Would be: http://dl.dropbox.com/u/39925787/PQR...sets_15050.xml

If you are playing WoW 3.3.5, download PQR 1.1 here:
PQR111.zip
How to Use Rotation Bot
1) Launch PQR.exe
2) Select the process you would like to attach to. You must be logged into your character to do this.
3) Install and Select your Primary and Secondary rotations.
4) Press ALT+X to start your Primary rotation, and ALT+Z to start your Secondary rotation. Pressing the key(s) again will either stop the bot or switch the rotation, depending on what you have selected.

How to Use Interrupt Bot
1) Add/Remove any spell that you would like to interrupt on the main form or select "Interrupt All Spells".
2) Press ALT+C to start/stop Interrupt Mode.

Configuring a Rotation
1) Select the "Rotation Editor"
2) Select the Class that you wish to edit.
3) Select the Profile you wish to edit, or create a new profile.
4) Select the rotation you wish to edit, or add a new rotation.
5) The "Current Abilities" list is the rotation that will be used from top to bottom.
6) Rotations are automatically saved as you make changes.
7) You may also provide a static download address for your profiles to allow users to use the "Download Update" button as well as provide a note to users so they have more details on what the rotation is supposed to do.


Configuring an Ability
1) Select the Ability Editor.

2) Select the Class for which you would like to configure an ability for.
3) Select the Profile for which you would like to configure an ability for.
4) Configuring an ability. An ability only requires a couple parts to work properly, which I have marked as required.

  1. Ability Name (Required) - This is just the name to represent the ability, it must be unique.
  2. Spell ID (Required) - This is the spell ID that will be casted if the ability 'returns true.' Use spell ID 0 to not cast any spell.
  3. Actions (Optional) - A list of macros that will be performed if this ability returns true. Delimited by a |. Ex: /startattack|/petattack|/use 13
  4. Cancel Channel (Optional) - Is this ability allowed to be cast while channeling?
  5. Recast Delay (Optional) - The number of milliseconds before this ability is allowed to be recast.
  6. Skip Unknown (Optional) - Should this ability be skipped if the spell ID is unknown? Does NOT apply to spell ID 0.
  7. Target (Required) - Who to cast the spell at. Valid units are provided and you can also use the PQR_CustomTarget before returning true to name another unit.
  8. Lua (Required) - The lua code to be executed to determine if this ability will be executed. It is executed in the form of a function, so you should use 'return true' to indicate you wish to cast the ability.

5) Press "Save."

Here is an example ability.
Example: Cast Hammer of Wrath if the player has "Avenging Wrath" buff (allowing our Execute ability to be cast at any time), or if the target is less than 20% HP.

Code:
        local sAW = UnitBuffID("player", 31884) 
        local unithealth = 100 * UnitHealth("target") / UnitHealthMax("target")


        if sAW ~= nil then
            return true
        else
            if unithealth <= 20 then -- only usable if target health < 20%
                return true
            end
        end


OwnedCore Community Supported Classes and Specs:
Death Knight Rotations
Druid Rotations
Hunter Rotations
Mage Rotations
Monk Rotations
Paladin Rotations
Priest Rotations
Rogue Rotations
Shaman Rotations
Warlock Rotations
Warrior Rotations

Thanks
-Ryuk-, JuJuBosc, Shynd (fasm), TOM_RUS (making everyones lives 100 times easier with the Info Dump thread every patch) , and many many more people from the Memory Editing section.

2 comments:

Unknown said...

Greetings from Russian gamers!) I ran into a problem, the next update of PQR with offsets 17055 does not work. Read more: World of Warcraft crashes when you try to activate any of the profiles, as well as the application PQR.exe. My profile Frost Mage. Reinstalled the game - does not help. Please help. Sorry for my imperfect English.

comohacks said...

I have working PQR - Rotation Bot, visit > ohacks.com