Python помогите не запускается
import time
import pyautogui
import keyboard
import ctypes
import sys
import traceback
# Проверка прав администратора
def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
if not is_admin():
print("Запуск с правами администратора...")
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
sys.exit()
# Координаты областей (3x3 сетка)
MATERIALS_REGION = (594, 590, 1329, 832) # Область с материалами
TARGET_REGION = (994, 124, 1345, 487) # Целевая область
START_BUTTON_REGION = (574, 866, 1342, 1000) # Кнопка "Старт"
def calculate_positions(region):
"""Рассчитывает 9 позиций в указанной области (3x3 сетка)"""
x1, y1, x2, y2 = region
width = x2 - x1
height = y2 - y1
positions = []
for i in range(3):
for j in range(3):
x = x1 + (width (2i + 1)) // 6
y = y1 + (height (2j + 1)) // 6
positions.append((int(x), int(y)))
return positions
def drag_items():
"""Перетаскивание элементов с зажатием ЛКМ"""
try:
materials = calculate_positions(MATERIALS_REGION) # Исправлено на MATERIALS_REGION
targets = calculate_positions(TARGET_REGION)
for src, dst in zip(materials, targets):
pyautogui.moveTo(src)
pyautogui.mouseDown()
time.sleep(0.2)
pyautogui.moveTo(dst, duration=0.3)
time.sleep(0.1)
pyautogui.mouseUp()
time.sleep(0.15)
except Exception as e:
print(f"Ошибка в drag_items: {str(e)}")
traceback.print_exc()
def click_start():
"""Нажатие на кнопку старт"""
try:
x1, y1, x2, y2 = START_BUTTON_REGION
pyautogui.click((x1+x2)//2, (y1+y2)//2)
except Exception as e:
print(f"Ошибка в click_start: {str(e)}")
traceback.print_exc()
def main():
try:
print("Бот активирован. Для запуска используйте Alt+1")
keyboard.add_hotkey('alt+1', lambda: [
print("Начало операции..."),
drag_items(),
click_start(),
print("Операция завершена!")
])
while True:
time.sleep(1)
except Exception as e:
print(f"Основная ошибка: {str(e)}")
traceback.print_exc()
finally:
input("Нажмите Enter для закрытия...")
if name == "__main__":
main()
вот код что делать когда запускаю открывается командная строка на секунду и все если можно дайте исправленую версию
import time
import pyautogui
import keyboard
import ctypes
import sys
import traceback
# Проверка прав администратора
def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
if not is_admin():
print("Запуск с правами администратора...")
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
sys.exit()
# Координаты областей (3x3 сетка)
MATERIALS_REGION = (594, 590, 1329, 832) # Область с материалами
TARGET_REGION = (994, 124, 1345, 487) # Целевая область
START_BUTTON_REGION = (574, 866, 1342, 1000) # Кнопка "Старт"
def calculate_positions(region):
"""Рассчитывает 9 позиций в указанной области (3x3 сетка)"""
x1, y1, x2, y2 = region
width = x2 - x1
height = y2 - y1
positions = []
for i in range(3):
for j in range(3):
# Исправлено: добавлены знаки умножения (*)
x = x1 + (width * (2 * i + 1)) // 6
y = y1 + (height * (2 * j + 1)) // 6
positions.append((int(x), int(y)))
return positions
def drag_items():
"""Перетаскивание элементов с зажатием ЛКМ"""
try:
materials = calculate_positions(MATERIALS_REGION)
targets = calculate_positions(TARGET_REGION)
for src, dst in zip(materials, targets):
pyautogui.moveTo(src)
pyautogui.mouseDown()
time.sleep(0.2)
pyautogui.moveTo(dst, duration=0.3)
time.sleep(0.1)
pyautogui.mouseUp()
time.sleep(0.15)
except Exception as e:
print(f"Ошибка в drag_items: {str(e)}")
traceback.print_exc()
def click_start():
"""Нажатие на кнопку старт"""
try:
x1, y1, x2, y2 = START_BUTTON_REGION
pyautogui.click((x1+x2)//2, (y1+y2)//2)
except Exception as e:
print(f"Ошибка в click_start: {str(e)}")
traceback.print_exc()
def main():
try:
print("Бот активирован. Для запуска используйте Alt+1")
keyboard.add_hotkey('alt+1', lambda: [
print("Начало операции..."),
drag_items(),
click_start(),
print("Операция завершена!")
])
while True:
time.sleep(1)
except Exception as e:
print(f"Основная ошибка: {str(e)}")
traceback.print_exc()
finally:
input("Нажмите Enter для закрытия...")
# Исправлено: добавлены двойные подчеркивания
if __name__ == "__main__":
main()
Открывать от Имени Администратора!