Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bots stuck in pickup loop #89

Open
4512369781 opened this issue Mar 30, 2024 · 5 comments
Open

Fix bots stuck in pickup loop #89

4512369781 opened this issue Mar 30, 2024 · 5 comments

Comments

@4512369781
Copy link

Based on Declan's feedback, I finally found the reason, but I don't know if there are other problems with this solution.

please tell me what you think.

fix bots stuck in pickup loop.zip

@smilz0
Copy link
Owner

smilz0 commented Apr 3, 2024

ok thanks.

@smilz0
Copy link
Owner

smilz0 commented Apr 6, 2024

Hey mate, i don't think i understand where the problem is, tbh. I mean i understand that the itemstoavoid logic is complicated and having 2 weapons configurations makes it even more complicated but in my opinion it is better to have 2 separate configurations for the vanilla and the l4b2 pick-up logics as it allows more control and more customization.
In default itemstoavoid there's already "ammo" and "upgrade_item" and items_not_to_avoid is 1, which means that if you add a weapon in itemstoavoid.txt the vanilla AI will try to pick it up and will likely get stuck in a loop with the l4b2 weapon preference. This problem only occurs with weapons (inventory slots 1 and 2), not with the other items as the vanilla AI doesn't try to replace its current items for for the other slots, so for these slots you can have both the vanilla and l4b2 logics active.
Did i miss something?

@4512369781
Copy link
Author

hey!
I think, rather than being stuck between two logics, would better to choose one, and weapon preference could completely replace the vanilla logic for now.

The default l4b2 settings is fine, but if people add weapons to "itemstoavoid.txt" or change " items_not_to_avoid" to 0, thereby removing these weapon from the avoid list, vanilla bots will search these weapon and pickup it, but at the same time the weapon preference also forces bots pickup the highest priority weapon, which makes bots stuck in the loop.

And "ShouldAvoidItem" function can only make all bots like\dislike a weapon, but weapon preference is for each bot.

However, there is one situation where the two logics can work together, that is, following the vanilla logic.
Taking Ellis as an example, his priority is: T2 weapons (sniper > shotgun = rifle) > T1 weapons (shotgun = smg) in coop mode.
If the weapon preference is according to this priority, there is no need to put any weapons into avoid list, and no loop problems there.
But this is only an ideal situation, and it is impossible to know how people would change the priority.

@AsuToki360
Copy link

I honestly barely understand anything, but I'm trying to make the bots to not pick up sniper rifles, but for some reason they keep picking them up even though I added those weapons in itemstoavoid.

How can I do this in L4B2?

@4512369781
Copy link
Author

I honestly barely understand anything, but I'm trying to make the bots to not pick up sniper rifles, but for some reason they keep picking them up even though I added those weapons in itemstoavoid.

How can I do this in L4B2?

if "items_not_to_avoid" set to "1", weapons in "itemstoavoid.txt" will not avoid, so you should delete it from "itemstoavoid.txt".
and goto "weapons" folder, remove "sniper" in the config file or move it to the line end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants