So you are suggesting the return path prefix to automatically suggest a return path when not set? That's actually an interesting idea. Hadn't thought of that. However, I did have an idea (which obviously was not implemented at this time of this patch) of a whole different system that will be implemented in the future.
The basic idea is that all of that information will be moved into the waypoint scripts themselves. This makes for easier distribution and setup as each waypoint script will have a paired return path, so it seems kind of redundant to have to switch both of them in the profile rather than act as a pair. Simply put, the <waypoints> tag in the XML will contain the name of the return path.
This will be combined with others' idea of moving extra options into specific waypoints (ie. one user suggested setting the COMBAT_DISTANCE into the waypoint XML). This patch was very light on changes to the actual bot (as you've probably noticed) and was focused entirely around the harvesting system. The changes to the bot itself are unfinished.
elverion, if you pick up someones ideas and decide to implement them, please add some credits - thanks
Don't take it the wrong way. I'm a busy person and get sidetracked with other projects and work. I'm just now getting home at 11:30pm from working all day. I appreciate all user contribution no mater how big or small. This bot truly is a work of the community, not myself, and I realize this.
EDIT: I've committed a few of your patches to SVN, and given you credit. I have stripped the return path prefixing for the time being. I would like to hear you reasons for preferring this method other my suggestion above. The problem I see with your method is that it would break when users share waypoints. Not always, but sometimes (when one user prefers one prefix over another). Obviously, if both users do not have the same prefix set, it causes problems. In my system, they just drop both scripts into the waypoint folder, and it works reguardless.
Also, I have found a minor bug in your code. The change is on SVN already. It is near line 176.
Code: Select all
cprintf(cli.green, language[1], __RPL:getFileName());
If the return path is not set (which is not required), it will result in an error because of a nil value. This is the fix I made:
Code: Select all
if( __RPL:getFileName() ) then
cprintf(cli.green, language[1], __RPL:getFileName());
end