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.
Code:
Func lootItems() If $lootEnabled And $botActive Then If $mobDetected = 1 Then ;$lootTimer = TimerInit(); $lootLocation[0] = $targetX; $lootLocation[1] = $targetY; Else ;just killed something If TimerDiff($lootTimer) > 5000 Then TrayTip("", "looting", 1) Send($lootKey) Sleep(1000) Send($lootKey) Sleep(1000) Send($lootKey) Sleep(1000) Send("{CTRLUP}{ALTUP}") TrayTip("", "end loot", 1) EndIf $lootTimer = TimerInit() EndIf EndIf EndFunc ;==>lootItems
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.
Hotkeys:
Ctrl - Alt - Z: Toggle Bot On/Off
Ctrl - Alt - I : Opens Info Window
Waypoint System:
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.
Instructions:
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.
*=important
Features to Add:
Stuck detection.
Boss detection.
Zombie detection.
Mount for walking when possible.
more more more...
Developer: