About this manual, how to find help, and how to get started...
If you are reading this, you have come to the right place to get started using MMbot! This guide is designed to be a supplement to the included MMbot manual. I will attempt to elaborate on things that the official manual doesn't explain clearly. The very first thing you must do is download the latest MM.bot package Here In the Downloads section of the MMforums. The official MMbot manual is included with the MMbot download package. Simply open mm.BOT.MANUAL.htm in your MMbot root directory after extracting the bot files to your harddrive. Only read this guide after you have read the included mmbot manual. If you are still experiancing problems after downloading the bot and reading the included manual, this guide will attempt clear things up for you.
Although the included manual is quite good, it is also old and in need of updating. It is also rather brief and for someone that is new to the bot I can see how some of the instructions can be confusing so I will try to go into some extra detail. However, the original information is still good and therefore much of this document is either directly quoted, or paraphrased from MM's manual. It also doesn't cover everything, so if what you're looking for isn't here, look in the included manual, or search the forums.
The MMbot forums are an excellent resource for mmbot. Here you will find many mmbot related guides that aren't available anywhere else, and this is also the official place to download mmbot and related files & scripts. Visit us and remember to read the Forum Rules and stickies before posting questions.
Firstly, I would like to clear up some misconceptions about MMbot. MMbot is NOT the work of a large group, nor is it open-source and developed on a large scale. The bot itself is the sole work of Manus-Magnus, with a few components designed by others, but the vast majority was written by MM. Therefore, this bot is not designed or intended to be the most user-friendly of bots, nor will it work perfectly for everyone. Also, this bot is freeware! The bot and all associated sequences, scripts, and add-ons are developed in the freetime of their respective authors, and should never be sold for money.
If you intend to attempt botting with MMbot you should be comfortable working with windows. You should know how to add & remove programs, troubleshoot common computer problems, and navigate/work with the windows filesystem.
You should be fluent with Diablo II. You should be very familiar with items, item statistics, and the usage of items, as well as the game economy in your realm. You should be familiar with characters and know how to properly build all of the 'cookiecutter' character builds. Therefore, I recommend a good solid year or more of battlenet experience. Without this, All the items in the world and a bot won't help you one bit!
Having experience in scripting or programming is a big plus. Or experience with other diablo bots such as d2jsp. It is very helpful to have experience in debugging scripts and you should know the function of an ini file and how to set one up.
MOST IMPORTANTLY! you need to be able to follow directions & have the patience to read all bot documentation. You should be able to follow the instillation instructions, and be able to research problems in the bot forums. If you can't do this then this bot is not for you.
Things this manual will not cover:System Requirements: Quote: ‹ Select › Operating system must be Win2000 or superior. Win98/Millennium does not work.
- Things that are already well documented in the included manual.
- The FAQs section will not be repeated here. Read them in the included manual and forum stickies.
- Sequence editing, and advanced configuration of sequences will not be covered here. Read the "Seq Commands" section of the manual and other forum stickies for information on this.
- PKID configuration and syntax (pickit). Read the manual and search the forums for info on this.
- Autoit scripting.
1++ Ghz CPU is recommended, but some people have made it work at 600 MHz.
This bot was created from a windows Xp 2.6 Ghz computer, 1024*768 16bit.
Classic Windows theme was used, but you can use "Normal XP" Theme.
Note: MMbot will work with many windows shell replacements. I tested it to work on both Aston and BlackBox, and I assume it works on other popular shells such as Lightstep.
What is MMbot? What is AutoIt? How does it work? Is it safe?
MMbot is written in an opensource scripting language called AutoIt. "Autoit is a freeware BASIC-like scripting language designed for automating the Windows GUI. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages." So basically it is a 'windows robot' that can simulate any task that a human could perform. MMbot operates by reading your diablo window for pixels of certain colors to determine the location of your character, and sends input by simulating mouseclicks and keyboard strokes. If you want to learn about Autoit script, visit their website. The help file that comes with Autoit is quite good and includes just about everything needed to learn Autoit besides a brain.
MMbot uses a MOD that changes some of the ingame graphics. The bot can then use these changed graphics as reference points. By scanning the pixels of the game window we can determine the location of monsters, and other markers, allowing near perfect pathing for Npc, Monsters, and items management. Game mods, although detectable, have always been allowed and included as a 'feature' in Diablo. Since the bots only source of information is the image displayed on the screen, we are pretty much limited to targets that have a 'static' location. Monsters in areas with maps that generate randomly are impossible to bot because we have no way to navigate through them. Current bosses that are possible with MMbot are: Pindleskin, Eldrich, Shenk, and Travancal. To use the mod, you must use the parameter -direct. To use the modded text, use the parameter -txt. (council)
MMbot operates without any hook/hack in game memory space and thus greatly reduces detectability. This is the only bot created so far that is 100% Autoit/pixel detection based. Battlenet uses an anti cheating software known informally as 'Warden''. The Warden scans diabloii memory for modifications in its code and searches for known hacks. Since MMbot operates without the need for modification to this code, it can act as a human player would.
One of the most powerful things about MMbot is you tell the bot exactly what to do. The bot uses character scripts, aka 'Sequences', which give the bot directions on what actions to perform in game. All actions performed by the bot are derived from a sequence of commands that includes locations of all mouseclicks, keyboard, strokes, delays, teleports, weapon switches, attacks, etc. Configuring the script correctly is of great importance to getting your bot working properly. Sequence construction is outside the scope of this guide, however it is very important that you find a sequence for your mm.BOT.sequences.ini that matches your character build. Refer to the included mm.BOT.manual for detailed instructions on sequences. And read the sequences section of this guide.
Installing the bot:
- Download the latest mm.BOT version (a zip file contains the bot itself.) You can get it in the downloads section of the MMforums.
- Once you downloaded it, extract it (keeping the folders structure) anywhere you want on your hard drive.
- Download latest mm.bot.mod version (another zip file that contain a d2 mod)
- Copy the "\data" folder from the MOD into in your \Diablo II folder. Example: " C:\Program Files\Diablo II\data"
Configuring the bot:
- Set windows display to 16 bit video mode and at least 1024*768 resolution. The bot will not work at a lower resolution or at 32bit video. To do this Go to the control panel/display and configure your screen settings from the 'settings' tab of the display properties menu.
- Video properties for Diablo2 must be set to Direct Draw. To do this simply run the "Diablo 2 video test" again and force it to "Direct Draw" and NOT "Direct 3D" (located in your Diablo II install directory.)
- The Diablo 2 screen resolution in game must be set to 800 * 600 resolution. Set all ingame graphic options to their lowest setting to get maximum performance and best reliability out of the bot.
- Ensure to set up D2 videos options to remove graphical effects like rain. Basically the simpler the graphics, the better your botting result will be. All of these graphical options must be correct for MMbot to read your screen colors properly. If any graphic setting is incorrect, chances are you won't get very far without an error.
- Fill up the belt with only Rejuvenation or Full Rejuvenation Potion. For many good reasons, MMbot is not compatible with healing or mana potions, and there are no plans at this time to integrate these into the bot. A properly configured character and sequence should easily be able to handle botting with rejuves only.
- Your character must start in act5 when the bot is run. (Act5 WP, WP to frigid highlands, and Anya red TP to pindle's courtyard) For trav sequences its okay to start in act 4. There is currently no integrated feature to start in any other act.
- A full Tome of Town Portal is required in your inventory if your sequence uses town portals (most do.)
- Mercenary should be alive and default bot and most sequences require you to have a mercenary. A merc is always highly recommended.
- You should have a relatively powerful character for the area you are doing. Almost all sequences require teleport and it is highly recommended to use enigma if you aren't using a sorc. Walking scripts are few and they aren't nearly as reliable as a teleport script.
- Use as few charms as possible to maximize room for items you pick up, keep them all together and contiguous along the right side of your inventory.
- Have enough gold on hand to resurrect your mercenary.
- Don't have Identification book in your inventory
- Always be in "running mode". not "walking mode"
The following is a list of files that need to be configured properly according to the instructions detailed in the official MMbot manual, and in this guide. All config files are located in your mm.BOT\Config folder:
mm.BOT.ini configuration:
- mm.BOT.ini is the main config file for MMbot.
- mm.BOT.sequences.ini is where your character sequence script is located and configured from.
- mm.PKID.ini is your pickit & item configuration.
- mm.MULTIKEYS.ini is where mmbot is configured to run multiple Diablo II cdkeys.
mm.BOT.ini is the main config file for MMbot. It contains variables that are read and used by most of the internal MMbot functions. Descriptions of every mm.bot.ini variable are located in comments in that file, so i will only explain common problems and elaborate in this guide. Be sure to go through the entire file, reading every description carefully and setting all variables according to your specific needs.
About Delays & RealmDowns
One of the first major sections of the mm.BOT.ini config file is for delay configuration. These settings determine How many runs you will do at a time, The amount of time to pause between this amount of runs, and the delay between each individual run. These settings depend greatly on the number of keys you intend to use, and your runtime. The general rule of thumb is 20 runs/hour/key to avoid realmdown. In my own experience about 200 seconds/run/key is minimum to avoid realmdowns over a short period of time. A million questions have been asked about guidelines for runtime/keys ratios and the settings they should use for this. Ultimately it will take trial and error on your part to figure out effective delay settings. Search the forums if you are looking for advice on this matter.
See the MultiKeys section for info on botting with multiple keys.
Mercenaries
There are many opinions about how to set up a merc, but it is generally agreed that for botting having a merc is much better than not having one. If you don't have a merc I think you are better off spending your time getting merc gear and leveling him up than trying to figure out how to modify your bot to work without a mercenary.
A mercenary serves several functions. Probably the most important is distraction. The mercenary will take a lot of hits that your character would otherwise have to take, and in many cases mercs can take hits better since mercenaries generally have quite a bit of life leech. Secondly, mercenaries can have auras. From regenerating your mana to freezing enemies, Extra auras can give HUGE advantages. Especially with act2 mercs you can really get a lot of stacked auras. Probably the least important, but still relevant, is that they do damage. If a mercinary makes a kill, his MF is compounded with your own & increases the magic find calculation for that kill. If you have a sorc that is trying to kill enemies that are immune to your attack, a merc will work on finishing off monsters that your elemental damage can't take. (botting versus immune monsters is not recommended)
Quote: ‹ Select › ‹ Expand › Good items for a merc:
- Freeze aura, slow, or decrepify.
- Life Leech.
- Reduce physical damages.
- Cannot be frozen
- Elemental resistances
- Increase attack speed.
- Hit Recovery.
- High Defense.
The freeze merc is easy and cheap, BTW it should be the best merc
for most of people. The unique thresher & decrepify make it the best
protector.
If you absolutely insist on not using a mercenary, your must do two things. First, disable merc functions in mm.bot.ini in the life & merc section. set Char_UseMerc = No & Char_HealMerc = No. Second you need to remove all CML entries from your sequence file. See the next section for info on this. FAILURE TO DO THIS WILL CAUSE ERRORS.
Life Checking & Healing
The MMbot method of life checking isn't constant. In your sequence file (mm.SEQUENCES.ini) you will notice the commands: 'CLM' and 'CML', which stand for 'Check Life Mana' and 'Check Merc Life' respectively. Your life and mercs life will only be checked and pots drank when these functions are called. Potions will be used if your life or mana is < the designated % as configured in mm.bot.ini. It is usually a good idea to only check life periodically and when very important like during attacking because running the check functions takes time, so you want to keep your bot working as efficiently as possible. REMEMBER MMBOT DOES NOT SUPPORT HEALING AND MANA POTIONS! DO NOT leave these on your character when botting! The bot needs to be able to pick up rejuvenation, and full rejuvenation potions. To do this make sure these lines are in the Xrares section of your mm.PKID.ini: Code: ‹ Select › "Frpot" = "Sold"
"Rpot" = "Sold"
Gambling
Yes the bot can gamble. This is explained quite well in the mm.BOT.ini comments section. Weather or not to gamble is pretty much up to you. Gambling can be a slow process and if you feel you get more from doing runs than to gamble, you may opt to not gamble at all by setting your gamble start gold higher than the max gold your character can hold. However if you suffer from realmdown problems, gambling can be a great way to kill time and is certainly preferable to having MMbot sleep that time away.
Keyboard Settings/Keys
This configuration generates more questions/complaints than all other aspects of the bot combined. MMbot reads all keyboard configuration settings used by internal bot functions from this section of the mm.BOT.ini. Ingame keys are configured in your ingame options menu. 99% of the time your untouched keyboard configuration for Diablo II will not match the default settings in mm.bot.ini. If these keys are not configured correctly you will receive an error message explaining this. The following is what this section will look like if you are using the untouched default keyboard layout for Diablo ii:
Code: ‹ Select › ‹ Expand › Char_Key_ClearScreen = SPACE
Char_Key_Switch = w
Char_Key_AutoMap = TAB
Char_Key_Inventory = i
Char_Key_ShowItems = ALT
Char_Key_PotionsRow1 = 1
Char_Key_PotionsRow2 = 2
Char_Key_PotionsRow3 = 3
Char_Key_PotionsRow4 = 4
THE 'CLEAR SCREEN' KEY IS NOT THE SAME THING AS 'CLEAR MESSAGES'!!!!!!!!!!! The default for clearscreen is "SPACE". You can find this ingame near the bottom of the keyboard layout configuration and is literally called 'clear screen' NOT 'clear messages.' From now on all questions regarding this matter will be locked and ignored and you will be warned for not reading the manual!!
Delays
The final [advanced] section of mm.bot.ini is where you will find most MMbot related delays. These are all explained pretty well but i want to stress the importance of a few of them. Remember all MMbot and Autoit delays are in milliseconds unless otherwise specified.
Firstly, the WEOT_MiniDelay is the main delay affecting your teleportation. Whenever the WEOT function is called in your sequence file, the bot will pause and wait for your teleport to complete. This delay is the delay before this scan begins. this delay will be based on two things: FCR, and Lag. if you have high fcr and fast internet/pc, you will want a lower delay here to accommodate faster teleports and more efficient botting. If you have a laggy computer, low fcr character, or tend to miss a lot of teleports, increasing this delay will increase reliability of the bot. FCR is very important to efficiency and is just as, if not more important than magicfind.
The second most important is the Char_CheckMoveDelay. This is explained in the description. If your bot has a lot of in-town pathing problems and fails in town frequently, try increasing this delay. If all else fails increase the other delays, most notably the D2_FastClickDelaysRange.
MultiKeys
One of the most powerful things about MMbot is the capability to use multiple Diablo II cdkeys and alternate between them periodically. This can avoid realmdowns from overbotting on a single key. The bot will swap keys every "Extra_RunsAmount" Runs. To enable the use of multiple keys you need to do two things: Open up mm.MultiKeys.ini and follow the commented directions about adding your cdkeys to the file. A complete keyset consisting of d2 and d2expansion keys are required for each key you wish to bot on to avoid realmdowns. Secondly, you must set D2_MultiKeys = Yes at the very top of mm.bot.ini.
Sequences
Sequences are the heart and soul of MMbot. The sequence file: mm.BOT.sequences.ini, contains all of the instructions your character will follow while botting. MMbot itself merely interprets these sequence commands and runs internal functions associated with them. Trying to use MMbot with a sequence that wasn't written for your character would be like trying to type a paper with Adobe Photoshop, when you really need Microsoft Word!
As a beginner the most important thing to know about sequences is where to find them and how to configure them. Visit the Sequences section of our forum for a listing of sequences. If you open up your sequence file, You will see that the default sequence included with MMbot is designed for a Lightning Sorceress.
Most current sequences use variables to configure them. At the top of your sequence you will see a section that looks something like this:
(Excerpt from Ramadash's hammer seq)
Code: ‹ Select › ‹ Expand ›
@Skill_BattleCommand=f5
@Skill_BattleOrder=f6
@Skill_HolyShield=f4
@Skill_Teleport=f1
@Skill_Concentration=f3
@Skill_HoldPosition=Shift ;aka standstill
@Skill_Vigor=f7
@Skill_Redemption=f7 ;set same as vigor if you don't have
@Skill_TownPortal=f8 ;a must
;delays
@Del_SwitchSkill=50
@Del_Precast=400
@Del_WEOT=2200 ;the timeout for WEOT(timeout)
@Del_AttackTele=900
@Del_AttackKeyDown=200
@Del_PickitCheckLife=600 ;this is the PICKIT(delay) delay
@Del_AfterTownPortalCast=600 ;how long to wait after casting town portal
;attacks timeout's
@Timeout_Eld=7000 ;how long to attack eldrich after PreAttack
@Timeout_Shenk=20000 ;how long to attack Shenk after PreAttack
@Timeout_PreAttack=2000 ;how long to standstill doing hammers befor starting tele-on-those-bastards attack
@Timeout_Pindle=10000 ;timeout for pindleskin (remember there is no PreAttack here)
@Timeout_TravPreAttack=5000
@Timeout_Trav=60000
The author of your sequence will usually have some instructions for configuring the sequence variables. Here you must set up all of your ingame hotkeys that pertain to the sequence, and sometimes other variables such as delays. This is equally as important as as configuring your hotkeys in mm.bot.ini, only these keys are used in your sequence rather than by the bot itself.
If you are using a hammerdin or another character that uses the shift key by default to standstill and attack with the left mouse button, the shift key will not work. Ingame you have two different keys you can assign to each function (primary and secondary.) Set a secondary key that is not in use to the standstill function and call it in your sequence instead of shift.
For information on writing and configuring sequences, and for a listing of all sequence commands, refer to the seq commands section of the manual. and read the forum stickies & guides.
The 'Switch' Command
The bot has the ability to switch weapons, usually for the purpose of casting such as from a CTA on switch. The bot detects this weapon switch by looking at the left skill box. If you notice, if you have two differant skills assigned for each weapon switch, whenever you switch weapons, the skill icon in the box will also change. MMbot looks at this icon to determine if the weapon switch was successful, therefore you must have a different skill assigned to the right skill for each weapon switch. I usually use regular 'attack' and my main skill as the two skills, but it doesn't matter so long as the image is different. If you use the same for each there will be no difference in image and the bot will not be able to detect the switch and you will receive an error message explaining this to you. From now on all questions regarding this matter will be locked and ignored and you will be warned for not reading the manual!!
PKID
mm.PKID.ini is where you tell the bot which items you want it to keep. The bot reads your ingame text by looking at the modded binary data written underneath all text. The pkid is a 'whitelist' of items that you want the bot to keep. Only items in your pkid will be kept, therefore it is very important to configure this file to your specific item needs. Look at the included pkid as a reference, and read the manual for instructions on configuration.
Running the Bot
Launch mm.BOT.5xx.exe, You can stop it at any time by pressing <END> Key.
You can also pause it by pressing the <PAUSE> key, just ensure you put the bot in
same "situation" before press <PAUSE> again to restart it.
Note: The <PAUSE> usage is only possible once you have done more than 1 run.
PlayMode
you can use the bot as a stand-alone Diablo II launcher
for normal playing; adding the "Play" parameter in a shortcut that point to bot
executable. Advantage is an input box that will ask you which Cd-Key you want use.
Complete the mm.PlayKeys.ini file and check this great feature, recommended.
Log Files
You have logs of bot activity in \Logs folder... If you want identify your problems
or check the history of the day read the bot_events.txt file. This file is essential for
support and gives you important tips.
Also note you got some executables in this folder, you can archive/delete your logs
and especially make search in them, as example to know errors of the days, or
total stats, or searching for specific dropped items... This tool is just useful. Whenever asking support questions regarding errors, please include the portion of your error log that includes the error that occurred: (any line beginning with [E])
Add on Scripts
Some sequence authors may decide to include scripts written in Autoit. These scripts will perform special tasks not possible with internal MMbot functions. If your sequence calls such a script, you must also have the corresponding script located in your MMbot/Scripts folder. You will also be required to download Autoit from http://www.*****.com. Installing autoit allows you to run .Au3 files.
***autoitscript***
Guide found at http://*****.omnesia.net/modules.php...ewtopic&t=1242 ***mmforums***
Bookmarks