<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Использование памяти игры для автоматизирования скрипта]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5552</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5552&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Использование памяти игры для автоматизирования скрипта».]]></description>
		<lastBuildDate>Tue, 01 Mar 2011 02:49:35 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45691#p45691</link>
			<description><![CDATA[<div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Я как раз и не понял, поэтому и спрашивал.</p></blockquote></div><p>Не читали, потому и не поняли. ErrorLevel упоминается на каждой странице справки, вы о нём не знаете. Вывод однозначен.</p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Остальное даже цитировать отказываюсь</p></blockquote></div><p>Потому что возразить нечего.</p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Что ж, раз тут такое отношение к новичкам</p></blockquote></div><p>Новичок новичку рознь, так что и отношение разное. К тем, кто хочет сидеть и ждать, пока им всё напишут, у меня отношение отрицательное.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 01 Mar 2011 02:49:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45691#p45691</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45675#p45675</link>
			<description><![CDATA[<div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>И? Что вы этим хотели сказать?</p></blockquote></div><p>Что Ваше утверждение из <a href="http://forum.script-coding.com/viewtopic.php?pid=45623#p45623">#11</a>:<br /></p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Напомню, что этот форум как раз предназначен для того, чтобы делиться своими знаниями, и что посылать читать документацию в таком месте не только не имеет смысла, но и даже неприлично.</p></blockquote></div><p>не верно. Чтобы Вы поняли, почему Вы не правы в данном утверждении — дал там же ссылку на пункт Правил форума и цитату из них. Никто здесь никому ничем не обязан.<br /></p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Я не нарушил никаких правил.</p></blockquote></div><p>Я этого не говорил. Речь шла только об искреннем заблуждении. Я Вас поправил.</p><p>OFF: </p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Что ж, раз тут такое отношение к новичкам, пойду лучше спрашивать совета на англоязычные ресурсы. Всё таки, взаимопомощь и доброжелательность там можно встретить гораздо чаще, чем у нас, в чём я уже не раз убеждался.</p></blockquote></div><p>Угу, сходите, спросите <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />. А у нас всё <a href="http://forum.farmanager.com/viewtopic.php?p=71617#p71617">как-то так</a> <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 28 Feb 2011 18:42:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45675#p45675</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45660#p45660</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Вполне прилично. Адекватные люди ценят чужое время, поэтому читают документацию, и только если что-то из неё не поняли или в ней не нашли, спрашивают на форуме.</p></blockquote></div><p>Я как раз и не понял, поэтому и спрашивал.<br />Остальное даже цитировать отказываюсь - детский лепет, срывающийся на переход на личности.</p><br /><div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Напомню, что этот форум как раз предназначен для того, чтобы делиться своими знаниями, и что посылать читать документацию в таком месте не только не имеет смысла, но и даже неприлично. У адекватных людей тяга самоутверждаться за счёт чужого незнания проходит ещё в подростковом возрасте.</p></blockquote></div><p><span style="color: Green"><strong>63OR63</strong>, напомню, что назначение, цели и задачи форума оговорены в <a href="http://forum.script-coding.com/rules.html">Правилах форума</a>, в частности <a href="http://forum.script-coding.com/rules.html#4.1.">§4.1</a>:</span><br /></p><div class="quotebox"><blockquote><p>Форум не является линией поддержки каких-либо программных продуктов, поэтому никто на форуме не обязан отвечать на заданные вопросы. Молчание в ответ на Ваш вопрос может означать объективную трудность вопроса или то, что Ваш вопрос не чётко сформулирован. В любом случае, Вам никто ничего не должен. Если Вы считаете, что Ваш вопрос очень лёгок, это вовсе не значит, что Вам кто-то обязан помогать только поэтому. Более того - упрёки подобного рода будут восприняты как оскорбление.</p></blockquote></div><p><span style="color: Green">которые Вы читали и с которыми Вы соглашались, регистрируясь на форуме.</span></p></blockquote></div><p>И? Что вы этим хотели сказать? Я никого не принуждаю помогать мне, а прошу. А тем, для кого моя неподкованность в кодинге для AHK является личным оскорблением, лучше было бы воздержаться от постинга. Я не нарушил никаких правил.</p><p>Что ж, раз тут такое отношение к новичкам, пойду лучше спрашивать совета на англоязычные ресурсы. Всё таки, взаимопомощь и доброжелательность там можно встретить гораздо чаще, чем у нас, в чём я уже не раз убеждался.</p>]]></description>
			<author><![CDATA[null@example.com (63OR63)]]></author>
			<pubDate>Mon, 28 Feb 2011 16:54:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45660#p45660</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45629#p45629</link>
			<description><![CDATA[<div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Напомню, что этот форум как раз предназначен для того, чтобы делиться своими знаниями, и что посылать читать документацию в таком месте не только не имеет смысла, но и даже неприлично. У адекватных людей тяга самоутверждаться за счёт чужого незнания проходит ещё в подростковом возрасте.</p></blockquote></div><p><span style="color: Green"><strong>63OR63</strong>, напомню, что назначение, цели и задачи форума оговорены в <a href="http://forum.script-coding.com/rules.html">Правилах форума</a>, в частности <a href="http://forum.script-coding.com/rules.html#4.1.">§4.1</a>:</span><br /></p><div class="quotebox"><blockquote><p>Форум не является линией поддержки каких-либо программных продуктов, поэтому никто на форуме не обязан отвечать на заданные вопросы. Молчание в ответ на Ваш вопрос может означать объективную трудность вопроса или то, что Ваш вопрос не чётко сформулирован. В любом случае, Вам никто ничего не должен. Если Вы считаете, что Ваш вопрос очень лёгок, это вовсе не значит, что Вам кто-то обязан помогать только поэтому. Более того - упрёки подобного рода будут восприняты как оскорбление.</p></blockquote></div><p><span style="color: Green">которые Вы читали и с которыми Вы соглашались, регистрируясь на форуме.</span></p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 28 Feb 2011 09:43:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45629#p45629</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45628#p45628</link>
			<description><![CDATA[<div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Напомню, что этот форум как раз предназначен для того, чтобы делиться своими знаниями, и что посылать читать документацию в таком месте не только не имеет смысла, но и даже неприлично.</p></blockquote></div><p>Вполне прилично. Адекватные люди ценят чужое время, поэтому читают документацию, и только если что-то из неё не поняли или в ней не нашли, спрашивают на форуме.</p><p>Я лично так и делал, когда писал свой скрипт. О параметрах функций Windows API (почему столько и зачем каждый) я узнал из документации Microsoft, автора этих самых функций. Она без труда находится по именам этих функций в Гугле. Искать и переписывать её сюда персонально для Вас я не буду, ибо с какой стати? Мне никто такого сервиса сроду не оказывал.</p><p>О командах и функциях AutoHotkey я узнаю из документации AutoHotkey.<br /></p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>Идентификатор процесса будет в ErrorLevel - ничего не понял</p></blockquote></div><p>Не поняли, потому что не читали описания команды Process в справке AutoHotkey. Оттуда же заодно узнаете, что такое ErrorLevel. Переписывать справку сюда персонально для Вас я не буду.</p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>DllCall(&quot;CloseHandle&quot;, UInt, hProcess) ; Освобождение хэндла процесса - что будет, если пропустить этот шаг?</p></blockquote></div><p>Не помню. Возможно, в описании OpenProcess сказано, что это нужно делать. Интересно — посмотрите сами. Я для Вас искать и сюда переписывать документацию Майкрософта не буду.</p><div class="quotebox"><cite>63OR63 пишет:</cite><blockquote><p>И ещё: как реализовать динамическую проверку адреса на наличие изменений, если мой вариант с лупом тут не подходит?</p></blockquote></div><p>Периодически читать число с нужного адреса процесса игры и сравнивать с контрольным значением. А как ещё? Код, читающий с нужного адреса в другом процессе, у Вас есть. Чего ещё надобно, старче? (с) Я никак не могу понять, в чём конкретно заключается Ваша проблема. Что мешает Вам написать код? Loop Вы знаете, If-Else Вы знаете, а больше-то не нужно ничего. Давайте пишите варианты, пробуйте. Только не такую лажу, как &quot;попытка номер раз&quot;, где Вы просто приткнули свой код к концу моего и ждали какого-то чуда. Включайте голову и пишите варианты решения.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 28 Feb 2011 09:31:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45628#p45628</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45623#p45623</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Извините, но когда я приглашал Вас задавать вопросы, я предполагал наличие у Вас каких-то знаний. Вы же писали, что проблема, мол, в работе с памятью процесса. Таких вопросов я и ожидал. Но похоже, что знаний у Вас нет даже базовых. Зачем же Вы вводите людей в заблуждение? Вы фактически задаёте вопросы о том, как сложить 2 и 2. У АНК есть отличная справка, там всё разжёвано. ErrorLevel там упоминается в каждой статье, так что в &quot;курение мануалов&quot; поверить трудно.</p></blockquote></div><p>Вы только пишете о том, что я ничего не понимаю и всё делаю не правильно, а как сделать правильно умалчиваете. Напомню, что этот форум как раз предназначен для того, чтобы делиться своими знаниями, и что посылать читать документацию в таком месте не только не имеет смысла, но и даже неприлично. У адекватных людей тяга самоутверждаться за счёт чужого незнания проходит ещё в подростковом возрасте.</p><p>Итак, если суть моих вопросов всё ещё не ясна, попробую изложить поподробнее на примере вашего кода: <br /></p><div class="codebox"><pre><code>#NoEnv

ProcessName = notepad.exe         ; Имя процесса - ясно
ReadAddress = 0x7C800000          ; Адрес, откуда читать - ясно
ReadSize = 4                      ; Сколько байт читать - ясно
VarSetCapacity(Buf, ReadSize, 0)  ; Буфер, куда считывать - ясно

PROCESS_VM_READ = 0x10            ; Права на процесс - почему именно 0x10 и какие значения, кроме 0x10 бывают?

Process, Exist, %ProcessName%     ; Поиск процесса - ясно

PID := ErrorLevel                 ; Идентификатор процесса будет в ErrorLevel - ничего не понял

hProcess := DllCall(&quot;OpenProcess&quot;, UInt, PROCESS_VM_READ - почему так много параметров и аргументов? за что каждый отвечает?
                                 , Int, False
                                 , UInt, PID)

Ret := DllCall(&quot;ReadProcessMemory&quot;, UInt, hProcess - почему так много параметров и аргументов? за что каждый отвечает?
                                  , UInt, ReadAddress
                                  , UInt, &amp;Buf
                                  , UInt, ReadSize
                                  , UInt, 0)

DllCall(&quot;CloseHandle&quot;, UInt, hProcess) ; Освобождение хэндла процесса - что будет, если пропустить этот шаг?

Result := NumGet(Buf, 0, &quot;UInt&quot;)  ; Считывание из буфера в переменную - ясно

MsgBox, %Result% - ясно</code></pre></div><p>И ещё: как реализовать динамическую проверку адреса на наличие изменений, если мой вариант с лупом тут не подходит?</p>]]></description>
			<author><![CDATA[null@example.com (63OR63)]]></author>
			<pubDate>Mon, 28 Feb 2011 08:12:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45623#p45623</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45616#p45616</link>
			<description><![CDATA[<p>Нет никакой проверки адреса в лупе. Вы <span class="bbu">число</span> из процесса игры считали в переменную Result. Все переменные скрипта находятся, естественно, в памяти скрипта. Игра ничего о них не знает и менять их, само собой, не будет. Так какой смысл в повторных проверках Result? Какое число Вы туда положили, то и будет лежать, пока другое не положите.</p><p>Переменная PID в скрипте встречается.<br /></p><div class="codebox"><pre><code>hProcess := DllCall(&quot;OpenProcess&quot;, UInt, PROCESS_VM_READ
                                 , Int, False
                                 , UInt, PID</code></pre></div><p>Выражение &quot;идентификатор процесса&quot; Вам непонятно?</p><p>Извините, но когда я приглашал Вас задавать вопросы, я предполагал наличие у Вас каких-то знаний. Вы же писали, что проблема, мол, в работе с памятью процесса. Таких вопросов я и ожидал. Но похоже, что знаний у Вас нет даже базовых. Зачем же Вы вводите людей в заблуждение? Вы фактически задаёте вопросы о том, как сложить 2 и 2. У АНК есть отличная справка, там всё разжёвано. ErrorLevel там упоминается в каждой статье, так что в &quot;курение мануалов&quot; поверить трудно.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 28 Feb 2011 05:22:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45616#p45616</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45608#p45608</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Во-первых, Вы убрали вот эту строчку:<br /></p><div class="codebox"><pre><code>PID := ErrorLevel                 ; Идентификатор процесса будет в ErrorLevel.</code></pre></div><p>Думаю, из комментария понятно, зачем она.</p><p>Далее у Вас число из памяти процесса считывается один раз в переменную Result и она начинает циклически проверяться. Зачем? Что в ней есть, то там и будет. Для чего цикл-то?</p></blockquote></div><p>То есть, если я просто верну эту строку, то всё будет работать? Я так и не понял, за что она отвечает, и комментарий мне ни о чём не говорит <img src="//forum.script-coding.com/img/smilies/neutral.png" width="15" height="15" /> Переменная PID больше нигде в скрипте не встречается, как и значение ErrorLevel. Или это не переменная?</p><p>А в луп я пихаю проверку адреса потому что количество патронов, или оружие - вещь не постоянная. Или всё сложнее, и информация об этом хранится не в одном адресе?</p>]]></description>
			<author><![CDATA[null@example.com (63OR63)]]></author>
			<pubDate>Sun, 27 Feb 2011 19:31:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45608#p45608</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45581#p45581</link>
			<description><![CDATA[<p>Во-первых, Вы убрали вот эту строчку:<br /></p><div class="codebox"><pre><code>PID := ErrorLevel                 ; Идентификатор процесса будет в ErrorLevel.</code></pre></div><p>Думаю, из комментария понятно, зачем она.</p><p>Далее у Вас число из памяти процесса считывается один раз в переменную Result и она начинает циклически проверяться. Зачем? Что в ней есть, то там и будет. Для чего цикл-то?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sun, 27 Feb 2011 11:07:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45581#p45581</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45579#p45579</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Ну так пример чтения с одного адреса — это и есть мой скрипт. От Вас требуется чисто АНК-шный кодинг. Loop, я вижу, Вы знаете, If-Else тоже. Конкретно в чём Ваша проблема заключается? Вы сами пишете свой скрипт или Вам его пишут по частям другие люди?</p></blockquote></div><p>Я пишу сам, и сейчас первый раз, когда я столкнулся с проблемой, которую не могу решить без посторонней помощи.<br /></p><div class="quotebox"><blockquote><p>код вполне рабочий.</p></blockquote></div><p>Вы мне предложили использовать конкретный код, я его подогнал под свои нужды и спросил, будет ли он работать и в правильном ли направлении я двигаюсь. Вы сказали, что нет.<br /></p><div class="quotebox"><blockquote><p>Если всё-таки есть какие-то вопросы, то задавайте.</p></blockquote></div><p>Мой вопрос: что я сделал не правильно в том примере? Если не хотите привести мне пример работающего скрипта, то хотя бы скажите, почему мой не рабочий, если для вас это так легко.</p>]]></description>
			<author><![CDATA[null@example.com (63OR63)]]></author>
			<pubDate>Sun, 27 Feb 2011 10:09:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45579#p45579</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45577#p45577</link>
			<description><![CDATA[<p>Ну так пример чтения с одного адреса — это и есть мой скрипт. От Вас требуется чисто АНК-шный кодинг. Loop, я вижу, Вы знаете, If-Else тоже. Конкретно в чём Ваша проблема заключается? Вы сами пишете свой скрипт или Вам его пишут по частям другие люди?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sun, 27 Feb 2011 03:20:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45577#p45577</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45570#p45570</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Нет, неправильно. Вам только за одним адресом следить нужно? Если есть какие-то варианты, то лучше сразу скажите, опишите всё полностью.</p></blockquote></div><p>Мне нужно следить за адресом, отвечающим за тип оружия в руках, и в соответствии с его текущим значением ставить нужное значение переменной &quot;Sn&quot;, которая в свою очередь влияет на работу нескольких хоткеев, таких как &quot;FullautoQuickscope&quot;, &quot;HalfmanualQuickscope&quot; и &quot;NoRechambingFire&quot;. Также мне нужно следить за количеством пуль и наличием нужных перков, то есть ещё 2 &quot;переключателя&quot; значений переменных, оба работают схожим образом. Главное написать 1 работающий &quot;переключатель&quot;, а все остальные можно сделать по его подобию, различий особых нет, только разные адреса.</p>]]></description>
			<author><![CDATA[null@example.com (63OR63)]]></author>
			<pubDate>Sat, 26 Feb 2011 15:16:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45570#p45570</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45567#p45567</link>
			<description><![CDATA[<p>Нет, неправильно. Вам только за одним адресом следить нужно? Если есть какие-то варианты, то лучше сразу скажите, опишите всё полностью.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sat, 26 Feb 2011 14:30:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45567#p45567</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45565#p45565</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Вам, видимо, только нужно оформить код как функцию и вызывать её для считывания значения.</p></blockquote></div><p>Вот это я и не знаю как сделать. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br />Ладно, попытка номер раз:<br /></p><div class="codebox"><pre><code>#NoEnv

ProcessName = BlackOpsMP.exe
ReadAddress = X
ReadSize = 4  
VarSetCapacity(Buf, ReadSize, 0) 

PROCESS_VM_READ = 0x10  

Process, Exist, %ProcessName%

hProcess := DllCall(&quot;OpenProcess&quot;, UInt, PROCESS_VM_READ
                                 , Int, False
                                 , UInt, PID)

Ret := DllCall(&quot;ReadProcessMemory&quot;, UInt, hProcess
                                  , UInt, ReadAddress
                                  , UInt, &amp;Buf
                                  , UInt, ReadSize
                                  , UInt, 0)

DllCall(&quot;CloseHandle&quot;, UInt, hProcess)

Result := NumGet(Buf, 0, &quot;UInt&quot;)

SniperRifleToggle:
    loop
    {
        if %Result% = N1
        {
            Sn := 1
        }
        else if %Result% = N2
        {
            Sn := 0
        }
        sleep 500
    }
    return</code></pre></div><p>Проверить рработоспособность, к сожалению, не могу, так как пока не знаю адрес, который мне нужно считать (буду спрашивать на другом форуме). Временно пометил его как &quot;X&quot;, а значения как &quot;N1&quot; и &quot;N2&quot;.<br />Что скажете? Я вас правильно понял?</p>]]></description>
			<author><![CDATA[null@example.com (63OR63)]]></author>
			<pubDate>Sat, 26 Feb 2011 13:27:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45565#p45565</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Использование памяти игры для автоматизирования скрипта]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=45564#p45564</link>
			<description><![CDATA[<p>Пример чтения из памяти процесса есть здесь: <a href="http://www.forum.script-coding.com/viewtopic.php?id=2734">AHK: Доступ к памяти других процессов</a>. Вам, видимо, только нужно оформить код как функцию и вызывать её для считывания значения. Каких-то знаний о работе с памятью процесса Вам тут, думаю, не нужно, т.к. код вполне рабочий. Если всё-таки есть какие-то вопросы, то задавайте.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sat, 26 Feb 2011 12:59:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=45564#p45564</guid>
		</item>
	</channel>
</rss>
