Farm Manager - Tribal Wars 2 Farmbot

Sent you a new session recording of the both constantly crashing :frowning:

The solution depends on what you see when you run the app on Windows 10.
So the next step towards a solution is to run it on Windows 10.
Maybe that switch to Windows 10 will be enough to fix it.

Yes, I depend on people playing Tribal Wars 2 to learn which additions would add value.
That has worked well so far and was the basis for many updates.

To ensure the best visibility of a feature request or bug report, post in a specific thread/topic on the forum or in a GitHub issue. If the right topic does not exist yet, you can create it in both cases.
Using a topic title matching your scenario, you increase the chances of your message being seen and found again when necessary.

This is the (general not specific to this TW2 bot) guide on how to report an issue with an app or request a new feature: bots/guide/how-to-report-an-issue-with-a-bot-or-request-a-new-feature.md at main ¡ Viir/bots ¡ GitHub

How could a player do this? What keys do you need to press to perform this activity?

What is that? Is that somehow related to the app discussed here? I do not see a connection.
It looks like a misunderstanding. The bot can attack the same village once each cycle. So that allows multiple attacks on the same village per session. If that is not explained well in the description, I can update the app description to clarify that.

1 Like

How could a player do this? What keys do you need to press to perform this activity?

The hotkey to opent he resource depot is “D” but you will need to manually click confirm once it’s done and then select another to start. The time at the top right of each one will show you how long it will take to complete each one. The order people usually goes are lowest time first.

image

What is that? Is that somehow related to the app discussed here? I do not see a connection.
It looks like a misunderstanding. The bot can attack the same village once each cycle. So that allows multiple attacks on the same village per session. If that is not explained well in the description, I can update the app description to clarify that.

I think this has been solved with the one I suggested earlier where the bot shouldn’t attack the same village if there is a returning or ongoing army to the same village

2 Likes

Thank you, I looked into recording session-2021-04-01T17-16-12-1bd8f3.zip

One aspect that caught my attention is that you increased the maximum farm distance, and the first farm cycle runs for more than six hours. What do you get when you let the first farm cycle finish earlier, say after three hours?

I also sent you an email with more details on the investigation.

I’ve just replied. Hopefully this gives you a better idea. I’ve also change the max distant back to default and same issue.

Thank you for the update.

The video helped clarify your situation. What I see there is that the bot is continuing to scan the map. You can see the number of coordinates read increasing in your video.
In that case, the problem is that you have fewer barbarian villages on your map in that radius.

What about ending the farm cycle earlier in that case? Would that work for you?

But if you look at the game client, there was multiple barbs around the selected village that had no attacking going to it. Not sure if it just skipped those ones.

Thank you for clarifying. This is a good start. When @opticcanadian or somebody else becomes interested in adding such functionality, we can take a closer look.

1 Like

Sure, let’s take a close look at those nearby barbarian villages specifically. The bot used there (6c2fbf66ef) attacks the closer villages first. That means that it attacked those villages a long time before the video recording even starts. The recording does not start at the beginning of the farm cycle but much later. That is why the video does not even show the armies coming back from those attacks.

You will see the attacks on those villages when you look back in time further.

1 Like

Thank you for clarifying. This is a good start. When @opticcanadian or somebody else becomes interested in adding such functionality, we can take a closer look.

I would be one of the few that would see this added. Would really add a huge benefit to using the bot.

Sure, let’s take a close look at those nearby barbarian villages specifically. The bot used there (6c2fbf66ef) attacks the closer villages first. That means that it attacked those villages a long time before the video recording even starts. The recording does not start at the beginning of the farm cycle but much later. That is why the video does not even show the armies coming back from those attacks.

You will see the attacks on those villages when you look back in time further.

Got it, makes sense now. I’ve adjusted the settings and now it is doing better… now that I understand what was happening. Thanks again @Viir

Can I make another recommendation which will really improve the Bot? Is it possible to add in the code where the bot will ignore sending an attack on village with a maxed out or full warehouse? The bot would check every cycle, if the village selected has space for more resource it’ll send out an attack to a barbarian village, if the warehouse is full it will go to the next village. @Viir

I see that was about new functionality for the resource depot (see screenshot above). Is that benefit enough to warrant paying a developer to help you with that?

What a relief, glad to hear it works better for you now. :+1:

Skipping a village based on that condition might be simple to implement. I see a good chance that you are already reading the necessary information about the village anyway. I guess it is contained in the same event that leads to data flowing into the ownVillagesDetails field. In this case, it might suffice to add parsing for that part of the JSON string and then use ownVillagesDetails to branch in the policy function.

To test such a change, I need:

  • A session recording with such a scenario.
  • The coordinates of your village(s) for which your condition ‘warehouse is full’ is satisfied in that scenario.

I see that was about new functionality for the resource depot (see screenshot above). Is that benefit enough to warrant paying a developer to help you with that?

Yup, definitely. I know another one that does it but its lacking. If this was able to overcome those, you bet lol.

Skipping a village based on that condition might be simple to implement. I see a good chance that you are already reading the necessary information about the village anyway. I guess it is contained in the same event that leads to data flowing into the ownVillagesDetails field. In this case, it might suffice to add parsing for that part of the JSON string and then use ownVillagesDetails to branch in the policy function.

To test such a change, I need:

  • A session recording with such a scenario.
  • The coordinates of your village(s) for which your condition ‘warehouse is full’ is satisfied in that scenario.

I’ll see if I can get a session recording of that for you.

I am not sure what the condition is here. What is there to overcome? Did we discuss this already somewhere? If you have seen something that comes close, how does it deviate from what you are looking for?

The one being used does the resource depot and that is it. What feature it needs to add to makes it better is to have the ability to use the “Resource depot Reroll” item or have an option to toggle or turn on where it will allow the bot to use existing crown to Reroll the depot. This way when the bot finishes all the Resource Depot item it will reroll until it get the last prize.

The reason for this is for the Bountiful Harvest prize on the resource depot.

Hello. can i save statistics some (ranking,player point, city name)? have such a function? or can it be making? thanks

Thank you for the clarification.
Reading this made me think this is less suitable for an expansion at the moment. As far as I can imagine from the textual description, the complexity has multiplied, which means it would require more effort to implement.
Earlier, I had thought of contracting a developer to build such functionality, but I am not sure that would make sense with this increased cost.

Information about the game world like points, village names, and more are saved to files by default. So you can still retrieve this information after the session is closed.

Anyway to implement a parameter to avoid farming from a certain village you own? And also another to set how many outgoing attack each village will send. The bot will usually use up all 50 outgoing commands but would like to limit to 48 to allow the 2 command for other things.

Is a parameter in the bot better than using the game user interface to disable the army presets for that village?

This addition sounds reasonable and valuable. Now that you mention it, I see the problem. Implementing a configurable limit in the bot seems a good solution. :+1:
How should we name this setting?