1
Использование / Re: Как сохранить координаты записанных действий в окне при его перемещении.
« on: March 16, 2017, 08:16:19 PM »
УРРРРАА Заработало!!!)))
Спасибо Вам друзья большое!!)
Спасибо Вам друзья большое!!)
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
GETSCREEN
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "42.bmp") // объект
$x = $_return1
$y = $_return2
END_IF
$x = $_return1 // координата начальной точки
$y = $_return2
WHILE(1)
$x2 = $_xmouse-$x
$y2 = $_ymouse-$y
TFWRITE("Move.txt", STRCONCAT($x2, ",", $y2))
WAITMS(50)
END_CYC
Скрипт для воспроизведения:GETSCREEN
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "42.bmp") // объект
$x = $_return1
$y = $_return2
ELSE
HINTPOPUP("Ориентир не найден", "Ошибка")
HALT
END_IF
WHILE(2) // Бесконечный цикл, прокручиваем твою запись по кругу
FOR($a=1,$a<TFCOUNT("Move.txt")+1)
STRSEPARATE(TFREAD("Move.txt", $a), ",", $a_cor)
LDOWN($x + $a_cor[0],$y + $a_cor[1]) //
UNDEFINE($a_cor)
WAITMS(50)
END_CYC
END_CYC
LUP(-1,-1)
Этот скрипт для воспроизведения собирал сам из Ваших предложенных, возможно тут что-то не правильно. И он зациклен.GETSCREEN
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "ориентир.bmp") // объект
$x = $_return1
$y = $_return2
END_IF
$x = $_return1 // координата начальной точки
$y = $_return2
WHILE(1)
$x2 = $_xmouse-$x
$y2 = $_ymouse-$y
TFWRITE("Move.txt", STRCONCAT($x2, ",", $y2))
WAITMS(50)
END_CYC
Затем второй скрипт. GETSCREEN
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "ориентир.bmp") // объект
$x = $_return1
$y = $_return2
END_IF
$x = $_return1
$y = $_return2
FOR($a=1,$a<TFCOUNT("Move.txt")+1)
STRSEPARATE(TFREAD("Move.txt", $a), ",", $a_cor)
MOVE($x + $a_cor[0],$y + $a_cor[1])
UNDEFINE($a_cor)
WAITMS(50)
END_CYC
HALT
Кликер читает файл Move.txt и выполняет движения мыши относительно файла "ориентир.bmp". lDown(2902,835)
waitms(646 + $S_CORR)
move(2901,835)
...
...
waitms(44 + $S_CORR)
move(2900,834)
waitms(16 + $S_CORR)
lUp(3081,975)
waitms(1509 + $S_CORR)
lDown(3081,975)
waitms(2340 + $S_CORR)
move(3080,975)
waitms(24 + $S_CORR)
...
...
move(3008,899)
waitms(486 + $S_CORR)
lUp(3008,899)
Проблема в том, что в новом скрипте не записываются команды давайте разберёмся, я вам помогаю и гораздо больше, чем все остальные, если вы этого не понимаете, то ваш уровень интелекта пока недостаточен для самостоятельных занятий программированием.Давайте разберемся.
Поэтому притча для примера. Однажды мне нужно было доехать до вокзала несколько остановок, номер троллейбуса я знал, но не знал сколько остановок нужно ехать и в каком направлении. Естествено спросил у кондуктора доеду ли на этом троллейбусе до вокзала и получил однозначный утвердительный ответ.
И ЕХАЛ ДВА ЧАСА, так как маршрут оказался кольцевой!!!
Но ведь и кондуктор мне помог и даже не соврала тётя ни единым словом.
Так вот вы катаетесь по кругу и ещё таскаете за собой форумчан.
Одумайтесь, удачи в ваших начинаниях!
Кирилл, я конкретно ВАС ни о чем не просил, нет желания помочь, проходите мимо! И не тратте свое драгоценнейшее время на меня!Да, отвечу на Ваш вопрос "зачем перемещать миникарту"Ищите и создаёте трудности, там где их нет, чтоб затем их героически для вас преодолевали.
Зрительно все, да и я в том числе, привыкли видеть миникарту в правом нижнем углу экрана, ей там место.
Только есть одно "НО" Так же все знают, что в этом самом углу экрана всплывают всякого рода уведомления: Почта, Антивирус(напоминает что нужно обновить) и тд. и т.п.
В связи с этим, мне бы очень не хотелось, чтобы кликер наворотил тут дел, в мое отсутствие, а отсутствую я долго, целый рабочий день. По этому, Миникарту приходится сдвигать вверх, или вообще в другое место.
Вот отсюда и вытекает вся моя проблема)
Ваша игра настолько примитивна, что не запоминает пользовательское расположение окон?
Вы удивитесь, НО СООБЩЕНИЯ ПАНЕЛИ УВЕДОМЛЕНИЙ КЛИКЕР НЕ ВИДИТ!!! и кликает только в те окна что на рабочем столе!
Вы занимаетесь сизифовым трудом и воруете время у тех кто помогает с написанием скриптов.
А кто сказал что нужно делать именно так? Всё можно сделать гораздо сложней и умней.Дык я это и просил у вас, помочь мне с маленьким кусочком кода, как это написать?
А хочешь жёстко, привяжись жёстко. Ищи элемент миникарты типа как на скрине и определяй начало координат миникарты.
Дальше все свои движения отсчитывай от этого начала.
явно извращённый подход к задаче.Кирилл, да, мне нужен жесткий шаблон! Жесткий шаблон перемещения корабля по миникарте. Возможно Вам известно, что коробки респятся в бОльшей части , в определенных местах, именно по этому мне не нужно рандомное тыканье по миникарте, нужен жесткий шаблон.
Понятно, что мини карта может быть передвинута.
Поэтому нефиг её двигать, если записал скрипт.
К тому же все реализуют целевые перемещения по мини карте и сильно плачутся когда мимо кораБЛЯ, богато ништяков пролетает, а тут перемещение и действия по жёсткому шаблону.
Моё мнение, представлено тупиковое решение - из него конфетку делать не стоит.
...
...
KEYPRESS (#J)
WAIT(3)
// Что сюда написать????
move(2925,872)
waitms(10 + $S_CORR)
move(2952,874)
waitms(10 + $S_CORR)
move(2966,874)
waitms(11 + $S_CORR)
move(2976,874)
waitms(10 + $S_CORR)
move(2981,873)
waitms(10 + $S_CORR)
move(2984,872)
waitms(10 + $S_CORR)
...
...
...
и таких строчек много-много, аж почти 10 000 (движения мышки примерно на 2-3 минуты)