EscapeTheFate Posted June 7, 2007 Share Posted June 7, 2007 #include <IE.au3> #include <GUIConstants.au3> #Include <GuiStatusBar.au3> #include <String.au3> _IEErrorHandlerRegister("MyErrFunc") Opt("WinTitleMatchMode", 2) Func MyErrFunc() EndFunc ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $g_szVersion = "" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Global $Paused global $MinValue = IniRead("Shant.ini", "defaults", "MinValue", "") global $MaxValue = IniRead("Shant.ini", "defaults", "MaxValue", "") global $Potionname = IniRead("Shimlar.ini", "defaults", "Potionname", "") global $iniread = IniRead(@HomeDrive & "\tempdll.ini", "Return", "SHERRACC", "") global $delay = IniRead("Shant.ini", "defaults", "fdelay", "") global $delaymove = IniRead("Shant.ini", "defaults", "mdelay", "") HotKeySet("{F8}", "Terminate") HotKeySet("{F9}", "TogglePause") HotKeySet("{F8}", "captureEsc") Func Terminate() Exit 0 EndFunc Func captureEsc() Terminate() HotKeySet("{F8}") Send("{F8}") HotKeySet("{F8}", "captureEsc") EndFunc Func TogglePause() $Paused = NOT $Paused While $Paused AdlibDisable() sleep(100) ToolTip('Script is paused.',0,0) WEnd ToolTip('') EndFunc AutoItWinSetTitle($g_szVersion) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func Attach() $oIE = _IEAttach("|:.Shantara Online .:|") If Not $oIE Then $m = MsgBox(1,"Failed.", "Failed to find window. Try again?") If $m = 1 Then Attach() Else Exit EndIf EndIf EndFunc Opt("GUIOnEventMode", 1) ;~ Opt("GUIDataSeparatorChar", "|") ; this is the default, no need for this line GUICreate("Chris's Shant Script " & $g_szVersion, 250, 200) GUISetBkColor (0x00ff00) GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "Terminate") $background = GUICtrlCreatePic("AU3-2.bmp", 0, 0, 450, 400) GUICtrlSetState($background, $GUI_DISABLE) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Play Sound;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $btn_start = GUICtrlCreateButton("Start ", 10, 30, 80, 30, BitOR($GUI_SS_DEFAULT_BUTTON, $BS_DEFPUSHBUTTON)) GUICtrlSetOnEvent($btn_start, "Start");~ GUICtrlSetOnEvent($btn_start, "FightAgain") ;changed this to call function "Start", with your set up, it would only do the FightAgain once. ;;;;;;;; ;Create Exit Button $btn_exit = GUICtrlCreateButton("Exit", 10, 70, 80, 30) GUICtrlSetOnEvent($btn_exit, "Terminate") ;;;;;;;;; $label_min = GUICtrlCreateLabel("Min Value: ", 10, 110, 80, 20) GUICtrlSetBkColor($label_min, -2) $input_min = GUICtrlCreateInput("", 10, 130, 80, 20) GUICtrlSetTip($input_min, "Minimum Value To Pick Up") ;;;;;;;;;; $label_max = GUICtrlCreateLabel("Max Value: ", 10, 150, 80, 20) GUICtrlSetBkColor($label_max, -2) $input_max = GUICtrlCreateInput("", 10, 170, 80, 20) GUICtrlSetTip($input_max, "Maximum Value To Pick Up") ;;;;; $label_Potions = GUICtrlCreateLabel("Potion to pick up: ", 95, 110, 120, 20) GUICtrlSetBkColor($label_Potions, -2) $input_Potions = GUICtrlCreateInput("", 95, 130, 140, 20) GUICtrlSetTip($input_Potions, "Name of potion") ;;;;;;;; ;Create Fight Delay Input $label_fdelay = GUICtrlCreateLabel("Fdelay : ", 90, 10, 80, 20, $SS_RIGHT) GUICtrlSetBkColor($label_fdelay, -2) $input_fdelay = GUICtrlCreateInput("", 170, 7, 40, 20) GUICtrlSetTip($input_fdelay, "Input fight delay time in milliseconds.") ;Create Move Delay Input $label_mdelay = GUICtrlCreateLabel("Mdelay : ", 90, 30, 80, 20, $SS_RIGHT) GUICtrlSetBkColor($label_mdelay, -2) $input_mdelay = GUICtrlCreateInput("", 170, 27, 40, 20) GUICtrlSetTip($input_mdelay, "Input move delay time in milliseconds.") $oIE = _IEAttach("|:.Shantara Online .:|"); this is done already, can be deleted while 1 sleep(1) ;idle around and wait for the press of the start button (or exit) WEnd Func FightAgain() sleep($delay) $oFrame = _IEFrameGetObjByName ($oIE, 0) $oForm = _IEFormGetObjByName($oFrame, "FightAgain") _IEFormSubmit($oForm) _IELoadWait($oIE) EndFunc func Attack() sleep($delay) $oFrame = _IEFrameGetObjByName ($oIE, 0) $oForm = _IEFormGetObjByName($oFrame, "baction") _IEFormSubmit($oForm) _IELoadWait($oIE) EndFunc Func TakeItem($itemSlot = 1) If Not IsObj($oIE) Then __IEErrorNotify ("Error", "fornicate", "$_IEStatus_InvalidDataType") SetError($_IEStatus_InvalidDataType, 1) Return 0 EndIf ; If Not __IEIsObjType ($oIE, "documentContainer") Then __IEErrorNotify ("Error", "fornicate", "$_IEStatus_InvalidObjectType") SetError($_IEStatus_InvalidObjectType, 1) Return 0 EndIf ; $oIE.navigate2 ("java script:top.Game.TakeItem.which.value = " & $itemSlot & " top.Game.TakeItem.submit()") If 1 Then SetError(@error) EndIf sleep(5) ;~ $oIE.navigate2 ("java script:top.Game.TakeItem.submit()") If 1 Then SetError(@error) EndIf SetError($_IEStatus_Success) EndFunc Func CheckForPots() $oStatsFrame = _IEFrameGetObjByName($oIE, 0) ; object/frame stat frame $statsClip = _IEDocReadHTML($oStatsFrame) $statsclip2 = StringStripCR(_IEBodyReadText($oStatsFrame)) Dim $itemname $value = _StringBetween($statsclip,"<B>Value:</B> ","<BR><B>") $itemname = _StringBetween($statsclip,"<B><U>" & @CRLF & "<CENTER>","</CENTER>") If StringInStr($statsclip,"Item Found!",1,1) Then ;~ MsgBox(1,"1",$itemname[0]) if StringInStr($itemname[0],"Health",1,1) Then ;~ MsgBox(1,"1",$value[0]) TakeItem("1") EndIf EndIf If StringInStr($statsclip,"Item Found!",1,2) Then ;~ MsgBox(1,"2",$itemname[0] & $itemname[1]) if StringInStr($itemname[1],"Health",1,1) Then ;~ MsgBox(1,"2",$value[1]) TakeItem("2") EndIf Else ;~ MsgBox(1,"","No Item") EndIf EndFunc Func Start() ;added this, by calling start, it will start repeating $delay = GUICtrlRead($input_fdelay) GUIdelete() while 1 FightAgain() Attack() CheckForPots() WEnd EndFunc ;added this Link to comment Share on other sites More sharing options...
PsaltyDS Posted June 7, 2007 Share Posted June 7, 2007 Does it wait in the While loop properly for you to do something? while 1 sleep(1) ;idle around and wait for the press of the start button (or exit) WEnd Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law 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