KillBots Advanced Semi-Manual PvE/PvP Bot menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 26
  1. #1
    hoobiedoobie's Avatar Member
    Reputation
    29
    Join Date
    Nov 2007
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    KillBots Advanced Semi-Manual PvE/PvP Bot

    Howdy All.

    Blizzard has f*&-ed up Cataclysm beyond repair (Tol Barad anyone?) in my opinion, so I am leaving. When a hard core botter going all the way back to the early days of Everquest thinks things are unbalanced you know Blizzard has problems . However, others might still love WoW, or are willing to wait for Blizzard to fix things, so I would like to give back to the community from which I learned so much.

    KillBots!

    This is now a DISABLED bot , there is no executable just the .cs files. I cannot share the "injection" tools or LUA interpreter that allowed for the bot to manipulate WoW (sorry!) since that code had a lot of advanced Warden avoidance systems and other tricks that I am not going to share. However, I am hoping some of the "logic" or ideas in the C# files, and the very large database of "contexts" I have created can be of use to the community. Feel free to borrow from the code at will and use the ideas in your own bots if you want. If you happen to acknowledge me, that's great, but don't feel obliged.

    I attach therefore my C# bot that is a semi-automatic bot with considerable flexibility. Consider it a "party" bot. In arenas, it can run a party and get arena scores to around 1500 or 1600 (WOTLK) in PvP. My parties of 3 to 5 would simply rock BGs (PUGs are relatively stupid, so much easier to beat). There is a "main tank" that all the other bots follow, and take their lead from, though in fight situations, they will also choose their own actions as necessary.

    NOT an afk bot. Not a walkaway bot. No "speed" hacks or collision hacks. This is for people who still want to enjoy the game, but want to run 5-10 bots at once as their own party or raid.


    Features you will find in the bot:
    • An Access DB with all the situational contexts and actions. Updated for Cata for Death Knights, Warriors, Priests. Will need some work to update for the other classes. Yes, I know Access SUCKS. I just never got around to coding it in MySQL.
    • Program reads the DB in a class specific manner, and then several times per second compares the "state" of WoW against the conditions. If a condition exists, it activates a set of tasks in a queue format.
    • A large "interpreter" code for many more kinds of situations and conditions than I have seen in any public bot.
    • Party format where a main tank (you) is moved semi-manually. The rest of the bot party will follow along (as needed the rest of the party will follow your MT lead in casting mounts, following on foot or in air). Once the MT locks on a target, everything is pretty much automated from there (with key-based options to take manual control as needed).
    • "Steer" and vector-based Class/Project for positioning on battlefield (adapted from the well known, classic Autonomous Steering Behavoirs library) . Bots will followMT as per "Boids" (looks more natural), and positioning on battlefield is based on repulsion/attraction. Basically, with this system you inform the routine of all the positions of your party or PvPs/NPCs/Objects to avoid or move towards and the routine will determine an appropriate crowd-based positioning. Code has ability to look for cliffs and avoid. Totally self-sufficient Project that can be hooked into any other project.
    • A publish/subscribe system for interfacing with a pathserver. Pathserver read the MPQs and gave back paths. ClickToMove was used to move. Correction algorithms to stay away from cliffs, objects etc. I had just finished rehacking the new Cataclysm MPQs when I decided to quit, so sadly I did not get the final version into this package. Happy to upload the "old" pathserver I had if people request it, but it only works with the old MPQs from WOTLK.
    • Publish/Subscribe server was also used for inter-bot communication as needed.
    • A "smart" condition hashing system that only needs to check each "condition" once per cycle. Certain condition checks are costly, so the caching/hashing system sped things up a lot.
    • Conditional moveto systems for pathing. That is, a given situation could activate a task-based call to the pathing system to go somewhere. Easy to set up for your style of play in BGs to make a fully automatic bot that looks real, fights better than most real players, auto-caps, TARGETS cappers immediately for attack to prevent capping of flags, etc.
    • Advanced radar system to display all nearby objects, click on screen for retargeting, automatic radar zoom when in fights to only focus on objects of relevance.
    • Looting/Mining/Gathering code. Blacklisting, etc.
    Added after original post:

    • If there are more than one members in your party that are "seen" in the list, and which are "bots" of yours, then those members will be protected or healed. The logic in the system checks first for your party members listed in the Party class and gives them preferential treatment, but non-bot party members or raid members are then next in preference (protecting and healing).
    • Extremely deep "CanCast" routine that checks movement, LOS conditions, and many other features before it allows for a Context that is going to cast a spell to be called as "true".
    • If a spell to be cast needs a "stop movement", multiple checks to stop movement and wait until ready to cast.
    • A mostly finished CC routine that is meant to "share" CC tasks among the party to ensure all bots don't shoot their CC wad on the same caster, and "parse" out CC tasks to each other to spread the CC gain around the party. Works by the inter-process Subscribe/Publish routine.
    • A "needs to be reworked for Cata" routine that follows diminishing returns for PvP and PvE. Reads auras and spells cast, places them into categories and then calls a spell as "not castable" if it is maxxed on diminishing returns for a given target.
    • Movement depends (corrects/self-heals) A LOT based on an in process LOS function that can determine collision between two points. There is a routine that checks all around a given point, determines if a collision or cliff is nearby, and adjusts the point to move to AWAY from that point. Great for cliff avoidance and bridges and tight spaces.
    • A "jump" routine that looks ahead and slightly to the sides in an oblique angle for an object ahead to "jump" over. It then activates a jump to get over fences, etc. Far from perfect, but better than that bot you see humping the rock for 5 minutes before it times out the server and crashes.
    Database:
    The database is essentially a formalized "if X elseif Y then Z" format with a priority system applied. It was basically to get around the huge spaghetti coding that one usually finds in class specific bot code and allow for large condition sets and priority based task queueing to be set up and re-used. The most flexible coding is the Method and Method_Equal columns (corresponding to similar classes in the C# program).

    Tasks could be queued, and could be anything from casting spells, switching stances, calling for a path to be found and enacted, changing equipment, eating food etc, avoiding certain players or characters... basically anything.

    The access DB provides some rudimentary search functions.

    Program Logic (to help those trying to read this):
    1. Cycles through logic each frame.
    2. A throttle to keep in frame CPU usuage to below FPS time.
    3. Check most relevant states (Health, object positioning, threats, etc.) 5 times per second. Hash and cache conditions for efficiency.
    4. Check for targets/threats. Measure against DB conditions.
    5. Queue up tasks.
    6. Do tasks. Interrupt tasks if certain threat conditions are met and go back to 1.


    Ok, I am biased... but this party bot kicked butt. I could do PvP or PvE. I rarely grouped with others (job constraints), and I frankly liked just doing dungeons and PvP by myself. I was never accused of being a bot, was never banned-- and I ran as many as 10 accounts at once on this at times-- over the course of nearly 3 years. The bots look and act like natural players with a lot of the features I added in. There are nearly a thousand "conditions" set up within the bot DB. Again, my preferred characters were DK and Priest, and they are most sophisticated in the DB, but Warrior and Druid were pretty far along for the Cata redesign-- and I was about to redo the Shaman and Paladin. Warlock is partly in there, and Mage spells are listed but nowork at all done on them. No DB coding at all for Mage or Rogue. I used ElitistJerks.com rotation recommendations for most of my priority spell and action setups.

    Again, don't ask as I simply cannot share the LUA code or the injection code. However, I am happy to answer limited questions on the .CS code. The code, again, is really for more advanced programmers to scrounge for idea scraps. IT WILL NOT RUN and if you pull it up in Visual Studio it will show a zillion errors because the corresponding injection, LUA, and memory read DLLs are removed to protect the ideas behind the inject and anti warden code.
    Last edited by hoobiedoobie; 01-16-2011 at 06:06 PM. Reason: updating information

    KillBots Advanced Semi-Manual PvE/PvP Bot
  2. #2
    Parrky's Avatar Contributor
    Reputation
    146
    Join Date
    Aug 2010
    Posts
    270
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is... beautiful....

  3. #3
    vvvacevvv's Avatar Member
    Reputation
    2
    Join Date
    Apr 2009
    Posts
    43
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Wow nice! And on AV weekend!

  4. #4
    stickybun's Avatar Member
    Reputation
    3
    Join Date
    Dec 2007
    Posts
    37
    Thanks G/R
    4/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    jeez i hope someone picks this up and gives it some love and attention

  5. #5
    TheEnglishGuy's Avatar Active Member
    Reputation
    16
    Join Date
    Jan 2011
    Posts
    197
    Thanks G/R
    20/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I can still use this bot if I want to run 1 for 1 character? So just honor farming with 1 char with this bot?

  6. #6
    hoobiedoobie's Avatar Member
    Reputation
    29
    Join Date
    Nov 2007
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yes, it is possible to use this as a one for one bot. Does not "need" to be a party. I often used it just to take the boredom out of play and key mashing. I know what my rotation should be, why should I give myself tendonitis? The way the Context/Task rotation is done is a priority based system where it tries to do the rotation but if, say, a target starts casting it skips to a higher priority "interrupt". With Cata, for instance, DKs have up to 4 interrupts (2 on Dark Transformation with ghoul, and two DK interrupts-- both sets of which if used properly with glyphs can really keep a caster silent).



    Other features I forgot to add listed below (I will copy them into the main list above):
    • If there are more than one members in your party that are "seen" in the list, and which are "bots" of yours, then those members will be protected or healed. The logic in the system checks first for your party members listed in the Party class and gives them preferential treatment, but non-bot party members or raid members are then next in preference (protecting and healing).
    • Extremely deep "CanCast" routine that checks movement, LOS conditions, and many other features before it allows for a Context that is going to cast a spell to be called as "true".
    • A mostly finished CC routine that is meant to "share" CC tasks among the party to ensure all bots don't shoot their CC wad on the same caster, and "parse" out CC tasks to each other to spread the CC gain around the party. Works by the inter-process Subscribe/Publish routine.
    • A "needs to be reworked for Cata" routine that follows diminishing returns for PvP and PvE. Reads auras and spells cast, places them into categories and then calls a spell as "not castable" if it is maxxed on diminishing returns for a given target.
    • Movement depends (corrects/self-heals) A LOT based on an in process LOS function that can determine collision between two points. There is a routine that checks all around a given point, determines if a collision or cliff is nearby, and adjusts the point to move to AWAY from that point. Great for cliff avoidance and bridges and tight spaces.
    • A "jump" routine that looks ahead and slightly to the sides in an oblique angle for an object ahead to "jump" over. It then activates a jump to get over fences, etc. Far from perfect, but better than that bot you see humping the rock for 5 minutes before it times out the server and crashes.
    To be made to work again, this bot would need a new DLL with an LUA engine, the standard set of abilities to ClickToMove, Collision detector, a WoW Object Manager, and a few other standard features-- all things I have seen around this site. If someone were willing to bundle that I'd be willing to work with them privately or publicly to rework this bot for the community. Right now, I am so burned out on all the changes Blizzard made (every time some moron at Blizz farts they change character play style), plus their major f-ups with gameplay that I just don't want to continue to update this bot by myself. Just contact me here in this thread, or PM me.


    Coming for upload when I get a chance:
    • My old upload MPQ parser that interacted with this bot as a pathserver. A-Star routine was extremely fast, "self healing" with LOS trick above, and had the ability for one to "click" on the mesh to encode "no go" points, and preferred paths. Never got around to needing to reduce the map space with Recast/Detour because more often than not I was only playing in instances or in limited zones-- not traveling from one end of Durotar to another-- so to be honest, the speed (less than a millisecond) I was able to achieve did not require all the distillation of Recast/Detour (elegant as Recast/Detour may be).
    • My first steps to C# wrap the C++ MPQ WoWMapper reader others have made for Cata. I will outline steps I was going to take to merge it with Publish/Subscribe server and the bot above to get pathing working again. Only would take a few days work to finish.
    • An old Collision Detector mapper I made that maps out the space from where you stand by collision. Basically creates a mesh map around you based on collision and "walks" the space around you to create a point cloud. Set to avoid walking up inclines that are too steep. That point cloud can then be passed to a pather. This was something I wrote before I got my MPQ parser to work correctly. All it needs is a collision detect and works "in game".
    Last edited by hoobiedoobie; 01-16-2011 at 01:43 PM.

  7. #7
    Syltex's Avatar Sergeant Major
    Reputation
    23
    Join Date
    Jul 2010
    Posts
    174
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Is it possible to get unit.cs ? Having problems with reading others players buff.

  8. #8
    hoobiedoobie's Avatar Member
    Reputation
    29
    Join Date
    Nov 2007
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Is it possible to get unit.cs ? Having problems with reading others players buff.
    Don't understand what you mean.

    Reading other player's buffs is part of the DLL I had to remove. Again, this code will require someone to write a new DLL, memread setup, and inject code for LUA. I am "out" of that business, and I depended on others frankly for most of that. As I said above, this is no longer a working bot because I removed the memory hacking part, the LUA DLL, etc. A lot of what is needed is scattered around this site-- I have just not seen it wrapped into a single DLL in a public version (or it's in other people's "pay" versions).

    This code posting is for people to get idea scraps. If someone else is wanting to write a public or private DLL that is aware of the needs in my posted code, I am willing to help them in a cooperative effort. Basically, I don't have time to do this all myself anymore, and the DB could probably be made more class-aware with specialists in the various classes (I am good at DK/Warrior/Priest/Resto Druid). So if no one steps up to the plate for that, the code provided is just for others to scavenge (or pity) as the case may be. If someone else wants to step in, I am happy to help get it off the ground.

  9. #9
    TheEnglishGuy's Avatar Active Member
    Reputation
    16
    Join Date
    Jan 2011
    Posts
    197
    Thanks G/R
    20/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So (your english is of a very high lvl and mine is pretty low ) :
    - Its just a script a code which u cant inject yet and use the bot.
    - the script / code should be made to a ddl file so u can inject (with winject?) and then u can ingame open it or something? or is it like a client? and then u can start botting pvp / pve?

  10. #10
    snigelmannen's Avatar Member
    Reputation
    27
    Join Date
    Jul 2007
    Posts
    318
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well it was clear by just reading the first post that this was for people who wanted to develop their own shit, any experienced programmer will be able to implent this into their project, or build something new around it and if they cant, they should just leave.
    " Spy sappin mah sentry! "

  11. #11
    hoobiedoobie's Avatar Member
    Reputation
    29
    Join Date
    Nov 2007
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    thanks sniggels...

  12. #12
    Syltex's Avatar Sergeant Major
    Reputation
    23
    Join Date
    Jul 2010
    Posts
    174
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by hoobiedoobie View Post
    Don't understand what you mean.

    Reading other player's buffs is part of the DLL I had to remove. Again, this code will require someone to write a new DLL, memread setup, and inject code for LUA. I am "out" of that business, and I depended on others frankly for most of that. As I said above, this is no longer a working bot because I removed the memory hacking part, the LUA DLL, etc. A lot of what is needed is scattered around this site-- I have just not seen it wrapped into a single DLL in a public version (or it's in other people's "pay" versions).

    This code posting is for people to get idea scraps. If someone else is wanting to write a public or private DLL that is aware of the needs in my posted code, I am willing to help them in a cooperative effort. Basically, I don't have time to do this all myself anymore, and the DB could probably be made more class-aware with specialists in the various classes (I am good at DK/Warrior/Priest/Resto Druid). So if no one steps up to the plate for that, the code provided is just for others to scavenge (or pity) as the case may be. If someone else wants to step in, I am happy to help get it off the ground.
    Sorry for formating the question poorly, i was in a rush
    As i noticed in your code, you can handle getting the buffs on other players.
    Using the function:
    Code:
    unit.GetBuffs();
    So how does the function look like ?
    P.S Gonna use the info on my own private bot.

  13. #13
    snigelmannen's Avatar Member
    Reputation
    27
    Join Date
    Jul 2007
    Posts
    318
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by hoobiedoobie View Post
    thanks sniggels...
    You are welcome, tired of the muppets not enjoying releases like this. You should request it to be moved over the Memory Editing forum, there it wont be half the amount of people going "plx plx release working version plx"
    " Spy sappin mah sentry! "

  14. #14
    hoobiedoobie's Avatar Member
    Reputation
    29
    Join Date
    Nov 2007
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    As noted by Snigelmannen please, Moderators, should you see this post, can you move this thread to the "Memory Editing" forum? I think he's right.

    Syltex... I cannot go into the programming details, but there are a few ways you can do it. You need a way to use one of the standard LUA call on UnitBuff, UnitDebuff, or UnitAura, with filters and modifiers applied. unit.GetBuffs is basically a wrapper on an LUA call to that function. You have to get the target ID into the LUA call, and that's either easy if you have the unit targeted, or hard (very) if you don't. Alternatively, you can write a WoW addon that interprocesses the information to you (no injection needed) through a server interface if you know what you are doing. I did that for a lot of things, as it meant I never had to read any memory... use Blizz' own coding system to gain access to info normally you have to write memory edits and reads for.

    What, 97 downloads so far and no +REP luvving? <cries>

    ---------- Post added at 03:27 PM ---------- Previous post was at 02:46 PM ----------

    PathServer, TopicBasedPublishSubscribe, and beginnings of the C# wrapper I was writing to update the bot for Cata posted here.

  15. #15
    snigelmannen's Avatar Member
    Reputation
    27
    Join Date
    Jul 2007
    Posts
    318
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Actually gonna look at it, if you are still awake and looking at this, would you mind telling me which version you built this in? where i am now i only have access to vs 2005
    " Spy sappin mah sentry! "

Page 1 of 2 12 LastLast

Similar Threads

  1. [Selling] Manual leveling/pve/pvp services us only
    By Onassus in forum World of Warcraft Buy Sell Trade
    Replies: 0
    Last Post: 06-13-2015, 03:59 PM
  2. Replies: 15
    Last Post: 03-19-2014, 04:50 AM
  3. auto it anti-afk pvp bot
    By Beastslayer in forum World of Warcraft Bots and Programs
    Replies: 13
    Last Post: 05-04-2007, 02:19 PM
  4. Ty for all your PvP Bots...but....?
    By ilove50cent in forum World of Warcraft General
    Replies: 2
    Last Post: 01-13-2007, 04:21 PM
All times are GMT -5. The time now is 06:52 PM. 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