blizzhackers / kolbot Goto Github PK
View Code? Open in Web Editor NEWd2bs: core + d2bot (noah) + kolbot libs (kolton) | January 2020's clone of https://github.com/kolton/d2bot-with-kolbot/ + further development
d2bs: core + d2bot (noah) + kolbot libs (kolton) | January 2020's clone of https://github.com/kolton/d2bot-with-kolbot/ + further development
Hello guys, i've noticed that bot is stashing and muling junk crafts and whites while trying to do some gold. Anyone able to edit this chapter ? It already stashed tons of trash, please someone advanced get this done, tyvm in advance!
50%이상 일어나고 있습니다. 해결방법이 없겟는지요?
Anyone have any ideas on this?
Just doing some SP testing (had an issue with cows I wanted to check) and had this scenario:
[ignore line numbers as Ive added a few lines to set players x in SP and a few other minor changes]
Steps to reproduce :
1 - Have a profile in mode Single Player
2 - Entry Script D2BotLead.dbj
3 - Difficulty Highest
4 - Have your char access to Nightmare difficulty, but not Hell
D2BS seems to infinite loop in clicking Hell difficulty which is not available.
Advanced :
In d2bs DWORD Profile::login(char** error)
function
case 3:
// highest available
if (!clickControl(findControl(6, (const wchar_t*)NULL, -1, 264, 383, 272, 35)) &&
!clickControl(findControl(6, (const wchar_t*)NULL, -1, 264, 340, 272, 35)) &&
!clickControl(findControl(6, (const wchar_t*)NULL, -1, 264, 297, 272, 35)))
errorMsg = "Failed to click ANY difficulty button?";
break;
It tries to click the highest difficulty button with any Disabled state. But it should try to find the highest difficulty button not Disabled.
In Town.doChores() the call to clearInventory() comes with before stash(). This is an issue with AutoEquip enabled, because items that cannot be equipped (runes, charms, etc.) will be dropped or sold instead of stashed due to this ordering since they always fail this check in clearInventory()
if (!Item.autoEquipCheck(items[i])) { result = 0; }
I suppose the current ordering should be kept so lower tiered items are not stashed, but there should be some guard statements preventing stuff with no tier from being dropped
I just got my javazon to hell. I am using stab for lightning immune, and it works ok...but it would work better if it did a weapon switch first. Is there a way to make d2bot switch weapons when using the alternate attach for immunes?
Ie, when using:
Config.AttackSkill[5] = 10;
It would also cause it to switch weapons.
I haven’t changed anything, bot was running fine, I have a follower, since I updated to latest revision, my follower will enter throne and immediately crash & leave.
Was using BaalAssistant, switched over to BaalHelper and it’s working now. Some how the latter is broken
ofcourse moving items to fit the leg would help (I blocked it with extra tomes and rejuvs) but as written, I assume the code should stop in Tristram when it fails to pick leg
Thoughts?
Since this appears to be the new 'active' repo regarding kolbot I will from now post here when I find something.
this line appears to be a copy paste bug.
I started testing limedrop and the first thing I tested was the behaviour of the script when the game to join does not exist. Unfortunately after failing to join the game, the bot created a game (according to the profile setup) and happily dropped the specified items there :). Of course I was clever enough to choose 'Key of Destruction' as my mules are full of those.
Anyways. Should be:
ControlAction.click(6, 652, 469, 120, 20);
instead.
Anyway we can incorporate a loot filter? Change HR's Colors or other things?
the bot in game when is in pause quit whit leader_Config.QuitList_ and quit if Config.MaxGameTime is expired
In town management, my char is able to pick up an item from the inventory. But the item remain on the cursor when transfer to stash. Seems my char failed to put it into the stash. There is enough space in the stash. Later on I create a new char with empty stash, and the issue persist.
In the console, I can see the message like below and keep repeating, which indicate the program try to find a place for this item:
Move retry 1
Move retry 2
Move retry 3
Move retry 1
…
I have tested the following scenario:
This issue pause my char in the town, and wait for the max game time to quit. Eventually I have a good chance to lost the item.
Hello everyone,
I am interested to configure sonic or auto smurf scrip for Hardcore. Already tried to do it bymyself but without success - too many chickens or other minor bugs like not buying potions( even having gold) or not selling items , when full inventory....
So does someone have configured/amended sonic or auto smurf script for HC ? Can you share it so i can try it and enjoy it ? Also any kind of tips are welcome..
If the scrip is working properly I am willing to donate
cheers and thanks in advance!
Hi, I try to find the map or similar information i can figure out the Chaos Map Coordinates as below.
Example: this.starToSeisA = [7781, 5259, 7805, 5258, 7802, 5237, 7776, 5228, 7775, 5205, 7804, 5193, 7814, 5169, 7788, 5153];
what I want is let my Hammerdin precast BHs at some point before leader open the seal. also i don't know how to let hammerdin precast same as Baalrun
I will be preciated if someone can help me to figure it out
let allres = [1, 1, 1, 1];
let min = Math.min.apply(null, allres);
allres = allres.map(res => res > min ? min : res);
let [fire, cold, light, psn] = allres;
//return fire === cold === light === psn ? min : 0;
me.overhead(fire === cold === light === psn); //false
anyone knows how to put in config to cast static in last wave?
I have checked and setup config 100 million times but still errors
Hey,
First of all, thanks for creating this script. This is exactly what I needed :)
For the barb, it works perfectly, it is going down to Catacombs and gives Bo. My problem is with other characters. As an example if I include this script for a Paladin, ass soon as it starts the script the app unexpectedly crash.
Scripts.BoBarbHelper = true; // specific HC script with BoBarb on the Bo area during whole game
Config.BoBarbHelper.Mode = 1; // 0 = give BO, 1 = get BO, -1 = disabled
Config.BoBarbHelper.Wp = 35; // 35 = Catacombs level 2
Config.BoBarbHelper.BoDuration = 400; // the barbarian char duration of BO skill in seconds (it can be the lower value between BC-BO-Shout)
Could you help me with this?
Regards,
Istvan
I noticed that toolsthread doesn't have a handler for the Realm going down in xx minutes global message for when there is maintenance on the servers. I don't know how to write this myself for I'm not sure where to find each of the modes that are passed into this.gameEvent if someone cam help me with that I'll write it otherwise something simple like when it gets that msg reads the minutes then shuts down for hour + minutes read then restarts since maintenance usually last an hour
Hello, after executing D2BotGameAction to automatically lose the equipment, when the task is completed, the waiting time of the character in the game can be shortened? How can I modify it? Thank you.
hi, there is a way to set a distance between leader and follower? because follower try always to go to leader and sometimes they dead
Where do I start to help? It’s not obvious to me how d2bs.exe is created and how I could even start to look at the code to help.
Thank you!
reckon many of guys don't have enigma yet.
cuz it's after only few days from new start.
so.. my paladin has some problems to arrive Durance of hate and CS.
i've searched here and
found some answers that mentioning
"Config.cleartype = 0;"
and
set 'notele' to "false"
but.. it ain't work on mine.
i've downloaded programs by SVN.
so i think it would be latest version of it.
i can't recognize what's the problem.
what am i missing???
is the "Config.~~ = 0;" - line
should be inserted within "Diablo" or "Mephisto" Script??
beg your help please.
Kolbot diablo 2 bot keeps selling equipped gear
https://pastebin.com/NvGq5zyU - char config
https://pastebin.com/HVg39NCk - pickit
I have a druid using the follower script with the above pickit set up (druid.xpac.nip). Instead of equipping the items he finds, he instead just stashes them. He's level 5 with a plain quilted armor equipped and I have a +3 life magic leather armor in my inventory that I've been testing with. I have Config.AutoEquip set to true.
After throwing some print statements around, I found that the tier = NTIP.GetTier(items[0]);
line in Misc.js is returning -1. I'm still digging into the problem, but if someone could double check my config and make sure there isn't some syntax error or type, I'd appreciate it. Thanks!
I am after making some wholesale changes to LimeDrop but can only find the compiled version inside the repo.
Is it possible to get access to the API so I can create a new frontend platform for it?
Thanks guys 😃
Brief: Config.ClearPath 0xF (and 0x7 I think) also include bosses (Andariel et al), which means that when the bot travels through the catacombs to andy (for example) it will kill all non-normal mobs.. when it gets to Andy (or other boss) it will kill her as part of clearpath and not as part of the boss script.
this results in the bot opening tp for party but not announcing bot to kill.
in manager window attack.js prints the message:
" Error in Andariel (attack.js #232) Attack.kill: Target not found (Area: 37, Ping:16, Game: )"
I think the problem is spectype. when i looked at this a year or so ago the spectype for a unique and superunique were not exclusive so the bot could not distinguish between them with 0xF or 0x7 (or even 0x6 or 0x4)
Anyone have any ideas of how to reliably distinguish between champ, uniques and super uniques/bosses? (short of excluding the id's of every boss when using clear path!!)
I can't seems to access Limedrop from an external device after putting my external IP in the server file.
Is this still a feature that is going to come later?
Trying out the new prototype to equip item from this PR
added these lines in Town.js doChores function :
this.move('stash') && this.openStash();
delay(100);
let naturePeace = me.getItems(-1).filter(item => item.getStat(sdk.stats.Restinpeace)).first();
print("found: [" + naturePeace.fname + "]");
let oldItems = naturePeace.equip();//sdk.body.RingLeft);
delay(500);
me.cancel(); // stash might still be open
print("close dat stash");
delay(500);
me.cancel(); // stash might still be open
print("close dat stash");
delay(500);
Skill.cast(58); // cast energy shield
delay(500);
me.overhead("Wearing nature's peace");
delay(500);
Town.openStash();
delay(500);
//oldItems.rollback(); // put old items back on
delay(500);
print("END Wearing other ring again");
me.cancel(); // stash might still be open
delay(500);
It does succesfully find my nature's peace from stash and click on it, but after doesn't equip it.
Also tryed with a memory staff in stash, it does take of my shield take the staff but doesn't equip.
Same if nothing equiped at the moment, generally speaking looks like bot isn't able to equip anything 😢
i want to be able to skip all fire and cold immunes, except for countess,
My goal is to play my hammerdin, and have a wind druid follow me anywhere i go and fight along side me and pickup stuff.
I cant seem to figure this out.
Right now i have the leader set to follow and basicly bot while i research and look up how to make my main goal work, but im having some issues.
my druid takes the tp my paladin gives, and then casts all his bo's pets hearts and basicly miss's all the action and is no help
also both of them just sell everything even thow i setup a pickit list and configured inventory.
to sum up my questions
how can i make my hammerdin maunaly played with my druid support (bot)
On a serpate config how do i get my druid (follower) to pre buff himself while waiting for the portals.
Anyway to add MaxQuanity to pickit files for items? I can’t seem to figure it out, I write something, it gets accepted by pickit, then it doesn’t happen.
What would be the best way to go about forcing the bot to buy/use Antidotes/Thawings from inventory before Andariel/Duriel or even always?
I'm experiencing a very consistent pattern of crashes, primarily on Pindleskin, but also ChestMania when enabling it.
Below are the bot's logs from its overnight MF session.
01.59.36 (X) Window has unexpectedly exited... starting profile
01.59.39 (X) Crash Info: Script: Pindleskin Area: Nihlathak's Temple
02.41.43 (X) Window has unexpectedly exited... starting profile
02.41.46 (X) Crash Info: Script: Pindleskin Area: Halls Of Anguish
03.48.21 (X) Window has unexpectedly exited... starting profile
03.48.24 (X) Crash Info: Script: Pindleskin Area: Halls Of Anguish
04.01.48 (X) Window has unexpectedly exited... starting profile
04.01.52 (X) Crash Info: Script: Pindleskin Area: Halls Of Anguish
04.28.21 (X) Window has unexpectedly exited... starting profile
04.28.24 (X) Crash Info: Script: Pindleskin Area: Nihlathak's Temple
04.37.34 (X) Window has unexpectedly exited... starting profile
04.37.37 (X) Crash Info: Script: KurastTemples Area: Disused Reliquary
09.28.51 (X) Window has unexpectedly exited... starting profile
09.28.54 (X) Crash Info: Script: ChestMania Area: Great Marsh
10.50.30 (X) Window has unexpectedly exited... starting profile
10.50.33 (X) Crash Info: Script: Pindleskin Area: Halls Of Anguish
11.47.45 (X) Window has unexpectedly exited... starting profile
11.47.48 (X) Crash Info: Script: Pindleskin Area: Nihlathak's Temple
Scripts.Pindleskin = true;
Config.Pindleskin.UseWaypoint = true;
Config.Pindleskin.KillNihlathak = false;
Config.Pindleskin.ViperQuit = false; // End script if Tomb Vipers are found.
Let me know if there is any other information you require.
The leechers will take leaders TP to back of Travincal but will just sit there after the council is dead and not TP back to town. In the old repository there was a solution posted a few years ago to pastebin but the page has since been taken down/deleted.
Hoping someone has a solution.
Please, note that im not a progranmer and this is just a "doable concept idea", so if you can help make this become real, i will give ya big tip on Jsp lol ;)
➡️ 1) The idea behind this is to somehow manipulate the logs of kolbot by a Autoit script and send it to your whatsapp number/web/another software.
➡️ 2) I know that the items logged on kolbot are in the path /d2bot-with-kolbot-master\d2bs\kolbot\logs, and they are also kept via a regular text file Itemlog.txt.
➡️ 3) ( BlizzHackers help us here lol ) Im not a programmer but this seems very doable, i also made a regular interface to check for some status, First you will need to load your Itemlog.txt file path, second you will need to test if the conditions are OK to use ( like if you going to send via WebWhatsapp and/or have Browser open, etc) and User Logged, and finally sent a message to test it ;).
➡️ 4) I know it seems a regular project, but it should be very nice to see this working and have a way for we to receive the items log messages ;)
➡️ 5) Please help make this happen ;) Thanx in Advance ;) ✔️
I would love to update the Wiki here. From my experience in the old repository, a lot of questions repeat themselves. Some explanations are written poorly or are missing out on some stuff. An updated Wiki could help with that.
This is my story:
I did 4 years break and having in mind the current crisis situation I have some more free time, deciding to install the game again. I created mpq files for the keys and tried if they are properly working 1 by 1. Everything was fine, I was playing (using 3 cd keys with kolbot successfully) when tried to start another 4th profile from kolbot with the last key, and I recieved the following issue - Checking versions - please try again in a few minutes" and this is the situation 36 hours already.. I tried with game re-install, changing PCs, changing IP ( not sure if worked) but still nothing.
I read in some forums that this could last from 48 hours to 2 weeks. Did anyone from you guys had the same issue and is it possible to escape from this situation?
ps: I believe the cd key was banned/affected/broken etc - I am almost sure that this last CD-key caused the issue. ( already deleted it..)
thanks in advance!
Hello, I am new to this program, I installed it this morning, did allt he YouTube tutorials, checked an re-checked it all and still no success.
What happens is when I run the program, it launches D2, but then nothing happens, and after 20 seconds it crashes and says D2BS is not responding... starting profile. Am I missing something? I installed everything correctly my profile is set up with my username and password ( but it doesn't even get to that part yet). Can anyone help please?
Thank you,
I have noticed the HTTP module only returns a raw HTTP response string. I really wanted to use it for... reasons, so I have written a very rudimentary parser. Maybe this could be improved and/or (as an option) built into the HTTP module?
const isJSON = function (test) {
try {
JSON.parse(test);
return true;
} catch (e) {
return false;
}
};
function parseBody(body) {
if ('string' !== typeof body) throw new Error('body to parse must be a string');
if (!body.startsWith('HTTP/1.1')) throw new Error('Unexpected response: ' + body);
// Here we can start parsing
const obj = { headers: {}, body: '' };
const splitter = body.indexOf('\r\n') !== -1 ? '\r\n' : '\n';
const chunks = body.split(splitter);
let IS_HEADER = true;
for (let i = 0; i < chunks.length; i++) {
const curr = chunks[i];
if (i === 0) {
const [, statusCode, status] = curr.match(/HTTP\/1\.1 (\d{3}) (.+)/);
obj.status = {
statusCode: statusCode,
status: status
};
} else {
if (IS_HEADER) {
if ('' === curr) IS_HEADER = false;
else {
const headerParts = curr.split(': ');
obj.headers[headerParts[0]] = headerParts[1];
}
} else {
obj.body = obj.body + curr;
}
}
}
if (isJSON(obj.body)) obj.body = JSON.parse(obj.body);
return obj;
}
I am running a Hammer Pally (MFLeader) and a Sorc (MFHelper) and everything works great but when in Act 5 only the helper wont help with worldstone it will only do scripts i have it set to and baal. everything else it should mfhelp with it does not in act 5, all other acts work fine.
C:\Users\xwick\Desktop\My Files\kolbot from https://github.com/blizzhackers/kolbot
The node 'C:\Users\xwick\Desktop\My Files\kolbot\jaenster-patch-2' was not found.
Hi, i have necromancer with bone spear, and skeletons and bot is saying on every run this errors
Error in Andariel (attack.js #301) Failed to kill Andariel (attackCount exceeded)
Error in Mephisto (attack.js #301) Failed to kill Mephisto (attackCount exceeded)
Error in Diablo (attack.js #301) Failed to kill Diablo (attackCount exceeded)
I modified Config.MaxAttackCount = 600;
But is saying the same
My skills config:
Config.AttackSkill[0] = -1; // Preattack skill. Not implemented yet.
Config.AttackSkill[1] = 84; // Primary skill to bosses.
Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
Config.AttackSkill[3] = 84; // Primary skill to others.
Config.AttackSkill[4] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[3] is untimed skill.
Config.AttackSkill[5] = 84; // Secondary skill if monster is immune to primary.
Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.
Now im trying this other config but the same result....
Config.AttackSkill[0] = -1; // Preattack skill. Not implemented yet.
Config.AttackSkill[1] = 93; // Primary skill to bosses.
Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
Config.AttackSkill[3] = 84; // Primary skill to others.
Config.AttackSkill[4] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[3] is untimed skill.
Config.AttackSkill[5] = -1; // Secondary skill if monster is immune to primary.
Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.
Just checked out the code clean and am getting this error:
[Error (o)] File(threadtools:32) Error: module d2bs/kolbot/libs/modules/sdk not found
Offending line of code: https://github.com/blizzhackers/kolbot/blob/master/d2bs/kolbot/tools/ToolsThread.js#L32
I do have the sdk.js file locally, not sure why it isn't being found?
https://github.com/blizzhackers/kolbot/tree/master/d2bs/kolbot/libs/modules
The script runs meph perfectly.
I have tried pit multiple different ways(its not just pit either, countess does this as well). The script enters the mausoleum, tp's, then goes to the next part of the script.
I had:
Scripts.Mausoleum = true;
Config.Mausoleum.KillBloodRaven = false;
Config.Mausoleum.ClearCrypt = true;
Scripts.Countess = true;
Config.Countess.KillGhosts = false;
Scripts.ClearAnyArea = true;
Config.ClearAnyArea.AreaList = [19];
Config.ClearType = 0;
Bot enters the area, takes a couple steps and then leaves. any ideas? i am assuming i did something stupid.
Anyway we can turn pickit on/off in game?
So I have 2 profiles running in parallel in the same game, however, itemlog.txt only logs items from first character and not second? Is this a read/write issue or known bug in the bot?
Hi all,
I am a bit new to this. I am trying to set up the bot but it doesn't run as expected :)
10:10:22 (Melissandre) Window has unexpectedly exited... starting profile
10:10:23 (Melissandre) Window has unexpectedly exited... starting profile
10:10:24 (Melissandre) Window has unexpectedly exited... starting profile
10:10:25 (Melissandre) Window has unexpectedly exited... starting profile
FYI:
Would you have any idea?
Thank you.
@jaenster I just checked the most recent commit and noticed this: c8600d9#diff-45b33fc71cc4ec8609661aadd6aa7ac8R160
Shouldn't that be KurastDocktown
, to line up with the other blocks?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.