Update: 03 May 2010
I kinda lost the steam to do this cos of the long break I took due to exams.
I was working on some stuff before that so there are a lot of changes in the code. I can't exactly remember where I left off seriously. I'm releasing the code I've written so far, pick it apart and good luck. I've edited it so that the new pointers should work now.
Something to note about this version, it doesn't always attack what it is selecting but it should attack what is closest to it.
No exe this time. You'll need NomadMemory and autoit3 to compile this. I might pick this up again when manual grinding gets too tedious... but I'm currently in a post-exam high so I'm really not sure how much I will be playing.
Warning: This is not stable at all. It is literally for coders only.
Credits: oOldsqL on general-discussion, bassbanane, FeonDust for some memory addresses. saved me a crap load of time looking for pointers.
April 14 build in action.
Update 17 April 2010:
Uploaded the unstable build i've been working on. Unstable since I only tested on 1 character. Use config file from previous version.
- Fixed spell casting distance. attackString= 2:3 will now check that the target is within a distance of 3 before casting the spell. 2:0 will just cast regardless.
- Returns to safe point to sit.
- Fixed cast distance bugging the movements. When a mob that's out of cast distance is detected, it should still continue towards the waypoint instead of just standing there.
- Rewrote looting code. this is a major pain in the ass to code all along.
Here's the looting code used. Any advice and suggestions greatly encouraged.
If $lootEnabled And $botActive Then
If $mobDetected = 1 Then
;$lootTimer = TimerInit();
$lootLocation = $targetX;
$lootLocation = $targetY;
;just killed something
If TimerDiff($lootTimer) > 5000 Then
TrayTip("", "looting", 1)
TrayTip("", "end loot", 1)
$lootTimer = TimerInit()
Almost completely recoded this. Ignore the lack of UI for now... It's a massive waste of time
A separate config file is created and loaded for each different character.
Waypoint system. To create waypoints, go to where you want the waypoint to be create and hit the hot key. go to the next spot and repeat. it's best to have the first and last waypoints being really near together so it forms a loop.
cast distance prevents targeting something really far away... since running too far from the path makes getting stuck easy.
set hp and mp low to 0 is you don't want to use autopot. the safe spot feature hasn't been done yet... so this is really not advisable.
Max Zoom: allows you to see as much as possible in game. if you don't mind your character being ugly.
Ctrl - Alt - Z: Toggle Bot On/Off
Ctrl - Alt - I : Opens Info Window
Ctrl - Alt - A: Add waypoints
Ctrl - Alt - C: Clear waypoints
Ctrl - Alt - S: Set Safe Point. (still deciding on what to do with this)
Ctrl - Alt - X: Set Cast Distance. Minimum distance from mob to start casting.
1. Run GF, login, select character
2. Start GFhelper after character appears on screen.
3. check if there's a new character_name.ini(first run only)
4. * set waypoints (go to the location of where you want the waypoint to be created then hit Ctrl-Alt-A. u need at least 1 waypoint else it crashes. setting only 1 waypoint should make it just stand around 1 spot and hitting the surrounding mobs)
5. * select a mob and hit Ctrl - Alt - X to set the minimum cast distance. meaning. any mob detected outside this distance is ignored. so you don't run too far off course.
6. Ctrl - Alt - Z to start.
Features to Add:
Mount for walking when possible.
more more more...