<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK v2: Скрипт не эмулирует клавиши]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18294&amp;type=atom" />
	<updated>2024-09-02T15:18:39Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=18294</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK v2: Скрипт не эмулирует клавиши]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161549#p161549" />
			<content type="html"><![CDATA[<p>Начните с малого, проверяйте понемногу код, когда появится косяк - исправляйте. В чём именно проблема?</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2024-09-02T15:18:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161549#p161549</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK v2: Скрипт не эмулирует клавиши]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161548#p161548" />
			<content type="html"><![CDATA[<p>Всем привет, дорогие пользователи форума! Я написал скрипт для Майнкрафта, и он работает, как ему вздумается, то есть не хочет эмулировать клавиши n, e, j, при этом Esc работает корректно. Я пытался сносить ахк, перезагружать скрипт и комп, но все бестолку. Вчера комп простоял буквально пол часа и все опять заработало, а сегодня - та же песня. <br /></p><div class="codebox"><pre><code>
coords := [
    [1768, 1240],
    [1821, 1240],
    [1876, 1240],
    [1932, 1240],
    [1987, 1240],
    [2038, 1240],
    [2093, 1240],
    [2147, 1240]
]
global Toggle := false
global Stack := true
WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
Sleep(100)

G::ToggleScript()

ToggleScript() {
    global Toggle
    Toggle := !Toggle
    if (Toggle) {
        SetTimer(MainLoop, 100)  ; Запускаем основной цикл с интервалом 100 мс
    } else {
        SetTimer(MainLoop, 0)  ; Останавливаем основной цикл
    }
}

AutoSell(){
    ; Активировать окно по его названию
    WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
    Sleep(500) ; Увеличенная задержка для надежности
	global Stack
    ; Первая продажа инвиза
    Loop 8
    {
        index := A_Index + 1
        SendInput(index)
        Sleep(50) ; Увеличенная задержка
        SendInput(&quot;n&quot;)
        Sleep(50) ; Увеличенная задержка
    }
    
    if !Toggle
        return
    
    ; Инвиз в хотбар
    SendInput(&quot;e&quot;)
    Sleep(100) ; Увеличенная задержка
    Send(&quot;+{Shift down}&quot;)
    Click(&quot;left&quot;, &quot;down&quot;)
    MouseMove(1714, 1240)
    Loop 8
    {
        coord := coords[A_Index]
        MouseMove(coord[1], coord[2])
        Sleep(100) ; Увеличенная задержка
    }
    Send(&quot;+{Shift up}&quot;)
    Click(&quot;left&quot;, &quot;up&quot;)
    
    MouseMove(1718, 1050)
    Sleep(100) ; Увеличенная задержка
    Click(&quot;left&quot;)
    Sleep(100) ; Увеличенная задержка
    
    MouseMove(1714, 1240)
    Sleep(100) ; Увеличенная задержка

    ; Зажать ПКМ
    Click(&quot;right&quot;, &quot;down&quot;)
    Sleep(100) ; Увеличенная задержка
    Loop 8
    {
        coord := coords[A_Index]
        MouseMove(coord[1], coord[2])
        Sleep(100) ; Увеличенная задержка
    }
    Click(&quot;right&quot;, &quot;up&quot;)
    Sleep(100) ; Увеличенная задержка
    MouseMove(1718, 1050)
    Sleep(100) ; Увеличенная задержка
    Click(&quot;left&quot;)
    SendInput(&quot;{Esc}&quot;)
    
    ; Повторная продажа
    Loop 8
    {
        index := A_Index + 1
        SendInput(index)
        Sleep(50) ; Увеличенная задержка
        SendInput(&quot;n&quot;)
        Sleep(50) ; Увеличенная задержка
    }
    
    if !Toggle
        return
    
    ; Предметы из хотбара обратно в инвентарь
    SendInput(&quot;e&quot;)
    Sleep(100) ; Увеличенная задержка
    Send(&quot;+{Shift down}&quot;)
    Click(&quot;left&quot;, &quot;down&quot;)
    MouseMove(1714, 1240)
    Loop 8
    {
        coord := coords[A_Index]
        MouseMove(coord[1], coord[2])
        Sleep(100) ; Увеличенная задержка
    }
    Send(&quot;+{Shift up}&quot;)
    Click(&quot;left&quot;, &quot;up&quot;)
    SendInput(&quot;{Esc}&quot;)
    
    if !Toggle
        return

    ; Инвиз в хотбар
    SendInput(&quot;e&quot;)
    Sleep(100) ; Увеличенная задержка
    Send(&quot;+{Shift down}&quot;)
    Click(&quot;left&quot;, &quot;down&quot;)
    MouseMove(1714, 1240)
    Loop 8
    {
        index := A_Index + 1
        SendInput(index)
        Sleep(50) ; Увеличенная задержка
        SendInput(&quot;n&quot;)
        Sleep(50) ; Увеличенная задержка
    }
    Send(&quot;+{Shift up}&quot;)
    Click(&quot;left&quot;, &quot;up&quot;)
    
    MouseMove(1718, 1050)
    Sleep(100) ; Увеличенная задержка
    Click(&quot;left&quot;)
    Sleep(100) ; Увеличенная задержка
    
    MouseMove(1714, 1240)
    Sleep(100) ; Увеличенная задержка

    ; Зажать ПКМ
    Click(&quot;right&quot;, &quot;down&quot;)
    Sleep(100) ; Увеличенная задержка
    Loop 8
    {
        coord := coords[A_Index]
        MouseMove(coord[1], coord[2])
        Sleep(100) ; Увеличенная задержка
    }
    Click(&quot;right&quot;, &quot;up&quot;)
    Sleep(100) ; Увеличенная задержка
    MouseMove(1718, 1050)
    Sleep(100) ; Увеличенная задержка
    Click(&quot;left&quot;)
    SendInput(&quot;{Esc}&quot;)
    
    if !Toggle
        return
    
    ; Повторная продажа
    Loop 8
    {
        index := A_Index + 1
        SendInput(index)
        Sleep(50) ; Увеличенная задержка
        SendInput(&quot;n&quot;)
        Sleep(50) ; Увеличенная задержка
    }
    
    if !Toggle
        return
    
    ; Открытие AH и снятие предметов
    Sleep(10000)
    SendInput(&quot;j&quot;)
    Sleep(500)
    MouseMove(1704, 1072)
    Sleep(100) ; Увеличенная задержка
    Click(&quot;left&quot;)
    MouseMove(1700, 797)
    Sleep(500)
    Send(&quot;+{Shift down}&quot;)
    Sleep(50)
    Click(&quot;left&quot;, &quot;down&quot;)
    MouseMove(1700, 796)
    Sleep(10000)
    Send(&quot;+{Shift up}&quot;)
    Click(&quot;left&quot;, &quot;up&quot;)
    SendInput(&quot;{Esc}&quot;)
    
    if !Toggle
        return
    
    ; Инвиз в хотбар 
    SendInput(&quot;e&quot;)
    Sleep(100) ; Увеличенная задержка
    Send(&quot;+{Shift down}&quot;)
    Click(&quot;left&quot;, &quot;down&quot;)
    MouseMove(1714, 1240)
    Loop 8
    {
        coord := coords[A_Index]
        MouseMove(coord[1], coord[2])
        Sleep(100) ; Увеличенная задержка
    }
    Send(&quot;+{Shift up}&quot;)
    Click(&quot;left&quot;, &quot;up&quot;)
    
    MouseMove(1718, 1050)
    Sleep(100) ; Увеличенная задержка
    Click(&quot;left&quot;)
    Sleep(100) ; Увеличенная задержка
    
    MouseMove(1714, 1240)
    Sleep(100) ; Увеличенная задержка

    ; Зажать ПКМ
    Click(&quot;right&quot;, &quot;down&quot;)
    Sleep(100) ; Увеличенная задержка
    Loop 8
    {
        coord := coords[A_Index]
        MouseMove(coord[1], coord[2])
        Sleep(100) ; Увеличенная задержка
    }
    Click(&quot;right&quot;, &quot;up&quot;)
    Sleep(100) ; Увеличенная задержка
    MouseMove(1718, 1050)
    Sleep(100) ; Увеличенная задержка
    Click(&quot;left&quot;)
    SendInput(&quot;{Esc}&quot;)
    Sleep(1000)
    SendInput(&quot;e&quot;)

    ; Заданный цвет (в формате RGB)
    Sleep(1000)
    x := 1702
    y := 1043
    targetColorHex := &quot;0xD16C48&quot;
    targetColor := targetColorHex + 0
    
    GetPixelColor(x, y) {
        return PixelGetColor(x, y)
    }
    
    pixelColor := GetPixelColor(x, y) + 0
    Sleep(500)
    if (pixelColor == targetColor) {
        SendInput(&quot;{Esc}&quot;)
        Sleep(500)
    } else {
        SendInput(&quot;{Esc}&quot;)
        Sleep(500)
        Stack := !Stack
    }
}



MainLoop(){ ;ОСНОВНОЙ КОД СКРИПТА
	global Stack
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(1980, 1050) ; Первый слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)

	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2022, 1050) ; Второй слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)

	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2070, 1050) ; Третий слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2130, 1050) ; Четвертый слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(1980, 1100) ; Пятый слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2022, 1100) ; Шестой слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2070, 1100) ; Седьмой слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2130, 1100) ; Восьмой слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(1980, 1160) ; Девятый слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2022, 1160) ; Десятый слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2070, 1160) ; Одиннадцатый слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	
	
	Loop {
		if (Stack) {
			AutoSell()
		} else {
			break  ; Выйти из цикла, если Stack равно false
		}
		if (!Toggle) {
			break  ; Выйти из цикла, если Toggle выключен
		}
	}
    if !Toggle
        return
	Stack := !Stack
	WinActivate(&quot;Minecraft* 1.16.5 - Сетевая игра (сторонний сервер)&quot;)
	Send(&quot;e&quot;)
	Sleep(200)
	MouseMove(2130, 1160) ; Двенадцатый слот для замены
	Click(&quot;left&quot;)
	Sleep(100)
	MouseMove(1718, 1050)
	Click(&quot;left&quot;)
	Sleep(100)
    Send(&quot;{Esc}&quot;)
	Pause
}
</code></pre></div><p>Код я писал с помошью ChatGPT, который в этих вопросах, мягко говоря, немного туповат. Кстати, при запуске скрипта, он в логах пишет, что он ОТРАВЛЯЕТ n, e и j. Что делать?</p>]]></content>
			<author>
				<name><![CDATA[mbashkatov24]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=44040</uri>
			</author>
			<updated>2024-09-02T07:46:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161548#p161548</id>
		</entry>
</feed>
