dutch-force Posted August 23, 2005 Author Posted August 23, 2005 :\ strange isn;t the bar above the connect buttondoing nything?
SupraNatural Posted August 23, 2005 Posted August 23, 2005 (edited) No it just says press connection button to play game.. try this while 1 $health = PixelGetColor ( 418 , 897 ) If Not $health = 16711689 Then send("q") wend endif BTW i don't use MSN but you can get me on aim at o0KungFooMasta0o Edited August 23, 2005 by SupraNatural Visit http://www.blizzedout.com/forums/register....referrerid=8306 for the top blizzard hacks. WoW, TfT, D2/LOD, CS. You name it we got it!
dirtybob Posted August 23, 2005 Posted August 23, 2005 (edited) What about a massive loop for auto healing say 5 people in your party or group? Some like this: while 1 $health = PixelGetColor ( 418 , 897 ) If Not $health = 16711689 Then send("q") elseif $healthtwo = PixelGetColor ( xxx , xxx ); second players health marker If Not $healthtwo = 16711689 Then send("X"); ingame hotkey to heal player two wend endif Just do it for, like in WOW, all 5 player's health bar positions. Might work, but would be kinda a pain to test. Edited August 23, 2005 by dirtybob
dutch-force Posted August 23, 2005 Author Posted August 23, 2005 hmm i still need to get the correct coords :\ can;t seems to catch em :S well in mu you can't heal other players unless your an elf then it would work
SupraNatural Posted August 23, 2005 Posted August 23, 2005 Try this HotKeySet("{HOME}","Healer") HotKeySet("{END}","Exitz") While 1 Sleep(1000) WEnd Func Healer() While 1 $coord = PixelSearch(213,986,256,1000,0x000000,6) If Not @error Then Send("q") ExitLoop Else $coord = PixelSearch(213,986,256,1000,0x000000,6) ExitLoop EndIf WEnd EndFunc Func Exitz() Exit EndFunc Im almost positive it works. Visit http://www.blizzedout.com/forums/register....referrerid=8306 for the top blizzard hacks. WoW, TfT, D2/LOD, CS. You name it we got it!
dutch-force Posted August 23, 2005 Author Posted August 23, 2005 sinjce you have mu to did you test it already? i dun have time to test it i'll do it tommorow
SupraNatural Posted August 23, 2005 Posted August 23, 2005 yea i tested but i didnt have any potions but i had it write to a file and it said Healed Wouldnt Heal Healed Healed etc, etc, i tested many times and it worked like 90% of the time. Visit http://www.blizzedout.com/forums/register....referrerid=8306 for the top blizzard hacks. WoW, TfT, D2/LOD, CS. You name it we got it!
Nerevar Posted February 26, 2006 Posted February 26, 2006 i don't know what the problem... HotKeySet("{F3}", "AutoHeal0rz") HotKeySet("{F4}", "UnAutoHeal0rz") HotKeySet("{F2}", "qwerty") Global $pick = 0 Global $coord = 0 Global $pos = 0,0 Global $color = 0 While 1 $health = PixelGetColor ( $pos[0] , $pos[1] ) If Not $health = $color Then send("q") endif Wend ;( 418 , 897 ) is set at the point where you should be healed ;0x030503 = the HeX color of the pixel it will change to when you go lower then the amount of healt func AutoHeal0rz() If $coord = 1 then $pick = 1 endif endfunc func UnAutoHeal0rz() $pick = 0 endfunc func qwerty() $pos = MouseGetPos() $color = PixelGetColor ( $pos[0] , $pos[1] ) $coord = 1 endfunc
Xander Posted March 8, 2006 Posted March 8, 2006 (edited) Well, I'm not the big-time scripter but I've just started playing the game. One hard part would be to get injured just enough to mark your spot. Most of the fights I've been in have me getting back to full health ASAP before the next baddie shows up. Might be easier to use your Qwerty to mark the X,Y and have it check after that for black (neither red (normal) nor green (poisoned)) Global $pos = 0,0I get an error on this line. Edit: but "Dim $pos[2]" works instead Edited March 8, 2006 by Xander
Xander Posted March 9, 2006 Posted March 9, 2006 (edited) Okay - so I got a little inspired. I've added timers for individual buffs/spells.Code cleanup suggestions are welcome. As well as ideas for how to get my next rendition working (I was thinking of having it tag the keypress as "$lastpressed" and then comparing "$lastpressed" with "$justpressed" (ie). That way, you just press the key twice to indicate that you've not just switched to that buff, but you've activated it.expandcollapse popup$g_szVersion = "BuffTimerau3" If WinExists($g_szVersion) Then Exit; It's already running AutoItWinSetTitle($g_szVersion) Global $buff, $bigbuff, $x, $nextbuff Global $pick = 0 Global $coord = 0 Dim $pos[2], $buff[10], $sounds[10] Global $color = 0 ;I've taken out a few ProcessClose() commands to kill of some programs. ;I have another script that I have making sure certain programs get run at all times. I un-pause this ;script when I'm done playing and it restarts the killed apps. ;Oddly, I can't get it to run the program for me. It always reports error messages when called by the script. ;I also have a spyware scanner that, when called by a script, will report -itself- as spyware, so this isn't too bizarre. ;Run("C:\Program Files\Webzen\Mu\mu.exe") ;WAV files found at [url="http://www.ibp.ru/ftp/LINGVO5/SOUND/"]http://www.ibp.ru/ftp/LINGVO5/SOUND/[/url] $sounds[1] = "e:\sounds\numbers\one.wav" $sounds[2] = "e:\sounds\numbers\two.wav" $sounds[3] = "e:\sounds\numbers\three.wav" $sounds[4] = "e:\sounds\numbers\four.wav" $sounds[5] = "e:\sounds\numbers\five.wav" $sounds[6] = "e:\sounds\numbers\six.wav" $sounds[7] = "e:\sounds\numbers\seven.wav" $sounds[8] = "e:\sounds\numbers\eight.wav" $sounds[9] = "e:\sounds\numbers\nine.wav" HotKeySet("+{F3}", "AutoHealOn") HotKeySet("+{F4}", "AutoHealOff") HotKeySet("+{F2}", "ColourSet") HotKeySet("^{F7}", "Goaway") HotKeySet("^b", "BigBuffOn");<--Ctrl-B starts a 30min timer for the buff given by the Elf Soldier HotKeySet("^+b", "BigBuffOff");<--just in case you want to turn off that timer. HotKeySet("1", "Nextbuff1");<--sets up the 1-9 keys to warn the script which HotKeySet("2", "Nextbuff2"); timer to start next HotKeySet("3", "Nextbuff3") HotKeySet("4", "Nextbuff4") HotKeySet("5", "Nextbuff5") HotKeySet("6", "Nextbuff6") HotKeySet("7", "Nextbuff7") HotKeySet("8", "Nextbuff8") HotKeySet("9", "Nextbuff9") HotKeySet("`", "Bufftimer");<--the key next to "1" is the actual trigger to start counting ;============================================================ ;***USAGE***: Click the 1-9 for the buff you're going to use. Once you right-click your target/self, hit the ' ;key to start that timer. It will speak the # for the key it's timing. 55 seconds later, it will repeat that # ;to tell you which buff is about to fail. ;============================================================ ;My next version of this might have you tapping the same # key twice to trigger it. ;First time to warn the script second time to activate timer. Suggestions welcome. ;It might be nice to have it move the mouse to center-screen for me and activate the right-click but I think ;that is where it crosses the line between a 'monitor' script and a 'hack'. Once the script -DOES- things for you, it's ;no longer just watching ;HotKeySet("{PAUSE}", "Pause") While 1 ;HEALTH CHECK $health = PixelGetColor($pos[0], $pos[1]) If $health <> $color And $pick = 1 Then ;Send("q");<--I want it to just **warn me** of low health. Having it do things for me is, IMO, cheating. SoundPlay("c:\windows.0\media\chord.wav", 1) EndIf ;TIMER FOR THE ELF-SOLDIER BUFF If $bigbuff <> 0 And TimerDiff($bigbuff) > 1770000 Then SoundPlay("c:\windows.0\media\Windows XP Shutdown.wav", 1) $bigbuff = 0 EndIf ;55 second timer for the 1-9 keys. Code cleanup suggestions are welcome $x=0 While $x < 10 ;Right now, all my buffs last 60 seconds. If I need to later, ;I will set up an array for varying lengths: Length[$x], and declare them ;individually above like I did with the sounds. If $buff[$x] <> 0 And TimerDiff($buff[$x]) > 55000 Then SoundPlay($sounds[$x], 1) ;MsgBox(0, "", "buff " & $buff[$x]) $buff[$x] = 0 EndIf $x = $x + 1 WEnd WEnd Exit ;======================================== Func ColourSet() ;This is the original poster's code ... which doesn't work for me. ;( 418 , 897 ) is set at the point where you should be healed ;0x030503 = the HeX color of the pixel it will change to when you go lower then the amount of health $pos = MouseGetPos() ;$color = 0x030503 $color = PixelGetColor ( $pos[0] , $pos[1] ) $coord = 1 SoundPlay("E:\Sounds\My Audio\Bubbles.wav") EndFunc;==>ColourSet Func AutoHealOn() If $coord = 1 Then $pick = 1 SoundPlay("c:\windows.0\media\start.wav") EndFunc;==>AutoHeal Func AutoHealOff() $pick = 0 SoundPlay("E:\Sounds\drop.wav") EndFunc;==>UnAutoHeal ;======================================== Func BigBuffOn() $bigbuff = TimerInit() SoundPlay("c:\windows.0\media\Windows XP Startup.wav", 1) EndFunc;==>BigBuffOn Func BigBuffOff() $bigbuff = 0 EndFunc;==>BigBuffOff Func Goaway() SoundPlay("E:\Sounds\My Audio\Bubbles.wav",1) Exit EndFunc;==>Goaway Func Nextbuff1() $nextbuff = 1 HotKeySet("1") Send("1") HotKeySet("1", "Nextbuff1") EndFunc;==>Nextbuff1 Func Nextbuff2() $nextbuff = 2 HotKeySet("2") Send("2") HotKeySet("2", "Nextbuff2") EndFunc;==>Nextbuff2 Func Nextbuff3() $nextbuff = 3 HotKeySet("3") Send("3") HotKeySet("3", "Nextbuff3") EndFunc;==>Nextbuff3 Func Nextbuff4() $nextbuff = 4 HotKeySet("4") Send("4") HotKeySet("4", "Nextbuff4") EndFunc;==>Nextbuff4 Func Nextbuff5() $nextbuff = 5 HotKeySet("5") Send("5") HotKeySet("5", "Nextbuff5") EndFunc;==>Nextbuff5 Func Nextbuff6() $nextbuff = 6 HotKeySet("6") Send("6") HotKeySet("6", "Nextbuff6") EndFunc;==>Nextbuff6 Func Nextbuff7() $nextbuff = 7 HotKeySet("7") Send("7") HotKeySet("7", "Nextbuff7") EndFunc;==>Nextbuff7 Func Nextbuff8() $nextbuff = 8 HotKeySet("8") Send("8") HotKeySet("8", "Nextbuff8") EndFunc;==>Nextbuff8 Func Nextbuff9() $nextbuff = 9 HotKeySet("9") Send("9") HotKeySet("9", "Nextbuff9") EndFunc;==>Nextbuff9 Func Bufftimer() $buff[$nextbuff] = TimerInit() SoundPlay($sounds[$nextbuff], 1) EndFunc;==>Bufftimerhttp://www.autoitscript.com/forum/index.ph...ndpost&p=102526...and I have it compiled as "alarmclock.exe" Edited March 9, 2006 by Xander
jackyyll Posted March 10, 2006 Posted March 10, 2006 Why dont you just use memory to read the value of your current HP to heal? Then if it's lower than $x make it heal, more efficent than pixels I think atleast
Xander Posted March 10, 2006 Posted March 10, 2006 Why dont you just use memory to read the value of your current HP to heal? Then if it's lower than $x make it heal, more efficent than pixels I think atleast How would you "use memory" to do that? Can you be more specific? I'm not sure how you'd gain that information without hacking into the program in some form or grabbing packets of data from the transmission.
greenmachine Posted March 10, 2006 Posted March 10, 2006 I made a couple changes to the code above, mostly just to get rid of the redundancy of the functions, and make it more clear. The NextBuff1 - NextBuff9 have been replaced by a single NextBuff, which utilizes @Hotkeypressed (a nice and useful macro). expandcollapse popup$g_szVersion = "BuffTimerau3" If WinExists($g_szVersion) Then Exit; It's already running AutoItWinSetTitle($g_szVersion) Global $buff, $bigbuff, $x, $nextbuff Global $pick = 0 Global $coord = 0 Dim $pos[2], $buff[10], $sounds[10] Global $color = 0 ;I've taken out a few ProcessClose() commands to kill of some programs. ;I have another script that I have making sure certain programs get run at all times. I un-pause this ;script when I'm done playing and it restarts the killed apps. ;Oddly, I can't get it to run the program for me. It always reports error messages when called by the script. ;I also have a spyware scanner that, when called by a script, will report -itself- as spyware, so this isn't too bizarre. ;Run("C:\Program Files\Webzen\Mu\mu.exe") ;WAV files found at [url="http://www.ibp.ru/ftp/LINGVO5/SOUND/"]http://www.ibp.ru/ftp/LINGVO5/SOUND/[/url] $sounds[1] = "e:\sounds\numbers\one.wav" $sounds[2] = "e:\sounds\numbers\two.wav" $sounds[3] = "e:\sounds\numbers\three.wav" $sounds[4] = "e:\sounds\numbers\four.wav" $sounds[5] = "e:\sounds\numbers\five.wav" $sounds[6] = "e:\sounds\numbers\six.wav" $sounds[7] = "e:\sounds\numbers\seven.wav" $sounds[8] = "e:\sounds\numbers\eight.wav" $sounds[9] = "e:\sounds\numbers\nine.wav" HotKeySet("+{F3}", "AutoHealOn") HotKeySet("+{F4}", "AutoHealOff") HotKeySet("+{F2}", "ColourSet") HotKeySet("^{F7}", "Goaway") HotKeySet("^b", "BigBuffOn");<--Ctrl-B starts a 30min timer for the buff given by the Elf Soldier HotKeySet("^+b", "BigBuffOff");<--just in case you want to turn off that timer. HotKeySet("1", "Nextbuff");<--sets up the 1-9 keys to warn the script which HotKeySet("2", "Nextbuff"); timer to start next HotKeySet("3", "Nextbuff") HotKeySet("4", "Nextbuff") HotKeySet("5", "Nextbuff") HotKeySet("6", "Nextbuff") HotKeySet("7", "Nextbuff") HotKeySet("8", "Nextbuff") HotKeySet("9", "Nextbuff") HotKeySet("`", "Bufftimer");<--the key next to "1" is the actual trigger to start counting ;============================================================ ;***USAGE***: Click the 1-9 for the buff you're going to use. Once you right-click your target/self, hit the ' ;key to start that timer. It will speak the # for the key it's timing. 55 seconds later, it will repeat that # ;to tell you which buff is about to fail. ;============================================================ ;My next version of this might have you tapping the same # key twice to trigger it. ;First time to warn the script second time to activate timer. Suggestions welcome. ;It might be nice to have it move the mouse to center-screen for me and activate the right-click but I think ;that is where it crosses the line between a 'monitor' script and a 'hack'. Once the script -DOES- things for you, it's ;no longer just watching ;HotKeySet("{PAUSE}", "Pause") While 1 ;HEALTH CHECK $health = PixelGetColor($pos[0], $pos[1]) If $health <> $color And $pick = 1 Then ;Send("q");<--I want it to just **warn me** of low health. Having it do things for me is, IMO, cheating. SoundPlay("c:\windows.0\media\chord.wav", 1) EndIf ;TIMER FOR THE ELF-SOLDIER BUFF If $bigbuff <> 0 And TimerDiff($bigbuff) > 1770000 Then SoundPlay("c:\windows.0\media\Windows XP Shutdown.wav", 1) $bigbuff = 0 EndIf ;55 second timer for the 1-9 keys. Code cleanup suggestions are welcome For $x = 0 To 9; was while x < 10, x = 0 at the line above (should it be $x = 1 to 9 ?) ;Right now, all my buffs last 60 seconds. If I need to later, ;I will set up an array for varying lengths: Length[$x], and declare them ;individually above like I did with the sounds. If $buff[$x] <> 0 And TimerDiff($buff[$x]) > 55000 Then SoundPlay($sounds[$x], 1) ;MsgBox(0, "", "buff " & $buff[$x]) $buff[$x] = 0 EndIf Next WEnd Exit ;======================================== Func ColourSet() ;This is the original poster's code ... which doesn't work for me. ;( 418 , 897 ) is set at the point where you should be healed ;0x030503 = the HeX color of the pixel it will change to when you go lower then the amount of health $pos = MouseGetPos() ;$color = 0x030503 $color = PixelGetColor ( $pos[0] , $pos[1] ) $coord = 1 SoundPlay("E:\Sounds\My Audio\Bubbles.wav") EndFunc;==>ColourSet Func AutoHealOn() If $coord = 1 Then $pick = 1 SoundPlay("c:\windows.0\media\start.wav") EndFunc;==>AutoHeal Func AutoHealOff() $pick = 0 SoundPlay("E:\Sounds\drop.wav") EndFunc;==>UnAutoHeal ;======================================== Func BigBuffOn() $bigbuff = TimerInit() SoundPlay("c:\windows.0\media\Windows XP Startup.wav", 1) EndFunc;==>BigBuffOn Func BigBuffOff() $bigbuff = 0 EndFunc;==>BigBuffOff Func Goaway() SoundPlay("E:\Sounds\My Audio\Bubbles.wav",1) Exit EndFunc;==>Goaway Func NextBuff() $nextbuff = @HotKeyPressed HotKeySet (@HotKeyPressed) Send (@HotKeyPressed) HotKeySet (@HotKeyPressed, "NextBuff") EndFunc Func Bufftimer() $buff[$nextbuff] = TimerInit() SoundPlay($sounds[$nextbuff], 1) EndFunc;==>Bufftimer
Xander Posted March 10, 2006 Posted March 10, 2006 @hotkeypressedNice. Made some minor changes. Added in a Pause() function because my login is alphanumeric and it was still blocking the #s. (Using [ ] for pauson/off since it didn't like watching the Pause key itself) So, it pauses at the start until I'm ready for it to monitor. Renamed the original poster's functions to HealWatchOn/Off to be less bot'ish. The timers are working quite well. I'm trying to get it so that I can remove the ' trigger key from it and just press the 1-9 twice to activate it. Just working out where/how to set up a $lastkeypressed vs. $justpressed for it to compare. If they're equal, start the timer. Main thing seems to be the original script which I've barely touched. As I read it, it makes sense in terms of assigning the X,Y to watch, noting the colour of that X,Y and then watching for changes in it. Yet, it doesn't.
dutch-force Posted April 25, 2006 Author Posted April 25, 2006 lol somebody said something to me again bout autoit so i tought i would check it out again lol Xander can you post u r script thingy maybe?? And the Auto heal isn't working probably because you are using it in window mode and it will probably only be working in full mode.
zzxxzzxx Posted April 26, 2006 Posted April 26, 2006 @HotKeyPressed seems like an interesting code.... anyway, if my Hotkey is Shift + num, and i used @hotkeypressed. but i only wanna extract the num (without the shift) anyway to do it?
greenmachine Posted April 26, 2006 Posted April 26, 2006 @HotKeyPressed is simply the exact string used to set the hotkey function. In other words, if I have these two hotkeys: HotKeySet ("+9", "somefunc") or HotKeySet ("(", "somefunc") that point to this function: Func somefunc() MsgBox (0, "key pressed", @HotKeyPressed) EndFunc Both set the same key, but the message box of the first one shows "+9", and the second one "(" - exactly how the keys are set up. Therefore, if you want to key a piece of the key, use string functions on it. Example - suppose I have Ctrl+Alt+Shift+a and Ctrl+Alt+Shift+b as hotkeys, and I only want to know if a or b was pressed: HotKeySet ("^!+a", "somefunc2") HotKeySet ("^!+b", "somefunc2") While 1 Sleep (100) WEnd Func somefunc2() If StringRight (@HotKeyPressed, 1) = "a" Then MsgBox (0, "key", "a was pressed") ElseIf StringRight(@HotKeyPressed, 1) = "b" Then MsgBox (0, "key", "b was pressed") Else ; if you have more hotkeys.... EndIf EndFunc
dutch-force Posted July 6, 2006 Author Posted July 6, 2006 tought i would check again.... so what are all the functions right now?? lol i'm not really following this anymore....
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