<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: запоминание последнего введённого числа и ввод числа при команде]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18257&amp;type=atom" />
	<updated>2024-08-13T20:46:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=18257</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: запоминание последнего введённого числа и ввод числа при команде]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161389#p161389" />
			<content type="html"><![CDATA[<p><strong>Smok202</strong>, приветствую. Я попытался написать скрипт, который вам требуется. Он находит число после нужной команды и сохраняет его. Доработать, думаю, под ваши нужды вам не составит труда.<br /></p><div class="codebox"><pre><code>#Persistent
#NoEnv
SendMode Input
SendMessage, 0x50,, 0x4090409,, A
; Задание шаблона
pattern := &quot;/vs \d{4}&quot;

; Переменная для хранения нажатых клавиш
input := &quot;&quot;

; Переменная, в которой будет храниться нужное нам число
foundNumber := 0

; Таймер для проверки ввода
SetTimer, CheckInput, 100

; Обработчик нажатий клавиш
~a::AddKey(&quot;a&quot;)
~b::AddKey(&quot;b&quot;)
~c::AddKey(&quot;c&quot;)
~d::AddKey(&quot;d&quot;)
~e::AddKey(&quot;e&quot;)
~f::AddKey(&quot;f&quot;)
~g::AddKey(&quot;g&quot;)
~h::AddKey(&quot;h&quot;)
~i::AddKey(&quot;i&quot;)
~j::AddKey(&quot;j&quot;)
~k::AddKey(&quot;k&quot;)
~l::AddKey(&quot;l&quot;)
~m::AddKey(&quot;m&quot;)
~n::AddKey(&quot;n&quot;)
~o::AddKey(&quot;o&quot;)
~p::AddKey(&quot;p&quot;)
~q::AddKey(&quot;q&quot;)
~r::AddKey(&quot;r&quot;)
~s::AddKey(&quot;s&quot;)
~t::AddKey(&quot;t&quot;)
~u::AddKey(&quot;u&quot;)
~v::AddKey(&quot;v&quot;)
~w::AddKey(&quot;w&quot;)
~x::AddKey(&quot;x&quot;)
~y::AddKey(&quot;y&quot;)
~z::AddKey(&quot;z&quot;)
~1::AddKey(&quot;1&quot;)
~2::AddKey(&quot;2&quot;)
~3::AddKey(&quot;3&quot;)
~4::AddKey(&quot;4&quot;)
~5::AddKey(&quot;5&quot;)
~6::AddKey(&quot;6&quot;)
~7::AddKey(&quot;7&quot;)
~8::AddKey(&quot;8&quot;)
~9::AddKey(&quot;9&quot;)
~0::AddKey(&quot;0&quot;)
~space::AddKey(&quot; &quot;)
~|::AddKey(&quot;/&quot;)

AddKey(key) {
    global input
    input .= key
}

CheckInput:
    global input, pattern
    ; Используем регулярное выражение для проверки
    if (RegExMatch(input, pattern, match)) {
			
	; Находим число, которое нам требуется
    RegExMatch(match, &quot;\d+&quot;, match1)
	foundNumber := match1
	
    ; Очищаем переменную после нахождения совпадения
    input := &quot;&quot;
    }
	return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[fyvfevfev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43983</uri>
			</author>
			<updated>2024-08-13T20:46:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161389#p161389</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: запоминание последнего введённого числа и ввод числа при команде]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161324#p161324" />
			<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-07-22T16:11:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161324#p161324</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: запоминание последнего введённого числа и ввод числа при команде]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161323#p161323" />
			<content type="html"><![CDATA[<p>Возможно, https://ahk-wiki.ru/input .</p><p>input караулит ввод<br />получив, сравнивает<br />если /pr 1004<br />то запоминает 1004<br />и снова караулит<br />получив, ищет /vs1<br />найдя - склеивает нужную строку и отправляет.</p><p>А у меня как раз похожая задача: требуется отслеживать нажатие определённых клавиш, не приостанавливая выполнение скрипта. Например, <a href="https://ahk-wiki.ru/keywait">KeyWait</a> мне отлично подошла <strong>бы</strong>, если бы на ней скрипт не останавливался в ожидании. Мне нужно именно на лету ловить. Нет такого?</p>]]></content>
			<author>
				<name><![CDATA[Qp]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43240</uri>
			</author>
			<updated>2024-07-22T15:41:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161323#p161323</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: запоминание последнего введённого числа и ввод числа при команде]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161300#p161300" />
			<content type="html"><![CDATA[<p>Скорее всего нужно смотреть в сторону перехвата ввода через &#039;InputHook&#039;. Затем сохранять текст с обрезкой лишнего текста (если нужно).<br />Вставить текст из переменной проще всего реализовать через &#039;Send&#039;, но если вводить в игру нужно учитывать как принимает окно игры ввод от скрипта. Возможно поможет вставка из буфера.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2024-07-20T13:13:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161300#p161300</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: запоминание последнего введённого числа и ввод числа при команде]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161298#p161298" />
			<content type="html"><![CDATA[<p>Приветствую.</p><p>Нужно чтобы АХК запоминало последнее веденное число и дальше при вводе определенное команды АХК автоматически вписывало это число и определенный текст. К примеру:</p><p>ввожу команду /pr 1004 и АХК должно запоминать это число(1004) и если будет введена команда /vs1 ахк автоматически впишет нужный мне текст, к примеру (/vs 1004&nbsp; &quot;посмотрю&quot; и нажимало Enter).<br />Что то по типу такого:<br />:*?:пр1::привет, только после команды /vs1 ахк сразу же вписывало текст (/vs последнее мною введенное число и текст &quot;посмотрю&quot;</p><p>Но важное условие, число должно запоминаться только одно. К примеру если я ввел 1004, (не вводя /vs 1004), а потом ввел 1005, при команде /vs1 должно вписаться именно число 1005.</p><p>Надеюсь понятно объяснил. Какие нужно использовать функции для такого АХК? Буду заранее благодарен.</p>]]></content>
			<author>
				<name><![CDATA[Smok202]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43653</uri>
			</author>
			<updated>2024-07-20T07:21:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161298#p161298</id>
		</entry>
</feed>
