What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[Plugin] VollFarmer

clandestine

Member
Joined
May 5, 2012
Messages
350
About
This is my first public plugin, I'm not really a C# coder so this is stitched together from various sources. Mainly from GrindZoneChanger and ExVaults QuestBot. Anyone feel free to improve upon this mess.

Upon entering The Dried Lake, combatrange is set to 0 and it's left up to OldGrindBot to explore the area. Once Voll is found, combatrange is increased to 50 and Voll is killed, looted then the bot returns to town to start a new run.

A run takes anywhere from 30s to 3min, depending on how quick Voll is found.

Your character should be tanky and strong enough to survive Dried Lake without dying and killing Voll in a short amount of time. The bot will not engage in combat unless Voll is nearby, you will get hit, you will take damage, you might die - make sure your character can handle it.
This plugin is released as-is. It works for me, it might not work for you. If it doesn't work for you then the source is there for you to make it better.

This Plugin was only tested with the OldRoutine combat routine. It will probably not work with any of the other community routines out there.

Setting things up

Required Plugins:
- EXtensions (comes bundled with Exilebuddy now)
- CommunityLib

Recommended Plugins:
- Alcor75PlayerMover
-- Make sure to check Ignore Mobs in Alcor75PlayerMover settings. Else the bot will dance around Voll like Michael Jackson
ignoremobs.webp
- AdvancedItemFilter

Copy VollFarmer-0.0.0.X.zip to 3rdParty

Create an empty 3rdparty-required.txt in the following plugin:
3rdParty\OldRoutine


Start ExileBuddy
Settings > Plugins > VollFarmer > Enable
Settings > Bots > OldGrindBot > GlobalChestsToIgnore > Check All
Settings > Bots > OldGrindBot > TakeCorruptedAreas > Uncheck
Settings > Plugins > Alcor75PlayerMover > Ignore Mobs > Check


Known Issues:
It's a bit spammy, so logs will grow.

There's a log4net error when making portal to town, it is safe to ignore (and I have no clue why this error comes up, if you know, halp pls):

Code:
<log4net.Error>Exception during StringFormat: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. <format>[TakeClosestPortal] The portal to interact with is xxx at {xxx, yyy}.</format><args>{}</args></log4net.Error>

Support
It doesn't work for you? Attach a Log, maybe I can help maybe not. There are many more smarter people here then me, maybe someone else can help you out. But as always, ATTACH A FUCKING LOG IF IT DOESN'T WORK FOR YOU.

I do not recommend running this for hours on end. Be smart, don't get banned.

Changelog

v0.0.1.1
- Fix in timeout where the value wasn't reset.

v0.0.1.0
- Fix to not get lost when moving out of Volls range after looting. You should see the following in the log if it happens:
[VollFarmer] Looks like we moved out of range of Voll. Presume looting is done and start new run.
- Fix in looting timeout, should be a bit tighter now.
- More logging added for now, in case something still goes wrong. Should help debugging things.
- Ran extensive tests with Whirling Blades, Leap Slam and Lightning Warp to make sure moving out of range of Voll after looting gets caught and run gets reset.
- Ran extensive tests with EK, Flicker Strike, Static Strike to make sure things work as planned. I don't have a ranged Char at the moment to test further, but so far things look like they're working as they should.
- Please attach a log if something still goes awry

v0.0.0.7
- Remove depdendency of QuestBot
- Fix GUI, still shows nothing but now it's properly implemented

v0.0.0.6
- Fix where bot would move out of range of Voll after it's been killed and would continue exploring.

v0.0.0.5
- Plugin now has a dynamic looting timeout. Instead of a fixed time to wait it will check if there are items to loot and will only return to town after all items to be looted have been looted. This is still experimental, if it doesn't work right for you please use v0.0.0.4 and post a log.
Thanks to ToNyx and urgent2009 for the help in getting this implemented!

v0.0.0.4
- Small bugfix about restoring CombatRange

v0.0.0.3
- Store and restore previous values for CombatRange so the bot won't be stuck on CombatRange 0 when stopping the plugin
- Fixed the dependency hell and complicated setup.

v0.0.0.2
- Fix to work with StuckDetection/Chicken/AutoLogin
- Increase looting timeout from 5s to 10s

v0.0.0.1
- Initial release
 

Attachments

Last edited:
Nice work. I know people have wanted something like this for awhile and it makes sense to use this now during Prophecy with the whole "kill Voll 1200 times" achieve.

People will likely get banned by running this 24/7 but thats just common sense and you warned about it.
 
<log4net.Error>Exception during StringFormat: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. <format>[TakeClosestPortal] The portal to interact with is xxx at {xxx, yyy}.</format><args>{}</args></log4net.Error>

Most likely the index has changed. I.E The portal was taken, you didn't set a flag for it to be already taken or missing something. Send me the project and i'll have a peek at it tonight.
 
Code:
		if (_itemStopwatch.ElapsedMilliseconds > 5000) {
			GlobalLog.Warn($"[VollFarmer] Seems like voll is dead, wait 5s then back to town and restart run");
			await Coroutines.FinishCurrentAction();
			await CommunityLib.LibCoroutines.CreateAndTakePortalToTown();
			await NewGrindZone();
			_itemStopwatch.Reset();
			_FoundVoll = 0;
			return true;
		}

is the snippet in question
 
Can't wait for the update for latest patch to be released so I can try this.
 
It looks like StuckDetection kicked in and logged you out. Do you have AutoLogin enabled and set up?

The bot waits 5s to loot once Voll is killed, for me that's enough time to loot everything 99% of the time. You can increase the time the bot waits for loot in VollFarmer.cs line 139:
Code:
		if (_itemStopwatch.ElapsedMilliseconds > [COLOR="#FF0000"]5000[/COLOR]) {
Set this to a higher value (5000 = 5s, 10000 = 10s, etc)
 
yea auto login is enabled and setup, and stuck detector set to go to login screen. it works correctly without the plugin if it happens to get stuck with Old GB. Not sure why its acting diffrently I just double checked all my settings for both.
 
so for an update, i disabled voll plugin and just ran lakes till i got a stuck, got same error, it logged me out and then logged back in. For whatever reason while using this plugin it gets the stuck to login screen, then never logs back in. Not sure why.
 
I got an idea for a fix, working on it.

Edit: Yep, that should have fixed it. Couple logouts/logins later, still farming as it should. Grab v0.0.0.2 for the update in the first post.
 
Last edited:
Full of bugs i must say.Went right beside voll's zone and kept exploaring for 2-3 mins more and when it decided to make a new run the bot went to starting zone and reset.1 time killed Voll and picked up what loot he could than reentered again to pick the rest of the loot but did not and left it on ground.The plugin itself is ok but it needs more love from you.I wouldnt recommend using it as it is right now.
 
I got an idea for a fix, working on it.

Edit: Yep, that should have fixed it. Couple logouts/logins later, still farming as it should. Grab v0.0.0.2 for the update in the first post.

Testing it out now will let you know if I run into any snags.
 
Code:
Cannot load [VollFarmer] because an exception occurred [F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(5,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(6,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(7,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(10,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(11,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(12,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(14,7) : error CS0246: The type or namespace name 'OldRoutine' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(68,56) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(80,46) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(138,35) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(23,17) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(25,17) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
].
System.Exception: F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(5,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(6,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(7,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(10,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(11,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(12,7) : error CS0246: The type or namespace name 'EXtensions' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(14,7) : error CS0246: The type or namespace name 'OldRoutine' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(68,56) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(80,46) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\Helpers.cs(138,35) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(23,17) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)
F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-3143061\VollFarmer.cs(25,17) : error CS0246: The type or namespace name 'WalkablePosition' could not be found (are you missing a using directive or an assembly reference?)

   在 Loki.Bot.ThirdPartyLoader.‬*‎‬‬‎*‏**‪*​*‎****‫​‪​**(Dictionary`2 , String )



can not load ~~~ pls help
I have create an empty file "3rdparty-required.txt" inside 3rdParty\OldGrindBot folder
and setting Gui add VollFarmer
 
It tells you right in the error why it wont load ;p

Code:
The type or namespace name 'EXtensions' could not be found

You do not have EXtensions installed (which you would get from installing QuestBot). Should work fine after you install the required plugins listed on the opening post.
 
It tells you right in the error why it wont load ;p

Code:
The type or namespace name 'EXtensions' could not be found

You do not have EXtensions installed (which you would get from installing QuestBot). Should work fine after you install the required plugins listed on the opening post.


Thank you .

But is not load .

Code:
Cannot load [VollFarmer] because an exception occurred [E:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-42259890\VollFarmer.cs(14,7) : error CS0246: The type or namespace name 'OldRoutine' could not be found (are you missing a using directive or an assembly reference?)
].
System.Exception: F:\ie\3rdParty\_CONFIGS_\Default\VollFarmer\Content-42259890\VollFarmer.cs(14,7) : error CS0246: The type or namespace name 'OldRoutine' could not be found (are you missing a using directive or an assembly reference?)

   在 Loki.Bot.ThirdPartyLoader.‬*‎‬‬‎*‏**‪*​*‎****‫​‪​**(Dictionary`2 , String )
AreaVisualizer

I setting Gui VollFarmer / EXtensions / OldRoutine /OldGrindBot and Uncheck Compile Asynchronosuly
 
Back
Top