Что нового

[Автоматизация] Сравнение прочитанного значения из памяти

dimannspb

Новичок
Сообщения
4
Репутация
0
Привет всем, я новичок в АвтоИт и поэтому прошу помочь так как сам не могу разобратся, хоть и перечитал все похожие темы

задача такая: имеется онлайн игра где есть так называемый аукцион, имеется возможность просмотра последних выставленных товаров, и я хочу создать бота который будет извлекать из памяти игры цену последнего выставленого товара и сравнивать ее с определенным значением. Если это значение меньше определенной цифры то я покупаю этот товар.

Код:
#RequireAdmin
#include <nomadmemory.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$ProcessName = "имя окна"
Global $ProcessID = WinGetProcess($ProcessName,"") ;
$base=0x1A2B8198; найденый мною адрес ячейки в которой хранится цена
$memory = _MemoryOpen($ProcessID)
$Curr=_MemoryRead($base, $memory,'ptr')
$CENA =dec(StringTrimLeft($Curr, 2))
Dim $i
Dim $porog=1000; пороговое значение цены, т. е. все что ниже этой цифры стоит покупать
Opt("CaretCoordMode", 0)
Opt("MouseCoordMode", 0)
Opt("PixelCoordMode", 0)
Sleep (5000)
	for $i=1 to 100000
		ControlSend("имя окна", '', '', '{ENTER}')
		Sleep (3000)
		if $CENA < $porog then ; сравнение цены и порогового значения
		Sleep (500)
		ControlClick("имя окна", '','', "left",1,400,130 )
		Sleep (1000)
		ControlClick("имя окна", '','', "left",1,620,480 )
		Sleep (500)
		ControlSend("имя окна", '', '', '{ENTER}')
		Sleep (100)
		ControlSend("имя окна", '', '', '{ENTER}')
		endif
Next

Суть прогграммы в том что она должна в случае если if $CENA < $porog производить ряд действий по покупке, но на деле она игнорирует их, Однако если в качестве порога поставить Огромное значение то все работает ну и покупает соответвенно все подряд а мне это не надо.
мне кажется проблемы либо в неверном типе данных либо в переводе из одной системы в другую.
Через МсгБОкс пробовал. Выдает правильное значение цены.. а в сравнении какая то ерунда
буду благодарен за помощь

Спасиб за внимание.. на свежую голову в итоге сам разобрался в чем причина)) решено
 
Верх