MildWarlock Posted November 30, 2007 Posted November 30, 2007 I have an idea, but im not sure how to start. Dont even know if it would be posiable at this pointDid anyone ever play with the lazyscript? it was a built in language that allowed you to set up a pre chosen action based on what is happening with just one key press. Not a bot just made twitch play eaiser. On the 2.0 patch it was killed allong with a lot of other things. I miss lazyscript. So my idea is to revive it of sorts. This will rely on 2 parts. First visual ques from the game (i'm going to use Rogue as a example). Someone parrys and now you get the chance to use riposet. Almost imposable without a visual que to do this every time some one parrys, so you end up spamming the ripo key will it fires off, hundred s of other things as well for all classes. So we need a AddOn for the game to display and color code all of theses special events that can happen. I am thinking a small square, or border around the whole game that changes to a unique color on a specific event. Then using Pixel search to find that unique color in that spot and then preform an action when you press a HOTkey coded in autoit. It would require the ability to add in UDF for what to do, where to click, or what button to push when this color is in this pixel. Might have to write macros in game as well to stream line some actions. What do you thing? Possiable?
galpha Posted December 1, 2007 Posted December 1, 2007 Possible and not hard. BTW, those who say the script is not working need to update the memory addresses. It's working perfectly for me with updated ones.
Hatrick Posted December 3, 2007 Posted December 3, 2007 Where has Malu05 Gone. I miss him, hes also disappeared on wowdev
Orca Posted December 4, 2007 Posted December 4, 2007 Where has Malu05 Gone. I miss him, hes also disappeared on wowdev School iirc I AM ORCA!! A VERY POWERFUL WHALE!!!
Jazkal Posted December 25, 2007 Posted December 25, 2007 (edited) Anyone know what is required to access the local WoW files and pull collision data (trees, fences, etc), to create a path finding function? The path finding function would generate a list of way points that would avoid the collision object. Edited December 26, 2007 by Jazkal
galpha Posted December 31, 2007 Posted December 31, 2007 (edited) Anyone know what is required to access the local WoW files and pull collision data (trees, fences, etc), to create a path finding function? The path finding function would generate a list of way points that would avoid the collision object.Check the wowdev forums (don't have my computer's favorite so can't post it ATM).There's an open source ADT reader in Java. Basically, when you got all the objects and coords, you perform a A* pathing using the map. It's a LOT of work, and prob not suitable for AutoIt, since you will need to implement a Priority Queue if you want to do a A* pathing (Arrays are wayyy too slow for that).I suggest the use of C++ or C# for such a task. You must be very experienced to implement all that.EDIT:: Link for it. http://filebeam.com/e5b75ef19b6700a2de7a9f4643292e0dEDIT2:: What you can do with it:- Load / Edit DBC Files- Load / CREATE / Edit ADT map files- Move / Add objects and buildings- Create new map using a greyscale image- 3D visualization of map Files got started- Load / Edit world files- Load / Add files from MPQ archives- Load / Edit Textures- Hard render hand (ingame) spawned buildings / objects to adt mapsBlog for the program: http://taliis.blogspot.com/GL, reply if you need help with something Edited December 31, 2007 by galpha
brotwurst Posted January 16, 2008 Posted January 16, 2008 i got a BIG problem... i played around with all this memory reading stuff and everything worked fine... until now!_MemoryRead () returns 0!(yes, i got the right addresses, and yes i used "SetPrivilege ("SeDebugPrivilege", 1)") ...Cheat Engine(nice little program to find add´s) still can read/change everything pls need help with this! brotwurst
Squizzle Posted January 17, 2008 Posted January 17, 2008 (edited) Cheat engine is detected by Warden as of 2.3. Besides that, no real point in cheating in a mmo because it ruins it for the rest of the players. They are paying for the game just like you. Only a noobie tries to cheat in a game he has little experience in. Edited January 17, 2008 by Squizzle [acronym="I pee FREELY!"][spoiler]Hello.[/spoiler][/acronym]
brotwurst Posted January 17, 2008 Posted January 17, 2008 (edited) Cheat engine is detected by Warden as of 2.3.Besides that, no real point in cheating in a mmo because it ruins it for the rest of the players. They are paying for the game just like you. Only a noobie tries to cheat in a game he has little experience in.Cheat Engine is NOT detectet by warden...(i used it a lot the last few days)why do you think i am a cheater?because of "CHEAT engine"?in that case please google it...if you did not read the thread its not about cheating in WoW, its about memory reading! we dont make hacks/cheats like speedhack or something like thatand who do you think you are to call other people "noobs"?(btw you are from "N00bville"?that just says everything about you)...someone here who wants to help me with my problem? Edited January 17, 2008 by brotwurst
Yorn Posted January 17, 2008 Posted January 17, 2008 I miss lazyscript. So my idea is to revive it of sorts. This will rely on 2 parts. First visual ques from the game (i'm going to use Rogue as a example). Someone parrys and now you get the chance to use riposet. Almost imposable without a visual que to do this every time some one parrys, so you end up spamming the ripo key will it fires off, hundred s of other things as well for all classes. So we need a AddOn for the game to display and color code all of theses special events that can happen.I too miss Lazyscript. In fact, when I left, I specifically told Blizzard that lazyScript was the reason why I was leaving the game (it was simply a boring grind of a game without it).The best way is to pull the conditions like lazyScript did directly from memory. Then you can have "on Condition do x" it was a great program, it's too bad they decided to remove it. There's certainly better ways of doing this than what you are suggesting with looking at pixels.
Squizzle Posted January 18, 2008 Posted January 18, 2008 (edited) @brotwurst: You obviously do not understand the term, sarcasm, which I used when I put in where I was from. To answer your question "who do you think you are to call other people "noobs"?" That comment was meant for anyone that was cheating in WoW but if your not cheating why would you take offense to it? Unless you are and are just ashamed of it. Also, Blizzard is a big organization and to collect data on millions of people from Warden daily and have to view the logs of players who attract the suspicion of Warden, it takes a few days for them to either temp ban you or perm ban you. Either way you most likely will find out soon enough. Edited January 18, 2008 by Squizzle [acronym="I pee FREELY!"][spoiler]Hello.[/spoiler][/acronym]
brotwurst Posted January 18, 2008 Posted January 18, 2008 (edited) i dont think i´ll get banned... "Blizzard is a big organization and to collect data on millions of people from Warden daily" and who´s going to read all that stuff and bann ME?im 1 of "millions" Edited January 27, 2008 by brotwurst
Polux006 Posted February 10, 2008 Posted February 10, 2008 Hello, i have make an update for Thermo Prime for 2.3.3, the coordinates are ok, but when i start the bot, the rotation check is not good and the bot don't go in the good direction.If someone can fix this or tell me how to fix this (tuto) he make me verry happy This is the complet packagehttp://www.megaupload.com/?d=85RPAPFXThis sis the modified code[autoit]; ----------------------------------------------------------------------------; ----------------------------------------------------------------------------;; Author:; Malu05 aka. Mads Hagbart Lund <Batmazbaz@hotmail.com>;; Script Function:; Thermo Prime - A Automated Movement Script for wow.;;; ----------------------------------------------------------------------------; ----------------------------------------------------------------------------; About Project Thermo: ; A Memory Reading Automated Movement Script for World Of Warcraft. ; Developed to be fully indenpendet.; ----------------------------------------------------------------------------; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||;Includes#include <GUIConstants.au3>#include <String.au3>#include <Date.au3>#include <array.au3>#include <Math.au3>#include <File.au3>#include <_XMLDomWrapper.au3>#include <NomadMemory.au3>#include <File.au3>;HotkeysHotkeySet("{ESC}","terminate")HotkeySet("{F2}","RunTheBot");hotkeyset("{F3}","Pause") - Implant soon...hotkeyset("{F4}","SaveDestination")hotkeyset("{F5}","SaveDestination_Ghost");;================================================================================;;Variable Definition;;;================================================================================;;App$App_name = "Thermo Prime" ;Main Name of the application$App_version = "0.12" ;Version Number of the Application$App_Title = ($App_name & " v" & $App_version & " By; Malu05") ;Final Name of Process;FilesGlobal $WowProcessName = "World of Warcraft" ;Name of the process (CASE SENSITIVE!!! FIX FOR YOUR VERSION)Global $logname = "/Progress.log" ;Name of the logfile;; Usual Configdim $RatioConvertion = "100"dim $slowdistance = "1"dim $TimeBeforeJump = "4000" ;ms before starting to jump over a obstecledim $TimeBeforeReverse = "10000" ;ms before going back to previous waypointdim $walkkey = "{NUMLOCK}" ;Not used;othersGlobal $wait, $running, $MouseDown, $taskset,$rot_perfect = 0 ;MouseDown is 1 when the mouse is down, and 0 when notdim $cmdtabel = 0 ;When running the bot it will automaticly go to the first CASE in the CMDTableGlobal $CurrentCheck = 1 ;Is 1 when its first time a check is being madeDim $dubblecheckPosdim $Overllrot, $OverllLocX, $OverllLocY, $OverllZone, $CurrentRot, $CurrentLocX, $CurrentLocY, $continentID, $lastX, $lastY, $debug, $toposX,$toposY,$result = 0dim $dubblecheckPos, $ycheck, $slow, $move_x_big, $move_y_big, $rot_perfect, $rot_fast, $down, $XCurBigger, $YCurBigger, $jtdif, $jtstart = 0dim $checkagain = 0global $arraynumber = "0"dim $array_x_number = "0"global $pi = 4 * ATan(1)dim $Xstart, $Ystart = 0Global $pasedborder = 0dim $jumptimerwalk, $deathNY = 0$alive = 1;for XML ProcessGlobal $xmlFile ;Name of the XML File opendim $test_pause = 0$ATTRIBS = _ArrayCreate ("Continent","Zone","Nr","posX","posY","Comment")$CHILDATTRIBS = _ArrayCreate ("Continent","Zone","Nr","posX","posY","Comment")Global $xmlFileGlobal $count = 0Global $sNxPath, $fHwndGlobal $ARRAY[1][1]Global $ARRAYXGlobal $ARRAYYLocal $additional = 1Local $numb = 0001dim $corpselocX,$releasecorpse, $corpselocY = 0;for XML Process __ for save waypointLocal $szXPath1,$szXPath2, $aNodeName1,$aNodeName2, $find, $oXSD,$iNodeCount,$aAttrName1[1],$aAttrVal1[1],$aAttrName2[1],$aAttrVal2[1],$ret_val,$XOpt("WinTitleMatchMode", 4)Global $ProcessID = WinGetProcess($WowProcessName,"")SetPrivilege("SeDebugPrivilege", 1)If $ProcessID = -1 Then MsgBox(4096, "Thermo Prime - ERROR", "Failed to detect World of Warcraft running.") ExitEndIf_FileWriteLog(@ScriptDir & $logname,":::Start Of Session:::");;================================================================================;;GUI;;;================================================================================;WindowGUICreate($App_Title, 200, 250)GUISetState (@SW_SHOW);Buttons$Button_SelectProfile = GUICtrlCreateButton ("Select Profile", 100, 10, 100)$Button_NewProfile = GUICtrlCreateButton ("New Profile", 100, 40, 100);Labels$FinalCharname = GUICtrlCreateLabel("Charname", 10,10,70,20,($SS_SUNKEN ))$Finallocx = GUICtrlCreateLabel("Position X", 10,40,70,20,($SS_SUNKEN ))$Finallocy = GUICtrlCreateLabel("Position Y", 10,70,70,20,($SS_SUNKEN ))$Finalrot = GUICtrlCreateLabel("Rotation", 10,100,70,20,($SS_SUNKEN ))$Finalrandom = GUICtrlCreateLabel("ZoneID", 10,130,70,20,($SS_SUNKEN ));Labels_debug$DebugID = GUICtrlCreateLabel("StatusID", 5,210,120,20,($SS_SUNKEN ))$RotationID = GUICtrlCreateLabel("RotationID", 5,190,120,20,($SS_SUNKEN ));Checkbox$debugcheck = GUICtrlCreateCheckbox ("Debug Mode", 5, 230, 160, 20)$combatmode = GUICtrlCreateCheckbox ("Combat Mode", 100, 230, 160, 20);WinSetOnTop($App_Title, "", 1) - Implant soon...SmartBehavior();;================================================================================;;THERMO START!;;================================================================================Func SmartBehavior()While $wait = 0 ;Check GUI for userinput $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE Exit 0 Case $msg = $Button_SelectProfile SelectOpenXML() Case $msg = $Button_NewProfile NewProfile() EndSelect ;Check if wow is running If WinActive("World of Warcraft") Then If $xmlFile = "" Then sleep(10) msgbox(0,"Thermo Prime - ERROR","You have not selected a XML File! Please press the [select Profile] button and select a profile before running") WinWaitActive($App_Title) Else _FileWriteLog(@ScriptDir & $logname,"World Of Warcraft process opned") sleep(20) send("{Enter}") sleep(11) Clipput("/script DEFAULT_CHAT_FRAME:AddMessage("""& $app_name & " v" & $App_version & " is running!! "",0.0,0.0,1.0); ") sleep(11) Send("^v") sleep(11) send("{Enter}") $wait = 1 EndIf EndIfWEnd;Start the bot-----------------While 1 Cmdtable()WEndEndFunc ;==>SmartBehavior;;================================================================================;;Command Table;;;================================================================================func Cmdtable() ;;Command Table for functions, this table can be used for configuring the steps of the bots behaviour $debug = GUICtrlRead($debugcheck) Switch $cmdtabel Case 0 ;ControlSetText($App_Title, "", $DebugID, "0-GetCurrentData") GetCurrentData() Case 1 ControlSetText($App_Title, "", $DebugID, "1-EventCalculation" & $array_x_number) ;these are for debuggin - Remove soon... EventCalculation() Case 2 ControlSetText($App_Title, "", $DebugID, "2-CheckRotation") _FileWriteLog(@ScriptDir & $logname,"checkRotation" & $taskset) CheckRotation() Case 3 ControlSetText($App_Title, "", $DebugID, "3-GoToPos") _FileWriteLog(@ScriptDir & $logname,"Gotopos") GoToPos() Case 4 ControlSetText($App_Title, "", $DebugID, "4-Dubblecheck") _FileWriteLog(@ScriptDir & $logname,"dualchecl") Dubblecheck() Case 5 ControlSetText($App_Title, "", $DebugID, "5-runbot") _FileWriteLog(@ScriptDir & $logname,"runbot") runbot() EndSwitch ReturnEndfunc ;==>Cmdtable;;================================================================================;;GetCurrentData;;;================================================================================Func GetCurrentData() ;Read data from memory if $CurrentCheck = 1 Then MemoryLoop() EndIf if $dubblecheckPos = 1 Then $cmdtabel = 4;Next step = 4 Dubblecheck() Return Else $cmdtabel = 1 ;Next step = EvenCalculation() Return EndIfEndFunc ;==>GetCurrentData;;================================================================================;;EvenCalculation; ;;================================================================================Func EventCalculation();With the info from GetCurrentData calculate what to doif $deathNY = 0 Then if $alive = 1 Then $alive = 0 $corpselocX = $CurrentLocX $corpselocY = $CurrentLocY sleep(20) send("{Enter}") sleep(11) Clipput("/script RepopMe()") sleep(11) Send("^v") sleep(11) send("{Enter}") EndIfEndIfif $running = "1" Then if $CurrentLocX = $toposX Then if $CurrentLocY = $toposY Then $running = "0" $checkagain = 0 $dubblecheckPos = 0 $cmdtable = 5 $rot_perfect = 0 Return ;Next step = GetCurrentData() EndIf EndIf ;$cmdtable = 5 ;$rot_perfect = 0 ;Return ;Next step = GetCurrentData()EndIf if $pasedborder = 1 Then $running = "0" $checkagain = 0 $dubblecheckPos = 0 $cmdtable = 5 $rot_perfect = 0 Return ;Next step = GetCurrentData() EndIf if $taskset = 1 Then _FileWriteLog(@ScriptDir & $logname,"Data recived from game; Rotation=" & $CurrentRot & ". PositionX=" & $CurrentLocX & ". PositionY=" & $CurrentLocY & "." ) $cmdtabel = 2 ;Next step = CheckRotation() Return EndIf if $rot_perfect = 1 Then $cmdtabel = 3 ;Next step = GoToPos() Return EndIf $cmdtabel = 0 ;Next step = GetCurrentData() returnEndFunc ;==>EventCalculation;;================================================================================;;CheckRotation;;================================================================================Func CheckRotation()if $debug = 1 then send("{Enter}") sleep(200) Clipput("Current = " & $CurrentRot & " result= " & $result) Send("^v") sleep(200) send("{Enter}")EndIf $jtstart = "0" $jumptimerwalk = "0" $lastX = "0" $lastY = "0"$windowsize = WinGetPos($WowProcessName)MouseMove((($windowsize[2]/2)+$windowsize[0]),(($windowsize[3]/2)+$windowsize[1]), 0)while $taskset = 1 MemoryLoop() Rotationfix() $Rot_Smallest = _Min($CurrentRot, $result) $Rot_Biggest = _Max($CurrentRot, $result) if $CurrentRot = $Rot_Biggest Then If ($CurrentRot - $result) < 190 Then $down = 1 if ($CurrentRot - $result) < 30 Then $rot_fast = 0 if ($CurrentRot - $result) < 9 Then $rot_fast = 2 EndIf else $rot_fast = 1 EndIf Else $down = 0 if (($result + 360) - $CurrentRot) < 50 Then $rot_fast = 0 if (($result + 360) - $CurrentRot) < 9 Then $rot_fast = 2 EndIf else $rot_fast = 1 EndIf EndIf Else If ($result - $CurrentRot) < 190 Then $down = 0 if ($result - $CurrentRot) < 50 Then $rot_fast = 0 if ($result - $CurrentRot) < 9 Then $rot_fast = 2 EndIf else $rot_fast = 1 EndIf else $down = 1 if (($CurrentRot + 360) - $result) < 50 Then $rot_fast = 0 if (($CurrentRot + 360) - $result) < 9 Then $rot_fast = 2 EndIf else $rot_fast = 1 EndIf EndIf EndIf if $CurrentLocX = $toposX Then if $CurrentLocY = $toposY Then $cmdtabel = 5 ;Next step = GetCurrentData() $rot_perfect = 1 $taskset = 0 Return ;Next step = GetCurrentData() EndIf EndIfMouseDown("right")if $rot_fast = 1 Then if $down = 0 Then ;MouseDown("right") _MouseMovePlus(-20,0) Sleep(10) Else ;MouseDown("right") _MouseMovePlus(20,0) Sleep(10) EndIfEndIfif $rot_fast = 0 Then if $down = 0 Then MouseDown("right") _MouseMovePlus(-10,0) Sleep(10) ;sleep(200) Else ;MouseDown("right") _MouseMovePlus(10,0) Sleep(10) EndIfEndIfif $rot_fast = 2 Then if $down = 0 Then ;MouseDown("right") _MouseMovePlus(-2,0) Sleep(10) ;sleep(200) Else ;MouseDown("right") _MouseMovePlus(2,0) Sleep(10) EndIfEndIf;Update Rotation DataMemoryLoop()Rotationfix()if floor($CurrentRot) = floor($result) Then MouseUp("right") $taskset = 0 sleep(200)EndIfwend _FileWriteLog(@ScriptDir & $logname,"Rotation Complete; CurrentRotation=" & $CurrentRot & ". FinalRotation=" & $result & "." ) MouseUp("right") $cmdtabel = 0 ;Next step = GetCurrentData() $rot_perfect = 1 $taskset = 0 returnEndFunc ;==>CheckRotation;;================================================================================;;GoToPos;;================================================================================Func GoToPos() ; [Find The Coordinate Place] If $toposX <= $Xstart Then $XCurBigger = 1 Else $XCurBigger = 0 EndIf If $toposY <= $Ystart Then $YCurBigger = 1 Else $YCurBigger = 0 EndIf$distance = _max(($CurrentLocX+$CurrentLocy),($toposX+$toposY)) - _min(($CurrentLocX+$CurrentLocy),($toposX+$toposY)); [/Find The Coordinate Place] send ("{w down}")while $rot_perfect = 1 ;For Jump Timer$lastX = $CurrentLocX$lastY = $CurrentLocY; [Gather Position Data From WoW]MemoryLoop();[Tjek Data];Jump Timer (if the player stays too long at the same location it will start jumping, and short after return to previous waypoint.) If $lastX = $CurrentLocX Then If $lastY = $CurrentLocY Then if $jtstart = 0 Then $jumptimerwalk = TimerInit() $jtstart = 1 EndIf $jtdif = TimerDiff($jumptimerwalk) ControlSetText($App_Title, "", $RotationID, "TimerLoc:" & $lastX &","&$lastY & " t:" & floor($jtdif) ) If $jtdif > $TimeBeforeReverse Then ;For Going Back One Step in the Waypoint Section if $deathNY = 0 Then if $alive = 1 Then $alive = 0 $corpselocX = $CurrentLocX $corpselocY = $CurrentLocY sleep(20) send("{Enter}") sleep(11) Clipput("/script RepopMe()") sleep(11) Send("^v") sleep(11) send("{Enter}") EndIf EndIf _FileWriteLog(@ScriptDir & $logname,"Could not reach the desired destination; waypoint: " & $array_x_number & ", retrying from last waypoint. RP=" & $jtdif) $array_x_number = $array_x_number - 1 $cmdtabel = 5 ;Next step = Save_test() $jtstart = 0 ;send ("{w down}") send ("{w}") Return EndIf if $jtdif > $TimeBeforeJump Then ;For Basic Jump after X Secounds _FileWriteLog(@ScriptDir & $logname,"Suspected stuck trying to reach; waypoint: " & $array_x_number & ", attempting jump procedure. RP=" & $jtdif) send ("{w up}") sleep(20) send("{space}") sleep(100) send ("{w down}") EndIf Else $jumptimerwalk = 0 $jtstart = 0 $jtdif = 0 EndIf Else $jumptimerwalk = 0 $jtstart = 0 $jtdif = 0 EndIf;[Tjek Data]if _max(($CurrentLocX+$CurrentLocy),($toposX+$toposY)) - _min(($CurrentLocX+$CurrentLocy),($toposX+$toposY)) > $distance Then $cmdtabel = 0 ;Next step = Save_test() send ("{w}") $dubblecheckPos = 1 $cmdtable = 0 $rot_perfect = 0 $pasedborder = 1 Return EndIfif $XCurBigger = 0 Then If $CurrentLocX >= $toposX Then ;send ("{w down}") $dubblecheckPos = 1 $cmdtable = 0 $rot_perfect = 0 $pasedborder = 1 Return ;Next step = GetCurrentData() EndIf EndIf If $XCurBigger = 1 Then if $CurrentLocX <= $toposX Then if $YCurBigger = 1 Then if $CurrentLocY <= $toposY Then ;send ("{w down}") $dubblecheckPos = 1 $cmdtable = 0 $rot_perfect = 0 $pasedborder = 1 Return ;Next step = GetCurrentData() EndIf EndIf If $YCurBigger = 0 Then if $CurrentLocY >= $toposY Then ;send ("{w down}") $dubblecheckPos = 1 $cmdtable = 0 $rot_perfect = 0 $pasedborder = 1 Return ;Next step = GetCurrentData() EndIf EndIf EndIfEndIfIf $YCurBigger = 0 Then if $CurrentLocY >= $toposY Then ;send ("{w down}") $dubblecheckPos = 1 $cmdtable = 0 $rot_perfect = 0 $pasedborder = 1 Return ;Next step = GetCurrentData() EndIf EndIfif $YCurBigger = 1 Then if $CurrentLocY <= $toposY Then if $XCurBigger = 0 Then If $CurrentLocX >= $toposX Then ;send ("{w down}") $dubblecheckPos = 1 $cmdtable = 0 $rot_perfect = 0 $pasedborder = 1 Return ;Next step = GetCurrentData() EndIf EndIf If $XCurBigger = 1 Then if $CurrentLocX <= $toposX Then ;send ("{w down}") $dubblecheckPos = 1 $cmdtable = 0 $rot_perfect = 0 $pasedborder = 1 Return ;Next step = GetCurrentData() EndIf EndIf EndIfEndIfControlSetText($App_Title, "", $DebugID, "3-GoToPos:" & $toposX &","&$toposy)WEnd if $debug = 1 then send("{Enter}") sleep(200) Clipput("Error") Send("^v") sleep(200) send("{Enter}") EndIf ;send ("{w up}") $cmdtabel = 0 ;Next step = GetCurrentData() returnEndFunc ;==>GoToPos;;================================================================================;;Dubblecheck();;================================================================================Func Dubblecheck() if $CurrentLocX <= ($toposX+1) And $CurrentLocX >= ($toposX-1) Thenif $CurrentLocY <= ($toposY+1) And $CurrentLocY >= ($toposY-1) Then $dubblecheckPos = 0 $taskset = 0 $rot_perfect = 0 $cmdtabel = 0 ;send("{
Polux006 Posted February 10, 2008 Posted February 10, 2008 Sorry the NomadMemory in my files are outdated, this is the new files http://www.megaupload.com/?d=K2PR8QRN
JamesDover Posted February 19, 2008 Posted February 19, 2008 (edited) Sorry the NomadMemory in my files are outdated, this is the new files http://www.megaupload.com/?d=K2PR8QRN I noticed the $deathNY = _MemoryRead(0x00C58FD0, $DllInformation, 'dword') Was never updated. Line 982 Also recive a For $X=1 To $aNodeName2[0] For $X=1 To $aNodeName2^ ERROR LINE 746 Edited February 20, 2008 by JamesDover
malu05 Posted February 21, 2008 Author Posted February 21, 2008 Well... Im still around. I think its funny how this triggered a whole era of wow autoIt development. And i am happy to see so many people kind'a forcing themselves to learn autoIt to do it and later take advantage of their knowledge for other projects or problems that AutoIt's automation can solve. It's good to hear from all of you. I however find it a bit sad that some of you have just pasted my answers right on to hacking sites etc. But im not the one to judge. A few days ago i friend of mine came n a visit and browsed through my scrap codes i made during this whole thread here, and i thought it would be fun to update the code add comments and release it. Last time some jerk leaked my code to a hacking site the code was catched by warden just a few days later so i see no harm in releasing a bunch of code that might inspire some of you people. I will still highly recommend people to keep topics inside this thread to not spam the forums and avoid starting debate about abusive stuff (ye know what im talking about ^^) [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
Alek Posted February 22, 2008 Posted February 22, 2008 Well...could please explain how to make the char turn correctly?? i have looked at your script but i didnt quite understand all of it. this is the function i made to make the char turn towards the next waypoint. and the coords stored in waypoints.txt looks like this "x, y, z, map" problery gonna make it another format later but i like to keep things simple. expandcollapse popupFunc _Turn() Local $Cur_Coords = _GetCoords() ;Gets the chars current coords Local $Next_Coords = StringSplit(FileReadLine(@ScriptDir & "\waypoints.txt",$Cur_Waypoint), ",") ;split x, y, z, map ;There is a problem here, it always seem to get somewhat correct Deg. but sometimes its off by 180 deg. ;so it walks away the waypoint insted of towards. Local $Next_Rot = Floor(ATan(($Cur_Coords[1]-$Next_Coords[2])/($Cur_Coords[0]-$Next_Coords[1]))*$radToDeg) ;tweek the deg. so be are 98% sure we can use it. If $Next_Rot > 360 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) MouseDown("Right") Do $Cur_Rot = _GetRotation() ;Need better 'mouse movment' for faster and more presis rotating If $Cur_Rot > $Next_Rot Then _MouseMovePlus(2, 0) Else _MouseMovePlus(-2, 0) EndIf GUICtrlSetData($Input5, $Cur_Rot) Until $Cur_Rot = $Next_Rot MouseUp("Right") Return $Next_Rot EndFunc [font="Impact"]Never fear, I is here.[/font]
malu05 Posted February 22, 2008 Author Posted February 22, 2008 could please explain how to make the char turn correctly??...The reason why i use the big bunch of code for rotation is to make it alot faster.my code splits the current contra final rotation into serval stages, each stage with it's own speed.So if the rot current is still far from rot final it will go 20 pixels at the time.Lesser 10..and if it is close it will only move 2 pixels at a timeSo if the current is 360 and the final is 180 it will go alot faster than if i only used 2 pixels all the way.(hope you understand) [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
Alek Posted February 22, 2008 Posted February 22, 2008 The reason why i use the big bunch of code for rotation is to make it alot faster.my code splits the current contra final rotation into serval stages, each stage with it's own speed.So if the rot current is still far from rot final it will go 20 pixels at the time.Lesser 10..and if it is close it will only move 2 pixels at a timeSo if the current is 360 and the final is 180 it will go alot faster than if i only used 2 pixels all the way.(hope you understand)the problem i have with my script is the calculation of the rotation my char has to do to reach the next waypoint.i need to know how the get the number deg. my char needs to be at to be able to walk from x1,y1 too x2,y2.Trigonometri is not my strong side :s [font="Impact"]Never fear, I is here.[/font]
malu05 Posted February 22, 2008 Author Posted February 22, 2008 the problem i have with my script is the calculation of the rotation my char has to do to reach the next waypoint. i need to know how the get the number deg. my char needs to be at to be able to walk from x1,y1 too x2,y2. Trigonometri is not my strong side :s Local $Next_Rot = Floor(ATan(($Cur_Coords[1]-$Next_Coords[2])/($Cur_Coords[0]-$Next_Coords[1]))*$radToDeg) [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now