forked from Sentdex/cyberpython2077
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path01_map_walking.py
49 lines (35 loc) · 1.13 KB
/
01_map_walking.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
from grabscreen import grab_screen
import cv2
import numpy as np
import time
import keys as k
keys = k.Keys()
def pathing(minimap):
lower = np.array([75,150,150])
upper = np.array([150,255,255])
hsv = cv2.cvtColor(minimap, cv2.COLOR_RGB2HSV)
mask = cv2.inRange(hsv, lower, upper)
matches = np.argwhere(mask==255)
mean_y = np.mean(matches[:,1])
target = minimap.shape[1]/2
error = target - mean_y
print(error)
keys.directMouse(-1*int(error*3), 0)
cv2.imshow("cv2screen", mask)
cv2.waitKey(10)
for i in range(5):
print(i)
time.sleep(1)
keys.directKey("w")
# run for just 100 frames.
for i in range(100):
screen = grab_screen(region=(1280, 0, 3840, 1440)) # region will vary depending on game resolution and monitor resolution
screen = cv2.cvtColor(screen, cv2.COLOR_BGR2RGB) # because default will be BGR
minimap = screen[81:377, 2181:2469]
miniminimap = screen[185:215, 2290:2358]
pathing(miniminimap)
#screen = cv2.resize(screen, (960,540))
#cv2.imshow("cv2screen", screen)
#cv2.waitKey(10)
keys.directKey("w", keys.key_release)
cv2.destroyAllWindows()