Exit während while

    Exit während while

    Hallo,
    ich möchte einen bot schreiben der mit hotkeys und gui funktioniert.
    nur leider kann ich keinen hotkey mehr benutzen und auch das gui ist nutzlos wenn ich in der funktion start main bin.

    hier der code

    AutoIt Quelltext

    1. ​#Region include
    2. #include <Misc.au3>
    3. #include <ButtonConstants.au3>
    4. #include <MsgBoxConstants.au3>
    5. #include <GUIConstantsEx.au3>
    6. #include <StaticConstants.au3>
    7. #include <WindowsConstants.au3>
    8. #NoTrayIcon
    9. #EndRegion
    10. Global $Paused
    11. Global $AntiAFK
    12. #Region Hotkeys
    13. HotKeySet("{F2}", "_Pause")
    14. HotKeySet("{F1}", "_StartMain")
    15. HotKeySet("{F4}", "_StartMine")
    16. HotKeySet("{F7}", "_Leave")
    17. HotKeySet("y", "_Exit")
    18. HotKeySet("x", "_HotbarClear")
    19. HotkeySet("{F8}", "_AutoTower")
    20. Local $hDLL = DllOpen("user32.dll")
    21. #EndRegion
    22. #Region ### START Koda GUI section ### Form=C:\Users\Aaron Can\Desktop\MCHS_by_AarOnly.kxf
    23. $MCHS_by_AarOnly = GUICreate("MCHS_by_AarOnly", 286, 151, -1, -1)
    24. GUISetBkColor(0x323232)
    25. $StartMain = GUICtrlCreateButton("Start Main", 8, 56, 75, 25, $WS_GROUP)
    26. GUICtrlSetCursor (-1, 3)
    27. $ExitButton = GUICtrlCreateButton("Exit", 200, 56, 75, 25, $WS_GROUP)
    28. GUICtrlSetCursor (-1, 3)
    29. $AutoTower = GUICtrlCreateButton("AutoTower", 8, 88, 75, 25, $WS_GROUP)
    30. GUICtrlSetCursor (-1, 3)
    31. $HotbarClear = GUICtrlCreateButton("ClearHotbar", 104, 88, 75, 25, $WS_GROUP)
    32. GUICtrlSetCursor (-1, 3)
    33. $Pause = GUICtrlCreateButton("Pause", 104, 56, 75, 25, $WS_GROUP)
    34. GUICtrlSetCursor (-1, 3)
    35. $Button6 = GUICtrlCreateButton("AntiAFK", 200, 88, 75, 25, $WS_GROUP)
    36. GUICtrlSetCursor (-1, 3)
    37. $Label1 = GUICtrlCreateLabel("Minecraft Helper Script by ", 72, 8, 129, 17)
    38. GUICtrlSetBkColor(-1, 0x808080)
    39. GUICtrlSetCursor (-1, 2)
    40. $Label2 = GUICtrlCreateLabel("AarOnly", 112, 32, 41, 17)
    41. GUICtrlSetBkColor(-1, 0x808080)
    42. $Crazy = GUICtrlCreateButton("Crazy", 8, 120, 75, 25, $WS_GROUP)
    43. GUICtrlSetCursor (-1, 3)
    44. $Soon1 = GUICtrlCreateButton("Soon1", 104, 120, 75, 25, $WS_GROUP)
    45. GUICtrlSetCursor (-1, 3)
    46. $Soon2 = GUICtrlCreateButton("Soon2", 200, 120, 75, 25, $WS_GROUP)
    47. GUICtrlSetCursor (-1, 3)
    48. GUISetState(@SW_SHOW)
    49. #EndRegion ### END Koda GUI section ###
    50. ToolTip('MCHS 1.2 running',0,0)
    51. #Region AutoTower
    52. Func _AutoTower()
    53. While 1
    54. ;~ Local $aPos = MouseGetPos()
    55. ;~ MsgBox($MB_SYSTEMMODAL, "Mouse x, y:", $aPos[0] & ", " & $aPos[1])
    56. MouseClick("right", 960, 610, 1)
    57. Send("{SPACE down}")
    58. WEnd
    59. EndFunc
    60. #EndRegion
    61. #Region Pause
    62. Func _Pause()
    63. $Paused = NOT $Paused
    64. While $Paused
    65. sleep(100)
    66. ToolTip('"MCHS is paused - press F2 again to unpause it"',0,0)
    67. WEnd
    68. ToolTip("")
    69. EndFunc
    70. #EndRegion
    71. #Region Exit
    72. Func _Exit()
    73. MsgBox(0, "MCHS 1.2 by AarOnly", "Thanks for using MCHS, Bugs? Contact me via Skype: aaron_can3402")
    74. Exit
    75. EndFunc
    76. #EndRegion
    77. #Region Main
    78. Func _StartMain()
    79. Send("{SPACE up}")
    80. While 1
    81. ;Click
    82. If _IsPressed("4") Then
    83. Send("1")
    84. MouseClick("left")
    85. sleep(Random(35, 40))
    86. ;~ sleep(60)
    87. EndIf
    88. If _Ispressed("6") Then
    89. Send("2")
    90. MouseClick("right")
    91. sleep(200)
    92. ;~ MouseClick("right")
    93. ;~ sleep(150)
    94. Send("1")
    95. EndIf
    96. If _IsPressed("5") Then
    97. ;~ Local $aPos = MouseGetPos()
    98. ;~ MsgBox($MB_SYSTEMMODAL, "Mouse x, y:", $aPos[0] & ", " & $aPos[1])
    99. ;~ MouseClick("right", 960, 610, 1)
    100. MouseClick("right")
    101. sleep(20)
    102. ;~ MouseMove(960, 492)
    103. sleep(Random(40, 60))
    104. EndIf
    105. If _IsPressed("67") Then
    106. sleep(100)
    107. Send("t")
    108. sleep(100)
    109. Send("GG von mir an dieser Stelle")
    110. ;~ Da war mein Invis wohl besser als deiner")
    111. sleep(100)
    112. Send("{ENTER}")
    113. EndIf
    114. WEnd
    115. EndFunc
    116. #EndRegion
    117. #Region Leave
    118. Func _Leave()
    119. sleep(100)
    120. Send("t")
    121. sleep(100)
    122. Send("/hub")
    123. sleep(100)
    124. Send("{ENTER}")
    125. EndFunc
    126. #EndRegion
    127. While 1
    128. $nMsg = GUIGetMsg()
    129. Switch $nMsg
    130. Case $GUI_EVENT_CLOSE
    131. MsgBox(0, "MCHS 1.2 by AarOnly", "Thanks for using MCHS, Bugs? Contact me via Skype: aaron_can3402")
    132. Exit
    133. Case $ExitButton
    134. MsgBox(0, "MCHS 1.2 by AarOnly", "Thanks for using MCHS, Bugs? Contact me via Skype: aaron_can3402")
    135. Exit
    136. Case $AutoTower
    137. Send("{ESC}")
    138. sleep(500)
    139. Send("{SPACE}")
    140. sleep(500)
    141. Call ("_AutoTower")
    142. Case $Pause
    143. Call ("_Pause")
    144. Case $StartMain
    145. Call ("_StartMain")
    146. EndSwitch
    147. WEnd
    148. DllClose($hDLL)



    vielleicht könnt ihr mir ja helfen das man wenn ich in der main funktion bin man auch das gui benutzen kann zu exiten statt den hotkey y und das man zb von der mainfuktion in die autotower funktion kommt.

    lg

    Aaron
    was funktioniert den nun an dem ganzen ding ?

    Edit #2:

    Kann man machen das der bot nur die hotkeys und die ispressed sachen wenn ein bestimmtes programm aktiv ist also grade im vordegrund wie als wenn ich reinklicke?

    guck mal nach WinActivate und hau das bei der while schleife rein dazu kannst dann auch die hotkeys deklarieren wenn das fenster aktiv ist und sie wieder entfernen wenn das fenster nichtmehr aktiv ist

    Edit #3:
    Sry für die vielen fragen aber könnte man den bot so einstellen das wenn ich ihn pausiere amn nicht mehr f1 oder andere hotkeys drücken kann außer f2 zum unpausieren?

    wie gesagt du kannst auch hotkeys wieder löschen ... wenn du pause drückst einfach in die funktion vor die while schleife die restlichen hotkeys die du nicht brauchst entfernen ...
    wenn die gui immer funktionieren soll nutze doch https://www.autoitscript.com/autoit3/docs/guiref/GUIRef_OnEventMode.htm
    edit: wenn die nicht gehen sollen wenn das fenster nicht aktiv ist hat der über mir recht, einfach auf WinActiv und dann die optionen dafür eingeben prüfen, wenn nicht activ haltt nichts machen wenn aktiv, dann was machen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „susesKaninchen“ ()