+ rep loved it when i could use the bot but i cant nowUpdate it!! Lol.
+ rep loved it when i could use the bot but i cant nowUpdate it!! Lol.
Thanks so much for trying to fix this again so fast!! Looking forward to using it!
I'l love u guys to death and spam any rep i can give to u wen i can if u can update this perfect bot on my opinion best ever
Can't wait, I've been dieing without this.
This one is good
Alright.. found MapId offset.... looking pretty good for now.
A bit testing is needed and a few modifications to the wow-addon... some lua-things (interface variables) changed in 2.4 - not that much a problem, just have to figure out how the change interface-vars with lua.
Expect a new version in a few days (around wednesday)
so long...
you make me want to kiss you...
Need your help.
Haven't played alterac since 2.4 (and just don't have the willpower) to check for every coordinate change (in constants.au3)
I don't think that much changed, but as usual - I don't have access to a horde char, so I can't even check for the new spawning point etc.
Changes in memory.au3:
______________
Const $TLS_SLOT_PTR = 0xE7DA2C ; pointer to the tls-slot
Func _GetBaseOffset()
;add2log("________________")
add2log("_GetBaseOffset()")
;add2log(" ")
Local $thread_handle, $TEB
Local $thread_struct = _ThreadEntry32() ; the structe for a thread is created
Local $thread_information_struct = _BasicInformation() ; struct for the NtQueryInformationThread call
Local $tls_slot_number = _ReadProcess($wowProcessHandle, $TLS_SLOT_PTR) ; gets the number of the tls-slot (usually 0) - 0 means the first tls entry points to the struct
add2log("$tls_slot_number: " & $tls_slot_number)
Local $thread_snapshot_handle = _CreateToolhelp32Snapshot($TH32CS_SNAPTHREAD, 0) ; makes a snapshot of all !! open threads
_Thread32First($thread_snapshot_handle, $thread_struct) ; $thread_struct now contains information about the first ! thread
Do
If (DllStructGetData($thread_struct, 4) == $WOW_PID) Then
$ThreadHandle = _OpenThread(DllStructGetData($thread_struct, 3), $THREAD_QUERY_INFORMATION) ; opens the thread for reading-information
$ThreadQueryResult = _NTQueryInformationThread ( $ThreadHandle, $thread_information_struct )
add2log("$ThreadQueryResult: " & $ThreadQueryResult)
If ($ThreadQueryResult == 0) Then
$TEB = DllStructGetData ( $thread_information_struct, 'TebBaseAddress' ); Thread Environment Block
add2log("TEB: " & $TEB)
$TLS_Offset = _ReadProcess($wowProcessHandle, $TEB + 0x2C);gets the TLS_OFFSET from (teb + offset 2C)
;add2log("TLS_Offset: " & Hex($TLS_Offset))
If ($TLS_Offset <> 0 ) Then ; checks if offset is <> 0
$TLS_Slot = _ReadProcess($wowProcessHandle, $TLS_Offset + $tls_slot_number*4, "ptr"); gets the tls-slot - multiplied by 4 bcaseu each tls_slot is 4 bytes long
Local $wowObjectPointer = _ReadProcess($wowProcessHandle, $TLS_Slot + 16, "ptr"); add 8 (this is int, not hex !)
Global $wowFirstObjectPointer = _ReadProcess($wowProcessHandle, $wowObjectPointer + 0xC, "ptr"); Pointer to the first object... just the offset 0xAC added
Global $wowPlayerGUID = _ReadProcess($wowProcessHandle, $TLS_Slot + 8, "uint64"); add 16 (this is int, not hex !)
Global $wowFirstUnitPointer = _GetFirstUnitPointer()
Global $wowPlayerPointer = _GetPlayerPointer()
;add2log("TLS_Slot : " & $TLS_Slot)
;add2log("wowObjectPointer(Hex): " & $wowObjectPointer)
;add2log("wowFirstObjectPointer(Hex): " & $wowFirstObjectPointer)
;add2log("wowFirstUnitPointer(Hex): " & $wowFirstUnitPointer)
;add2log("wowPlayerGUID: " & $wowPlayerGUID)
;add2log("wowPlayerPointer: " & $wowPlayerPointer)
_CloseHandle($ThreadHandle)
_CloseHandle($thread_snapshot_handle)
EndIf
EndIf
EndIf
Until _Thread32Next($thread_snapshot_handle, $thread_struct) == 0 ; as long as the thread32next doesn't return error (=0)
;add2log("________________")
EndFunc
_______________
Changes in memory_structs.au3:
_____
line 147:
"dword var16[748];" & _ ; 0x40
_______
Note that those are NOT the changes for a working 2.4 bot.. just enough changes so record_path should work.. ergo coordinates should work.
If someone got time.. plase check everything that's changed (reckon only inside alterac?) and post the new / changed constants.au3 here.
Thanks a lot in advance... and if noone got the time to do this.. I'll do it myself in a couple of days.. but that depends on my free time and my mood ^^
Last edited by Flos; 03-29-2008 at 07:31 PM.
do you have msn or aim? i can get on my horde char to help you, but i don't really understand what you just said there... what am i suppose to do with that big blob of code
just need to overwrite those lines in the src (source) and execute the record_path.au3 as usual. (of course you need AutoIt for executing the .au3 files)
Then run to every graveyard in alterac + every bg-joiner and check if any of the coordintes in constants.au3 changed.
And if you have time... do this for every other bg... including writing the names of the bg-joiners down.. there is lots of work in constants.au3 for "willing" people.
edit: if you don't know how to change the code and get it to work, just wait for someone else to do it or learn scripting ^^.
Last edited by Flos; 03-29-2008 at 07:46 PM.
I suppose google is of no help?
Hello,
It's great to hear this bot is being updated for 2.4 - looking forward to it!
And while we can't bot anyway, I thought that it was a bit slowly and annoying to make new profiles, so I came up with a heavily modified recordpath.exe: (attached)
I have so far only included the AV version of it. Basicly, you get many more buttons - where you press "Stormpike START" when you record the SP graveyard route, and Stormpike END when you end it. The file include the template with <Exec> etc. There are 2 hardcoded buffbuttons too, mine buffs on "P"(shift-p ingame) and "z" (z). Theres also a MountingUp() key.
It is important that you close the program by pressing your PAUSE key or by the added "Exit" button - else you will not get the ending on (</FloProfile>). And, dont click 2 times on the same GY.
Can somebody provide me with a full list of EotS graveyards as this bot sees them? I dont have such atm apparently. I will add the other battlegrounds one day, as I think its safe enough to go EotS/AB aswell, because you can just defend spots with AntiAfkWithAutoAttack().
About the 4 toprows of this program, well I dont know what the hell is going on with it on my computer - but I can't press them with my mouse. Therefor, use TAB/arrow keys to reach them - works.
Keybound(hardcoded) "," to record a waypoint, just quicker in my own opinion.
Sooooo... Basicly, this easen up profile-creating alot. You only need to move it from ./recorded to ./profiles/alterac(It saves them as AV_date_time.xml aswell - so if made correctly, you have a 100% ready profile once you're done recording)
//Roelsgaard
- Source is included. Screenshot included. If you really want a virus scan and shit, please somebody do that? Ty
Last edited by Ket; 03-31-2008 at 05:24 PM.
mhh i will look what i can do but i hope anyone other is faster xD
I checked the coords for shattrath horde and orgrimmar AV Battle master and they were correct. So i guess the rest battlemasters should be correct.
Also , the AV coords matched except for "rock of durotan"
the new coords are:
; Rock of Durotar
[0] = -1437.67004394531
[1] = -610.088989257813
[2] = 51.1604881286621
Last edited by kekt; 03-30-2008 at 07:59 AM.