 |
|

07.12.2024, 20:59
|
|
Познавший АНТИЧАТ
Регистрация: 03.04.2020
Сообщений: 1,437
С нами:
3217034
Репутация:
138
|
|
крч сразу к делу
Python:
Код:
import
time
from
pynput
.
mouse
import
Button
,
Controller
from
pynput
.
keyboard
import
Key
,
Listener
mouse
=
Controller
(
)
from
myvars
import
*
meow
=
[
[
1750
,
50
,
1
]
]
woof
=
[
#[x coord, y coord, var]
[
100
,
500
,
apple
]
# в файлу откуда берется этот apple указан что он равен 4
]
def
on_press
(
key
)
:
try
:
if
key
==
Key
.
f4
:
for
kitties
in
meow
:
mouse
.
position
=
(
kitties
[
0
]
,
kitties
[
1
]
)
time
.
sleep
(
0.2
)
mouse
.
click
(
Button
.
left
,
kitties
[
2
]
)
time
.
sleep
(
0.2
)
elif
key
==
Key
.
f5
:
for
puppies
in
woof
:
mouse
.
position
=
(
puppies
[
0
]
,
puppies
[
1
]
)
time
.
sleep
(
0.2
)
mouse
.
click
(
Button
.
left
,
puppies
[
2
]
)
time
.
sleep
(
0.2
)
except
AttributeError
:
return
False
with
Listener
(
on_press
=
on_press
)
as
listener
:
listener
.
join
(
)
вот короче как я могу сделать чтобы при проходе по таблицу "woof" при значении "apple" 4 кликнул по этому "домофону" на "Е". (там учтен что числа идут от 0, а не с 1)
типо расстояние между кнопками домофона 150 пикселей. я понял что надо
XcoordA + apple*150
YcoordA + apple*150
но из за неровной расположении кнопок чет не получается + мои мозг и iq не хватает на такое (НАДО БЫЛО МАТЕМАТИКУ УЧИТЬ ЛУЧШЕ) или выпить анти-склерозные таблетки
я бы с радостью выучил но вся программирование не интересно + нет на столько сил и возможности (сдвг)
а про эту тему я не знал как гуглить/спросить у чат жопате
жду ваших слов
|
|
|

08.12.2024, 00:44
|
|
Познавший АНТИЧАТ
Регистрация: 03.04.2020
Сообщений: 1,437
С нами:
3217034
Репутация:
138
|
|
хочу услышать хотя бы направлению или название функции/решения, чтобы выучить или гуглить дальше
|
|
|

08.12.2024, 00:58
|
|
Участник форума
Регистрация: 23.01.2022
Сообщений: 240
С нами:
2267023
Репутация:
48
|
|
Не сильно понял твоих мыслей, закинув промт в ChatGPT, получил следующее:
Код:
Код:
import time
from pynput.mouse import Button, Controller
from pynput.keyboard import Key, Listener
mouse = Controller()
# Базовые координаты (начало домофона)
XcoordA = 100 # Базовый X
YcoordA = 500 # Базовый Y
# Расстояния между кнопками
x_offset = 150 # Горизонтальное расстояние
y_offset = 150 # Вертикальное расстояние
# Таблица с данными
woof = [
# [x coord, y coord, var]
[XcoordA, YcoordA, 4] # `4` здесь — значение apple
]
def on_press(key):
try:
if key == Key.f4:
# Логика для "meow" остаётся
for kitties in meow:
mouse.position = (kitties[0], kitties[1])
time.sleep(0.2)
mouse.click(Button.left, kitties[2])
time.sleep(0.2)
elif key == Key.f5:
for puppies in woof:
# Берём координаты из таблицы
base_x, base_y, apple = puppies
# Рассчитываем новые координаты
new_x = base_x + apple * x_offset
new_y = base_y + apple * y_offset
# Кликаем
mouse.position = (new_x, new_y)
time.sleep(0.2)
mouse.click(Button.left, 1) # 1 клик
time.sleep(0.2)
except AttributeError:
return False
with Listener(on_press=on_press) as listener:
listener.join()
Распиши подробнее, что надо
|
|
|

09.12.2024, 13:02
|
|
Познавший АНТИЧАТ
Регистрация: 03.04.2020
Сообщений: 1,437
С нами:
3217034
Репутация:
138
|
|
Сообщение от Ну погоди!
Распиши подробнее, что надо
этот домофон в игре. надо сделать так, что если значение переменной 0 то нажимался А, если 1 то Б и т.д.
|
|
|

09.12.2024, 21:49
|
|
Познающий
Регистрация: 14.02.2023
Сообщений: 41
С нами:
1709244
Репутация:
13
|
|
https://pypi.org/project/easyocr/
|
|
|

09.12.2024, 21:51
|
|
Познавший АНТИЧАТ
Регистрация: 03.04.2020
Сообщений: 1,437
С нами:
3217034
Репутация:
138
|
|
Сообщение от 0Z0SK0
https://pypi.org/project/easyocr/
пасиб но такое не поможет. надо именно клик по координатам
|
|
|

09.12.2024, 21:52
|
|
Познающий
Регистрация: 14.02.2023
Сообщений: 41
С нами:
1709244
Репутация:
13
|
|
Сообщение от copypaste_scripter
пасиб но такое не поможет. надо именно клик по координатам
Так сделай распознавание текста по экрану, и кликай по координатам
Python:
Код:
import
easyocr
import
cv2
import
numpy
as
np
import
pyautogui
reader
=
easyocr
.
Reader
(
[
'en'
]
)
while
True
:
screenshot
=
pyautogui
.
screenshot
(
)
screenshot
=
cv2
.
cvtColor
(
np
.
array
(
screenshot
)
,
cv2
.
COLOR_RGB2BGR
)
results
=
reader
.
readtext
(
screenshot
)
for
(
bbox
,
text
,
prob
)
in
results
:
text
=
text
.
strip
(
)
.
upper
(
)
if
text
==
"A"
:
print
(
0
)
elif
text
==
"B"
:
print
(
1
)
|
|
|

09.12.2024, 21:55
|
|
Познавший АНТИЧАТ
Регистрация: 03.04.2020
Сообщений: 1,437
С нами:
3217034
Репутация:
138
|
|
Сообщение от 0Z0SK0
Так сделай распознавание текста по экрану, и кликай по координатам
дело в том, что там не текст, там картинки

|
|
|

09.12.2024, 21:56
|
|
Познающий
Регистрация: 14.02.2023
Сообщений: 41
С нами:
1709244
Репутация:
13
|
|
Сообщение от copypaste_scripter
дело в том, что там не текст, там картинки
Скинь скриншот хотя бы что там вообще
Сообщение от copypaste_scripter
дело в том, что там не текст, там картинки
Python:
Код:
import
cv2
import
numpy
as
np
import
pyautogui
pattern_image
=
cv2
.
imread
(
'pattern.png'
)
# путь к картинке кнопки
while
True
:
screenshot
=
pyautogui
.
screenshot
(
)
screenshot
=
cv2
.
cvtColor
(
np
.
array
(
screenshot
)
,
cv2
.
COLOR_RGB2BGR
)
result
=
cv2
.
matchTemplate
(
screenshot
,
pattern_image
,
cv2
.
TM_CCOEFF_NORMED
)
if
np
.
any
(
result
>=
0.8
)
:
print
(
"founded"
)
|
|
|

09.12.2024, 22:01
|
|
Познавший АНТИЧАТ
Регистрация: 03.04.2020
Сообщений: 1,437
С нами:
3217034
Репутация:
138
|
|
Сообщение от 0Z0SK0
Скинь скриншот хотя бы что там вообще
Python:
Код:
import
cv2
import
numpy
as
np
import
pyautogui
import
time
pattern_image
=
cv2
.
imread
(
'pattern.png'
)
# путь к картинке кнопки
while
True
:
screenshot
=
pyautogui
.
screenshot
(
)
screenshot
=
cv2
.
cvtColor
(
np
.
array
(
screenshot
)
,
cv2
.
COLOR_RGB2BGR
)
result
=
cv2
.
matchTemplate
(
screenshot
,
pattern_image
,
cv2
.
TM_CCOEFF_NORMED
)
if
np
.
any
(
result
>=
0.8
)
:
print
(
"founded"
)
спасибо, но это решает данную проблему только. в дальнейшем придется еще искать выход. лучше сразу щас. как то надо по координатам кликать без найденной картинки
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|