I made a couple of quick fixes last night and got this thing working great for me...
Problem 1: Twitchyness
Solution 1.1: Turn off the radar! Radar lags my video a bit, turning it off reduces the twitchyness significantly.
Solution 1.2: Reduce the sensativity. I'm harvesting out of doors and really don't need that fine of control on intial heading to get where I'm going.
Looking at today's 1.5 code, I don't see any changes with the twitchy code but I don't have my 1.46 here to do a diff against.
Original snippet from NavigateXY
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
'fine tunes the tolerance for hdg angle to allow you to move sooner and adjust as you run
If running then
NegHdgTol = -1
PosHdgTol = 1
Else
NegHdgTol = -2
PosHdgTol = 2
End If
My Version
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
'fine tunes the tolerance for hdg angle to allow you to move sooner and adjust as you run
If running then
NegHdgTol = -3
PosHdgTol = 3
Else
NegHdgTol = -2
PosHdgTol = 2
End If
Good enough for me, still need to turn off the radar to get it to work right. This may not be sufficient for tight nav in some zones though.
Problem 2: Overshooting the node. The targeting the node for harvesting requires that the node be in front of you... The navigate takes you to within 3 units of the node, but doesn't turn you to face it once you get there. On my system I seem to end up right beside the node, or on top of it, or a bit past it sometimes and the targetting toggles through the neigborhood looking for the node, fails, marks it unharvestable and moves on.
Original
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
'====================================================================================
' M O V E P C T O L O C A T I O N O F N O D E
'====================================================================================
sub GotoResource()
writeLogLine("Moving to " & resources(ResourceIDX,1))
xuscriptplugin.stastatus.text = "Moving to " & resources(ResourceIDX,1)
NavigateXY RX, RY
end sub
My Version
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
'====================================================================================
' M O V E P C T O L O C A T I O N O F N O D E
'====================================================================================
sub GotoResource()
writeLogLine("Moving to " & resources(ResourceIDX,1))
xuscriptplugin.stastatus.text = "Moving to " & resources(ResourceIDX,1)
NavigateXY RX, RY
RunBackward(500)
end sub
This takes you to the node, but then backs off a wee bit and you end up at a distance from the node that is about where I'd put myself manually harvesting.
Better solutions possible with more work...
For going to a node for harvesting, you don't actually want to go exactly to the node... where you really want to be going is exactly to a point that is just short of the actual location. Say 3 or 5 units away. So if initially, the node is 70 units away... you want to go 67 units towards it and no more. Then stop, correct your heading if necessary and be exactly facing the node. This would result in a VERY natural looking harvest.
The current method looks quite unnatural with the character standing directly atop the resource sometimes. My method is in some ways worse as he runs to it, stops, backs up and harvests. Not so unnatural looking at first but its a clear pattern and to an observer it would seem pretty bot-like.
RedMan