Для начало вот правильно, может быть ошибка
+ Сказали бы вы мне какова Х**** ты пытаеся привязаться (Брать координаты итд) к самой игре тоесть флашплаеру. До меня дошло пока пытал тот код "работает то нет ..."
Если 10стр включена то 11-12стр выкл (убрать в комментарий)
$check = 0
WHILE($check = 0)
GETSCREEN
LOGWRITE ("2") //-
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "0_Firefox.bmp", -1, 100) // ищем картинку приложения, только не FlashPlayerP [32-bit mode] Процесс
$check = 1
LOGWRITE ("игра обнаружена")
$hwnd = HGET($_return1,$_return2) // определение номера окна
//HSET($hwnd,1) //+ привязка 1, 0 отвезать
// WNDSETINFO($hwnd, 0, 0, 1037, 730) //установка окна вписать нужные координаты и размер, минимальный размер окна
WNDSIZE ($hwnd, 1037, 851) //+ Задает размер окна
//WNDPOS ($hwnd, 655, 0) //+ Помещает окно на экране в указанные координаты Правый угол комп + на половина полоса прокрутки
WNDPOS ($hwnd, 0, 0) //+ Помещает окно на экране в указанные координаты
WNDGETINFO($hwnd, $var1, $var2, $var3, $var4) //+ определение существующих размеров и координат их можно и вписать в установку, тогда не придётся переписывать существующий скрипт
LOGWRITE ("hwnd ",$hwnd," стали координаты ",$var1,",", $var2," размер ", $var3,",", $var4) //+
WNDBUMP ($hwnd) //+Помещает окно на передний план
WAITMS(1000) // время на обновление
GETSCREEN
LOGWRITE ("3")
// IF(PXL($X, $Y) = 1653112) // Доделать проверка что вся область которая нужна видна //+ будете проверять лучше заместо ($X, $Y) пишите ( $var1+"координаторы Х", $var2+"координаторы Y") без ковычек
LOGWRITE ("игра установлена ")
WAITMS(100)
ELSE
LOGWRITE ("измените браузер или его панели")
// END_IF
END_IF
END_CYC
//END_IF // вроде должно быть выше END_CYC
Вопросы (пака не дошло как сделать)
1) Как записать 12ст) WNDPOS ($hwnd, 655, 0) виде переменной чтобы вынести в начало. Цель, вк\выкл, и запись координат
2) нужен таймер аварийного завершения. предупреждаю есть прыжки и под программы.
Цель, переменная вначале, установка времени пусть будет 5мин. выполнения любого задания не больше 5мин, при превышения времени остановить скрипт, и неплохо бы было;
вконец добавить лог о общем выполнения.
когда аварийное завершение выдало сообщение и проиграл звук (думаю пойму как).
3) Объясните мне как выполнять искать итд при помощи контрольной суммы пикселей и цветов, с разными условиями, и хотя 1 пример как выносить переменную
КОНЕЦ Для меня переменные и условия пока почти как темный лес
Может кому то пригодиться
Мая мука + настройка вчера муучился было 200+ строк, почти чистыми, осталось это
Ладно поехали
Постарался описать как можно подробней
Легко переделать на поиск картинок
Цель: надо было по купать с самого дорогого. высота одинаковая, расстояние между предметами и кнопками покупки одинаковые
Искомый пиксель находится на высоте "Y 540" самый дальний их тут 3 покупки "X 710".
Скрипт покупает самое дорогое расточение X710 покупает 1е и отнимает 199 и покупает на X511 уже 2й предмет, 1й на Х 312
Клик дублируется (копируется) только по высоте Х 650
// m_move не з наеш что это удали просто обе строчки
m_move($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11))
LCLICK($_xmouse,$_ymouse) // если только это строчка будет кликнет где нашел
// и заспеши это
LCLICK($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11)) // клик в у казаном месте с ран домом
// куда угодно пишем выше выполнения а в самое начало чтобы удобно было изменить , цифры это цвет пикселя
// Или так пишите в Выполнении IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,138309,9962336,15786964)
$BUUB = 15786964 // Усиление брони
$BUUA = 138309 // Усиление атаки
$BUZM = 9962336 // Защита от магии
$BUPE = 8257 // -Повышение энергии
$BUL = 7536382 // -Лечение
$BUPEV = 9286 //+- Повышение энергии всем
$BUV = 660242 //- Воскрешение
// Выполнение
$U321 = 0 // обнуление
FOR ($Kup,$U321 < 400) // FOR (просто Счетчик, подсчет меньше заданного)
print ("Делаю"," Счет ",$U321) // а удали, просто для наблюдения начал выполнение и сколько подсчет
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,$BUUA,$BUZM,$BUUB) // "$var1+700-$U321" координаты поиска $var...+ не знаете значит вам пока не нужен удалить; 700 длина; $U321 отнемает то что нащитал; $BUUA,$BUZM,$BUUB цвет пикселя
$check = 1
print ("КУПИЛ ",$U321) // а удали, просто для наблюдения что купил и сколько подсчитал
WAITMS(RND(300,1000)) // просто пауза 0,3-1сек
m_move($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11)) // описание в самом верху
LCLICK($_xmouse,$_ymouse)
$U321 = $U321 + 199 // пересчитывает подсчет чтобы $U321 была больше на 199
WAITMS(100)
ELSE
IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,$BUPE,$BUL,$BUV,$BUPEV)
$check = 1
$U321 = $U321 + 199
print ("не нужно ",$U321) // а удали, просто для наблюдения что не купил и сколько подсчитал
WAITMS(100)
ELSE
LOGWRITE ("Не нашел") // а удали, просто если хочешь что что то не находит
WAIT(2)
END_IF
END_IF
END_CYC
WAITMS(rnd(300,1000))
GETSCREEN // 6 строк для проверки выскочило окно о не хватки денег, ен нужно удали
IF_PICTURE_IN ($var1+500,$var2+520, $var1+530,$var2+550, "Башня_\N_Ch_OK.bmp", -1, 100)
WAITMS(rnd(1000,1500))
m_move($_return1+3+RND(-30,30),$_return2+4+RND(-11,11))
LCLICK($_xmouse,$_ymouse)
END_IF
print ("счет ",$U321) // а удали, просто для наблюдения сколько подсчет
END_CYC
LOGWRITE ("Закончил ",$Kup) // это можно в конец скрипта чтобы видел сколько раз купил и пропустил, одна общая цифра