Python Forum
How to break a loop in this case?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to break a loop in this case?
#1
I got this to work, but when I press s to stop the script, it will keep running the marketloop() function till end before stopping. My question is that how do I make the function stop instantly too? I tried adding break in stop buffing function but returned an expected 'break' outside loop error.

import pyautogui as pg
import time
import keyboard
import random
import win32api, win32con
import threading
from pynput.mouse import Button, Controller
from pynput.keyboard import Listener, KeyCode

start_stop_key = KeyCode(char='s')
exit_key = KeyCode(char='q')

def marketloop():
      #this has code that clicks through lots of things


class BuffItems(threading.Thread):
    def __init__(self):
        super(BuffItems, self).__init__()
        self.running = False
        self.program_running = True

    def start_buffing(self):
        self.running = True

    def stop_buffing(self):
        self.running = False
        

    def exit(self):
        self.stop_buffing()
        self.program_running = False

    def run(self):
        while self.program_running:
            while self.running:
                marketloop()


                
buff_thread = BuffItems()
buff_thread.start()
                

def on_press(key):
    if key == start_stop_key:
        if buff_thread.running:
            buff_thread.stop_buffing()
        else:
            buff_thread.start_buffing()
    elif key == exit_key:
        buff_thread.exit()
        listener.stop()

with Listener(on_press=on_press) as listener:
    listener.join()
Reply


Messages In This Thread
How to break a loop in this case? - by Blainexi - Sep-24-2020, 05:01 AM
RE: How to break a loop in this case? - by finndude - Sep-24-2020, 05:19 AM
RE: How to break a loop in this case? - by Blainexi - Sep-24-2020, 05:39 AM
RE: How to break a loop in this case? - by Blainexi - Sep-24-2020, 10:14 AM
RE: How to break a loop in this case? - by DeaD_EyE - Sep-24-2020, 12:06 PM
RE: How to break a loop in this case? - by Blainexi - Sep-24-2020, 12:19 PM
RE: How to break a loop in this case? - by DeaD_EyE - Sep-24-2020, 12:34 PM
RE: How to break a loop in this case? - by Blainexi - Sep-24-2020, 02:40 PM
RE: How to break a loop in this case? - by Blainexi - Sep-24-2020, 04:06 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Code won't break While loop or go back to the input? MrKnd94 2 1,113 Oct-26-2022, 10:10 AM
Last Post: Larz60+
  How to break out of a for loop on button press? philipbergwerf 6 1,960 Oct-06-2022, 03:12 PM
Last Post: philipbergwerf
  break out of for loop? User3000 3 1,588 May-17-2022, 10:18 AM
Last Post: User3000
  Asyncio: Queue consumer gets out of while loop without break. Where exactly and how? saavedra29 2 2,848 Feb-07-2022, 07:24 PM
Last Post: saavedra29
  Switch case or match case? Frankduc 9 4,888 Jan-20-2022, 01:56 PM
Last Post: Frankduc
  tkinter control break a while loop samtal 0 2,500 Apr-29-2021, 08:26 AM
Last Post: samtal
  Cannot 'break' from a "for" loop in a right place tester_V 9 4,179 Feb-17-2021, 01:03 AM
Last Post: tester_V
  how to break the loop? bntayfur 8 3,237 Jun-07-2020, 11:07 PM
Last Post: bntayfur
  break for loop Agusben 1 2,001 Apr-01-2020, 05:07 PM
Last Post: Larz60+
  Help For AutoGui Loop break ahmetnwpal 0 2,069 Mar-11-2020, 01:14 PM
Last Post: ahmetnwpal

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020