46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
from threading import Thread
|
|
from time import sleep
|
|
|
|
from cheat import Cheat
|
|
|
|
if __name__ == "__main__":
|
|
# Cheat
|
|
c = Cheat()
|
|
|
|
# Cheat list
|
|
print("Enter 0 to exit.")
|
|
print("You can run multiples cheat at once, separate your choices with a space.")
|
|
print("Available cheats:")
|
|
for idx, cheat in enumerate(c.cheats_list):
|
|
print(f"#{idx + 1} - {cheat}")
|
|
|
|
# Select cheat
|
|
c_id = None
|
|
while c_id == None:
|
|
try:
|
|
response = [int(i) for i in input("Enter ID: ").split(" ")]
|
|
c_id = []
|
|
for i in response:
|
|
match i:
|
|
case 0:
|
|
exit(0)
|
|
case j if j > len(c.cheats_list):
|
|
raise IndexError
|
|
case _:
|
|
c_id.append(i - 1)
|
|
except KeyboardInterrupt:
|
|
print("??\nBye.")
|
|
exit(1)
|
|
except:
|
|
print("Invalid ID.")
|
|
|
|
# Instanciate and run threads
|
|
for fn in [c.cheats_list[i] for i in c_id]:
|
|
print(f"Running {fn}...")
|
|
t = Thread(target=getattr(c, fn))
|
|
t.daemon = True
|
|
t.start()
|
|
|
|
# Don't close the main thread as cheats are daemons
|
|
while True:
|
|
sleep(1000000)
|