1 (изменено: SkyWocker, 2024-09-25 18:33:42)

Тема: AHK: Скрипт на поиск сигналов в StalCraftX

Добрый день мне нужна помощь в исправлении кода, объясню проблему. У нас есть такая штука называется сак-1 на нём есть лампочка которая в момент когда есть сигнал загорается. И когда эта лампочка загорается нам нужно чтобы ахк сам включал поиск и сам выключил через время. Но вот проблема почему то по этой координате когда загорается лампочка ничего не происходит, исходный код сейчас напишу


#Persistent ; сделать скрипт постоянным (не закрывается после выполнения)
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
CoordMode, pixel , screen

color0 = 0x598D5D
colorred = 0xEC6868
colordarkred = 0x5A4040

F3::
начало:
    Loop
    {
            ; Нажимаем кнопку X
            Send, {vk58}
            
            ; Ждем 0.1 секунды
            Sleep 100
            
            ; Проверяем цвет1 в координатах 689, 393
            PixelGetColor, color, 689, 393
            	sleep 50
            ; Проверяем цвет2 в координатах 689, 393
            PixelGetColor, color2, 689, 393
		sleep 50
            ; Проверяем цвет3 в координатах 689, 393
            PixelGetColor, color3, 689, 393
		sleep 50
            ; Проверяем цвет4 в координатах 689, 393
            PixelGetColor, color4, 689, 393
		sleep 50
            ; Проверяем цвет5 в координатах 689, 393
            PixelGetColor, color5, 689, 393
		sleep 50
            ; Проверяем цвет6 в координатах 689, 393
            PixelGetColor, color6, 689, 393

            if (color = color0 or color2 = color0 or color3 = color0 or color4 = color0 or color5 = color0 or color6 = color0)
            {
                ; Если цвет (0x598D5D), нажимаем левой кнопкой мыши на координаты 1080, 791
                Click, 1080, 791
                
                ; Ждем 0.05 секунду
                Sleep 32
		
                ; Нажимаем левой кнопкой мыши на координаты 1348, 798
                Click, 1348, 798
		
                Sleep 9900

                ; Проверяем цвет в координатах 1119, 736
                PixelGetColor, color7, 1119, 736 , RGB
			sleep 100
		PixelGetColor, color8, 1119, 736 , RGB
			sleep 100
                PixelGetColor, color9, 1119, 736 , RGB
			sleep 100
		PixelGetColor, color10, 1119, 736 , RGB
			sleep 100
		PixelGetColor, color11, 1119, 736 , RGB
			sleep 100
                PixelGetColor, color12, 1119, 736 , RGB
			sleep 100
		PixelGetColor, color13, 1119, 736 , RGB
			sleep 100
		PixelGetColor, color14, 1119, 736 , RGB
			sleep 100
                PixelGetColor, color15, 1119, 736 , RGB
			sleep 100
		PixelGetColor, color16, 1119, 736 , RGB
			sleep 100
		PixelGetColor, color17, 1119, 736 , RGB
			sleep 100
                PixelGetColor, color18, 1119, 736 , RGB

                if (color7 != colordarkred or color8 != colordarkred or color9 != colordarkred or color10 != colordarkred or color11 != colordarkred or color12 != colordarkred or color13 != colordarkred or color14 != colordarkred or color15 != colordarkred or color16 != colordarkred or color17 != colordarkred or color18 != colordarkred)
                {
                    ; Если цвет поменялся, нажимаем левой кнопкой мыши на координаты 1350, 795
                    Click, 1350, 795
                    
                    ; Ждем 0,05 секунды
                    Sleep 32
                    
                    ; Нажимаем левой кнопкой мыши на координаты 627, 578
                    Click, 627, 578
                    
                    ; Ждем 0,05 секунду
                    Sleep 32
                    
		    PixelGetColor, color19, 1119, 736 , RGB
		    if (color19  = colorred)
			{
			    Send, {vk58}
			    sleep 50
		            Goto , начало
			}

                    ; Нажимаем X
                    ; Send, {vk58} Не нажимаем , после Поиск сам закрывается

		    else Pause
                }
            }

            if (color = color2 and color2 = color3 and color3 = color4 and color4 = color5 and color5 = color6 and color6 = color)
            {
                ; Если цвет не меняется, нажимаем X и перезапускаем скрипт
                Send, {vk58}
		sleep 50
		Goto , начало
            }

        }


F4:: Pause, Toggle

2

Re: AHK: Скрипт на поиск сигналов в StalCraftX

А в первых PixelGetColor не нужно RGB? Координаты кликов относительно чего, экрана, или активного окна? По команде Click справку смотрели, как правильно координаты указать?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder