AutoKachalka/config.py
MasterAkulon 7fa101820a Init
2026-06-13 12:19:38 +03:00

53 lines
No EOL
4.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Горячая клавиша вкл/выкл бота
TOGGLE_HOTKEY = "f6"
# Клавиша, которую бот нажимает при попадании курсора в узкую (целевую) зону
ACTION_KEY = "e"
KEY_PRESS_DELAY = 0.03 # длительность удержания клавиши, сек
# HSV-диапазон (OpenCV: H 0-179) для "синего" - им окрашены и сама шкала, и курсор.
# Панель полупрозрачная, поэтому яркость/насыщенность шкалы заметно меняются
# в зависимости от того, что видно позади неё (тёмная сцена против яркой) -
# пороги намеренно ослаблены, чтобы захватывать оба случая.
BLUE_HUE_MIN = 85
BLUE_HUE_MAX = 135
BLUE_SAT_MIN = 100
BLUE_VAL_MIN = 100
# Критерии формы шкалы (вытянутый синий прямоугольник)
BAR_MIN_WIDTH_RATIO = 0.06 # минимальная ширина шкалы относительно ширины экрана
BAR_MAX_HEIGHT_RATIO = 0.08 # максимальная высота шкалы относительно высоты экрана
BAR_MIN_ASPECT_RATIO = 4.0 # ширина / высота
BAR_COLUMN_MERGE_GAP_RATIO = 0.05 # макс. разрыв между фрагментами шкалы (из-за зон), относительно ширины экрана
BAR_MIN_FILL_RATIO = 0.6 # доля синих пикселей внутри прямоугольника шкалы (она почти сплошная)
# Критерии курсора (отдельное синее пятно под шкалой)
CURSOR_MAX_WIDTH_RATIO = 0.5 # относительно ширины шкалы
CURSOR_SEARCH_HEIGHT_RATIO = 2.0 # во сколько раз зона поиска курсора выше шкалы
# Зоны (узкая/широкая) - яркие цветные пятна внутри шкалы, не считая синего
# фона самой шкалы. В разных мини-играх насыщенность зон отличается заметно
# (вплоть до ~45 у блёклой кремовой широкой зоны), поэтому порог занижен -
# от ложных срабатываний защищает исключение синего оттенка (_blue_hue_mask).
ZONE_SAT_MIN = 40
ZONE_VAL_MIN = 100
ZONE_MIN_AREA = 30 # минимальный размер пятна-зоны, в пикселях
ZONE_MIN_HEIGHT_RATIO = 0.5 # пятно должно покрывать минимум половину высоты шкалы
# Интервал повторных попыток найти шкалу, когда она не видна на экране (сек)
LOCATE_RETRY_INTERVAL = 1
# После скольких подряд неудачных кадров считать, что шкала исчезла, и искать заново
MAX_TRACK_MISSES = 30
# Целевая частота опроса в режиме отслеживания курсора (кадров/сек)
TRACK_FPS = 60
# На сколько секунд вперёд предсказывать положение курсора при проверке
# попадания в зону - компенсирует суммарную задержку (захват кадра + обработка
# + время до того, как нажатие клавиши подействует в игре). Курсор может
# проскочить узкую зону за время этой задержки, поэтому решение о нажатии
# принимается по предсказанной позиции = текущая + скорость * это время.
# Увеличивайте, если нажатие происходит позже, чем нужно; уменьшайте/обнулите,
# если нажатие происходит раньше входа в зону.
CURSOR_LEAD_TIME = 0.10