Dota 2
TinkeringABo(u)t
76 Comments
Haziq Hafriz The Magical Oct 22 @ 10:36pm 
Okay, thank you for the answers to me.
ryn1  [author] Oct 22 @ 10:14pm 
Only All Pick and Turbo.
Haziq Hafriz The Magical Oct 22 @ 6:16pm 
I want to asked about this, is this work on captains mode?
ryn1  [author] Oct 2 @ 8:48am 
@ 勇気

They work just fine on my end.
勇気 Oct 2 @ 5:36am 
2 games I played were 2 heroes Lone Druid,Muerta
勇気 Oct 2 @ 5:29am 
after valve updated ,Recently some heroes who don't buy items usually have 10000 gold in them. can you fix it?
ryn1  [author] Jun 30 @ 4:24pm 
Posting links doesn't seem to be working currently here.

I'm assuming you manually installed the script. You can go to the GitHub repo, and in the Discussions tab, see [sample] 1 . Copy the code there inside your hero_selection,lua file above the line SelectHero(botID, sSelectHero) .

Make sure to read the included comments.
littlepiggy Jun 30 @ 6:56am 
yes, same hero lineup for both sides, leaving 1 slot for human
ryn1  [author] Jun 30 @ 6:35am 
By mirror, you mean the same hero lineup for both sides?
littlepiggy Jun 29 @ 8:13pm 
Hi master, I enjoy playing with your bot so much, may I ask is there a way to choose mirror-lineup for the radiant and dire? where slot1 is human slot and all others are bots. Thank you!
ryn1  [author] Jun 21 @ 6:27am 
Bot-Human communication is sadly not very robust, and mainly uses pinging as the method.

You can ping around your tower after some condition is met: https://github.com/ryndrb/dota2bot/blob/2e8a7425ab7d77459d60e2190568fdf8e6548672/FunLib/aba_defend.lua#L53

The same goes for Roshan. After the bots know they have enough DPS (the first life) to kill it in a short amount of time, then you can ping.

That said, playing around the bots is recommended.
MY.ReiN Jun 21 @ 12:11am 
Hi, may i know how to ask bot to go where i want them to go? example go to defend bottom tower or attack roshan. Thanks.
456 Jun 11 @ 5:50am 
ah i see, thank you for answering
ryn1  [author] Jun 10 @ 7:48am 
@ Pure~

Bot scripts, like this, can only work using Local Host. So sadly, it will be laggy (not as severe as what you're having) regardless of how good a system is, since it's using your computer as the server.

You can have a little better fps by having a better computer, or adjusting video settings, etc. But Valve making bot scripts run on their servers again is the ultimate solution.
456 Jun 10 @ 1:40am 
sorry intel i5 gen 11 i mean.
456 Jun 10 @ 1:38am 
I'm experiencing severe lag from the start of the game, I can only play around 15-30 fps throughout the game using a local server, is this script really heavy on the system?, I'm using a rtx 3050 4gb laptop, 16 gb RAM, intel i5 gen 12
ryn1  [author] Jun 7 @ 4:50pm 
Bots will place wards to whichever closest valid locations from a defined set of coordinates:
https://github.com/ryndrb/dota2bot/blob/master/FunLib/aba_ward_utility.lua

They are not, most of the time, gonna make the right choices by human standards. And will never be given the current system, especially without machine learning.

They don't really play around vision, so improving it further won't yield meaningful results. It's more just about having them there and light up the map.
千载秋月映素影 Jun 7 @ 7:41am 
Yeah? So how can you make sure that bots can make right choices of wards position?
ryn1  [author] Jun 7 @ 5:45am 
@ 千载秋月映素影

I don't usually buy wards when playing with bots, that's why. But I can make it so that they leave 1 of each if there's a human on their team.
千载秋月映素影 Jun 6 @ 9:42pm 
WHY DO BOT ALWAYS BUY ALL WARDS????????
ryn1  [author] May 30 @ 12:33pm 
I don't think so.
_S&K_ May 30 @ 10:25am 
Maybe there is a command via console?
ryn1  [author] May 30 @ 9:09am 
Valve hasn't updated their API in so long. So, it is not possible to choose which facets the bots will use.
_S&K_ May 30 @ 9:00am 
In Russian, aspect is written))) I wrote it through a translator.
_S&K_ May 30 @ 8:59am 
ryn1: I want to change the FACET in phantom assassin, from METNODICHAL to SWEETRELEASE, for example
ryn1  [author] May 30 @ 6:34am 
What do you mean by "aspect"?
_S&K_ May 30 @ 1:27am 
How can I choose a different aspect for the bots?
ryn1  [author] May 28 @ 8:33am 
@勇気

The vscripts commands are entered during the hero selection phase:
https://github.com/ryndrb/dota2bot/tree/master/Buff

See To Use .
勇気 May 28 @ 7:45am 
i typed sv_cheats when it was 22 minutes all bots went back home and picked up neutral items over and over again. didn't participate in defense or attack
456 May 25 @ 3:27am 
best script so far, update new patch please :))
Mina May 7 @ 11:40pm 
Hi there,
My friends and I enjoy playing Dota with bots, and thanks to your script, the bot games have become much more interesting. We’re also programmers, so we often analyze in-game scenarios and customize your code, adding a few features along with Frets bot to make the games more challenging.
If possible, we’d love to contribute to your project and help develop our shared passion for playing Dota with bots.
We also have a Discord channel and would be very happy to welcome you there so we can connect and share more ideas together.
https://discord.gg/6nV3Sd9YXD
Faux Pas Mar 4 @ 2:23am 
No worries mate! Ogre Magi and Monkey King are leveling up properly now. Once again, thanks for the swift updates. :steamthumbsup:
ryn1  [author] Mar 3 @ 11:20am 
@Faux Pas

Thanks, I fixed it.

But for further bug report/s, put it on the Bugs thread, if possible.
Faux Pas Mar 3 @ 5:29am 
Hi, two bug reports here.

First, your Monkey King didn't level up his tree dance to level 5 which caused him not to level up his abilities beyond around level 16. I fixed it by adding 1 more level of his Tree Dance in your hero_monkey_king.lua file - "['ability'] = {
[1] = {1,4,4,2,4,2,2,2,6,1,1,1,4,2,6,6},
},"

Second, your Ogre Magi did not level up his level 20 and 25 talents after all of his abilities are maxed out (After level 17).

Big thanks for the fix for heroes that have level 5 or more abilities btw (Lycan, Night Stalker and Monkey King).
ryn1  [author] Jan 16 @ 4:05pm 
@lon9b3an

>> Your sv_cheats apply to both bots on radiant and dire?
I'm assuming you're talking about Buff ( Click [github.com]) with "sv_cheats"? If so, then yes, it applies to both sides.

>> Is there any way to just apply it to one side?
I just pushed a new (1/16/25) commit in GitHub, which adds a flag table to easily enable/disable the given buffs to bots. Update your files and edit the table inside the Buff.lua file in your bots directory.
https://github.com/ryndrb/dota2bot/blob/8c2c54d0af91e818a4fa0cc9c2bbddf504f7f54e/Buff/Buff.lua#L103
lon9b3an Jan 16 @ 5:46am 
Hello my good sir, thank you for the work youre doing. Was just wondering, your sv_cheats apply to both bots on radiant and dire? Or just the opposing side? Is there any way to just apply it to one side? Thanks!
ryn1  [author] Dec 2, 2024 @ 9:52am 
@Izzy伟

There's an instruction on how to make it work on GitHub (click the link in Description). See "To Use".
生财者 Dec 2, 2024 @ 3:41am 
hello bro idk how to use this github to download ur scripts :steamsad:
ryn1  [author] Nov 21, 2024 @ 8:44am 
@littlepiggy

The bot positions, from top to bottom, correspond to: 2, 3, 1, 5, 4 .

Refer to the sHeroList table to replace #hero_name with valid names. Make sure the heroes you choose can play the assigned roles (i.e., their role weights are not zero).

If you don't plan on choosing a hero for a specific position/team, comment out or delete the line.
ryn1  [author] Nov 21, 2024 @ 8:41am 
@littlepiggy

You can just try overriding one of the tables. One easy way of doing it is at this line inside the hero_selection.lua file: https://github.com/ryndrb/dota2bot/blob/032b5afc05c329986ff954d113337d4a7b851129/hero_selection.lua#L212

You can add:

if GetTeam() == TEAM_RADIANT then
tSelectPoolList[1] = {'#hero_name'}
tSelectPoolList[2] = {'#hero_name'}
tSelectPoolList[3] = {'#hero_name'}
tSelectPoolList[4] = {'#hero_name'}
tSelectPoolList[5] = {'#hero_name'}
end

if GetTeam() == TEAM_DIRE then
tSelectPoolList[1] = {'#hero_name'}
tSelectPoolList[2] = {'#hero_name'}
tSelectPoolList[3] = {'#hero_name'}
tSelectPoolList[4] = {'#hero_name'}
tSelectPoolList[5] = {'#hero_name'}
end
littlepiggy Nov 21, 2024 @ 3:16am 
Master, is there a way to manually select the robot's hero lineup in turbo mode? thank u !
ryn1  [author] Sep 17, 2024 @ 3:39pm 
This is the Glyph logic: https://github.com/ryndrb/dota2bot/blob/a99ce22fa8512727cb340be223c3405e9263dab4/ability_item_usage_generic.lua#L7249

Apart from making them consider Tier 2 towers, I've not touched it from the base script.
Naevy Sep 17, 2024 @ 10:33am 
how to change the numbers of glyph usage for bots? sometimes I feel them repeating glyph way too often
Earth Spirit May 19, 2024 @ 7:34am 
Yes i am :D. i checked some old scripts and i realised yours have .git while beginner ai doesnt have it so i thought it might be the case. well turned out i was wrong :D
Earth Spirit May 18, 2024 @ 11:06pm 
Quick idea: is it possible that this script doesn't work with Steam's lobby because it contains ".git" folder?
Earth Spirit May 13, 2024 @ 5:46pm 
The latest version on github modified rune logic, so in theory bots should pick up water runes (some rare cases, bots on side lanes could pick wisdom runes). However, for unknown reasons bots don't do it right after this bot script is updated but after some matches. Anybody gave the latest version a try?
lontongnya Apr 2, 2024 @ 11:43pm 
Impressive bot,
My only complaint is tormentor.
Either improve it or remove it.
It's slow down gaming experience
Erica Mar 26, 2024 @ 4:14pm 
10/10
Erica Mar 26, 2024 @ 4:14pm 
would recommend
Erica Mar 26, 2024 @ 4:14pm 
the best :steamthumbsup: