[How to] Create a working, simple pvp/pve/gathering pixel-reading bot in Autoit. menu

User Tag List

Results 1 to 5 of 5
  1. #1
    omg123's Avatar Member
    Reputation
    24
    Join Date
    Apr 2008
    Posts
    213
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [How to] Create a working, simple pvp/pve/gathering pixel-reading bot in Autoit.

    [How to] Create a working, simple pvp/pve/gathering pixel-reading bot in Autoit.

    Intro:

    If this should be in "Bots and Programs" section, I apologize.

    This does not explain the exact coding, as in source code explaining the text, but more of a concept that I used, with some description of how to use Autoit and its pixel commands.

    I apologize for the wall of text crits for 100k.

    Obviously, such a thing will never be as efficient as other bots, nevertheless, I have been using one that I wrote for a while. My inability to code is the reason I went with this, while some (I think) clever choices allowed this bot to work. The risk of warden detection is zero as this does not read/write to memory in any way, shape, or form. This method is also feasible to code just because it does not involve any difficult commands and can be written within several days. Before you start, you should know some of Auto-it, and some Geometry with simple Algebra. (It’s also helpful to use the original UI)

    Pros:
    easy to write
    Simple to understand
    no warden

    cons:
    Plays like your 6 year old brother who memorized the order in which to press the keys.
    Due to the many graveyards it is difficult to gauge where you will be reborn so I have not thought of a way to check that (for pve, pvp is easier, as only one stable gy is available, av is exception).

    PvE:

    First part of writing a bot, at least for me, is establishing a system of movement.

    Movement:

    How would you do this, without reading character’s position from memory? Tomtom!

    Suppose you are in a square area, no trees, just monsters scattered around it. You are at the point (according to Tomtom) [20, 20]. You move to your next point [22, 25]. So on and so forth until you are close to your starting point. This will be your route. At this point, you are the beginning of your path. You need to create a file to read the points in Autoit.

    As for the actual movement from your beginning point to subsequent ones: How I did it was make the character point North, and then using the coordinates I had to move to, and my current ones, rotate appropriately to correspond with the angle of the line connecting the two points. Then, it was a simple matter of finding the distance between the two points. <=These are the parts that involve some Geometry + Algebra. Once you’ve found the distance, you just have to divide it by your speed. Characters will move at varying speeds, so I suggest you find out (or test yourself) your movement speed and then use it. Then, once you’ve found out your distance/speed, that is the time it takes to move from your current point to the next. Send the key “w”, to WoW for the time you need to be at the next point. Once you’ve reached your next point, your bot needs to have stored how much it turned to be at the next point, and turn back to face north (or south. It honestly doesn’t matter which, but for the purpose of making this easy using one of the two).

    Congrats! Movement system effective. All your program now has to do is read the next line in your file which contains the route. The coding might be tricky if you’re unfamiliar with it, but if you look up the commands regarding reading files and/or math ones, you’ll be fine.
    *In all cases, it is helpful to jump during movement at random intervals.*


    The next part is the combat system.
    You should work out a way in which your sequence will go depending on your class. The first attack should be a ranged one to have the monster come closer, as this bot will not move towards it. Once you’ve figured out your sequence, the next part is engaging the monster.

    Nameplate: red bar that appears above characters heads with option on.
    Top left (of screen) nameplate: the opponents…Not sure how to describe but hopefully you understand.

    Like many other Auto-it bots that do not utilize memory-reading, they spammed Tab. This is also what this bot will do once it reaches its next point. Once it has begun to spam Tab, you need to pixel check the color of the top left hand corner where the enemy nameplate or whatever you want to call it, will appear. Once the tab has located a nameplate, it is time to move on your battle sequence. I suggest a time limit to its spamming of Tab, as you might not have an encounter at a point therefore you should move to your next.

    Battle sequence explained in next paragraph.

    (attack from behind + loot) Next: Suppose a monster is attacking you, but comes from behind? This part is a bit tricky and took me a while to figure out. What you need to do is make a relatively zoomed out bird’s eye view of your character, as in, shift the camera location. You also need to have enemy nameplates turned on, and found out the color that is there. You need to use a command in Autoit that allows you to scan the screen to see if a certain pixel color is apparent. Essentially, you need to scan the bottom portion of your screen, and if that red of the nameplate is there, then have your bot turn 180 degrees (again using the known movement speed.) Use your normal combat sequence and check the nameplate at the top left corner with a pixel check until the monster has died. Again, do a pixel scan of the nameplate color red of the screen near you to see if someone is attacking you. If there is nothing there, then it is time to loot and heal. Attempt to click the area in front of you. If you turned to face the monster, turn back so that you are facing North.

    (normal battle sequence)
    Use your normal sequence and check the nameplate at the top left corner with a pixel check until the monster has died. Do a pixel scan of the nameplate color red of the screen near you to see if someone is attacking you. If there is nothing there, then it is time to loot and heal.

    Normal Looting:

    Attempt to click the area in front of you. That’s all there is. Ineffective but it works some of the time. If you somehow pick up a BoP item by chance, there’s an addon that automatically accepts it.

    Healing:
    Use a pixel check for your nameplate in the top left corner to see whether you need to heal/mana up. If the pixel you checked is not blue/green, then you need to heal/regain mana. Have bot press appropriate keys.


    That is the whole explanation for PvE. I’ve covered the basics of movement, engagement, healing, and looting.

    PvP:

    -this is using the same exact code as PvE, but with a few tweaks added in. Here is the best way to do so.

    Joining a BG:
    Have your bot bring up the tab for BG’s and have it join one. This is easy to do, as you just need to have your bot click on certain areas of the screen to join.

    Then your bot needs to know whether it has joined a bg or not. Preferably choose a conspicuous spot in your factions major city. Then, have your bot pixel check for whichever BG you are going into. Suppose you want AV, then bot joins AV, then it waits until your minimaps color is black (since you’re in a cave). Same thing for other BG’s, but I prefer AV.

    Once it has, it needs to know whether or not the game has started. The faction’s logos or flags (don’t know correct term) at the top of the screen once the game has started (or maybe it was something else, but something does appear on the screen as part of the UI once game starts). Then it should execute your movement to be outside of the cave. Next part is running into your opponents base and being useless to your team, but hey, you get honor or exp, so whatever. For AV, you will want the trinket. It will make your world 100000x easier. For the SotA I’ve not figured it out.

    How to go about with the BG’s:

    AV: run out of cave, use trinket, start movement sequence. Try to fight, if you get to end of sequence, use trinket, repeat movement.
    Death: use trinket, repeat movement.

    WSG: make loop through the two bases starting at GY.
    Death: use same loop

    AB: run in a circle through the bases.
    Death: “Follow” a fellow player at your GY.

    EotS: Run in a circle around bases
    Death: Move forward once you’ve died for a short period of time. Prepare to battle as you will be right in front of the flag, and it’ll make it look as if you’re defending.

    Sota: ?

    *In all cases, it is helpful to jump during movement at random intervals.*


    Gathering:

    Flying mount is essential. This will not work otherwise.

    You can integrate this into your PvE sequence.

    Sholazar basin will work best for this, but in essence, if is the exact same thing as your PvE movement system, except slightly altered. You will need to set up a route, and then the next thing you will have to do is pixelsearch the minimap area for the color of yellow that shows up when a node or herb is available. Fly around through your sequence and during the stops between your points, pixelsearch the minimap.

    You will need to calculate at what speed your minimap arrow approaches your target when the minimap is zoomed in 100%, (for greater accuracy). Once yellow is shown, bot should rotate towards the point, store how much it turned, fly towards point, go down, attempt to mine, fly back up, turn back using stored amount, and fly back to the point.

    This bot will work, but it will be slower, more prone to miniscule movement errors, and will die more often. At this point, having explained the various details of how this works, I will not provide my own source code, because there will be discrepancies in colors, used routes, sequences, and many other things that I do not want to have to explain for each user. Good luck!
    Last edited by omg123; 04-18-2010 at 12:07 PM.

    [How to] Create a working, simple pvp/pve/gathering pixel-reading bot in Autoit.
  2. #2
    pauk's Avatar Contributor
    Reputation
    220
    Join Date
    Mar 2008
    Posts
    669
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you could try and use some colours and some flashy pictures, but for know i'll leave you with

    thats right 4 coockies, enjoy

  3. #3
    omg123's Avatar Member
    Reputation
    24
    Join Date
    Apr 2008
    Posts
    213
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by pauk View Post
    you could try and use some colours and some flashy pictures, but for know i'll leave you with

    thats right 4 coockies, enjoy
    Marvelous cookies Thanks. I'll edit the text so that is easier to read through.

  4. #4
    Jiat's Avatar Member
    Reputation
    23
    Join Date
    Apr 2009
    Posts
    53
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    looks good
    + 2
    https://www.mmowned.com/forums/bots-programs/228781-mac-setting-up-pocketgnome-macguy.html
    https://www.mmowned.com/forums/bots-programs/228291-mac-create-your-own-autologin.html
    Use to be Macguy, but i also have a Windows so..

  5. #5
    omg123's Avatar Member
    Reputation
    24
    Join Date
    Apr 2008
    Posts
    213
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Jiat View Post
    looks good
    + 2
    Thanks!

    If there's anything people would like clarified, I'd be happy to do so.

Similar Threads

  1. PQR or other bot for pvp & pve working on patch 2.4.3 TBC??
    By huhuking in forum WoW Bots Questions & Requests
    Replies: 2
    Last Post: 05-20-2015, 10:22 PM
  2. [Selling] 5823 Resto Druid with pvp/pve (works for both) offspec bear 35k UB
    By SacredSpenny in forum World of Warcraft Buy Sell Trade
    Replies: 4
    Last Post: 07-28-2010, 09:06 PM
  3. How to create a working registration page for MaNGOS rev 6399
    By Insanity in forum WoW EMU Guides & Tutorials
    Replies: 22
    Last Post: 12-05-2008, 03:49 PM
  4. Exploit: Create lag as rogue in PVE/PVP
    By Wildrake in forum World of Warcraft Exploits
    Replies: 14
    Last Post: 07-09-2008, 02:27 PM
  5. How to create custom NPC's the easy way!Works for all versions!
    By MissMurder in forum WoW EMU Guides & Tutorials
    Replies: 2
    Last Post: 12-05-2007, 08:06 PM
All times are GMT -5. The time now is 07:11 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search