# Forum > Diablo 2 Resurrected > Diablo 2 Resurrected Bots and Programs >  Botty - Free and Opensource Pixelbot

## aeon0

*GitHub - aeon0/botty: D2R Pixel Bot*

Best pixel bot as we speak. Stable, lots of features, and the best thing about it: open source and free for you to adapt and extend however you like! Get your python skills dialed in  :Smile: 

*Builds*:
- Hammerdin (Tele + Walking)
- Sorc
- Warcry Barb (Tele + Walking)
- Trapsin (Tele + Walking)
- Its easy to implement new builds or adjust current ones.
*Bosses*:
- Pindle
- Eldritch + Shenk
- Travincal
- Nihlathak
*Other Features*:
- Per Item pickit (no mod needed)
- Auto pot + chicken / configurable belt management
- Shopper for claws and gloves
- Live discord messages about drops and statistics, gold stashing in all tabs

Join the Discord community: Botty

----------


## Dymon

> Here you go guys, enjoy: GitHub - aeon0/botty: D2R Pixel Bot
> 
> Python/Opencv pixel bot. Probably the best one among the pixel bots out there right now and its free and open source.
> Has all the features you need. Sorc, Hdin, Pindle, Eldtrich, Shenk, Stashing, Healing, Chicken, Merc revive, ...


thx for bot  :Big Grin:  i have question, i have old monitor and i play on 1680x1050 resolution ;d

# TODO: roi is with respect to 1920x1080
roi = [550, 100, 1000, 800]

why roi have 4 value ?  :Big Grin:  any hint what i need to change for my resolution ? thx  :Big Grin:

----------


## aeon0

That will not work sorry. Adapting to another resolution will be quite a bit of work. 
1) Adaptin all the screen coordinates in the ui.ini file
2) Recreating all the templates in the assets folder (but might get away by resizing with respect to the new size)
3) Adapting all the hardcoded values (where I put e.g. this comment)... 

The 4 values for rois (region of interest) are [x, y, width, height] with (x, y) being the top left corner (fromat opencv is using for all mask params). The comment is there because on another resolution such a region of intereset will most probably have to be adjusted.

All of this could maybe be adapted if 1920x1080 is set as the "base resolution". And every such value gets a scale param which can be adapted. But that of course only works if everything scales statically. I think e.g. on the hero selection screen the left and right bars stay the same width but only come closer together on lower resolutions.

----------


## d2rbaba

so this will work online as well?

----------


## aeon0

> so this will work online as well?


I can neither confirm nor deny the above statement.

----------


## redmoonmerchant

noob question: wheres the run.exe? lol

----------


## Yeo09mk

사용법이 궁금합니다

----------


## misir

Hey there, 
since the latest update (0.4.1) as soon as i press f11 the program closes with the following error: [2021-11-27 04:24:00,419] ERROR Could not find top left corner of window to set offset, shutting down
RUNTIME ERROR:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Temp\ONE005~1\run.py", line 93, in <module>
File "C:\Users\user\AppData\Local\Temp\ONE005~1\run.py", line 79, in main
File "C:\Users\user\AppData\Local\Temp\ONE005~1\run.py", line 21, in run_bot
File "C:\Users\user\AppData\Local\Temp\ONE005~1\screen.py", line 44, in __init__
RuntimeError: Could not determine window offset

----------


## aeon0

> Hey there, 
> since the latest update (0.4.1) as soon as i press f11 the program closes with the following error: [2021-11-27 04:24:00,419] ERROR Could not find top left corner of window to set offset, shutting down
> RUNTIME ERROR:
> Traceback (most recent call last):
> File "C:\Users\user\AppData\Local\Temp\ONE005~1\run.py", line 93, in <module>
> File "C:\Users\user\AppData\Local\Temp\ONE005~1\run.py", line 79, in main
> File "C:\Users\user\AppData\Local\Temp\ONE005~1\run.py", line 21, in run_bot
> File "C:\Users\user\AppData\Local\Temp\ONE005~1\screen.py", line 44, in __init__
> RuntimeError: Could not determine window offset


Botty now automatically checks your window offset (or detects that you run fullscreen). But in order to do that it needs to see your d2r window. 
Run .exe -> move to your d2r window -> go to hero selection -> Only then start botty (default key is f11)

----------


## guessagains

Can anyone point me in the direct to get this working online? Don't see the point in using it offline when you can just use a character editor.

----------


## bjna

> Can anyone point me in the direct to get this working online? Don't see the point in using it offline when you can just use a character editor.


Would also like to know

----------


## franklin01

> Would also like to know


Check changelog : 
Fix game creation bug which somehow let&#39;s you create online games (#121) . aeon0/[email protected] . GitHub

Line 99 in game.ini change go_btn=800,940,320,100 to go_btn=640,920,320,100

also bot is bannable in online game, do not attempt

----------


## homaek

great project, working good

----------


## bjna

Delete double post sorry

----------


## bjna

> Check changelog : 
> Fix game creation bug which somehow let's you create online games (#121) . aeon0/[email protected] . GitHub
> 
> Line 99 in game.ini change go_btn=800,940,320,100 to go_btn=640,920,320,100
> 
> also bot is bannable in online game, do not attempt


Its only for educationnal reasons ofc... this works but only for one game, after game 1 its back to the same problem... 

Edit: It works... now the issue is 50% of the time while remaking the game.. the bot click on ''lobby'' literally 3 milimeters to the right of where it needs to click...how do i fix this?

Edit2: Actually its not even on the restarts... sometimes it clicks on lobby, sometimes it clicks on play... cant run more then 3 games without it happening...any fix?

----------


## byterj

Best solution for online:

For latest release, add this to custom.ini

[ui_roi]
play_btn=0,0,1,1
go_btn=427,613,213,67

----------


## aeon0

Trav implemented (only tele hidn for now):
https://streamable.com/ijfnre

----------


## donnyb54

Hello all,

I've had some issues getting my botty to run - I've tried this on both botty v0.4.4 and now just extracted the v5.0 and had the same results with different parameters. I am trying to run this on online and it's not running at all - I've read through this entire thread and tried the Aeon fixes in the game.ini file for v0.4.4 and that did not resolve the issue. I checked the v5.0 game.ini and some things have changed (as expected). I believe I'm configured properly otherwise. I've reviewed the requirements a few times with the settings and screen resolution. I'll attach the error botty v0.5.0 is giving me - any suggestions? (please and thank you)

[2021-12-12 19:37:20,143] ERROR Could not find D2R logo at hero selection or template for ingame, shutting down
[2021-12-12 19:37:20,143] ERROR The max score that could be found was: (57.1% confidence)
Traceback (most recent call last):
File "main.py", line 139, in <module>
File "main.py", line 111, in main
File "screen.py", line 69, in __init__
RuntimeError: Could not determine window offset. Please make sure you have the D2R window focused and that you are on the hero selection screen when pressing f11

----------


## aeon0

> Hello all,
> 
> I've had some issues getting my botty to run - I've tried this on both botty v0.4.4 and now just extracted the v5.0 and had the same results with different parameters. I am trying to run this on online and it's not running at all - I've read through this entire thread and tried the Aeon fixes in the game.ini file for v0.4.4 and that did not resolve the issue. I checked the v5.0 game.ini and some things have changed (as expected). I believe I'm configured properly otherwise. I've reviewed the requirements a few times with the settings and screen resolution. I'll attach the error botty v0.5.0 is giving me - any suggestions? (please and thank you)
> 
> [2021-12-12 19:37:20,143] ERROR Could not find D2R logo at hero selection or template for ingame, shutting down
> [2021-12-12 19:37:20,143] ERROR The max score that could be found was: (57.1% confidence)
> Traceback (most recent call last):
> File "main.py", line 139, in <module>
> File "main.py", line 111, in main
> ...


I assume you have done auto settings and d2r is in 720p. Otherwise, this error suggests botty does not see your d2r window or you are not on the hero selection screen. Either it is covered by some other window or you have the wrong "monitor" set in your configs.

----------


## donnyb54

Thank you for the quick response Aeon,

I have used your suggestions and it appears to run fine (I had it set to 1080p and it was set on my second monitor to run - changed both of those and it ran). The only issue I have now is that it does not activate my Holy Shield, War cries from the CTA, and it does not purchase potions from Malah. If I manually purchase the health potions, it will use them during engages. Do you have a users guide/configuration for how the Hammerdin should be setup (hot keys, etc.) to run this properly? I've been using this guide so far, which is getting more and more outdated - but it does not provide the hot keys or anything else; Simple Pixelbot for Diablo 2 Resurrected written in python and opencv 

Appreciate your help, and great program  :Thumbsup:

----------


## aeon0

> Thank you for the quick response Aeon,
> 
> I have used your suggestions and it appears to run fine (I had it set to 1080p and it was set on my second monitor to run - changed both of those and it ran). The only issue I have now is that it does not activate my Holy Shield, War cries from the CTA, and it does not purchase potions from Malah. If I manually purchase the health potions, it will use them during engages. Do you have a users guide/configuration for how the Hammerdin should be setup (hot keys, etc.) to run this properly? I've been using this guide so far, which is getting more and more outdated - but it does not provide the hot keys or anything else; Simple Pixelbot for Diablo 2 Resurrected written in python and opencv 
> 
> Appreciate your help, and great program


Please follow the official github repo to always be uptodate: GitHub - aeon0/botty: D2R Pixel Bot

Regarding your issues: 1) You should not have to manually change any graphic settings, auto settings (f9) should take care of that for you 2) Make sure all your hotkeys are set properly in params.ini

----------


## Raumli

Having an issue in which it'll start the run, head over to Larzuk, and then sit there and say it got stuck, and restart - rinse, repeat indefinitely. Any suggestions as to what settings I need to change for this?

----------


## aeon0

You can find help for setup in the discord channel: Botty

Sounds like your town portal hotkey is not set properly.

----------


## kielon12

> Best solution for online:
> 
> For latest release, add this to custom.ini
> 
> [ui_roi]
> play_btn=0,0,1,1
> go_btn=427,613,213,67


doesnt work for me.still dont want go online, any idea what to do ?

----------


## kekistan

> doesnt work for me.still dont want go online, any idea what to do ?


not working for me either.

really looking to getting this online if anyone can help and needs anything lmk

----------


## donnyb54

I'm running into a few issues - the bot appears to work quite well and has no issues moving around and going to designated 'run' locations and casting. However, it does not do the prebuffs (CTA/Holy Shield) - and the second it joins/enters a game it uses the potions in column 2 and 4 immediately before he even begins to run around and begin the run (standing still in the spawn it takes the pots and than starts running around town). I've fiddled with the params only slightly, alternately with 0 and 1, and then switching it back in some cases, but I can't seem to get it to run with prebuffs and taking the potions properly. I do have GeForce - but that doesn't 'appear' to be the problem. I've also set the params to match the Online/Offline parameters so that it will run Online (actually tried to just remove the offline settings so that it would skip a line, but it wouldn't run when I did that). Any suggestions? I feel like I'm so close to getting this to work and trying not to get on here unless I hit an absolute dead end, like this.

Thanks in advance

----------


## aeon0

The use of potions is normal. If you set e.g. 2 columns of rejuv and 1 for health and mana each, it will free up the columns for the rejuv potions. The fact that you have the wrong potions in your belt suggests that you did not set your "show belt" hotkey properly and botty thinks she needs to pick up more pots.

You should never remove any settings from the .ini file as this will throw python errors otherwise.

Again, make sure your prebuff settings are all correct. Holy Shield hotkey is set properly and cta_available=1 as well has the skill hotkeys for cta prebuff.

----------


## POLaRAXa

Hey @aeon0 - I got errors in .py files when trying to run Trav with sorc. Everything else works super nice - Pindle / Eldrich (I cant really do Nih with my orb/fball Sorc so not doing these + somehow tele to Shenk is getting me stuck on the way so dropped this). Any idea what is the cause? Messages from chat in the screenshot - using latest 0.5.1 ver.
Trav.jpg

----------


## Nikledonker

Excellent stuff here. I've noticed that after running for a long period of time, the D2R application will start to become "off". Essentially the visuals of everything in the window will be like X-100 and Y+100 compared to where the actual objects are. For example - hovering your mouse over "Save And Exit" will highlight the "Options" button instead. This persists until the application is restarted (this obviously completely breaks the bot). I was wondering if anyone else has seen this issue or if it has something to do with my configuration alone.

----------


## POLaRAXa

> Excellent stuff here. I've noticed that after running for a long period of time, the D2R application will start to become "off". Essentially the visuals of everything in the window will be like X-100 and Y+100 compared to where the actual objects are. For example - hovering your mouse over "Save And Exit" will highlight the "Options" button instead. This persists until the application is restarted (this obviously completely breaks the bot). I was wondering if anyone else has seen this issue or if it has something to do with my configuration alone.


Happened to me when I was closing/opening laptop lid or connecting HDMI. For a while resolution changes instead of being kept and this makes d2r window shift/resize. Somehow. Learning is "dont touch the screen"  :Wink:

----------


## aeon0

> Hey @aeon0 - I got errors in .py files when trying to run Trav with sorc. Everything else works super nice - Pindle / Eldrich (I cant really do Nih with my orb/fball Sorc so not doing these + somehow tele to Shenk is getting me stuck on the way so dropped this). Any idea what is the cause? Messages from chat in the screenshot - using latest 0.5.1 ver.
> Attachment 79737


There is a typo in the param.ini on the release. Change "static=" to "static_field=". Also keep in mind that the sorc trav run is not very well refined. You better be tanky (or as tanky a sorc can be in trav...)

----------


## POLaRAXa

> There is a typo in the param.ini on the release. Change "static=" to "static_field=". Also keep in mind that the sorc trav run is not very well refined. You better be tanky (or as tanky a sorc can be in trav...)


Hey @aeon0, thank you very much. Will test it today. I have also 2 kind requests / checkpoints:

1) Could you add, shopping for Jeweler's armors of the Whale, Jeweler's shields of the Whale & Jeweler's shields of Deflecting? Armors/shields can be any type, of course light weight preferred. Or if easier and I'd need to specify all types with screenshots, I would play around and gladly add that myself. I though think that with current compiled version I can't do that, no?

2) Will the diablo botting be added (saw that jobithu on github has forked this, havent tried it yet).

----------


## aeon0

> Hey @aeon0, thank you very much. Will test it today. I have also 2 kind requests / checkpoints:
> 
> 1) Could you add, shopping for Jeweler's armors of the Whale, Jeweler's shields of the Whale & Jeweler's shields of Deflecting? Armors/shields can be any type, of course light weight preferred. Or if easier and I'd need to specify all types with screenshots, I would play around and gladly add that myself. I though think that with current compiled version I can't do that, no?
> 
> 2) Will the diablo botting be added (saw that jobithu on github has forked this, havent tried it yet).


Adding diablo (popping seals, doing the seal bosses, doing diablo. Not clearing everything) is currently worked on, but not quite ready yet.

You will have to use the source code on github to add features like this. The shopper stuff is mostly community-driven, I haven't done too much in that regard. Feel free to add stuff, that request has come up sometime before already. I'd suggest joining the discord to have an easier way for discussions / support / help. (Botty)

----------


## benoito

> Best solution for online:
> 
> For latest release, add this to custom.ini
> 
> [ui_roi]
> play_btn=0,0,1,1
> go_btn=427,613,213,67


Some one manage to get it work online?

----------


## kekistan

> Some one manage to get it work online?


Nope. Hoping someone can post a fix  :Smile:

----------


## Nikledonker

> Happened to me when I was closing/opening laptop lid or connecting HDMI. For a while resolution changes instead of being kept and this makes d2r window shift/resize. Somehow. Learning is "dont touch the screen"


Ahh interesting. I'm using a desktop, but I think similarly to your issue - the fact that I've been shutting off my monitor when I run for longer periods is the culprit. I'm sure windows does something weird with the display drivers at some point which causes the issue.

----------


## kevin9131

how to use online?

----------


## xtronz

the messages won't load in discord. This is a inauspicious start

----------


## donnyb54

Hello everyone again,

Had a few issues that I can't figure out - I'd be happy with advice on any of the items I'm about to list (thanks in advance). 

The bot runs fine with the exception of these, which I believe is on my end with configurations. (All hot keys and etc. I believe are setup properly.)

Minor Issues:
The bot does not pickup mana or life pots (it appears to indicate in the logs while it is running that it is looking for those items (mana/life/rejuv) to pickup, but does not pick them up or place them in the belt to use and does not go to Malah or any other vendor to purchase more)
- I believe it might have to do with my inventory space (perhaps) - I have all my charms and other items in my inventory on the right side of the inventory and left the left most 5 columns of the inventory empty as I believe it was supposed to be setup - perhaps I have this backwards? I had noticed this while monitoring the bot - he eventually ran out of health potions and the belt was empty so he just stood around at shenk trying to take a health potion (and never did) for about 45 seconds before I shut down the bot to check the Params. 

- Just as a double check (mentioned above) - should the items in my inventory (small charms, etc.) be on the right side and the left side be open inventory space (5 columns)? 

-Another issue is that he does not cast Holy Shield. I have Holy Shield on the main weapon swap setup for F4 as indicated, but he does not cast it. He does cast the CTA on the weapon swap - but does not cast the holy shield on the main weapons (I'm a hammerdin - perhaps having the CTA configured is making this bot only read the rules in the first Mandatory Section and not the section for the paladins? Not sure)

Aside from those minor issues, everything appears to run great and appreciate the help of this forum greatly - I love this stuff!  :Psmiley:

----------


## eternity666

> I HOPE YU ALL WILL BE BANNED FROM GAME. M FUKING LOOSERS. DISHONORABLE PIECES OF TURDS WITHOUT ANY WILL TO FIGHT AND DROP ITEMS BY PROPER WAY!!
> YOU DONT WANT TO SPEND TONS OF TIME FOR RUNS??DELETE FKN GAME AND DONT DESTROY ANOTHER LEGIT PLAYERS EXPERIENCE ALONG WITH MARKET BY USING THESE SHIT BOTS. THESE NOVA DAYS KIDDOS AND ADULTS ALSO ARE FKN SKILL-LESS CUNTS. IF YU LOVE GAME WITH BOTS PLAY OFFLINE WITH THEM OR STRAIGHT AWAY USE EDITOR. I as a legit player since its release in 2001 with LOD. ANd i did tons of runs mf , baal , diablo, cowruns, hrabine runs, andyruns. now in diablo 2 resurected 500 cowruns=nothing interesting, 501=rune vex. and pure satisfaction. Because You use Your hand muscles to attack, move and avoid attacks NOT a FKN ARTIFICIAL BOT without feelings. ANd this gives you a title of LEGIT PLAYER not LOOSER, RETARDED Knobhead who scraches his/her balls/pussy and watches BOT do all. I will always be frustrated with bots because always some mother fukker BRAT will dig for them and try use !!And last time: I WISH FOR ALL PPL WHO USE BOTS IN DIABLO OR ANY GAME WHERE IT IS PROHIBITED TO BE BANNED and in D2 CASE WHOLE BN ACCOUNT!!!!FOREVER!!!


holy shmokes dood

i am surprised i read that 

anyways warden is scanning for these bottie bitches they'll all be banned by ladder lolz

----------


## stupidfogie

HI, I'm having troubles getting the shoppy to work correctly. I can get it to go through pindle portal and back to town, it mouses over anya, but it won't click on anya, says error "cant find the trade btn. This should not happen. Continue..."

----------


## MthrFker

Anyone know the discord for this? I clicked on the link given by OP "Botty" takes me to DL page for disc...

----------


## phantasm0321

the developers do great jobs on this

just wondering if the project is still running and the discord channel is still up for discussion

----------


## Kraken0811

> *GitHub - aeon0/botty: D2R Pixel Bot*
> 
> Best pixel bot as we speak. Stable, lots of features, and the best thing about it: open source and free for you to adapt and extend however you like! Get your python skills dialed in 
> 
> *Builds*:
> - Hammerdin (Tele + Walking)
> - Sorc
> - Warcry Barb (Tele + Walking)
> - Trapsin (Tele + Walking)
> ...



The discord link didn't work, I was unable to join. But my bot is having an issue with potions and keeps reverting back to original hotkeys after I change them and even tried to f8 save settings on botty. Any tips would be appreciated

----------


## Kraken0811

I'm having issues with botty. Keeps having issues with potions and reverting back to original hotkeys

----------


## Blake86

Thank you dev for all you have done. Used this many months. Having a problem with version 8.1. Items that are accidentally picked up are not being discarded or stashed. They just fill my inventory within an hour or so. Any suggestions anyone?!?! Thanks

----------


## guschiggins

> Thank you dev for all you have done. Used this many months. Having a problem with version 8.1. Items that are accidentally picked up are not being discarded or stashed. They just fill my inventory within an hour or so. Any suggestions anyone?!?! Thanks


I've seen this too, make sure sell junk is enabled and runs per stash is set low enough. Still I think it has trouble selling bad rolls for circlets, boots, and gloves. Happen with or withouth /noitempickup


Pretty happy with this bot but I was only able to get the compiled version of to run. There appears to be a problem with the imbed_discord.py due to RequestWebHookAdapter being deprecated in 2.0. I'm too new to know how to fix it but I found one article that said to put this:
discord==1.7.3
discord.py==1.7.3
into the requirements.txt but I don't see one in src. Shrug.

This is the error it throws when I run python src/main.py from miniconda.
ImportError: cannot import name 'RequestsWebhookAdapter' from 'discord'
if anyone figured that out LMK.

----------


## blacknight1

delete these lines

src/messages/messenger.py
from messages.discord_embeds import DiscordEmbeds

src/messages/_init_.py
from .discord_embeds import DiscordEmbeds

think that is all if I remember correctly

----------


## blacknight1

> I've seen this too, make sure sell junk is enabled and runs per stash is set low enough. Still I think it has trouble selling bad rolls for circlets, boots, and gloves. Happen with or withouth /noitempickup
> 
> 
> Pretty happy with this bot but I was only able to get the compiled version of to run. There appears to be a problem with the imbed_discord.py due to RequestWebHookAdapter being deprecated in 2.0. I'm too new to know how to fix it but I found one article that said to put this:
> discord==1.7.3
> discord.py==1.7.3
> into the requirements.txt but I don't see one in src. Shrug.
> 
> This is the error it throws when I run python src/main.py from miniconda.
> ...


delete these lines

src/messages/messenger.py
from messages.discord_embeds import DiscordEmbeds

src/messages/_init_.py
from .discord_embeds import DiscordEmbeds

think that is all if I remember correctly

----------


## guschiggins

> delete these lines
> 
> src/messages/messenger.py
> from messages.discord_embeds import DiscordEmbeds
> 
> src/messages/_init_.py
> from .discord_embeds import DiscordEmbeds
> 
> think that is all if I remember correctly


 File "C:\Users\borg\botty\src\messages\messenger.py", line 13, in __init__
self._message_api = DiscordEmbeds()
NameError: name 'DiscordEmbeds' is not defined

is the result after these changes. Changed line 13 to self._message_api = GenericApi() and it launches now. 

if you try to run the diablo run looks like the cs trash has an issue. any hints/direction are appreciated.
File "C:\Users\username\botty\src\char\i_char.py", line 383, in kill_cs_trash
raise ValueError("Diablo CS Trash is not implemented!")

----------


## blacknight1

> File "C:\Users\borg\botty\src\messages\messenger.py", line 13, in __init__
> self._message_api = DiscordEmbeds()
> NameError: name 'DiscordEmbeds' is not defined
> 
> is the result after these changes. Changed line 13 to self._message_api = GenericApi() and it launches now. 
> 
> if you try to run the diablo run looks like the cs trash has an issue. any hints/direction are appreciated.
> File "C:\Users\borg\botty\src\char\i_char.py", line 383, in kill_cs_trash
> raise ValueError("Diablo CS Trash is not implemented!")


what class are you running? only hammerdin and foh can normally run with botty

did you enable in params? kill_cs_trash=1

----------


## guschiggins

ah that would do it. It's a sorc, works fine for hammerdin. Thanks again.

Any idea if this is an abandoned project or if it is still being worked on/added to?

----------


## blacknight1

> ah that would do it. It's a sorc, works fine for hammerdin. Thanks again.
> 
> Any idea if this is an abandoned project or if it is still being worked on/added to?


dont think it is that I have seen

I got a crude version of sorc to work in chaos, needs to be pretty strong though, I have only been able to do in NM

----------


## guschiggins

well the hammerdin one was working but now it has decided, with no configuration changes at all, to teleport significantly further, even after hitting f9. Set the bot back up from scratch and it still does it. Tested on another machine and works fine so something local to that laptop. Shrug.

----------


## bottuser4k

> Having a problem with version 8.1. Items that are accidentally picked up are not being discarded or stashed. They just fill my inventory within an hour or so. Any suggestions anyone?!?! Thanks





> I've seen this too, make sure sell junk is enabled and runs per stash is set low enough. Still I think it has trouble selling bad rolls for circlets, boots, and gloves. Happen with or withouth /noitempickup


Have you found any working solution yet? For me nothing helps unfortunately. Doesn't matter if I set sell_junk to 0 or 1 or runs_per_stash to 1/2/3/4 whatever, it will always trash/sell a few things but will keep other things until inventory is full.. It also just seems random what it keeps in inventory and what not.. :/

----------


## alacerte

> *GitHub - aeon0/botty: D2R Pixel Bot*
> 
> Best pixel bot as we speak. Stable, lots of features, and the best thing about it: open source and free for you to adapt and extend however you like! Get your python skills dialed in 
> 
> *Builds*:
> - Hammerdin (Tele + Walking)
> - Sorc
> - Warcry Barb (Tele + Walking)
> - Trapsin (Tele + Walking)
> ...


This bot is working very good! the only issue i have is this error message : ERROR item segmentation failed for slot_pos: (999, 367)
The bot doesn't sell the crap and keep it in inventory ! Do you know how to fix it ? thank you  :Smile:

----------


## alacerte

Same problem here ! I have noticed this error message : ERROR item segmentation failed for slot_pos: (999, 367)
it's like if the bot doesn't detect the slot position

----------


## blacknight1

for the inventory issue... go to processing_helpers.py

update line 121

from this:
121: x+w < right_inv[0] or right_inv[0]+right_inv[2] < x or y+h+60 < right_inv[1] or right_inv[1]+right_inv[3] < y)

to this (update the 60 to 80):

121: x+w < right_inv[0] or right_inv[0]+right_inv[2] < x or y+h+*80* < right_inv[1] or right_inv[1]+right_inv[3] < y)

----------


## alacerte

Thank you for the helpbut Cannot find processing_helpers.py in my botty folders

----------


## guschiggins

it's under src\d2r_image (which won't be there if you're using the compiled version).

----------


## alacerte

> it's under src\d2r_image (which won't be there if you're using the compiled version).


exactly can't See it..is there a solution for this ? thank you

----------


## guschiggins

read development.md from the site and follow the instructions to set it up with python instead of the main.exe/compiled version (install miniconda/git), you'll need to update the discord stuff from earlier in the thread also.

----------


## alacerte

> read development.md from the site and follow the instructions to set it up with python instead of the main.exe/compiled version (install miniconda/git), you'll need to update the discord stuff from earlier in the thread also.


What is the discord for botty ? the first link in that thread doesn'T work.

----------


## blacknight1

> What is the discord for botty ? the first link in that thread doesn'T work.


delete the red sections

src/messages/_init_.py

from .generic_api import GenericApi
from .discord_embeds import DiscordEmbeds
from .messenger import Messenger


src/messages/messanger.py

from dataclasses import dataclass
from config import Config
import numpy as np

from messages.generic_api import GenericApi
from messages.discord_embeds import DiscordEmbeds

class Messenger:
def __init__(self):
if Config().general["message_api_type"] == "generic_api":
self._message_api = GenericApi()
 elif Config().general["message_api_type"] == "discord":
self._message_api = DiscordEmbeds()

----------


## gamalielchosen

Hey folks,

Got the bot running on offline. Appreciate all the work involved. Moved it from the compiled version to the raw and saw a big jump in performance - FYI. 

One issue I'm still having is that my char is getting stuck in Act 5 after IDing items at Cain. He is supposed to return to Malah, but usually stands there before timing out.

Any thoughts?

Thanks!

----------


## interzepted

Hi bros,

How can I adjust the aternate attack of the blizz_sorc build to be fireball instead of iceblast? 
I understand there should be a file blizz_sorc.py (or something similar) where I can probably change some lines to adjust the bot skills according to the build of my sorc but I am computer noob and cant find it...

Any help would be highly appreciated!

Cheers!

----------


## alacerte

> Hey folks,
> 
> Got the bot running on offline. Appreciate all the work involved. Moved it from the compiled version to the raw and saw a big jump in performance - FYI. 
> 
> One issue I'm still having is that my char is getting stuck in Act 5 after IDing items at Cain. He is supposed to return to Malah, but usually stands there before timing out.
> 
> Any thoughts?
> 
> Thanks!


Where did you find the way to use the raw version ? I'm looking for it for so long and can't find

----------


## guschiggins

> Hey folks,
> 
> Got the bot running on offline. Appreciate all the work involved. Moved it from the compiled version to the raw and saw a big jump in performance - FYI. 
> 
> One issue I'm still having is that my char is getting stuck in Act 5 after IDing items at Cain. He is supposed to return to Malah, but usually stands there before timing out.
> 
> Any thoughts?
> 
> Thanks!


I carry an tome of ID on a hammerdin and he doesn't use cain, might be a good workaround.





> Where did you find the way to use the raw version ? I'm looking for it for so long and can't find


click the green 'code' drop down on the main github site for it and select download zip.

----------


## kjuul

is the discord link expired or? I cant seem to get it to work?

----------


## guschiggins

Yeah think the discord is dead, the project for this is read only/archived. Anyone working on a baal.py for this yet? Thinking about throwing some time at it.

----------


## nasunasu

WP is not working well. What should I do? (botty_v0.8.1)

[0.8.1 2022-11-23 15:40:18,302] INFO Run Eldritch
[0.8.1 2022-11-23 15:40:18,303] DEBUG Traverse from a5_town_start to a5_wp
[0.8.1 2022-11-23 15:40:21,277] DEBUG Select A5_WP (91.9% confidence)
[0.8.1 2022-11-23 15:40:23,788] DEBUG Select A5_WP (93.9% confidence)
[0.8.1 2022-11-23 15:40:26,305] DEBUG Select A5_WP (90.2% confidence)
[0.8.1 2022-11-23 15:40:28,805] DEBUG Select A5_WP (93.6% confidence)
[0.8.1 2022-11-23 15:40:31,316] ERROR Wanted to select A5_WP, but could not find it
[0.8.1 2022-11-23 15:40:31,750] WARNING EXP OCR Error: ['']. Exception: 'EXPERIENCE:' is not in list
[0.8.1 2022-11-23 15:40:34,810] DEBUG ['SAVE_AND_EXIT_NO_HIGHLIGHT', 'SAVE_AND_EXIT_HIGHLIGHT'] not found after 3 seconds

----------


## guschiggins

Have weird issue, going to set back up from scratch and see if it recurs. 
it says cancel teleport detected a bunch of time and he teleports way past the destination before stopping. Any idea?

It was latency or a change I made to the default file, probably latency, forgot to switch back from EU after a trade.

----------


## guschiggins

Anyone tried the FoH build for chaos? is it better/faster than the hammerdin? 

cliff notes for anyone setting this up:
read the whole thread, you need to fix discord and one other file to keep it from not selling stuff. default pickup file doesn't pickup HR which is dumb AF, if you go turning stuff on in there, pay attention, enabling conflicting stuff will f it up. Sorc can't run chaos with this, only hammerdin (maybe foh?) can. Tried Hoz and SR spirit, SR and 60% block seem to be champ, so I'd assume ST and 75% is the best bet if it crosses your path for the right price. If you use this on bnet, it likely will get you banned, especially if you run it for absurd lengths of time or if your setup is dumb and puts your bot in a death loop or presumably selling/dropping gold with a full stash. 

If someone PY savvy is looking for things to fix in this:
needs a final loot check after cracking last CS seal, seen it miss stuff
nihlithak, slight delay and second look check, seen it miss a sur. I wake up at night covered in sweat wondering what else it missed.
Shenk = death if you run shenk, even with a boss build, you're going to hit a run where a bunch of ranged attackers cause you to pause before hitting shenk. You'll just stand there trying to TP and a small number of the times this happens under lvl 95 you die.
weapon swap. This one is dumb AF, sometimes if it panic quits, you'll end up with a swapped weapon, it'll say failed to swap, you won't BO, and he'll keep running CS runs where only your merc really kills anything. Wrong build or some lag and this gets you killed.
Potion pickup seems to stop working sometimes.

LOL they banned my test bot today, probably just ran it for too long too many days in a row, 99% sure the ban process is entirely automated. Was a fun project and made a killing selling the loot so oh well I guess.

----------


## blacknight1

Removed for updates.

----------


## francheese

Hey great work on this project. So far I managed to set my hamemerdin pretty well with Enigma and CTA. I'm using 0.8.1 build at the moment, I tried the diablo option but cannot really make it work. It seems to be having issues figuring out the map and detecting if the seals are really popped. I usually end up stuck close to first seal, mobs all around and the bot can't get it opened. some other times, the seal is opened but the logs stays that it's still closed. Could it be something wrong with my settings or this run is still in progress? I set kill_cs_trash=0 for now.

Error log example: 


> Wanted to select ['DIA_A1L2_14_CLOSED', 'DIA_A1L2_14_CLOSED_DARK', 'DIA_A1L2_14_MOUSEOVER'], but could not find it


Thanks

----------


## guschiggins

(botty) C:\Users\user\botty>python src/main.py
Traceback (most recent call last):
File "C:\Users\user\botty\src\main.py", line 7, in <module>
import screen
File "C:\Users\user\botty\src\screen.py", line 4, in <module>
from utils.misc import WindowSpec, find_d2r_window, wait
File "C:\Users\user\botty\src\utils\misc.py", line 11, in <module>
from pyparsing import Regex
ModuleNotFoundError: No module named 'pyparsing'


if you run into this run 
pip install pyparsing
from miniconda

----------


## markwordk

> for the inventory issue... go to processing_helpers.py
> 
> update line 121
> 
> from this:
> 121: x+w < right_inv[0] or right_inv[0]+right_inv[2] < x or y+h+60 < right_inv[1] or right_inv[1]+right_inv[3] < y)
> 
> to this (update the 60 to 80):
> 
> 121: x+w < right_inv[0] or right_inv[0]+right_inv[2] < x or y+h+*80* < right_inv[1] or right_inv[1]+right_inv[3] < y)


can anyone confirm this is the solution for getting the bot to stash items in stash? 
as of yet, I've not seen my char even touch the stash on multiple runs. 
Mine also holds onto stuff that should be junk and doesnt sell random stuff but will sell others

----------


## guschiggins

> can anyone confirm this is the solution for getting the bot to stash items in stash? 
> as of yet, I've not seen my char even touch the stash on multiple runs. 
> Mine also holds onto stuff that should be junk and doesnt sell random stuff but will sell others


yup, I update this and my dude stopped holding junk. Still grabs stupid stuff sometimes, have to also be careful what you enable in the default pickup file too. If you enable things that conflict it'll get screwy , ie all frw skillers and specific FRW skillers or titans over X% ed and perfect titans.

----------


## markwordk

> yup, I update this and my dude stopped holding junk. Still grabs stupid stuff sometimes, have to also be careful what you enable in the default pickup file too. If you enable things that conflict it'll get screwy , ie all frw skillers and specific FRW skillers or titans over X% ed and perfect titans.


I changed that code from 60 to 80 or whatever but my dude still wont put anything in stash, i don't get it

----------


## guschiggins

> I changed that code from 60 to 80 or whatever but my dude still wont put anything in stash, i don't get it


is fill_shared_stash_first set to 1? try 0 if so.
and just to confirm you're only using the area on the right you designated as non-loot columns right?
num_loot_columns	Number of columns in inventory used for loot (from left!). Remaining space can be used for charms

----------


## cainea

Hello,

Anyone is getting this error ?

I`m getting this on multiple char.

[0.8.1 2022-11-25 17:58:30,291] INFO eldrich atk cycle
[0.8.1 2022-11-25 17:58:31,628] DEBUG Drink mana potion in slot 3. HP: 98.7%, Mana: 49.8%
[0.8.1 2022-11-25 17:58:33,342] INFO corpse explosion~> random cast
[0.8.1 2022-11-25 17:58:34,047] INFO atk cycle end
[0.8.1 2022-11-25 17:58:34,658] DEBUG Traverse from a5_eldritch_safe_dist to a5_eldritch_end
[0.8.1 2022-11-25 17:58:40,617] INFO circle cast ~>raise_revive
Exception in thread Thread-7 (start):
Traceback (most recent call last):
File "threading.py", line 1016, in _bootstrap_inner
File "threading.py", line 953, in run
File "bot.py", line 163, in start
File "bot.py", line 183, in trigger_or_stop
File "transitions\core.py", line 899, in _get_trigger
File "transitions\core.py", line 401, in trigger
File "transitions\core.py", line 1201, in _process
File "transitions\core.py", line 426, in _trigger
File "transitions\core.py", line 435, in _process
File "transitions\core.py", line 272, in execute
File "transitions\core.py", line 1123, in callbacks
File "transitions\core.py", line 1144, in callback
File "bot.py", line 502, in on_run_shenk
File "run\shenk_eld.py", line 50, in battle
File "char\necro.py", line 494, in kill_eldritch
File "char\necro.py", line 355, in _cast_circle
TypeError: unhashable type: 'numpy.ndarray'

----------

