salter Posted September 10, 2006 Share Posted September 10, 2006 (edited) Well i tryed my best to make this but im new to autoit so im not really sure how to do some things. Im having troubes with a few things ive pointed most of them out in comments in the code. ya i dont really know how to use functions lol. If you could help me out that would be awsome. THX This is what i got so far: expandcollapse popup; Script Start - Add your code below here ;---------------------SETUP-------------------------------------------------- ; Will add skill options here some otehr time ;------------------------------------------------------------------------------- Opt("MouseCoordMode", 0); Read the help file for "Opt" to see if you need to keep the '2' a '2', '1', or '0' Opt("PixelCoordMode", 0); Read the help file for "Opt" to see if you need to keep the '2' a '2', '1', or '0' Hotkeyset("{HOME}","start") Hotkeyset("{END}","stop") Global $stop Func start() If Not WinExists("AlefClient") Then MsgBox(0, Random(0, 100), "Archlord must be opened.") Exit EndIf WinActivate ( 'AlefClient' ) Sleep ( 300 ) $stop = NOT $stop While $stop Sleep(100) Func Search() ;This is the monster select thing, what it does is send("{LSHIFT down}") ;pushes shift + tab which is the select a monster command for the game. Sleep(Random(40, 55)) ;Then it checks to see if it has a hp bar up top and if it does it hits 3 send("{Tab}") ;which is the attack button and if it doesnt have a hp bar then it Sleep(Random(900, 1070)) ;moves the camera to the left abit then hits shift + tab again. send("{LSHIFT up}") Sleep(Random(450, 520)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Send("3") Else Sleep(Random(70, 120)) Send("{LEFT}") Sleep(Random(70, 120)) Send("{LEFT}") EndIf EndFunc Func Fight() Sleep(Random(450, 600)) $var = PixelGetColor(424, 25) ; This part here is the search for hp bar If $var = 0xD63839 then ; and if it still has that color in it i want it to keep waiting. Sleep(Random(900, 1200)) ; Then i want it to search again and if it still has that color to keep waiting. Else ; Then when that color isnt there anymore i want it too start the Getitems Function. Sleep(Random(95, 135)) EndIf EndFunc Func Getitems() ; this is supposed to go when the fight function is done. Sleep(Random(98, 150)) Send("{SPACE}") Sleep(Random(100, 145)) Send("{SPACE}") Sleep(Random(99, 150)) Send("{SPACE}") Sleep(Random(97, 145)) EndIf EndFunc Func AFK() ;I want this to go off like every 30 seconds or so. MouseMove (Random) ;Im not sure if this is right. Sleep(Random(100, 180)) MouseMove (Random) Sleep(Random(100, 180)) Send("m") Sleep(Random(400, 600)) Send("m") Sleep(Random(100, 180)) EndFunc EndIf WEnd EndFunc Func stop() Exit EndFunc While 1 Sleep(50) WEnd Edited September 10, 2006 by salter Link to comment Share on other sites More sharing options...
Jasio Posted September 10, 2006 Share Posted September 10, 2006 (edited) $stop = 1 Func start() If Not WinExists("AlefClient") Then MsgBox(0, Random(0, 100), "Archlord must be opened.") Exit EndIf WinActivate ( 'AlefClient' ) Sleep ( 300 ) $stop = 0 If $stop = 0 Then While 1 Search() Fight() getitems() Sleep(30000) AFK() WEnd Else Sleep(1000) EndIf EndFunc Edited September 10, 2006 by Jasio Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted September 11, 2006 Moderators Share Posted September 11, 2006 BumpHere's an idea... instead of adding to code that doesn't work, use the Debug option in SciTe and go through line by line and see where it is being held up at. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
xcal Posted September 11, 2006 Share Posted September 11, 2006 (edited) I think this: expandcollapse popupFunc Fight() Sleep(Random(450, 600)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then ; ya dont know what to do here Sleep(Random(900, 1200)) ; Im trying to make it check the hp bar of the monster $var = PixelGetColor(424, 25) ; every second or so to see if he still has hp left If $var = 0xD63839 then ; and if he does i want him to keep waiting and if it has no Sleep(Random(900, 1200)) ; hp left then the monster is dead so i want it too end that function. $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) $var = PixelGetColor(424, 25) If $var = 0xD63839 then Sleep(Random(900, 1200)) Else Sleep(Random(95, 135)) EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndFunc edit - It looks like one of your problems is this $var = PixelGetColor(424, 25) If $var = 0xD63839 then PixelGetColor returns a color in decimal, and you're comparing it to a hex value...pretty sure. If you want to keep using the hex value, you'd need to do: $var = '0x' & Hex(PixelGetColor(424, 25), 6) Edited September 11, 2006 by xcal How To Ask Questions The Smart Way Link to comment Share on other sites More sharing options...
Jasio Posted September 11, 2006 Share Posted September 11, 2006 (edited) That code does do that, but the pixelgetcolor wont give you the hex directly, i dont believe.. $var = PixelGetColor( 424, 25 ) $var = Hex($var, 6) If $var = D63839 Then ;Blah Else ;Blah EndIf oÝ÷ Ù8Z·¥¯{*.¶ºr«iË^¯÷b+G{yȦjW(uémÜ$̨»e§¶Ú)ºÖ®¶sdgVæ26V&6¥vÆR§6VæBgV÷C·´Å4eBF÷vçÒgV÷C²¥6ÆVW&æFöÒCÂSR§6VæBgV÷C·µF'ÒgV÷C²¥6ÆVW&æFöÒÂs§6VæBgV÷C·´Å4eBWÒgV÷C²¥6ÆVW&æFöÒCSÂS#¢b33c·f"ÒVÄvWD6öÆ÷"C#BÂ#R¤bb33c·f"ÒCc33FVâ¥6VæBgV÷C³2gV÷C²¤WDÆö÷¤VÇ6P¥6ÆVW&æFöÒsÂ#¥6VæBgV÷C·´ÄTeGÒgV÷C²¥6ÆVW&æFöÒsÂ#¥6VæBgV÷C·´ÄTeGÒgV÷C²¤VæD`¥tVæ@¤VæDgVæ0 Edited September 11, 2006 by Jasio Link to comment Share on other sites More sharing options...
Graymatter Posted November 4, 2006 Share Posted November 4, 2006 $var = PixelGetColor( 424, 25 )$var = Hex($var, 6)If $var = D63839 Then;BlahElse;BlahEndIfi didnt know If $var = D63839 Thenis same asIf $var <> D63839 Thenand wouldnt "D63839" -> String ? [quote]I am so clever that sometimes I don't understand a single word of what I am saying.[/quote] Link to comment Share on other sites More sharing options...
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