CStrike Posted February 9, 2008 Share Posted February 9, 2008 (edited) expandcollapse popup#include<misc.au3> #include<GUIConstants.au3> #include<string.au3> ;=============================================================================== ; ; Description: Main Section ; Author(s): CStrike ; Note(s): This is currently set to about 500~ damage before it drinks. ; ;=============================================================================== AutoItSetOption("PixelCoordMode", 2) While 1 If ProcessExists("Diablo II.exe") = 0 Then ExitLoop EndIf $Color = PixelSearch(70, 394, 70, 395, 0x5C0000) If @Error Then $Slot = IniRead("HP.ini", "Slot", "CSJuv", "") SplashTextOn("", "Created By CStrike [ Status: HP Low ]", 300, 24, 30, 30, 1) _BMPK() ElseIf NOT @Error Then SplashTextOn("", "Created By CStrike [ Status: HP Fine ]", 300, 24, 30, 30, 1) EndIf Sleep(250) WEnd ;=============================================================================== ; ; Description: _BMPK ; Author(s): CStrike ; Note(s): This section Determinds which slot has potions. ; ;=============================================================================== Func _BMPK() ; { I STILL NEED HELP HERE } ; EndFunc ok basically what i need help with is i need to set a global type key like um $Slot0, $Slot1, etc. now what i need it to do is something like this. Func _BMPK() $Slot0 = 0 $Slot1 = 0 $Slot2 = 0 $Slot3 = 0 If WinActive("Diablo II") = 1 Then Send("1") $Slot0 = +1 Sleep(300) If $Slot0 = 4 Then Send("2") $Slot1 = +1 Sleep(300) If $Slot1 = 4 Then Send("3") $Slot2 = +1 Sleep(300) If $Slot2 = 4 Then Send("4") $Slot3 = +1 Sleep(300) If $Slot4 = 4 Then SplashTextOn("", "Out Of Juvs!", 300, 24, 20, 20, 1) EndIf EndIf EndIf EndIf EndIf Else Sleep(1) EndFunc So what it needs to do is each time its triggered and presses ("1") it needs to record its been pressed +1 Times. When it has been triggered/pressed four times it has to start pressing ("2") instead of ("1") because the first slot is out of potions. Each slot can only hold four potions. but of course that doesn't work but it shows you what I'm trying to do. Edited February 9, 2008 by CStrike Link to comment Share on other sites More sharing options...
BrettF Posted February 9, 2008 Share Posted February 9, 2008 $var = 10 $var += 1 MsgBox (0, "$var now equals", $var) Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
CStrike Posted February 9, 2008 Author Share Posted February 9, 2008 (edited) see in the second code box. could you show me an example of how i would fix that. ive tried this atleast 500 times and i cant seem to get it to work. Func _BMPK() $Slot0 = 0 $Slot1 = 0 $Slot2 = 0 $Slot3 = 0 If WinActive("Diablo II") = 1 Then Send("1") $Slot0 += 1 Sleep(300) If $Slot0 = 4 Then Send("2") $Slot1 += 1 Sleep(300) If $Slot1 = 4 Then Send("3") $Slot2 += 1 Sleep(300) If $Slot2 = 4 Then Send("4") $Slot3 += 1 Sleep(300) If $Slot4 = 4 Then SplashTextOn("", "Out Of Juvs!", 300, 24, 20, 20, 1) EndIf EndIf EndIf EndIf Else Sleep(1) EndIf EndFunc Basically at the moment, it drinks the first row of potions but it never starts on the second. Which makes me believe that the counter isnt working right or im doing something horribly wrong. Edited February 9, 2008 by CStrike Link to comment Share on other sites More sharing options...
BrettF Posted February 9, 2008 Share Posted February 9, 2008 (edited) $slot0 += 1. Make sure you define them all at the top of your script (Dim $slot0 = 0, $slot1 = 0....) I forgot to welcome you to the forums before so welcome! EDIT: Every time the function is called, $slot0... is being set back to 0. just define them GLOBALLY (Global rather than Dim) at the top of your script, and you should be able to store those values. Edited February 9, 2008 by Bert Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
CStrike Posted February 9, 2008 Author Share Posted February 9, 2008 (edited) heres the full script. expandcollapse popup; ------------------------------------------------------------------------------ ; ; D2PK BMPK Auto Juver ; Author: CStrike ; ; ------------------------------------------------------------------------------ ;=============================================================================== ; #includes ;=============================================================================== #include<misc.au3> #include<GUIConstants.au3> #include<string.au3> ;=============================================================================== ; Defining ;=============================================================================== $Slot0 = 0 $Slot1 = 0 $Slot2 = 0 $Slot3 = 0 ;=============================================================================== ; ; Description: Main Section ; Author(s): CStrike ; Note(s): This is currently set to about 500~ damage before it drinks. ; ;=============================================================================== AutoItSetOption("PixelCoordMode", 2) While 1 If ProcessExists("Diablo II.exe") = 0 Then ExitLoop EndIf $Color = PixelSearch(70, 394, 70, 395, 0x5C0000) If @Error Then $Slot = IniRead("HP.ini", "Slot", "CSJuv", "") SplashTextOn("", "Created By CStrike [ Status: HP Low ]", 300, 24, 30, 30, 1) _BMPK() ElseIf NOT @Error Then SplashTextOn("", "Created By CStrike [ Status: HP Fine ]", 300, 24, 30, 30, 1) EndIf Sleep(250) WEnd ;=============================================================================== ; ; Description: _BMPK ; Author(s): CStrike ; Note(s): This section Determinds which slot has potions. ; ;=============================================================================== Func _BMPK() If WinActive("Diablo II") = 1 Then Send("1") $Slot0 += 1 Sleep(300) If $Slot0 = 4 Then Send("2") $Slot1 += 1 Sleep(300) If $Slot1 = 4 Then Send("3") $Slot2 += 1 Sleep(300) If $Slot2 = 4 Then Send("4") $Slot3 += 1 Sleep(300) If $Slot4 = 4 Then SplashTextOn("", "Out Of Juvs!", 300, 24, 20, 20, 1) EndIf EndIf EndIf EndIf Else Sleep(1) EndIf EndFunc Thanks for the welcome and thanks for all the help your giving. Im from New Zealand so were not that far apart. Ok well, it drinks the first 4 from Slot1, then it drinks the first from Slot2 but it doesnt continue to drink from Slot2 after that. Edited February 9, 2008 by CStrike Link to comment Share on other sites More sharing options...
Swift Posted February 9, 2008 Share Posted February 9, 2008 Auto-Pot For D2, I Wish People Would Stop Making Bots. Link to comment Share on other sites More sharing options...
CStrike Posted February 9, 2008 Author Share Posted February 9, 2008 Dont worry, its not for normal D2. Its for a BMPK realm (Juvs from akara etc) expandcollapse popup; ------------------------------------------------------------------------------ ; ; D2PK BMPK Auto Juver ; Author: CStrike ; ; ------------------------------------------------------------------------------ ;=============================================================================== ; #includes ;=============================================================================== #include<misc.au3> #include<GUIConstants.au3> #include<string.au3> ;=============================================================================== ; Defining ;=============================================================================== $Slot0 = 0 $Slot1 = 0 $Slot2 = 0 $Slot3 = 0 $Slot4 = 0 ;=============================================================================== ; ; Description: Main Section ; Author(s): CStrike ; Note(s): This is currently set to about 500~ damage before it drinks. ; ;=============================================================================== AutoItSetOption("PixelCoordMode", 2) While 1 If ProcessExists("Diablo II.exe") = 0 Then ExitLoop EndIf $Color = PixelSearch(70, 394, 70, 395, 0x5C0000) If @Error Then $Slot = IniRead("HP.ini", "Slot", "CSJuv", "") SplashTextOn("", "Created By CStrike [ Status: HP Low ]", 300, 24, 30, 30, 1) _BMPK() ElseIf NOT @Error Then SplashTextOn("", "Created By CStrike [ Status: HP Fine ]", 300, 24, 30, 30, 1) EndIf Sleep(250) WEnd ;=============================================================================== ; ; Description: _BMPK ; Author(s): CStrike ; Note(s): This section Determinds which slot has potions. ; ;=============================================================================== Func _BMPK() If WinActive("Diablo II") = 1 Then If $Slot0 = 4 Then _Slot0() If $Slot1 = 4 Then _Slot1() If $Slot2 = 4 Then _Slot2() If $Slot3 = 4 Then _Slot3() If $Slot4 = 4 Then _Slot4() Else Sleep(1) EndIf EndIf EndIf EndIf EndIf EndIf EndFunc Func _Slot0() Send("1") $Slot0 += 1 Sleep(300) EndFunc Func _Slot1() Send("2") $Slot1 += 1 Sleep(300) EndFunc Func _Slot2() Send("3") $Slot2 += 1 Sleep(300) EndFunc Func _Slot3() Send("4") $Slot3 += 1 Sleep(300) EndFunc Func _Slot4() SplashTextOn("", "Out Of Juvs!", 300, 24, 20, 20, 1) EndFunc Theres no error, but i dont think its going to the function because its not pressing "1" or "2" or "3" or "4" Link to comment Share on other sites More sharing options...
BrettF Posted February 9, 2008 Share Posted February 9, 2008 Define them Globably... Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
CStrike Posted February 9, 2008 Author Share Posted February 9, 2008 (edited) I dont think that is the problem. expandcollapse popup; ------------------------------------------------------------------------------ ; ; D2PK BMPK Auto Juver ; Author: CStrike ; ; ------------------------------------------------------------------------------ ;=============================================================================== ; #includes ;=============================================================================== #include<misc.au3> #include<GUIConstants.au3> #include<string.au3> ;=============================================================================== ; Defining ;=============================================================================== Global $Slot0 = 0 Global $Slot1 = 0 Global $Slot2 = 0 Global $Slot3 = 0 Global $Slot4 = 0 ;=============================================================================== ; ; Description: Main Section ; Author(s): CStrike ; Note(s): This is currently set to about 500~ damage before it drinks. ; ;=============================================================================== AutoItSetOption("PixelCoordMode", 2) While 1 If ProcessExists("Diablo II.exe") = 0 Then ExitLoop EndIf $Color = PixelSearch(70, 394, 70, 395, 0x5C0000) If @Error Then $Slot = IniRead("HP.ini", "Slot", "CSJuv", "") SplashTextOn("", "Created By CStrike [ Status: HP Low ]", 300, 24, 30, 30, 1) _BMPK() ElseIf NOT @Error Then SplashTextOn("", "Created By CStrike [ Status: HP Fine ]", 300, 24, 30, 30, 1) EndIf Sleep(250) WEnd ;=============================================================================== ; ; Description: _BMPK ; Author(s): CStrike ; Note(s): This section Determinds which slot has potions. ; ;=============================================================================== Func _BMPK() If WinActive("Diablo II") = 1 Then If $Slot0 = 4 Then _Pot0() If $Slot1 = 4 Then _Pot1() If $Slot2 = 4 Then _Pot2() If $Slot3 = 4 Then _Pot3() If $Slot4 = 4 Then _Pot4() Else Sleep(1) EndIf EndIf EndIf EndIf EndIf EndIf EndFunc Func _Pot0() Send("1") $Slot0 += 1 Sleep(300) EndFunc Func _Pot1() Send("2") $Slot1 += 1 Sleep(300) EndFunc Func _Pot2() Send("3") $Slot2 += 1 Sleep(300) EndFunc Func _Pot3() Send("4") $Slot3 += 1 Sleep(300) EndFunc Func _Pot4() SplashTextOn("", "Out Of Juvs!", 300, 24, 20, 20, 1) EndFunc Basically with the function below the If statements do not seem to work. Func _BMPK() If WinActive("Diablo II") = 1 Then If $Slot0 = 4 Then _Pot0() If $Slot1 = 4 Then _Pot1() If $Slot2 = 4 Then _Pot2() If $Slot3 = 4 Then _Pot3() If $Slot4 = 4 Then _Pot4() Else Sleep(1) EndIf EndIf EndIf EndIf EndIf EndIf EndFunc When i run it it doesn't go to the "_Pot1" or "_Pot2" functions etc. I think ive done something wrong with the functions below. expandcollapse popupFunc _BMPK() If WinActive("Diablo II") = 1 Then If $Slot0 = 4 Then _Pot0() If $Slot1 = 4 Then _Pot1() If $Slot2 = 4 Then _Pot2() If $Slot3 = 4 Then _Pot3() If $Slot4 = 4 Then _Pot4() Else Sleep(1) EndIf EndIf EndIf EndIf EndIf EndIf EndFunc Func _Pot0() Send("1") $Slot0 += 1 Sleep(300) EndFunc Func _Pot1() Send("2") $Slot1 += 1 Sleep(300) EndFunc Func _Pot2() Send("3") $Slot2 += 1 Sleep(300) EndFunc Func _Pot3() Send("4") $Slot3 += 1 Sleep(300) EndFunc Func _Pot4() SplashTextOn("", "Out Of Juvs!", 300, 24, 20, 20, 1) EndFunc Edited February 9, 2008 by CStrike Link to comment Share on other sites More sharing options...
BrettF Posted February 9, 2008 Share Posted February 9, 2008 Quickie, what is $slotx representing? Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
CStrike Posted February 9, 2008 Author Share Posted February 9, 2008 well in D2, theres 4 slots, in each slot you can hold 4 potions. so basically i need it to drink 4 potions from slot 1, then use potions from slot 2 until empty then use from slot 3 and then slot 4. Link to comment Share on other sites More sharing options...
BrettF Posted February 9, 2008 Share Posted February 9, 2008 so if $slot4 = 0 use $slot3 and if $slot3 = 0 Then use $slot2...? Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
CStrike Posted February 9, 2008 Author Share Posted February 9, 2008 kinda Slot0 uses potion slot 1 which is why theres a Send("1") the potion buttons are "1,2,3,4" which is why theres Send("1"),Send("2"),Send("3"),Send("4") Basicly when the _BMPK function is called its not moving to the Slot0-5 Functions like its supposed to. So ultimately what i want is: When Slot0 (Potion slot 1) = 4, It starts using Slot1 (Potion Slot 2) and when that is = to 4 it moves onto Slot2 (Potion Slot 3) and so on. 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