-
Notifications
You must be signed in to change notification settings - Fork 0
/
core.py
56 lines (41 loc) · 1.67 KB
/
core.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import pyautogui
import win32com.client
# noinspection PyPackageRequirements
import win32gui
import yaml
import os
global hwnd, item_yaml, config_yaml, options_yaml
def read_config():
global config_yaml, item_yaml, options_yaml
with open('config.yaml', 'r') as file:
config_yaml = yaml.safe_load(file)
with open('options.yaml', 'r') as file:
options_yaml = yaml.safe_load(file)
with open('items.yaml', 'r') as file:
item_yaml = yaml.safe_load(file)
def configure_ui_window():
window = win32gui.FindWindow(None, "RunescapeAI")
rect = win32gui.GetWindowRect(window)
w = rect[2] - rect[0]
h = rect[3] - rect[1]
win32gui.MoveWindow(window, config_yaml['ui']['runelite_size'][0] + 30, 0, w, h, True)
def find_runelite_window(): # returns PID of runelite app
global hwnd
try:
hwnd = win32gui.FindWindow(None, config_yaml['client_title'] + config_yaml['user']['user_name'])
print("Found runescape client window as: ", hwnd)
win32gui.MoveWindow(hwnd, 0, 0, config_yaml['ui']['runelite_size'][0], config_yaml['ui']['runelite_size'][1],
True)
win32gui.SetActiveWindow(hwnd)
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys('%')
win32gui.SetForegroundWindow(hwnd)
except Exception:
print("Cannot find window")
pyautogui.alert("Cannot find RuneLite. Make sure your logged in first or check the config.yaml")
pyautogui.press('shift')
# noinspection PyUnresolvedReferences,PyProtectedMember
os._exit(0)
def get_runelite_window_size(bot):
return win32gui.GetWindowRect(bot.rl_hwnd)
read_config()