Diablo 2 d2hackit bots guides:
Andybot FAQ
Andybot install
IDBot for JHJPBot
JHJPBot install
JHJ FAQ
D2HackIt | D2HackIt Modules | D2HackIt Bots
Guide to IDBot for JHJ PBot by Vahn Titrio
What is it?
A d2hackit module very similar to mover. It identifies items and decides based on the item's mods whether to keep it or not.
Where do I get it?
downalod/bots section
What else will I need?
If you have a working JHJ pbot you shouldn't need anything else.
If you do not have a working JHJ pbot download it in bots section
Is this bot safe?
There is a risk of banning with all bots and programs. Use them at your own risk.
A Warning
The default settings for this module are set very high (IE it only keeps 14-15% nightwings, it tosses any that are lower). Configuring the settings is somewhat difficult. If you are inexperienced at configuring such programs it is recommended that you stick to the mover and use your own discrepancy on items.
Setup
IDBOT INSTALLATION:
1 Extract the files in IDBOT1.zip to the plugin folder where your JHJ bot is located. (Make sure the files are in that folder and not a sub-folder.)
2 Open D2HackIt.ini and change the following line:


If you had mover installed, you must take it out of your Autoload list. This is because it would interfere with IDBot�s own/better mover.
IDBOT is now installed.
IDBOT CONFIGURATION:
Open IDBot.ini and edit it as follow:
click here to view image
A Second Warning
If you do not configure the id column settings correctly, you may lose any charms that are in your inventory.
Englishified Identify.ini
This is an English interpretation of the identify.ini file. Read that to learn how the arithmetic logic works.
In your textpatch.ini there is a list of unique, sets, and other things, and their corresponding number. In the Identify.ini, only the numbers are used for the unique and set items.
If an item does not appear in the identify.ini, it will keep all of that type of item.
If an item appears in the identify.ini, then the item needs to =1 after the arithmetic and non-arithmetic operators to be kept. If the item =0, it will be dropped.
There are 5 sections headings [Unique,[Set],[Rare],[Magic], and [Normal]
Item's must be listed under the correct heading.
NOTE :::::::: ALERT!!!!
If you haven't read the commented intro identify.ini DO SO NOW
I STRONGLY RECOMMEND YOU READ THIS IT WILL GIVE YOU A CRASH COURSE IN CONDITIONAL STATEMENTS WHICH YOU NEED TO UNDERSTAND IN ORDER TO WRITE YOUR OWN WEAPON CODES
I can not stress this enough, if you don't know what a conditional statement is, or you are not sure about them, please read the Identify.ini file which will briefly describe them and how they are used in the IDBot, he offers some simple examples on how to use them, but i felt they were inadequate in describing how the Bot really works.
This guide will benefit those that have read the intro to Identify.ini , or those who understand conditional statements. If you don't fall into those two groups you will only confuse yourself, so go read the ini file.
--------------------------------
ID Bot's Conditional Symbols
You must first understand what the symbols mean
, means and
| means or
() parentheses , if you remember math it means that is evaluated first
: greater than, the stat on the left of the colon must be greater than or equal to the amount on the right
Most codes are organized with sets of attributes in parentheses and if you want to make your own codes you should write it like that so that the wrong attributes are not being tested and you either get crap items or miss out on good items!!!!
With that out of the way, hopefully you are ready to learn!
------------------------------------------------------------
Understanding The Code
Note: The Code is extremely long so for readability it is either made smaller or separated into two pieces, try not to let this confuse you, it is always one code and even when it is small it is no less important!
Take for example this typical item code in Identify.ini
Code:
7gd=(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0
|eth,(ias:20,socket:2|ias:40),(edmg:350|edmg:280,maxonlvl!=0)
Oh no, looks pretty long and scary, you'll never be able to decipher that!!
WRONG
Just break it down piece by piece to understand what it is saying.
7gd=(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0
|eth,(ias:20,socket:2|ias:40),(edmg:350|edmg:280,maxonlvl!=0)
This is the item code, 7gd means colossus blade so the item in question here is the colossus blade
(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0|eth,
(ias:20,socket:2|ias:40),(edmg:350|edmg:280,maxonlvl!=0)
Note: That part is small only because it is so long, it is not unimportant in any way
The rest of the code here is what determines if it should be kept or dropped, so we will take a closer look at it.
The code for this item is broken up into 3 major parts:
(ias:40|socket:2)
This first says that it must either have 40 ias or 2 sockets
(edmg:350|edmg:280,maxonlvl!=0)
This second part says that it has to have either 400 enhanced damage, or it must have 250% Ed and +max damage (based on level)
eth==0
This last part says that it must be non-ethereal, but if it is ethereal then it follows a different set of rules.
eth,(ias:20,socket:2|ias:40),(edmg:350|edmg:280,maxonlvl!=0)
If it is ethereal it needs to have 20 ias and 2 sockets, or 40 ias.. then it also must have 350 enhanced damage, or 280+ enhanced damage with added max damaged (based on character level)
These attributes are only applied if the test "eth==0" fails, since that test occurs first if it fails, the test eth goes into place (since if it is NOT eth, it must be eth.. duh). That is why those second attributes are used instead of the first ones.
Based on this formula a non-ethereal weapon must have higher enhanced damage, since it has lower base damage higher stats must be found on it. It must either have 40 ias, or 2 sockets. If the item found has 40 ias and one socket it will be kept, but if it has 30 ias and 1 socket, it will be dropped.
It sounds confusing but the code must be long for items like this since there are many different combinations of stats that would be acceptable, by making the code consider many combinations of stats you ensure that you get an item you want, and don't get stuck with items that suck an take up your valuable stash space.
(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0
|eth,(ias:20,socket:2|ias:40),(edmg:350|edmg:280,maxonlvl!=0)
As you can see the item is broken up into two major parts, the first is an evaluation for ethereal and the second is one for non-ethereal
The bolded part is for a non-ethereal CB
This part I will be focusing on
(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0
The bolded part here checks two basic properties, if it has 40 ias, or if it has 2 sockets (the | symbol means or)
If either one of these is true then the whole function is evaluated as ONE (this is described in better detail in the Identify.ini)
So if it has 40 ias or 2 sockets the first part passes
(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0
This is the second test
If it has 400 or more Enhanced Damage it passes or if it has 250 enhanced damage and adds to maximium damage based on level then it also passes this second test.
The Third and final test is to see if it is ethereal or not, if it was ethereal this test would fail (however, since there is another test for ethereal weapons it would continue to test the weapon with a new set of attributes).
-----------------------------------------------------
Example #1
Now lets take for example the following colossus blade
423% Enhanced Damage
1 socket
50% increased attack speed
+6 life stolen per hit
+5 to strength
now look at the item code :
7gd=(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0|eth,
(ias:20,socket:2|ias:40),(edmg:350|edmg:280,maxonlvl!=0)
It is not ethereal so automatically the "eth" test fails and that part of the code can be ignored since it is not true. Note that the second part evaluates as a ZERO but since there is this symbol " | " which means OR, one side can be ZERO and the other side can be ONE and it will still pass.
7gd=(ias:40|socket:2),(edmg:400|edmg:250,maxonlvl!=0),eth==0
The first part of the code is tested, since it has 50 increased attack speed it passes, it failed the 2 socket test, but it only needed one or the other, so the item is still a keeper.
The next test is either 400 enhanced damage, or 250 enhanced damage with + max damage based on character level.
This sword has 432 enhanced damage and passes this test.
The item is not ethereal so it passes the eth==0 test as well
This item will be kept.
---------------------------------------------------
How it Works
When a test passes it is evaluated as 1 (Described in detail in identify.ini)
So (ias:40|socket:2) = 1
and (edmg:400|edmg:250,maxonlvl!=0) = 1
and eth==0 evaluates as 1
that leaves u with 1,1,1
each comma represents an AND logical test (Again , described better in identify.ini)
since they are all ones the whole statement evaluates as a 1 and this means it is a keeper.
I realize that was long but hopefully you understand HOW it works now and you can add your own items in which you want to keep.
If you need more help with this post an example item and i can make a code for it so you can see how it works
Note : Don't be lazy and do this for all your items, only for educational purposes only if people are making me write codes for a bunch of items I will just stop helping.
Buy Diablo 2 Cd Keys, FRESH from BOX!

Diablo 2 Newsletter
Questions, ideas, problems, wishes?
Be informed whenever something new comes up
(or any important problems are fixed.).
You can unsubscribe from this newsletter at any time.
|