| |
| [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 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 |
|
| [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
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 |
|
| |
| 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 |
|
|