GoHarvest

Status
Not open for further replies.

mycroft

Script Author: MyPrices
Automatic harvesting script - available from the SVN

moves between nodes within a set range using moveto.iss

Can be told to only harvest certain node types.

Useful for harvesting in non-agro or areas where everything is grey con.

To harvest all nodes within 80 units distance of your character use the following in the inner space command line. (~)

run goharvest

Enter 80 in the distance box on the UI.

Untick the node types you do not want the script to harvest and hit Start.

If all the nodes in your defined range have been harvested the script pauses and as soon as a node pops it will move towards it and carry on harvesting.

Script will avoid most obsticles and find a way via a 2nd point to reach any blocked nodes.

Pauses if something agro's you and skips nodes where someone is close enough to be harvesting it.
 
Last edited:

mycroft

Script Author: MyPrices
Stupid question, but what is the advantage to this over the current eq2harvest?
If you only want to harvest a set area , it won't go running back and forth if there are no nodes to harvest , in the areas I can safetly harvest without agro it looks much like someone harvesting between small afks as there is no set pattern to the routes it takes between nodes.
 
Last edited:

mycroft

Script Author: MyPrices
This would be cool if moveto or this script was adjusted for collision checking.


I've not had time to work with it, but you should be able to colision check to your destination, if it fails, you should then be able to chose some random 'shift' points and use the collision between 2 points stuff to see if you can go A to C to B when A to B reports bad. Keep shifting C a few times, if not sollution mark it and move on.

Sorry, random pre-coffee musings.
I did try a form of collision checking , calculating the next 'step' along the path when I was coding my own version of moveto a while back....but I got bogged down on the various calculations needed using angles / movement in X and Z axis etc...to test if the next step would cause LOS issues (movement blocked).

It got so complicated I gave up 8)
 

mycroft

Script Author: MyPrices
Is it possible to harvest only 2 node types? or is it 1 node type or all?
Adding a small update , Small UI box with tickboxes for each type, hard metal , gems , wood , roots and it knows what to look for, for each type in each zone so you can click what you want it to collect.


Currently it's one type or all though and I'm working on a routine to avoid obstacles by using a midpoint to move to first.
 
Last edited:

mycroft

Script Author: MyPrices
I have a beta of a collision detection routine that tries to find working routes around obstacles...

it checks points (B) around the characters current position (A) in ever widening circles until it reaches a max distance out from your characters position.

If it find a point in that circle that will take it from from A->B->Node then it follows it.

A bit brute force but so far it seems to work.
 

mycroft

Script Author: MyPrices
Is anyone using the new version of this from the SVN at all.

I could use some feedback on how well the new LOS routine is working...

It now checks a circle around the character and then a circle around the node to find a LOS to a node that currently has no LOS..

Pretty much now manages to avoid 90% of all problems of blocked nodes...
 
Last edited:

mycroft

Script Author: MyPrices
Newest version updated on the SVN yesterday works with/around all these now , I'm still tweaking it daily.
 

mycroft

Script Author: MyPrices
Love this script! There is one thing I noticed that doesn't work is the Z checking. When I harvest in Feerot, the script will get stuck when nodes are in trees or walls. The character will just stand there trying to move to node. What I think should happen is when it gets near a node but blocked by tree, then it should try to harvest, it should get a message say can't harvest then move on.
The 'can't harvest' , 'too far away' etc was added to the most recent version updated to the SVN a few days ago.

If it gets any of those messages it will move on to the next node.
 

mycroft

Script Author: MyPrices
May want to take another look at the aggro detection stuff. The bot was running everywhere for a few seconds grabbing aggro from many mobs.
I've added more checks for in combat to all the various movement routines.


Could the if other person near node then skip it routine be amended to ignore group members? I harvest with a boxed toon on autofollow, which makes harvesting in more dangerous or troublesome areas much easier.
Yes , thats a very good idea , will look into it.
 
Last edited:

mycroft

Script Author: MyPrices
Also looking into changing the way it handles the harvestable node list as I've realised some zones (Jasarath Wastes for example) have more than one name for each type of node.
 

mycroft

Script Author: MyPrices
Sorry I didn't explain it very well. I do have the latest version of goharvest. The problem is that you have a node that is stuck in a tree above the chars head just outside the harvest reach. The script will try to go to the node, but is stuck in the base of the tree. No message goes to chat because the script doesn't even attempt to harvest. So a fix would be to check to make sure char is not stuck and that the node is not above the chars head, if those conditions are true then go on to next node.
Thats strange..these are the phrases it should trigger on...

too far away
Can't see target
You cannot
Your target is already in use
not enough skill

In theory a node thats too far away even when the moveto.iss has placed it in the right spot should make the game trigger...'too far away'.

I'll test checking the Y axis (height) once all movement has been done just to make sure , but it's wierd you aren't getting that text.
 

mycroft

Script Author: MyPrices
I've added a check for nodes > 5 units in height...this seems to be the cutoff for nodes stuck in a tree but not receiving the 'unable to ..' message.

Updated the SVN
 

mycroft

Script Author: MyPrices
Update - Node names

I've updated the Node name list to be non-zone specific , it cut out quite a few duplicates , also allows for more node names to be added easily when more zones are added or a zone has more than 1 set of node names.

Just add the new name(s) to the end of each group in harvest.xml
 

mycroft

Script Author: MyPrices
Updated the script to make it work a lot faster when nodes are blocked from where your character currently is....no more long pauses between nodes that you can't get to easilly.
 

mycroft

Script Author: MyPrices
Small update , if your next node is within striking distance of your current node it won't move your character at all, it'll just start harvesting.
 

mycroft

Script Author: MyPrices
Update

Updated the script to allow you to toggle on or off the stricter Line of Sight checking.


With it turned on.

1) if any thing blocks the line of sight to a node that 'route' is ignored totally and the next route is checked instead.

2) The script runs faster in areas with lots of items blocking nodes.

3) The script may skip the odd node.

With it turned off

1) if anything blocks the line of sight to a node then the script will continue further along that same route and test if it has line of sight further along that line , if found it will then travel over the items in the way.

2) The script will run a LOT slower as it will continue to check to it's maximum set distance even if something totally blocks LOS to a node all along the route it's scanning , so your character may stand there for a long time scanning routes.

3) The script will harvest everything it can reach, even if it involves attempting to run over rocks etc.

Node - > X
Line - > |
Char - > O
Blockage -> @


With Strict LOS turned on.

X

@
|
|
|
O

Without Strict LOS turned on.

X
|
|
@
|
|
|
O
 
Last edited:

mycroft

Script Author: MyPrices
New Update:

Added rudimentary ability to mark areas of a zone as 'Avoid'.

Mark these by clicking the 'Mark Avoid' button , everywhere you move from then on is marked , click the button again to 'Stop Marking' the area.

It currently only checks from where you are to the mid-point , I'm working on checking from there to the node as well before moving...
 

mycroft

Script Author: MyPrices
New Update : Misc node name box

Lets you define a 'special' node name to look for (useful for yearly events that spawn a node not available at any other time) Errolisi Rose for example.
 
Status
Not open for further replies.
Top Bottom