15
« on: August 18, 2015, 02:56:11 AM »
Всем привет)) Как тут делишки? Вот решил снова заскочить в гости.
А подвигла меня на это, как обычно, вполне понятное желание избавится от муторности в игрульке под названием Аэропорт-Сити.
Играю иногда в неё с браузера гуглус так его хром на одноклассниках (тоже их туда же). Вполне понятно желание разработчиков получить максимум прибыли с этого(да с любого) проекта, но есть моменты которые меня убивают. В частности необходимость неделями тупо производить однотипные действия для посадки гостевых самолетов.
Тем кто играет знакомо чувство когда сажаешь 100500й самолет и тебе в очередной раз выпадает какой то предмет которых штук 100 уже есть, а тот что
нужен где-то все летает в облаках))) Ну решил я это дело короче на поток поставить и вот что на данный момент получилось. Знатокам просьба сразу по макушке не бить))) Но подсказать, если что то можно улучшить))
Скрипт сделал с привязкой к картинкам (может переделаю в будущем что бы избавится от них):
SUB(s)
$Br = 0
WHILE($Br = 0)
GETSCREEN
IF_PICTURE_IN (1000,50, $_xmax, 300,"10.bmp")
LCLICK($_return1+6, $_return2+6)
wait(1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax, $_ymax,"11.bmp")
LCLICK($_return1+6, $_return2+6)
wait(1)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax, $_ymax,"12.bmp")
IF_PICTURE_IN (0,0, $_xmax, $_ymax,"13.bmp")
LCLICK($_return1+6, $_return2+6)
$Br = 1
$check = 0
wait(6)
END_IF
END_IF
END_IF
$Br = 1
$check = 0
END_CYC
END_SUB
$check = 1
WHILE($check < 11)
GETSCREEN
waitmc(500)
IF_PICTURE_IN (0,0, $_xmax, 700, STRCONCAT($check, ".bmp"))
IF($check=10)
s()
else
MOVE($_return1+6, $_return2+6)
MOVE($_return1+8, $_return2+7)
MOVE($_return1+6, $_return2+6)
MOVE($_return1+7, $_return2+9)
MOVE($_return1+6, $_return2+6)
WAITMS(rnd(700,900))
LCLICK($_return1+6, $_return2+6)
waitmc(400)
$check = 0
END_IF
END_IF
INC($check)
END_CYC
Картинки прилагаю.
Есть ещё мысль прикрутить сюда сбор денег со зданий. Скриптик накидал(надо ещё дорабатывать).
SUB(d)
$ch = 1
WHILE($ch =1)
wait(1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "8.bmp")
WAITMS(100)
LCLICK($_return1+6, $_return2+6)
waitmc(rnd(600,900))
else
$ch = 0
END_IF
END_CYC
END_SUB
$cent_x=int($_xmax/3)
$cent_y=int($_ymax/2)
$hk = 1
WHILE($hk < 3)
lDown(100,200)
waitms(196)
move($cent_x, $cent_y)
waitms(210)
lUp($cent_x, $cent_y)
waitmc(200)
move(0,65)
wait(1)
INC ($hk)
d()
END_CYC
$hk = 1
WHILE($hk < 3)
waitms(260)
lDown($cent_x,250)
waitms(120)
move($cent_x, $cent_y)
waitms(210)
lUp($cent_x, $cent_y)
waitmc(200)
move(0,65)
wait(1)
INC ($hk)
d()
END_CYC
halt
Подскажите люди добрые как это сделать? Условие для его выполнения - срабатывать он должен только 1 раз в час. Так же надо апгрейдить скрипт на плавное перемещение с учетом разных разрешений моников. Я пока просто тупо записал движение мышки по своему экрану. Сейчас 3 часа ночи. вставать на работу в 8.00 Мозг уже отключился, надо тело до кровати нести ))
Да кстати.... А какого... хм... звиняюсь)) Почему при привязке окна игрульки делаю скрин и получаю квадрат Малевича? А если привязать сам браузер, то все нормально...?
Последняя версия скрипта тут
[spoiler]
// Àýðîïîðò-Ñèòè
SUB(s)
$Br = 0
WHILE($Br = 0)
GETSCREEN
IF_PICTURE_IN (1000,50, $_xmax, 300,"7.bmp")
LCLICK($_return1+6, $_return2+6)
wait(1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax, $_ymax,"8.bmp")
LCLICK($_return1+6, $_return2+6)
wait(1)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax, $_ymax,"9.bmp")
wait(1)
LCLICK(100,150)
$Br = 1
$check = 0
wait(6)
END_IF
else
LCLICK(35,275)
END_IF
$Br = 1
$check = 0
END_CYC
END_SUB
SUB(d)
$ch = 1
WHILE($ch =1)
wait(1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "6.bmp" )
WAITMS(100)
LCLICK($_return1+6, $_return2+6)
waitmc(rnd(600,900))
else
$ch = 0
END_IF
END_CYC
END_SUB
$check = 1
WHILE($check < 8)
GETSCREEN
waitmc(500)
IF_PICTURE_IN (0,0, $_xmax, 700, STRCONCAT($check, ".bmp"),-1, 80)
IF($check=7)
s()
else
MOVE($_return1+6, $_return2+6)
MOVE($_return1+8, $_return2+7)
MOVE($_return1+6, $_return2+6)
MOVE($_return1+7, $_return2+9)
MOVE($_return1+6, $_return2+6)
WAITMS(rnd(700,900))
LCLICK($_return1+6, $_return2+6)
waitmc(400)
$check = 0
END_IF
END_IF
INC($check)
IF($check=10)
IF($time1 < $_time_t)
$time1 = $_time_t + 1200
$hk = 1
$cx=int($_xmax/3)
$cy=int($_ymax/2)
WHILE($hk < 3)
lDown(210,250)
waitms(196)
move($cx, $cy)
waitms(210)
lUp($cx, $cy)
waitmc(200)
move(0,65)
wait(1)
INC ($hk)
d()
END_CYC
$hk = 1
WHILE($hk < 3)
waitms(260)
lDown($cx,250)
waitms(120)
move($cx, $cy)
waitms(210)
lUp($cx, $cy)
waitmc(200)
move(0,65)
wait(1)
INC ($hk)
d()
END_CYC
$hk = 1
WHILE($hk < 3)
waitms(260)
lDown($cx, $cy)
waitms(120)
move($cx,250)
waitms(210)
lUp($cx,250)
waitmc(200)
INC ($hk)
END_CYC
$hk = 1
WHILE($hk < 3)
waitms(260)
lDown($cx, $cy)
waitms(120)
move(100,250)
waitms(210)
lUp(210,250)
waitmc(200)
INC ($hk)
END_CYC
END_IF
END_IF
END_CYC
[/spoiler]