Первое что бросается в глаза, это отсутствие GETSCREEN и для $KEYDOWN не присвоено значение. И после нажатия кнопки, ее положено отпустить POSTMESSAGE ($HWND, $KEYUP , #f1 , 0 ), хотя в большинстве окон $KEYDOWN и $KEYUP срабатывают как клики, так что тут уже сам пробуй, где клик и где нажатие на кнопку. Код кнопки можно записывать константой (#f1).
вот что мы получаем:
THREAD(heal)
$HWND = 1971480
$KEYDOWN = 0x0100
$KEYUP = 0x0101
GETSCREEN
IF(pxl($xhp, $yhp) ! $hp)
POSTMESSAGE ($HWND, $KEYDOWN , #f1 , 0 )
POSTMESSAGE ($HWND, $KEYUP , #f1 , 0 )
END_IF
waitms(100)
END_THREAD
чтобы постоянно не вписывать $HWND вручную, используй WNDFIND ("title", [begin]) или HGET (x, y)
и еще вопрос, поток может обращаться к переменным из основного скрипта?
Да.