Jump to content

World Of Warcraft Development


malu05
 Share

Recommended Posts

Edit:

ah, finaly i got my little travling bot to work but so far it can only use 1 profile for the waypoints :s

When loading the waypoints it looks for the closes waypoint and sets that waypoint as the first when it starts walking (Small bug here, it sometimes walks trought the first waypoint if your standing to close to it :s).

also i made a small 'auto-make waypoints' function, you turn it on and it will store 1 waypoint where you are atm and another waypoint when your 10 yards away from the previus waypoint

also the its not very accurate, it misses the waypoints by up to 10yards, thats why i added the offset so that when the bot is close to the waypoint it starts walking towards the next waypoint.

Hotkeys

F5 = Start 'auto make waypoint'

F6 = Store current coords as a waypoint

F7 = Run the Bot

Esc = Stop the bot

#include <NomadMemory.au3>
#include <GUIConstants.au3>
#include <File.au3>
#include <math.au3>


SetPrivilege("SeDebugPrivilege", 1)

HotKeySet("{F5}","_AutoStoreWaypoint")
HotKeySet("{F6}","_StoreWaypoint")
HotKeySet("{F7}","_RunBot")
HotKeySet("{Esc}","_Exit")

;Setings
Global $Stop_On_Last_Waypoint = False
Global $Waypoint_Offset = 10

Global $Cur_Waypoint = 1
Global $Pi = 4 * ATan(1)
Global $radToDeg = -180 / $Pi
Global $Run = 0
Global $Walk_Type
Global $Stuc_Stage
Global $Auto_Store = 0

$Form1 = GUICreate("Waiting for Wow To start.", 320,135, -1, -1, -1, $WS_EX_TOPMOST + $WS_EX_TOOLWINDOW)
GUICtrlCreateLabel("X",5,5,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Y",5,30,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Z",5,55,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Map",5,80,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Rot",5,105,25,20,$SS_SUNKEN)

$Input1 = GUICtrlCreateInput("0",35,5,50,20)
$Input2 = GUICtrlCreateInput("0",35,30,50,20)
$Input3 = GUICtrlCreateInput("0",35,55,50,20)
$Input4 = GUICtrlCreateInput("0",35,80,50,20)
$Input5 = GUICtrlCreateInput("0",35,105,50,20)

GUICtrlCreateLabel("X",105,5,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Y",105,30,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Z",105,55,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Map",105,80,25,20,$SS_SUNKEN)
GUICtrlCreateLabel("Rot",105,105,25,20,$SS_SUNKEN)

$Input6 = GUICtrlCreateInput("0",135,5,50,20)
$Input7 = GUICtrlCreateInput("0",135,30,50,20)
$Input8 = GUICtrlCreateInput("0",135,55,50,20)
$Input9 = GUICtrlCreateInput("0",135,80,50,20)
$Input10 = GUICtrlCreateInput("0",135,105,50,20)

$List1 = GUICtrlCreateList("", 190, 5, 125, 125)

GUISetState(@SW_SHOW)

Do 
    $ProcessID = ProcessExists('Wow.exe')
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
Until $ProcessID
WinSetTitle($Form1, "", "")
AdlibEnable("_SetData",1000)

For $x = 1 To _FileCountLines(@ScriptDir & "\Waypoints.txt")
    GUICtrlSetData($List1, FileReadLine(@ScriptDir & "\waypoints.txt", $x))
Next

$Timer = TimerInit()
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
    
    If Not ProcessExists("wow.exe") Then
        Exit
    EndIf
    
WEnd

Func _GetCoords()
    Local $Array[4]
    
    Local $DllInformation = _MemoryOpen($ProcessID)
    If @error Then
        MsgBox(4096, "ERROR", "Failed to open memory.")
        Exit
    EndIf
    
    $Array[0] = Floor(_MemoryRead(0x00BBD200, $DllInformation, 'float')) ;x
    If @error Then
        MsgBox(4096, "ERROR", "Failed to read memory.")
        Exit
    EndIf
    
    $Array[1] = Floor(_MemoryRead(0x00BBD204, $DllInformation, 'float')) ;y
    If @error Then
        MsgBox(4096, "ERROR", "Failed to read memory.")
        Exit
    EndIf
    
    $Array[2] = Floor(_MemoryRead(0x00DC4E4C, $DllInformation, 'float')) ;z
    If @error Then
        MsgBox(4096, "ERROR", "Failed to read memory.")
        Exit
    EndIf
    
    $Array[3] = _MemoryRead(0x008F0310, $DllInformation, 'dword') ;map
    If @error Then
        MsgBox(4096, "ERROR", "Failed to read memory.")
        Exit
    EndIf

    _MemoryClose($DllInformation)
    
    Return $Array
EndFunc

Func _GetRotation()
    Local $s_Rot
    Local $DllInformation = _MemoryOpen($ProcessID)

    If @error Then
        MsgBox(4096, "ERROR", "Failed to open memory.")
        Exit
    EndIf
    
    $s_Rot = _MemoryRead(0x00C4994C, $DllInformation, 'float') ;rotation
    If @error Then
        MsgBox(4096, "ERROR", "Failed to read memory.")
        Exit
    EndIf
    
    _MemoryClose($DllInformation)
    
    Return Floor($s_Rot /(3.14159265358979 / 180))
EndFunc

Func _StoreWaypoint()
    Local $s_Coords = _GetCoords()
    FileWrite(@ScriptDir & "\Waypoints.txt",$s_Coords[0] & "," & $s_Coords[1] & "," & $s_Coords[2] & "," & $s_Coords[3] & @CRLF)
    GUICtrlSetData($List1, $s_Coords[0] & "," & $s_Coords[1] & "," & $s_Coords[2] & "," & $s_Coords[3])
EndFunc

Func _Turn()
    Local $Cur_Coords = _GetCoords()
    Local $Next_Coords = StringSplit(FileReadLine(@ScriptDir & "\waypoints.txt",$Cur_Waypoint), ",")
    If @error Then Return
    
    Local $PosX = $Cur_Coords[0]-$Next_Coords[1]
    Local $PosY = $Cur_Coords[1]-$Next_Coords[2]
    Local $Next_Rot = Floor( _Degree( ATan($PosY/$PosX)))
    
    If $Next_Rot < -922337203 Then $Next_Rot = Floor( _Degree( ATan($PosX/$PosY)))
    If $Next_Rot < -922337203 Then MsgBox(48, "Error","Wtf error?!")
    If $Next_Coords[1] < $Cur_Coords[0] Then
        $Next_Rot += 180
    EndIf
    
    If $Next_Rot > 359 then $Next_Rot -= 360
    If $Next_Rot < 0 Then $Next_Rot = 360-($Next_Rot*-1)
    
    GUICtrlSetData($Input6, $Next_Coords[1])
    GUICtrlSetData($Input7, $Next_Coords[2])
    GUICtrlSetData($Input9, $Next_Coords[3])
    GUICtrlSetData($Input10, $Next_Rot)
    
    $Cur_Rot = _GetRotation()
    
    If $Next_Rot = $Cur_Rot Then Return $Next_Rot
    
    While $Cur_Rot <> $Next_Rot And $Run
        $Cur_Rot = _GetRotation()
        _Rotate($Next_Rot, $Cur_Rot)
        GUICtrlSetData($Input5, $Cur_Rot)
    WEnd 
    
    MouseUp("Right")
    
    Return $Next_Rot
EndFunc

Func _WalkToWaypoint()
    Local $Should_Rot = _Turn()
    Local $Waypoint = FileReadLine(@ScriptDir & "\Waypoints.txt",$Cur_Waypoint)
    Local $Old_Coords[2] = [0, 0]
    Local $Stuck_Timer = 0
    Local $Stuck_Stage = 0
    $Waypoint = StringSplit($Waypoint, ",")
    
    Send("{w Down}")
    
    While $Run
        If _GetRotation() <> $Should_Rot Then
            $Should_Rot = _Turn()
        EndIf
        
        $Cur_Coords = _GetCoords()
        If $Cur_Coords[0] <> $Old_Coords[0] Or $Cur_Coords[1] <> $Old_Coords[1] Then
            $Old_Coords = $Cur_Coords
        ElseIf Not $Stuck_Timer Then
            $Stuck_Timer = TimerInit()
        EndIf
        If $Stuck_Timer And TimerDiff($Stuck_Timer) > 5000 Then
            Switch $Stuck_Stage
                Case 0
                    For $x = 1 To 5
                        Send('{space}')
                        Sleep(750)
                    Next
                    $Stuc_Stage = 1
                Case 1
                    Send('{q down}')
                    Sleep(1000)
                    Send('{q up}')
                    $Stuc_Stage = 2
                Case 2
                    Send('{e down}')
                    Sleep(1000)
                    Send('{e up}')
                    $Cur_Waypoint -= 1
                    ExitLoop
            EndSwitch
        EndIf

        If _Inrange($Cur_Coords[0], $Waypoint[1], $Waypoint_Offset) Then
            If _Inrange($Cur_Coords[1], $Waypoint[2], $Waypoint_Offset) Then
                ExitLoop
            EndIf
        EndIf
    WEnd

    Return 1
EndFunc

Func _RunBot()
    _Exit()
    $Run = 1
    Local $Waypoints = _LoadWaypoints(@ScriptDir & "\waypoints.txt")
    If $Waypoints = 0 Then
        MsgBox(48, "Error","Was unable to find  the file 'waypoints.txt")
        _Exit()
        Return
    EndIf
    
    Local $Way = 1
    
    $s_Last_Waypoint = StringSplit(FileReadLine(@ScriptDir & "\waypoints.txt",$Waypoints), ",")
    $s_First_Waypoint = StringSplit(FileReadLine(@ScriptDir & "\waypoints.txt",1), ",")
    $PosX = $s_Last_Waypoint[1]-$s_First_Waypoint[1]
    $PosY = $s_Last_Waypoint[2]-$s_First_Waypoint[2]
    $s_Dist = Floor(Sqrt($PosX^2 + $PosY^2))
    
    If $s_Dist > 100 Then $Walk_Type = 2
    While $Run
        _WalkToWaypoint()
        $Cur_Waypoint += $Way
        Sleep(10)
        If $Cur_Waypoint = $Waypoints Then
            If $Stop_On_Last_Waypoint Then 
                ExitLoop
            ElseIf $Walk_Type = 2 Then
                $Cur_Waypoint -= 1
                $Way = -1
            Else
                $Cur_Waypoint = 1
                $Way = 1
            EndIf
        EndIf
        If $Cur_Waypoint = 0 Then
            $Cur_Waypoint = 1
            $Way = 1
        EndIf
    WEnd
    Send("{w up}")
EndFunc

Func _SetData()
    Local $data = _GetCoords()
    GUICtrlSetData($Input1,$data[0])
    GUICtrlSetData($Input2,$data[1])
    GUICtrlSetData($Input3,$data[2])
    GUICtrlSetData($Input4,$data[3])
    GUICtrlSetData($Input5,_GetRotation())
EndFunc

Func _Exit()
    $Run = 0
    $Waypoint = 1
    $Auto_Store = 0
EndFunc

Func _MouseMovePlus($X, $Y, $absolute = 0)
    Local $MOUSEEVENTF_MOVE = 1
    Local $MOUSEEVENTF_ABSOLUTE = 32768
    DllCall("user32.dll", "none", "mouse_event", _
            "long", $MOUSEEVENTF_MOVE + ($absolute * $MOUSEEVENTF_ABSOLUTE), _
            "long", $X, _
            "long", $Y, _
            "long", 0, _
            "long", 0)
EndFunc

Func _Debug($s_String)
    ClipPut('/script DEFAULT_CHAT_FRAME:AddMessage("' & $s_String & '")')
    Send('{enter}')
    Sleep(20)
    Send('^v')
    Sleep(20)
    Send('{enter}')
    Return 1
EndFunc

Func _Inrange($s_Num1,$s_Num2, $s_Range)
    If $s_Num1 > $s_Num2- $s_Range Then
        If $s_Num1 < $s_Num2 + $s_Range Then
            Return 1
        EndIf
    EndIf
    
    Return 0
EndFunc

Func _LoadWaypoints($s_File)
    Local $s_Num_Lines = _FileCountLines($s_File)
    $s_File = FileOpen($s_File,0)
    Local $s_Waypoints
    Local $s_Coords = _GetCoords()
    Local $s_Short_Dist
    $s_Waypoints = $s_Num_Lines
    
    For $x = 1 To $s_Num_Lines
        $s_To_Coords = StringSplit(FileReadLine($s_File, $x), ",")
        Local $PosX = $s_Coords[0]-$s_To_Coords[1]
        Local $PosY = $s_Coords[1]-$s_To_Coords[2]
        $s_Dist = Floor(Sqrt($PosX^2 + $PosY^2))
        If $x > 1 Then
            If $s_Dist < $s_Short_Dist Then
                $s_Short_Dist = $s_Dist
                $Cur_Waypoint = $x
            EndIf
        Else
            $s_Short_Dist = $s_Dist
            $Cur_Waypoint = $x
        EndIf
    Next
    FileClose($s_File)
    
    Return $s_Waypoints
EndFunc

Func _Rotate($s_Next_Rot, $s_Cur_Rot)
    $Rot_Smallest = _Min($s_Cur_Rot, $s_Next_Rot)
    $Rot_Biggest = _Max($s_Cur_Rot, $s_Next_Rot)
    Local $rot_fast
    Local $down
    Local $s_Step
    Local $s_Way
    
    If $s_Cur_Rot = $Rot_Biggest Then
        If ($s_Cur_Rot - $s_Next_Rot) < 190 Then
            $s_Way = 1
            If ($s_Cur_Rot - $s_Next_Rot) < 50 Then
                $s_Step = 10
                If ($s_Cur_Rot - $s_Next_Rot) < 9 Then
                    $s_Step = 2
                EndIf
            Else
                $s_Step = 20
            EndIf
        Else
            $s_Way = -1
            If (($s_Next_Rot + 360) - $s_Cur_Rot) < 50 Then
                $s_Step = 10
                If (($s_Next_Rot + 360) - $s_Cur_Rot) < 9 Then
                    $s_Step = 2
                EndIf
            Else
                $s_Step = 20
            EndIf
        EndIf
    Else
        If ($s_Next_Rot - $s_Cur_Rot) < 190 Then
            $s_Way = -1
            If ($s_Next_Rot - $s_Cur_Rot) < 50 Then
                $s_Step = 10
                If ($s_Next_Rot - $s_Cur_Rot) < 9 Then
                    $s_Stept = 2
                EndIf
            Else
                $s_Step = 20
            EndIf
        Else
            $s_Way = 1
            If (($s_Cur_Rot + 360) - $s_Next_Rot) < 50 Then
                $s_Step = 10
                If (($s_Cur_Rot + 360) - $s_Next_Rot) < 9 Then
                    $s_Step = 2
                EndIf
            Else
                $s_Step = 20
            EndIf
        EndIf
    EndIf
    
    MouseDown("right")
    Sleep(20)
    _MouseMovePlus($s_Step*$s_Way, 0)
    Sleep(10)
EndFunc

Func _AutoStoreWaypoint()
    If $Auto_Store = 0 Then
        $Auto_Store = 1
    Else
        $Auto_Store = 0
    EndIf
    $Temp = 0
    WinSetTitle($Form1, "", "Auto Storing Waypoints")
    While $Auto_Store
        $s_Cur_Coords = _GetCoords()
        If $Temp = 0 Then
            _StoreWaypoint()
            $s_Last_Coords = $s_Cur_Coords
            $Temp = 1
        Else
            If Floor(Sqrt(($s_Cur_Coords[0]-$s_Last_Coords[0])^2 + ($s_Cur_Coords[1]-$s_Last_Coords[1])^2)) > 10 Then
                _StoreWaypoint()
                $s_Last_Coords = $s_Cur_Coords
                SoundPlay(@WindowsDir & "\media\tada.wav")
            EndIf
        EndIf
    WEnd
    WinSetTitle($Form1, "", "")
EndFunc
Edited by Alek

[font="Impact"]Never fear, I is here.[/font]

Link to comment
Share on other sites

  • Replies 470
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Hello malu05! :)

its good to see you back on the forums posting again :D

i know i havnt posted much, but im more of a reader then a poster

BUT i would like to say THANK YOU to malu05, you are my inspiration who started my autoit botting

If it wasn't for i would probably be writing some lame scripts that tells u how to peel a banana :cheer:

Your scripts have taught me alot and i am forever in ur debt :(

I have successfully reconstructed your ThermoPrime bot. I took it apart, analyzed each section and worked out what u were doing, once i figured it out, i opened up a blank autoit script, and started my own :cheer:

Thanks to you i have now written a bunch of combat algorithms and have also successfully written a fully automated AVBOT.

Yes u heard me, joins AV, runs to Galv, pewpew's galv, then runs to Drek, Dynamically uses ur mount, can sense horde from npc's, will stop and shoot horde, properly responds to deaths and reloads waypoints according to spawn locations.

Also written fully automated farming bots, runs a waypoint system, killing monsters, looting, resting, the whole shebang.

So for all you people out there who said u never got malu05's code working... o how wrong u were :cheer: u just didn't try hard enough

Id like to say that i SUPPORT anyone who writes their own bots, and STRONGLY APPOSE anyone who leeches bots from cheat/hack sites

Write your OWN or u'll get OWNED

That said, dont hassle me about posting my code, its not going to happen. I didnt write 2,000 lines of code to see it posted on hacking sites :cheer:

Im not here boasting bout my bots, this post is more about showing malu05 that i apreciate his code and i just want to show him/you what ive made from it :cheer:

There are some things i simply cannot work out how malu05 accomplished, like the moving of objects in game and such. But one day ill crack ur encrypted safe and bask in the binary goodness. 0101001100 Yum

So all u botters out there who ditched ThermoPrime, get it out of ur recycle bin and give it another read.

Both the AV and Farming Bots were both made without the help of anyone, i wrote it myself, debugged it myself, taught myself LUA, wrote my own mods. You can do it too. So before you start msging malu05 or me, try it yourself :cheer: Im sure u can do it

That said, if u need any help on projects malu05, im jumping with joy to help :cheer: anything to b working with the guy who started it all

Sorry for the long post ;) I talk alot

Im also not a dick, if u have real questions, id love to help

Keep writing those bots and show me what u can do :cheer:

Peace

Spudsz

Link to comment
Share on other sites

Well thanks for the words.

It does require some skill to get something out of my crappy code :)

About the object mover, i have recently updated it to work with the latest version of World Of Warcraft.

I planned to release it for the Machinima authors who use clean ingame footage so they can fine tune their worlds. I just need to write some code for rotating the objects etc.

I also intend to find a static pointer to the camera so i can release my camera tool also for Machinima authors.

I have extended that a bit so i now can do "animated" camera movement etc.

but gtg..

Hehe.. here the other day i took a look on my old wow folder and found all the screenshots i made during the "development" period i had..

This one was quite fun i think.

So i was working on the datastream manipulator and accedently set my blink to +10k XYZ so i came up in a green space where i couldnt move.

Then i made a GM ticket and he was quite convinced it was a bug so he ported me to TB and then said this; like harharhar....

Posted Image

Now this is someting related to the WMO mover...

Posted Image

Posted Image

Shader Editing

Posted Image

Edited by malu05

[center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]

Link to comment
Share on other sites

How does your memory-reading bot find the correct memory addresses to read its information from?

Do you find the static addresses yourself and hardcode them into the bot? Then the bot only works for the current version of WoW, doesn't it? So you probably need to find teh new addresses every update. I'm curious how you find these addresses.

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

I'm worried to do any editing whatsoever due to not knowing how the MemoryScanner gets the addresses. I don't want to get kicked for cheating, even though I'm very interested in doing development of my own, if anything, just to play around with WoW and see what could be done.

Link to comment
Share on other sites

How does your memory-reading bot find the correct memory addresses to read its information from?

Do you find the static addresses yourself and hardcode them into the bot? Then the bot only works for the current version of WoW, doesn't it? So you probably need to find teh new addresses every update. I'm curious how you find these addresses.

I'd like to know, too, how to find addresses in WoW :D

Link to comment
Share on other sites

is Thermo Prime still in production? Is the current version released a working version?

I've been using autoit to make some light bots, such as BG afk and what not, but I've always been really interested in making a bot that would go around and kill monsters for farming. Problem is though that if you have autoit hold down the left turn button for x amount of time, and then have it press the same direction again, and hold it for x amount of time, you end up turning 2 different directions and is not exact by any means. It does the same thing with mouse movement, so I don't know.

Currently what is going on with this project? I'd love to contribute/learn about whatever is going down, so that I might make my own :-P.

Thanks.

Edited by OMNIslash3D
Link to comment
Share on other sites

well, im trying to make my own little farmbot right now.i got all the walking stuff done but i just dont understand how to get the signature(s) of mobs-.-

because when i know that its not that hard to get everything else together...

please help me!

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

I'd just like to thank you guys for the work you've put into this project over the past couple years, it's pretty awesome being able to stumble across this thread and finding all kinds of great information about wow's memory pointers.

I was poking around some bot source on the web and decided I wanted to try my hand at it as an interesting side project (although I'm not using AutoIt, this information is still fantastic). Normally I'm a web/database developer, but I should really get my hands dirty in memory every once in a while too.

I was going to do the bot using a similar technique to maul5's original binary pixel encoding (although it was more like taking 3-byte chunks and turning them into RGB values rather than 8-pixels per byte), but upon seeing this thread, this is way better.

I'll post back with results in my dabbling, for the time being I'm using images as maps for navigable terrain, but I imagine that could potentially be made unnecessary with some more advanced memory reading (gotta get the basics down first though).

Link to comment
Share on other sites

I get errors when I try and run the memory scanner. Can anyone help me correct:

>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams  
+>16:55:28 Starting AutoIt3Wrapper v.1.10.1.7   Environment(Language:0409  Keyboard:00000409  OS:WIN_XP/Service Pack 2  CPU:X86)
>Running AU3Check (1.54.10.0)  from:C:\Program Files\AutoIt3
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3(65,47) : WARNING: $ProcessID: possibly used before declaration.
Local $DllInformation = _MemoryOpen($ProcessID)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3(112,38) : WARNING: $offset: possibly used before declaration.
$startsearchX = $startsearchX+$offset
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3(48,58) : WARNING: $ProcessID: declared global in function only. Prefer top of file.
Global $ProcessID = WinGetProcess("World of Warcraft","")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3 - 0 error(s), 3 warning(s)
->16:55:29 AU3Check ended.rc:1
>Running:(3.2.10.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3"    
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\NomadMemory.au3 (230) : ==> Can not redeclare a constant.: 
Const $TOKEN_ADJUST_PRIVILEGES = 0x0020 
Const ^ ERROR
->16:55:29 AutoIT3.exe ended.rc:1
>Exit code: 1   Time: 2.288

post-9937-1214603891_thumb.jpg

Need a website: http://www.iconixmarketing.com

Link to comment
Share on other sites

I get errors when I try and run the memory scanner. Can anyone help me correct:

>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams  
+>16:55:28 Starting AutoIt3Wrapper v.1.10.1.7   Environment(Language:0409  Keyboard:00000409  OS:WIN_XP/Service Pack 2  CPU:X86)
>Running AU3Check (1.54.10.0)  from:C:\Program Files\AutoIt3
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3(65,47) : WARNING: $ProcessID: possibly used before declaration.
Local $DllInformation = _MemoryOpen($ProcessID)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3(112,38) : WARNING: $offset: possibly used before declaration.
$startsearchX = $startsearchX+$offset
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3(48,58) : WARNING: $ProcessID: declared global in function only. Prefer top of file.
Global $ProcessID = WinGetProcess("World of Warcraft","")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3 - 0 error(s), 3 warning(s)
->16:55:29 AU3Check ended.rc:1
>Running:(3.2.10.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\Memory Location Scanner.au3"    
C:\Documents and Settings\Onest\Desktop\Backups\Scripting\Wow Programming\NomadMemory.au3 (230) : ==> Can not redeclare a constant.: 
Const $TOKEN_ADJUST_PRIVILEGES = 0x0020 
Const ^ ERROR
->16:55:29 AutoIT3.exe ended.rc:1
>Exit code: 1   Time: 2.288
just add these two lines

#include <WindowsConstants.au3>
#include <StaticConstants.au3>

Also - I've got a question for the guys who knows how to memory scan;

How do you find the static memory addresses where the player loc (rotation, x,y,z) is stored, so you don't have to find and change those for every reboot?

What is the clever way to do this?

Edited by WhOOt
Link to comment
Share on other sites

Hey guys. I don't mean to advertise, but you can test your stuff on this private server. http://roknet.exofire.net

The Realmlist is roknet.servegame.com

To create an account go to roknet.servegame.com/register.php

When you get into the server, you'll see 3 realms. Select 'Pwndoras Box'

Edited by Firestorm

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

  • 1 month later...

I get an Error!!...

C:\Programme\AutoIt3\Include\Thermo Prime.au3(106,73) : WARNING: $SS_SUNKEN: possibly used before declaration.

$FinalCharname = GUICtrlCreateLabel("Charname", 10,10,70,20,($SS_SUNKEN )

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Programme\AutoIt3\Include\Thermo Prime.au3(1093,8) : ERROR: syntax error

Endfunc(

~~~~~~~^

C:\Programme\AutoIt3\Include\Thermo Prime.au3(106,73) : ERROR: $SS_SUNKEN: undeclared global variable.

$FinalCharname = GUICtrlCreateLabel("Charname", 10,10,70,20,($SS_SUNKEN )

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Programme\AutoIt3\Include\Thermo Prime.au3(29,30) : ERROR: terminate(): undefined function.

HotkeySet("{ESC}","terminate")

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Programme\AutoIt3\Include\Thermo Prime.au3(32,35) : ERROR: SaveDestination(): undefined function.

hotkeyset("{F4}","SaveDestination")

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Programme\AutoIt3\Include\Thermo Prime.au3(33,41) : ERROR: SaveDestination_Ghost(): undefined function.

hotkeyset("{F5}","SaveDestination_Ghost")

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Programme\AutoIt3\Include\Thermo Prime.au3(135,15) : ERROR: NewProfile(): undefined function.

NewProfile()

~~~~~~~~~~~^

C:\Programme\AutoIt3\Include\Thermo Prime.au3(353,23) : ERROR: _MouseMovePlus(): undefined function.

_MouseMovePlus(-20,0)

~~~~~~~~~~~~~~~~~~~~^

C:\Dokumente und Einstellungen\Daniel\Desktop\Neu AutoIt v3 Script (2).au3 - 7 error(s), 1 warning(s)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...