or SIGN UP for FREE
Community
Developer
Latest VAC Update: 17.08.08
d2bs v1.0 for
Diablo 2
Status:
- Anti-Cheat Proof:
- Author:
- Release Date:
- Downloads:
- Size:
- Submitted by
- Warden Anti-Cheat
- Sheppard
- 18.02.09
- 617
- 507.47 kb
- CampStaff
Description:
Diablo 2 Botting System, uses the opensource Javascript engine Spidermonkey for executing user program code inside Diablo 2.
Unmodified Readme for d2bs v1.0
Version History:
Version 1.0.1 -
. Added me.getQuest(int act, int questid);
More info here: http://www.edgeofnowhere.cc/viewtopic.php?p=3809445#3809445
. Removed the built-in FCR/IAS hack.
. Fixed Screenhook.remove(); - No longer causes D2BS to crash when the JS Engine tries to free the object.
. Fixed script.getNext(); - Works proper now.
. Fixed a bug in D2CMP.dll that would cause Diablo 2 to crash.
Version 1.0 -
. Updated D2BS to Patch 1.12a.
. Added cGuard Anti-Detection.
. Added getPlayerFlag(int firstUnitId, int secondUnitId, int flag);
. Added EVENT_PLAYERASSIGN event.
Code:
registerEvent(EVENT_PLAYERASSIGN, assignPlayer);
function assignPlayer(unitid)
{
var player = getUnit(0, null, null, unitid);
if(player) print("New player: " + player.name);
}
. Added unit.getEnchant( int enchantid );
. Added getBaseStat:
varied = getBaseStat( basestat, classid, statnum );
0 - items
1 - monstats (&npcs)
2 - skilldesc
3 - skills
4 - objects
5 - missiles
6 - monstats2
7 - itemstatcost
8 - levels
9 - leveldefs
10 - lvlmaze
11 - lvlsub
12 - lvlwarp
13 - lvlprest
14 - lvltypes
15 - charstats
16 - setitems
17 - uniqueitems
18 - sets
19 - itemtypes
20 - runes
21 - cubemain
22 - gems
23 - experience
24 - pettype
25 - SuperUniques
Examples:
// If not killable...
if (getBaseStat(1, monster.classid, 20) == 0) return false;
// Align, on our side?
if (getBaseStat(1, monster.classid, 63)) return false;
. Removed Message() function.
. Removed room.reveal() function.
. Fixed clickParty(partyobj, 3);
no longer causes a crash also it will leave the party now!
. Fixed say();
no longer causes the stack to fuck up!
. Fixed getUnit(type, [classid, [mode, [unitid]]]);
mode finally works on items now aswell!
. Fixed room.getCollision();
Version 0.9.0.4 -
. Added a missing LeaveCriticalSection which caused the scripts to stop.
. Added Maplayer drawing, just define the screenhook type with one of the automap types.
Automap Line : 3
Automap Box : 4
Automap Image : 5
Example:
var sh = getScreenHook();
sh.x = me.x;
sh.y = me.y;
sh.font = 6;
sh.color = 1;
sh.type = 4;
sh.text = "Hello!";
. Added room.reveal(); - allows you to reveal rooms! I included a lite maphack in the scripts folder.
. Added local storage via SQLite. See http://www.edgeofnowhere.cc/viewtopic.php?t=397403&start=0 for the API.
. Fixed playSound(integer soundid); - henceforth it plays all sound ids!
. Fixed the D2BS Logo Background, it was screwed when the resolution was set to 640x480.
. Fixed a bug in the Screenhooks which caused to draw a line if x2 and y2 is undefined.
. Fixed another bug in the Screenhooks which caused a crash.
. The goddamn toolsthread stoppage in NTBot is finally fucking fixed. In fact, scripts randomly stopping in general has been fixed.
. unit.fname and item-related-friends return undefined on units that aren't items. Finally.
. All outstanding compiler errors with the latest SVN source are fixed.
. print now outputs "undefined" if you call it with an undefined value, instead of printing nothing.
. version(1) now returns the version number as a string, instead of attempting to cast it to an int.
. Fixed minor misspellings in various warnings, removed some really stupid warnings that don't need to exist.
Version 0.9.0.3 -
. Fixed Screenhooks, those caused a crash when your script stopped.
. Fixed unit detection
. Fixed an issue with sendCopyData
. Fixed clickItem(), works now well with items that have a height of 4 rows
. Fixed a bug in clickMap, that could cause the bot to stop. Thanks Kimsout!
. gold(int amount, [mode]); has been rewritten.
. Added item.suffixnum along with item.prefixnum - returns the prefix/suffix number.
Version 0.9.0.2 -
. Fixed getArea(), it crashed when you tried to pass a value that is not an integer.
. Fixed getUnit(UNIT_TYPE); - Thanks to lord2800 for pointing that out!
. Fixed stop(); - Will no longer crash if you call it with the command line.
. Fixed print(); - Will no longer crash if you pass a text that is longer than 2048 chars.
. Rewrote Screenhooks!
Example:
sh = getScreenHook();
sh.type = 1; // 0 = Line, 1 = Box, 2 = Image
sh.x = 100;
sh.y = 100;
sh.x2 = 200;
sh.y2 = 200;
sh.text = "I'm a box hook, eek!";
sh.color = 4;
sh.font = 1;
// Using Image hooks works like this,
sh = getScreenHook();
sh.type = 2;
sh.image = "DATA\\GLOBAL\\UI\\FrontEnd\\textbox2";
sh.x = 100;
sh.y = 200;
. Added unit.getStat(-1); - It will return a list of all stats that belong to a unit.
Example:
stats = item.getStat(-1);
for(var i = 0; i < stats.length; i++)
print("Index: " + stats[i][0] + ", SubIndex: " + stats[i][1] + ", Value: " + stats[i][2]);
. Added md5([String/Integer]);
Version 0.9.0.1 -
. Screenhooks do now work out of game!
. Imagehooks do work now again! Simply pass a mpq path or a file path.
Example:
sh = getImageHook();
sh.x = 100;
sh.y = 100;
sh.image = "DATA\\GLOBAL\\ui\\panel\\arrow6"; // loads the out of arrows image
. Added D2BS Loader!
. Renamed "oog.dbj" to "starter.dbj"!
Version 0.9.0.0 -
. Fixed item.shop(); - It will no longer crash when executed minimized!
Version 0.8.9.9 -
. Added Tile Exits to the Exit units!
You can determinate if a Unit is a level exit or a tile exit by using unit.type
1 = Level, 2 = Tile
. Added a new mode to clickItem!
You can click merc items now by using clickItem(3, BodyLocation) or clickItem(3, itemobject);
Valid Bodylocations of the merc are
1 - Helmet
3 - Armor
4 - Weapon
5 - Shield
. Updated me.getMerc(mode);
If you call me.getMerc(1); it will return wether your player has a merc or not.
me.getMerc(2); returns the locale string index, you can grab the name off it by using getLocaleString();
me.getMerc(3); returns the revive cost.
. Fixed EVENT_COPYDATA - Thanks to McGod (Aka Chipped)
. Fixed item.getStat(); - Thanks to lord2800 and Kimsout for pointing that out.
. Updated say(); - works now out of game aswell (You have to be in the chat to use this!)
. Updated print(); - works now out of game aswell (You have to be in the chat to use this!)
. Added a few more CriticalSections
Version 0.8.9.8 -
. Added some CriticalSection code! (Makes d2bs more stable)
. Added getRecentNPC();
. Fixed say();
. Fixed item.shop(); it caused a crash when it was executed while Diablo was minimized.
Version 0.8.9.7 -
. Added unit.direction; (Useful for Missiledodge!)
. Enabled Screenhook clicking!
. Fixed room.getCollision(); Finally works without problems!
. Added getMercHP(); Returns the % life of your merc!
Version 0.8.9.6 -
. Fixed me.gametype (I forgot to add a * ;/)
. Added socket.recv(event); !
. Rewrote the EVENT_CHATMSG stuff
Version 0.8.9.5 -
. Rewrote submitItem(); - Doesn't simulate a click anymore!
. Rewrote unit.overhead(text); - Doesn't spoof a packet anymore!
. Fixed a memory problem while executing events.
. Fixed me.gametype (Should work proper now!!)
. Fixed a bug in the spidermonkey ErrorReporter, it will close the errorlog after it wrote to it.
. Added ExtraWork Check (Will terminate Diablo as soon as a ExtraWork is loaded by Diablo)
. Added CheckRevision Check (Will terminate Diablo if a unknown CheckRevision was loaded)
. Added checkCollision(unit1, unit2, bitmask); // returns if units have line of sight to each other
Bitmask:
bit 0 : block walk
bit 1 : block light + block Line Of Sight (the possibility to see monsters)
bit 2 : block jump (and teleport I believe)
bit 3 : block Player's walk but not Mercenary's walk (weird)
bit 4 : ?
bit 5 : block light only (not LOS)
bit 6 : ?
bit 7 : ?
Return 0 or 1. 0 = Has Line Of Sight, 1 = Does NOT Have Line Of Sight
. Added Socket units! D2BS can now connect to the IRC or where ever you would like to!
Example:
sock = getSocket();
sock.ip = "irc.synirc.net";
sock.port = 6667;
sock.connect();
sock.send("NICK aD2BSSocket\n");
... // What ever you'd like to have here!
sock.close();
. Added item.bodylocation
0 : Not Equipped
1 : Head
2 : Amulet
3 : Body
4 : Right Primary Slot
5 : Left Primary Slot
6 : Right Ring
7 : Left Ring
8 : Belt
9 : Feet
10 : Gloves
11 : Right Secondary Slot
12 : Left Secondary Slot
. Added unit.itemcount
. Added unit.owner; returns the id of the owner (eg, single player, 1 for you, -1 for no owner)
This is meant as an alternative for getParent(); which will be phased out eventually
When used on a missile, returns the id of the owner of the missile
. Added unit.ownertype; returns the owner type of a missile (0 player, 1 npc/monster)
. Added item.ilvl; returns the level of the item.
. Added me.quitonerror; Defaults to 0, set this to 1 to have a script automatically quit if an error occurs.
Not recommended to set this until your script is mature, this is just to prevent the odd misc error from stopping infinite runs.
. Moved to Spidermonkey 1.7.0! Make sure you use the newst js32.dll!
Check the changelog of it here http://www.mozilla.org/js/spidermonkey/release-notes/JS_170.html
New in JavaScript 1.7 -> http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7
Version 0.8.9.4 -
. Added unit.getMerc();
. Added unit.getMinionCount([ClassId]);
. Fixed item.shop(); - Finally item selling works
Version 0.8.9.3 -
. Added some more checks into Unit related functions. It will make D2BS more stable (hopefully!)
. Fixed a bug in getCursorType(); - Forgot to change JSVAL_TO_INT to INT_TO_JSVAL! (D'oh)
. Included a Identifying example into default.dbj
Version 0.8.9.2 -
. Added item.description
. Added getCursorType([optional 1]);
Returns the cursor type of your cursor, pass one to see "Shop Mode" cursor types.
Regular Modes: 1 = regular, 3 and 4 = item on cursor, 6 = id scroll, 7 = shop cursor
Shop Mode (7): 1 = regular, 2 = repair, 3 = buy, 4 = sell
Version 0.8.9.1 -
. Fixed a bug in clickItem! Clicking items right should work now!!
Version 0.8.9 -
. Added JS_MaybeGC to the CallBack function to free not used memory (Which makes D2BS much more stable!)
. Fixed clickItem! Works now proper for stash
Version 0.8.8 -
. Fixed unit.cancel([int type]);
. Fixed a bug that could cause a crash in the unit code.
. Fixed a bug in unit.getParent()
. Fixed a bug that could cause a crash in item properties.
. Added sendDDE
. Rewrote say( string text );
No longer using Packets for this.
Version 0.8.7 -
. Added getRoom stuff. It's similar to the D2JSP functions,
. Added getScript stuff. It's similar to the D2JSP functions.
. Note: I'm remaking the Script documentation.
Version 0.8.6 -
. Rewrote unit.useMenu - Thanks to Darawk for helping me to disable
the padding in the NPCMenu struct.
Version 0.8.5 -
. Added Belt left/shift rightclick to clickItem. I'm sorry about that,
I forgot to add it last version!
Version 0.8.4 -
. Fixed a crash that appeared if you define Text in screeenhooks before
you define the font!
. Rewrote unit.shop(); - It uses now the Diablo II function instead of
sending a packet.
. Rewrote clickItem!
clickItem(button,[other..]); // button: 0=left, 1=right, 2=shift left click(put to belt) params are as follows:
either pass: x, y, location (0,0 is top left, always, 1,1 is one left, one down in the grid, etc
location=: 0=inventory, 2=player trade, 3=cube, 4=stash, 5=belt
Or, if you'd like to simply click an item already in your inv/stash/cube, etc: clickItem(button,item);
Also, you can call your body location: clickItem(body_location);
Version 0.8.3 -
. Fixed a crash that appeared when the SpiderMonkey ErrorReporter tries to
submit a very long crash message. It will print Messages that will crash
Diablo to a file (ErrorReport.log).
Thanks to Chipped for reporting it :~)
Version 0.8.2 -
. Fixed clickMap! It will no longer crash when you call it with a unit!
. Rewrote clickItem!
. Changed compiling settings from MultiThreaded to SingleThreaded (This fixed all HeapFree crashes!)
. Changed CleanUp function
. Added js_strict([bool flag]);
. me.getSkill is now similar to the d2jsp one!
version 0.8.1 -
. Added me properties (Check the command reference)
. Updated the Command Reference at EoN!
. Fixed unit.interact(); <- Didn't work proper with wps.
. Added core chickening..
. Changed clickMap, Unit's will get now namelocked before the actual click gets send.
version 0.8 -
. Fixed getExits();
. Reworked getCollision(x,y);
. Added Control units!
. Added OOG Script ability.
. Added a EVENT_COPYDATA!
The first parameter is the mode and the second is a string.
Example:
registerEvent(pfunc, EVENT_COPYDATA);
function pfunc(a,b)
{
printf(a + ": " + b);
}
. Fixed another crash that appeared when D2BS was about to build a CollisionMap.
. Fixed getWaypoint(int area); - Thanks to Chipped for reporting this!
. Added unit.spectype!
version 0.7.3 -
. Fixed the crash that happened during building CollisionMap & PresetUnit.
version 0.7.2 -
. Added unit.returnNext(); - because Zoxc was slapping me all day for it
. Added clickItem(item || x,y,buffer);
version 0.7.1 -
. Fixed copyUnit, thanks to Zoxc and LivedKrad for reporting it!
version 0.7 -
. Reworked unit.interact();
. Added npc.useMenu( int );
. Added unit.getItems();
- Returns a Array of items in the it has in it's inventory.
. Added unit.getSkill(Mode|Skillid [, Ext] );
if unit.getSkill is called like this unit.getSkill(0, 2);
it will return the current selected right skillname.
Modes:
0 - Right Hand Skill Name
1 - Left Hand Skill Name
2 - Right Hand Skill Id
3 - Left Hand Skill Id
if it's called only with the skillid it will return the skill level.
. Added Party Object. Check the Command Reference at EoN for more informations.
. Added item.shop(NPC Object, mode);
. Added iniread, iniwrite to the core.
version 0.6 -
. Fixed a bug that caused a crash when using copyUnit with a invaild Object
. Fixed a bug in the Screenhooks that caused a crash when you defined
text before a font.
. Added me.cancel();
. Added me.repair();
. Added item.getPrice([NPCObject or NPC ClassId, 0/1 Buy or Sell, Difficult]);
version 0.5 -
. Added Screenhooks!
Take a look at the COmmand Reference
http://www.edgeofnowhere.cc/viewtopic.php?t=377768&start=0
version 0.4 -
. Added unit = copyUnit( unit );
. Fixed a bug in the Core that caused a crash.
version 0.3 -
. Added AreaUnit = getArea ( [int areaid ] );
Example: print(getArea(me.area).name); // Prints out the current AreaName!
. Added ExitArray = getExits ( AreaUnit );
Note: Take a look at the Command Refernece -> http://www.edgeofnowhere.cc/viewtopic.php?t=377768&start=0
version 0.2 -
. Fixed getPath, returns now a fully working Path!
version 0.1 -
. Inital Release

Choose a Category
Search Tags
