diff --git a/full_abyssal_beasts.py b/full_abyssal_beasts.py new file mode 100644 index 0000000..e1651ee --- /dev/null +++ b/full_abyssal_beasts.py @@ -0,0 +1,79 @@ +import pynput.keyboard as keyboard +import pynput.mouse as mouse +from secrets import randbelow +from pynput.mouse import Button +from pynput.keyboard import Key +import time + +# Constants +key_quick_prayers = 'o' +key_book_activation = 'p' +key_pvm_hub_teleport = 'h' +key_aggression_portion = '7' +key_lantadyme_stick = '8' + +position_compass = (1173 , 34) +position_bank_chest_teleport = (896, 238) +position_bank_chest_after = (676, 339) +position_ectoplasm = (1210, 478) +position_ectoplasmator = (1210, 447) +position_open_page = (1250, 443) +position_select_all_page = (1205, 484) +position_open_springs = (1290, 444) +position_select_all_springs = (1256, 485) +position_open_divine_charge = (1330, 444) +position_select_all_divine_charge = (1267, 518) + +k = keyboard.Controller() +m = mouse.Controller() + +def random_between(minimum: int, maximum: int) -> int: + delta = maximum - minimum + return minimum + randbelow(delta) + +def random_sleep_between(min_milliseconds: int, max_milliseconds: int) -> int: + sleep_microseconds = random_between(min_milliseconds * 1_000, max_milliseconds * 1_000) + sleep_seconds = sleep_microseconds / 1_000_000 + print(f"Sleeping for: {sleep_seconds} seconds") + time.sleep(sleep_seconds) + return sleep_microseconds + +def click_at(position: tuple[int,int]): + m.position = position + m.click(Button.left) + +def right_click_at(position: tuple[int,int]): + m.position = position + m.click(Button.right) + +def full_setup(): + k.tap(key_pvm_hub_teleport) + random_sleep_between(4_000, 5_000) + click_at(position_compass) + random_sleep_between(100, 300) + click_at(position_bank_chest_teleport) + random_sleep_between(4_000, 5_000) + k.tap('2') + random_sleep_between(1_800, 2_200) + click_at(position_ectoplasm) + random_sleep_between(100,200) + click_at(position_ectoplasmator) + random_sleep_between(1_200, 1_400) + k.type('999') + random_sleep_between(100,200) + k.tap(Key.enter) + random_sleep_between(100,200) + click_at(position_open_page) + random_sleep_between(100,200) + click_at(position_select_all_page) + random_sleep_between(100,200) + click_at(position_open_springs) + random_sleep_between(100,200) + click_at(position_select_all_springs) + random_sleep_between(100,200) + click_at(position_open_divine_charge) + random_sleep_between(100,200) + click_at(position_select_all_divine_charge) + +random_sleep_between(2_000, 3_000) +full_setup() \ No newline at end of file