Привет всем, я новичок в АвтоИт и поэтому прошу помочь так как сам не могу разобратся, хоть и перечитал все похожие темы
задача такая: имеется онлайн игра где есть так называемый аукцион, имеется возможность просмотра последних выставленных товаров, и я хочу создать бота который будет извлекать из памяти игры цену последнего выставленого товара и сравнивать ее с определенным значением. Если это значение меньше определенной цифры то я покупаю этот товар.
Суть прогграммы в том что она должна в случае если if $CENA < $porog производить ряд действий по покупке, но на деле она игнорирует их, Однако если в качестве порога поставить Огромное значение то все работает ну и покупает соответвенно все подряд а мне это не надо.
мне кажется проблемы либо в неверном типе данных либо в переводе из одной системы в другую.
Через МсгБОкс пробовал. Выдает правильное значение цены.. а в сравнении какая то ерунда
буду благодарен за помощь
Спасиб за внимание.. на свежую голову в итоге сам разобрался в чем причина)) решено
задача такая: имеется онлайн игра где есть так называемый аукцион, имеется возможность просмотра последних выставленных товаров, и я хочу создать бота который будет извлекать из памяти игры цену последнего выставленого товара и сравнивать ее с определенным значением. Если это значение меньше определенной цифры то я покупаю этот товар.
Код:
#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 производить ряд действий по покупке, но на деле она игнорирует их, Однако если в качестве порога поставить Огромное значение то все работает ну и покупает соответвенно все подряд а мне это не надо.
мне кажется проблемы либо в неверном типе данных либо в переводе из одной системы в другую.
Через МсгБОкс пробовал. Выдает правильное значение цены.. а в сравнении какая то ерунда
буду благодарен за помощь
Спасиб за внимание.. на свежую голову в итоге сам разобрался в чем причина)) решено