or SIGN UP for FREE
 
Search for Cheats (BETA)

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
  • 525
  • 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

Copyright © Cheat-Project 2007-2009