The Edge of Nowhere Forum Index
The Edge of Nowhere
Guests, register! See signatures, avatars, and more forums!
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
Home | Forums

The time now is Tue Feb 09, 2010 3:28 amAll times are GMT - 5 Hours
Navigate
News
WoW
Diablo II
D2BS

Log in
Username:
Password:
Log me on automatically each visit
D2BS

[BETA] D2Driver - the alternative game manager
As those of you who hang around IRC know, I've been working on an alternative game manager for quite some time now. I've finally gotten it semi-stable and what I would consider feature-complete. For now. So I'm deciding to beta test it to a wider audience.

Download: here

NEW VERSION
I added a bunch of fixes based on user feedback, as well as some new features. Now D2Driver includes a run stats viewer (very rudimentary for the moment, only tracks some very basic stats) as well as a script manager. Read the readme below (or included with the release) for more info about the script manager.

Code:
D2Driver
--------------------------------------------------------------------------
D2Driver is an alternative game manager for D2BS. It focuses on simplicity
and ease of use over features and flashy GUI. It sports a clean layout, a
profile and settings editor (to simplify the installation process), and a
new starter script.


INSTALLATION INSTRUCTIONS
--------------------------------------------------------------------------
Copy the contents of the zip file into your D2BS directory. If you run
your bot from a folder other than scripts, copy starter.dbj and the libs
folder from the scripts folder into your bot folder. That's it! Everything
else is handled automatically. D2Driver will pick up on your existing
settings and profiles.


RUNNING INSTRUCTIONS
--------------------------------------------------------------------------
Open D2Driver.exe, select the profile tab you want to run (you can run
multiple profiles if you wish), click the enabled checkbox (beta bug: the
checkbox isn't saved between runs *sigh*), and click start. The rest
should Just Work(TM).


SCRIPT MANAGER INSTRUCTIONS
------------------------------------------------------------------------
The script manager is a new feature of D2Driver. It allows you to keep
up to date with your script. When you click on the Manage Scripts button
a new window pops up and displays available scripts and existing scripts
in two list boxes. Highlighting an available script and clicking on
"Check out" will download the script and put it in your D2BS folder.
That moves the script to the other list box--the Current scripts list.
Highlighting a Current script and clicking on "Update" will update that
script. Using these two mechanisms, managing scripts is as easy as a
single click.

lord2800 @ Wed Dec 30, 2009 4:51 pm     Comments  |Views: 1436  Replies: 17

D2BS v1.1.2 - Release Thread
D2BS, short for Diablo 2 Botting System, uses the open source Javascript engine named 'SpiderMonkey' to execute user scripts inside of Diablo 2. D2BS can be used to make Diablo 2 do almost anything that can be done in the game by a human player.
D2BS does not try to exploit any bugs in the Diablo 2 code, the Battle.net protocol or game servers; it only simulates a real player.

Binary Download: here

Source Code: here

Visual Studio 2008 Runtime (necessary for loading the D2BS runtime): here

.NET 3.5 Runtime (necessary for loading the D2BS loader): here

Code:
Version History:

Version 1.1.2 -

   .   Changed item.getPrice to item.getItemCost, getPrice is still there but marked as deprecated
      - you can ignore warnings about it, it doesn't harm anything

   .   Added me.fps -- returns the current FPS (obviously)

   .   Added item.getItemCost(mode[, classid[, difficulty ] ])
      mode: 0 = buy, 1 = sell, 2 = repair
      classid: any npc classid (default is the current npc)
      difficulty: 0 = normal, 1 = nightmare, 2 = hell (default is the current difficulty)

   .   Added me.getRepairCost([ classid ]) -- again, the classid is any npc classid with the default
      being the current npc

   .   getUnit() now accepts a mask for the mode parameter.
      To use it, set bit 30 (0x20000000) to on, and then every bit from 1-28 is
      treated as a mode bit--the unit must match at least one of the modes specified
      i.e.:
      getUnit(1, null, null, 0x2000001F); // finds monsters with any mode from 0-4

   .   Corrected item.getStat(-2) output (was adding a bunch of invalid properties)

   .   Made me.runwalk able to be set--now you can toggle run/walk from a script

   .   Loader changes:
      - Made it take a guess where the Diablo II directory is
      - Made it able to find the child process of Diablo II.exe--you no longer have to specify game.exe!

   .   Fixed a race condition where D2BS was racing with the game in various places
      - This means you no longer get corrupted graphics occasionally, and D2BS is much more stable
      - Additionally, switched to the internal method of buying/selling instead of using packet-based
        as it no longer crashes!

   .   Fixed room.reveal to not be quite as buggy or crash-happy as before (all you maphackers, this
      means game on!)

   .   Fixed a (relatively stupid) crash with scriptBroadcast and more than 1 argument

   .   Fixed SQLite crash when closing the DB when there were open queries (d'oh... stupid iterators...)

   .   Fixed script.send to handle multiple arguments correctly (d'oh!)

   .   Corrected bug with monster enchantments not being correctly detected

   .   Corrected types for integer values from SQLite--was causing a wraparound for values over ~2 billion

   .   Known issues:
      - Certain item stats are still not correctly handled, which means you have to sort out the value
        on your own (most are just value >> 8)

lord2800 @ Wed Dec 30, 2009 4:05 pm     Comments  |Views: 956  Replies: 0

D2BS v1.1.1 - Release Thread
D2BS, short for Diablo 2 Botting System, uses the open source Javascript engine named 'SpiderMonkey' to execute user scripts inside of Diablo 2. D2BS can be used to make Diablo 2 do almost anything that can be done in the game by a human player.
D2BS does not try to exploit any bugs in the Diablo 2 code, the Battle.net protocol or game servers; it only simulates a real player.

Binary Download: here

Source Code: here

Visual Studio 2008 Runtime (necessary for loading the D2BS runtime): here

.NET 3.5 Runtime (necessary for loading the D2BS loader): here

Code:
Version History:

Version 1.1.1 -

   .   Included in this release is a build for the 1.13 PTR. To use it:
      - open D2BS.exe, click on options (if not greeted with the options dialog)
      - change the D2BS DLL from cGuard.dll to D2BS.dll
      - keep in mind that you MUST change it back if you switch back to 1.12

   .   Fixes for numerous things, including a lot of core stability.
      - Clicking on the window UI elements caused a click event with negative values.
      - Deadlocks all over the place, especially with the script cache.
      - Running a command via .exec or the console would screw the script list up.
      - Calling include could sometimes cause crashes.
      - Made (most, if not all) paths that get displayed to the user/exposed to the scripter
        relative to the scripts folder.
      - getScript, script.send, and scriptBroadcast now don't crash
      - script iteration (internally) now correctly holds the engine lock long enough
        to ensure that the list is valid until iteration is complete
      - console/.exec commands no longer invalidate the script list (d'oh!)
      - me.blockMouse would cause the entire window to lock up when the title bar was clicked
        while it was enabled
      - unit.getMinionCount no longer crashes in release mode
      - getArea now correctly interprets no parameter as me.area (d'oh...)
      - Changed item.shop to packet-based shopping for now--the internal function we were using was
        causing crashes while minimized
      - Sheppard, with the last minute assist, corrected a bunch of incorrect D2 functions (thanks!)

   .   Split up events a bit further to make them less spammy, and added a few more events to
      assist with this change
      - melife now spawns only for life changes
      - memana spawns only for mana changes
      - itemdrop no longer includes gold drops
      - golddrop now spawns for only gold drop events

   .   Lots of internal buffers were shrunk down to more acceptable levels to combat memory usage

   .   Scripts no longer randomly resume when the GC is called.
      - a side effect of this is that sometimes scripts that were destructed don't always get
        removed so occasionally it can crash (we haven't experienced it frequently enough to debug
        it at all)

   .   Lots of loader changes:
      - To sum up:
         . x86/x64 no longer matters for the injector, it uses x86 period.
         . --inject and --kill check that the pid is a valid d2 window.
         . --dll lets you specify what dll to inject, the default if you don't specify one is
           cGuard.dll.
         . --params sends everything after it to d2.
         . --path lets you specify the path to d2.
         . --exe lets you specify the d2 executable.
         . --save causes it to write a configuration file for future use.
      - Fixed a bug where the loader would assume you had no sane configuration when you really did.
      - The loader now exposes a number of useful internal functions for other .NET assemblies.

   .   A few API details:
      - rnd has been renamed to rand, and now uses the game's internal RNG when you're in-game
      - units now have an islocked property that tells you if a chest is locked
      - runGC is now gone, iniread and iniwrite will soon follow
      - All screenhooks have had a zorder property for a while, but now it's actually used (someone
        commented out the sort...)
      - getUnit(4) now no longer scans a unit's inventory; this caused a series of infinite loop
        bugs, so we had to axe it (it still scans ground items)
      - in return, unit.getItem has been changed to use the same parameters as getUnit (without the
        type) and return the first inventory item that matches from the unit's inventory
      - unit.getNext has different behavior depending on where the unit came from:
         . if the unit came from getUnit, getNext will only scan units in the available rooms
         . if the unit came from unit.getItem, getNext will only scan units in the same
           original owner's inventory
         . if the owner of the item from unit.getItem changes, getNext will return false
      - item.getStat(-2) returns an associative array (NOT an object with properties matching array
        indexes) of all the item's stats and substats, and includes runeword properties (and
        correctly interprets skills for on-funcs and charges)
      - getScript parameter additions: true now returns the current script, and passing the full
        relative script name returns that script (or undefined if it's not running)
      - added createGame and joinGame functions for oog scripts

   .   Sped up print() by a factor of 30 when dealing with large strings.

   .   Events now use a different means of spawning, so they no longer cause horrific crashes that
      are hard to debug

   .   .start/.stop/.reload (and their console alternatives) now correctly figure out which script
      to start or stop, and .reload benefits from this as well.

lord2800 @ Sun Dec 13, 2009 5:40 pm     Comments  |Views: 1636  Replies: 6

D2BS 1.13 PTR Build (29th Januar 2010)
Anonymous leaked yet another build to us.

Most recent SVN Build with 1.13 ptrs/structs as of 29th Januar

Download:
http://www.assembla.com/spaces/d2bs/documents/b9hJV4dmOr348WeJe5aVNr/download/D2BS.113.zip

Sheppard @ Sun Dec 13, 2009 2:38 pm     Comments  |Views: 3744  Replies: 29

D2BS v1.1 - Release Thread
D2BS, short for Diablo 2 Botting System, uses the open source Javascript engine named 'SpiderMonkey' to execute user scripts inside of Diablo 2. D2BS can be used to make Diablo 2 do almost anything that can be done in the game by a human player.
D2BS does not try to exploit any bugs in the Diablo 2 code, the Battle.net protocol or game servers; it only simulates a real player.

Binary Download: here

Source Code: here

Visual Studio 2008 Runtime (necessary for loading the D2BS runtime): here

.NET 3.5 Runtime (necessary for loading the D2BS loader): here

Code:
Version History:

Version 1.1 -

   .   Way too many fixes to detail. Here's a small sample:
      - getBaseStat was broken somehow, but that's fixed too.
      - unit.getParent is fixed too (though what was broken about it escapes me)
      - me.cancel is fixed as well (same as above)
      - me.ingame now correctly detects in-game between act changes.
      - graphics apparently are no longer corrupted on minimize

   .   Changed a number of core functions.
      - registerEvent(EVENT_*, function) --> addEventListener(eventName, function);
      - getScreenHook() --> new Line(), new Text(), new Box(), new Image(), new Frame()
      - Entire screenhook API
      - Entire file API
         FileTools object:
         Static Functions:
         remove - string name - remove a file based on name
         rename - string oldName, string newName -  rename a file
         copy - string original, string copy - copy file 'original' to 'copy'
         exists - string path - determines if a file exists or not
         readText - string path - open a file in read mode, read the full contents, return
            it as a string
         writeText - string path, object contents, ... - open a file in write mode, write
            the content parameters into the file, and close it, true if the write
            succeeded, false if not
         appendText - string path, object contents, ... - open a file in append mode, write
            contents into the file, close it, true if the write succeeded, false if not

         File object:
         Static Functions:
         open - string path, mode [, bool binaryMode [, bool autoflush [, bool lockFile]]] -
            open the specified file, return a File object, mode = one of the constants of
            the File object listed below, binaryMode = default setting of
            file.binaryMode, autoflush = default setting of file.autoflush, lockFile =
            if true lock the file on open and unlock it on close, so other
            threads/programs can't open it

         Functions:
         close - close the current file
         reopen - reopen the current file
         read - int num - read num amount of characters or bytes from the file, if in
            non-binary mode this will be null terminated
         readLine - read a single line from the file, assuming the line ends with \n or
            \r\n, throws an exception if the file is in binary mode
         readAllLines - read the full contents of the file and split it up into an array
            of lines, and return the array of lines, throws an exception if the file is
            in binary mode
         readAll - read the full contents of the file and return it as one big string or
            if in binary mode, array
         write - object contents, ... - write the specified byte/strings/objects/
            array-of-bytes to a file, throws an exception if not all of the parameters
            could be written to disk
         seek - int bytes [, bool isLines [, bool fromStart]] - seek the specified number
            of bytes, or optionally lines, in the file, optionally from the start of the
            file, stops at the end of the file
         flush - flushes the remaining buffer to disk
         reset - seek to the beginning of the file
         end - seek to the end of the file

         Properties:
         readable - can read from the file
         writable - can write from the file
         seekable - can seek within the file
         mode - the mode the file was opened in, one of the FILE_MODE constants of the
            file object
         binaryMode - determines if the file is in binary mode for read operations (write
            operations happen based on the parameter specified)
         autoflush - automatically flush the file buffer after each write, defaults to off
         length - the length of the file in bytes
         path - the name and path (relative to the scripts/ folder) of the file
         position - the current position in the file
         eof - determines if the file is at end-of-file or not
         accessed - a timestamp representing the last access time/date for the file
         created - a timestamp representing the creation time/date for the file
         modified - a timestamp representing the last modified time/date for the file
      - Lots of other minor things. Those are the major changes, though.

   .   Added some new global functions. I honestly don't even remember any more.

   .   Added a new Sandbox object that lets you include scripts without tampering
      with the global namespace.

   .   Re-added room.reveal.

   .   New injector to simplify your life and ours.

   .   Added a console to display status messages out of game as well as in game.
      - Pressing the HOME key shows the console, while ALT+HOME allows you to type
      commands into it.
      - The special commands 'start', 'stop', 'reload', 'flushcache', and 'load'
      work as per their chat box counterparts (only without the . prefix), but any
      other command is interpreted as a javascript string and will be executed (as
      per the old .exec).
      - All output is now directed to the new console instead of to the screen.

   .   Added hash algorithms: md5, sha1, sha256, sha384, sha512 and counterparts to work
      on files.

   .   Added configuration file for setting various things before scripts execute.
      See d2bs.ini for the specifics.

   .   Added a new oog function (login) to manage user accounts and character selection.
      See d2bs.ini for the specifics to this as well.

   .   Added a bunch of sample code in the form of test cases. These provide examples
      of how to use certain API functions. You can check the code out at:
      http://code.assembla.com/d2bs/subversion/nodes/scripts/testcases

   .   Complete-ish list of fixes: http://www.assembla.com/spaces/d2bs/tickets?tickets_report_id=5

   .   Known issues:
      - sometimes the core just deadlocks, we're not sure exactly why.
      - anything listed here: http://www.assembla.com/spaces/d2bs/tickets?tickets_report_id=1
      - the loader does NOT work on Windows 7 for some reason, still looking into this.

lord2800 @ Tue Oct 27, 2009 12:41 am     Comments  |Views: 3440  Replies: 22

D2BS != D2NT
D2NT discussion goes to Bots and Program Support.

bsdunx @ Sun Oct 25, 2009 7:53 pm     Comments  |Views: 896  Replies: 0

"Soon" is here (1.1 links enclosed)
We are working towards getting a 1.1 beta release out "soon". Hopefully soon is really in the very near future. We haven't forgotten just hold your breath a little longer.

Put this in your pipe and smoke it;

1.1 with bobode's OOG
http://code.assembla.com/bobode/subversion/nodes/OOG%20with%201.1.zip?rev=115

EDIT: Updated please see http://www.edgeofnowhere.cc/viewtopic.php?p=4092408 for release

bsdunx @ Tue Oct 06, 2009 6:36 pm     Comments  |Views: 2260  Replies: 15

[Archive] AD2BS 0.9a OOG Controller
Hey Guys.

What are the features :

- Fully configurable through a breathtaking designed GUI ( its ugly as hell )
- Restarts Diablo 2
- Restarts D2BS if Diablo 2 gets closed
- Catches error windows like "Diablo II Exception" , "Diablo II Error" , ": Diablo II.exe - Application Error" etc.
- Configurable Hardrestart : Choose a timed interval in minutes. The Bot will be completely shut down and restarted after the set time.
- completely hides the diablo window on start up.(hide/show controls)
- Cd-key changing using D2laucher's -mpq flag(Changes cd-key after every crash or Hardrestart.)
-Realm Down, Ip Ban etc. retry timer
-Status window displaying current game count and more.

The package includes :

- A2D2BS.exe 0.9a
- D2BS v 1.0
- Working NtBOt 2.5.3 with a modified oog script ( logins and makes games)
- agor's Item Logger included
- D2Launcher ( if you want to use it )

How to install :

1. First configure NTBot according this guide : http://www.edgeofnowhere.cc/viewtopic.php?t=392321
2. Copy the js32.dll into your Windows/System32 or System64 folder.
3. Open the starter.dbj in your "script" folder and edit it according the settings.
4. Start AD2BS.exe. Configure it and CLICK on "Save Configs" ( click everytime on "Save Configs", if you have changed something" );
Note: The -w flag is hardcoded in my app. Do not use -w, -title or -mpq flags in the flags field
Note: Its not fully Noob secure so make sure the textboxes dont contain garbage.

5. Laucher Settings.
ONLY USE the Launcher settings if you actually know how to use D2Launcher.
-the Keyfile text field: if you want to use multiple cd-keys using key.mpqs put them in this order into the textfield:
using three keys example : key1.mpq;key2.mpq;key3.mpq
using two keys example: key1.mpq;key2.mpq
using one key example: key1.mpq
using the default installed key: leave blank
As you can see you have to seperate the keyfiles with a semicolon ;

it should look like this :


6. Have fun

YOU HAVE TO INSTALL THE MICROSOFT .net FRAMEWORK 3.5

Download :
http://rapidshare.com/files/195198010/AD2BS_Release_0.9a.rar
http://www.speedyshare.com/372770259.html
Update log:

Code:

0.9a

-added cGuard 1.0.1

0.9

fixes:

-a bug using D2Laucher without keyfiles
-Hide Diablo window.

added:

-clickless injection using D2BS's loader -install flag
-sendmessage copyData structs added in order to communicate with the starter.dbj
-modified NTBOT starter.dbj
-Change keys after xx games
-Realm down, ip ban, unable to connect pause timers
-new status window
-agor's Itemlogger included into the package( thx for the permission)

0.8c

fixes:

-using completly  Sendmessage for sending clicks to the D2BS loader instead of the problematic static .net class Sendkeys which does require a foreground window

0.8 b

fixes

-choosing the wrong path to AD2BS.ini and log files which made it nearly unusable.

0.8

Fixes:
-completely changed whole code structure(new threads, classes) in preparation for multi botting.
-fixing some timing problems
- using pskill.exe in order to kill the Diablo process because the Process .net class is too slow and causes too much exceptions.

Added:

- "AD2BS Delay" Button in order to configure the delays used between clicks or opening and closing D2BS and Diablo

0.7
Fixes:
-Some small typos

Added:
-nice drag and drop status window
-Hide/Show status window menu items added into tray icon menu
-Start/Pause AD2BS menu items added into tray icon menu
-double click on tray icon will show config menu again.


0.6

Fixes:
-Proper Application clean up ( Tray icon has not been killed )
-Fixed "Sendmessage" pInvoke , which could cause crashes on 64-Bit Systems.

Added:

-Hide Diablo window on start up option( Completly hides window after the start! )
-Hide Diablo/Show Diablo menu items added into tray icon menu
-Multi cd-key support using D2Launcher's "-mpq" flag
-much more log entries


THX TO: Shep & lord, Senkin for the oog script, manhim,Shonnie, google

older Versions:

Older Versions are NOT SAFE

0.9:http://rapidshare.com/files/191902140/AD2BS_Release_0.9.rar
http://www.speedyshare.com/422378791.html
0.8c:http://rapidshare.com/files/188400492/AD2BS_Release_0.8c.rar
http://www.speedyshare.com/637141706.html
0.8b:http://rapidshare.com/files/187890717/AD2BS_Release_0.8b.rar
http://www.speedyshare.com/807551681.html
0.7: http://rapidshare.com/files/185370011/AD2BS_Release_0.7.rar
http://www.speedyshare.com/878588359.html
0.6: http://rapidshare.com/files/183515182/AD2BS_Release_0.6.rar
http://www.speedyshare.com/569556662.html
0.5: http://rapidshare.com/files/181748592/AD2BS_Release.rar
http://www.speedyshare.com/549288483.html

Tell me if it works for you and if you find some bugs.

ejact @ Sat Jan 10, 2009 9:11 am     Comments  |Views: 47140  Replies: 412

D2BS v1.0 - Release Thread
D2BS, short for Diablo 2 Botting System, uses the opensource Javascript engine Spidermonkey for executing user program code inside Diablo 2. D2BS can be used to make Diablo II do almost anything that can be done in the game by a human player.
D2BS does not try to exploit any bugs in the Diablo code, the Battle.net protocol or the Battle.net gameservers it only simulates a real player.

Download: Here

Old Command Reference: Here

okaygo wrote:
You can find the source code on our SVN:

http://www.assembla.com/spaces/d2bs/


Visual C++ 2008 Runtime files (necessary to use D2BS and cGuard): Here

Code:
Version History:

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

Sheppard @ Sun Dec 14, 2008 12:44 pm     Comments  |Views: 41520  Replies: 240

[Archive] [Script] Item Logger 1.5 (HTML output)
ItemLogger 1.5 for D2BS 1.0
New Version out! Fixed missing file with NTBot, added JavaScript Item Search
It also shows only Kept Items by Default, you need to click on "Show All / Show Sold" to view sold items.

This is tested using D2BS 1.0 and NTBot 2.5.3

No Webserver is needed
Done via XML+XSLT, thanks to lord2800 for idea & help!
There are still some bugs with Item names not saved correctly

Requirements
D2BS 1.0 here

NTBot Installation much easier now (1.0). See second post!

Output tested in Opera 9.52, Firefox, Google Chrome.
You need to open itemlog.xml in your Web Browser to view the Log.

Output example:
http://s1.directupload.net/images/user/080916/pm7839re.jpg (Updated to reflect the 1.0 changes)
Search picture: http://s1.directupload.net/images/user/080917/g2q5f5hl.jpg (1.1 Screen)

Download
Filefront
Rapidshare 1
Rapidshare 2 (by LustigeLanguste)

agor @ Mon Aug 25, 2008 8:38 am     Comments  |Views: 11844  Replies: 68

[Complete Archive]
Latest Posts
NTBot Ultimate .nip file. ** New: Elite Version **
By: stinkix
Tue Feb 09, 2010 3:27 am
D2BS - Clean 1 act and leave
By: Micha
Tue Feb 09, 2010 2:55 am
[GUIDE] Download and setup for d2bs 1.1.2
By: Micha
Tue Feb 09, 2010 2:50 am
pickit (CHARMS)
By: Micha
Tue Feb 09, 2010 2:44 am
realm'd
By: Micha
Tue Feb 09, 2010 2:41 am
d2bs bot never makes game.
By: Micha
Tue Feb 09, 2010 2:37 am
ntbot gamble script broken
By: tipu
Mon Feb 08, 2010 11:12 pm
Geting 2x bots into same Baal Run
By: bobite
Mon Feb 08, 2010 6:24 pm
1.13 PTR Gamble Bot Question
By: Darmath
Mon Feb 08, 2010 4:54 pm
D2BS 1.1.2 - Bot wont kill baal.
By: NecroEvil
Mon Feb 08, 2010 12:50 pm
NTAttack kind of sucked.. so i fixed it.
By: Setiner
Mon Feb 08, 2010 9:25 am
multiple keys
By: SleepingEnemy
Sun Feb 07, 2010 11:35 pm
Need help with my NET Framework
By: Locaj
Sun Feb 07, 2010 10:25 pm
d2bs help!!!
By: Rusted
Sun Feb 07, 2010 6:32 pm
[d2bs] How to make bot buy pots?
By: nvrevrgvup
Sun Feb 07, 2010 6:26 pm
Using d2bs 1.12 on Single Player
By: lord2800
Sun Feb 07, 2010 4:27 pm
Help! My bot doesn't sell items back!
By: lord2800
Sun Feb 07, 2010 3:37 pm
[BETA] D2Driver - the alternative game manager
By: lord2800
Sun Feb 07, 2010 2:16 pm
D2BS 1.13 PTR Build (29th Januar 2010)
By: traco
Sun Feb 07, 2010 1:12 pm
How to edit to where it picks up gold?
By: NUKEMsfb
Sun Feb 07, 2010 12:42 pm
Everytime I hit start using OOG..
By: bobite
Sun Feb 07, 2010 12:07 pm
d2bs is being sold as bottronics
By: lord2800
Sun Feb 07, 2010 3:31 am
Run two bots on low pc, help
By: Micha
Sun Feb 07, 2010 1:57 am
Help with Summoner script.
By: Setiner
Sat Feb 06, 2010 9:47 pm
OOG - How do I -just- get pickit to work?
By: bobite
Sat Feb 06, 2010 9:25 pm
Help me with .nip
By: drunkennutter
Sat Feb 06, 2010 5:57 pm
Affinities....Help needed asap.
By: lord2800
Sat Feb 06, 2010 4:34 pm
My elite pick-it
By: Cariboulou89
Sat Feb 06, 2010 2:30 am
how to set bot to RECAST cta?
By: Micha
Sat Feb 06, 2010 1:54 am
Iso multibotting w/ sandbox help
By: enslaver666
Fri Feb 05, 2010 11:27 pm
d2bs skills script
By: SleepingEnemy
Fri Feb 05, 2010 4:45 pm
Multi Botting (Profiles)
By: Micha
Fri Feb 05, 2010 5:04 am
D2bs/ntbot freezing/crashing
By: kurtles
Fri Feb 05, 2010 1:22 am
yamb problem
By: traco
Thu Feb 04, 2010 11:58 pm
1.1.2 freezes with D2
By: SleepingEnemy
Thu Feb 04, 2010 11:37 pm
D2BS - CGuard?
By: New User
Thu Feb 04, 2010 8:49 pm
[D2BS] Diablo 2 Window freezes after run complete
By: epona8
Thu Feb 04, 2010 7:33 pm
[d2bs] Memory issues
By: SleepingEnemy
Thu Feb 04, 2010 6:02 pm
Problem with pickit/npc
By: Micha
Thu Feb 04, 2010 5:09 pm
MANA POTION problem!!! When my mana goes...
By: stimmedmarine
Thu Feb 04, 2010 4:21 pm
Gambling Problem
By: lord2800
Thu Feb 04, 2010 1:15 pm
my bot dont go shop sell items and buy pots\tps if minimize
By: arise2k
Thu Feb 04, 2010 6:57 am
D2BS - Crash And Doesn't Login to Account After Restart
By: intothethunder
Thu Feb 04, 2010 2:14 am
how to set to pick up this please
By: SleepingEnemy
Wed Feb 03, 2010 8:01 pm
D2BS Help. Bot will not pickup Rejuvs
By: Darmath
Wed Feb 03, 2010 7:32 pm
Switching to D2BS?
By: PopSmith
Wed Feb 03, 2010 7:26 pm
all good except duriel and pindle
By: stimmedmarine
Wed Feb 03, 2010 7:03 pm
D2BS help cant make 3 bots joining same game
By: cezars
Wed Feb 03, 2010 6:11 pm
YAMB
By: b00lawa
Wed Feb 03, 2010 7:52 am
pickit question
By: SleepingEnemy
Wed Feb 03, 2010 12:36 am



Sitemap Tue Feb 09, 2010 8:28 am





Spelling by SpellingCow.

blueGray theme by Nuttzy     One of the largest message boards on the web !


membersemails