Здравствуйте, гость ( Вход | Регистрация )

> Помощь в скриптах для различных заданий и квестов., Игра Dragon Knight
FREEON
сообщение 14.2.2017, 13:10
Сообщение #1


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.346
Возраст: 25



Нужно осуществить поиск по иконке(есть свечение вокруг ее). Не подойдет поиск по цвету и координатам, так как она плавает меняется на протяжении дня. Как сделать поиск иконки Каменный рудник?
(IMG:http://savepic.ru/12954014.jpg)
Далее собираем камни в количестве 10 штук. И после того как камни собраны, нужно будет 5 из их разбить. Вот тут должна быть логика. Что бы скрипт выбирал лучший камень и разбивал. Ценность камней идет по возрастанию. Слева самые дешевые, справа дорогие и редкие.
http://savepic.ru/12916119.jpg
(IMG:http://savepic.ru/12934550.jpg)
Код

//тут должен быть скрипт по поиску иконки.
For #i 1 9      // Получить 9 камней
     while 1138, 582 1201343
         left 1138, 582          //получить один камень
     wait 1s
     end_while
     while_not 1138, 582 1201343 //ожидаем отката кнопки
         wait 5m
     end_while
end_for
//Прописываем эти строки на получения последнего камня так как кнопка не откатывается
while_not 1138, 582 1201343 //ожидаем отката кнопки
         wait 3s
     end_while
while 1138, 582 1201343
     left 1138, 582          //получить последний камень
     wait 1s
end_while
//тут должна быть логика по разбивке 5 камней.
end_script

Ниже идет список камней:
Код

left 444, 590  12173243  //Алунит,   самый дешовый
left 564, 598 1517833 //Аквамарин
left 673, 596 15377514  //Иолит
left 815, 587 16759038 //Родонит
left 934, 595 4612012 //Рубин, самый редкий и дорогой

left 750, 493 7772634 //Кнопка РАЗБИТЬ
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 20.4.2019, 19:15
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26363
Пользователь №: 16.971
Возраст: 29



Цитата
а гоняет до бесконечности пока не остановить.

2 цикла с проверкой цвета, в одном из них и крутится, т. к. условие не выполняется.
Выводите в лог действия, тогда будет понятно где зацикливается.
К примеру:
Код
left 1025, 618 //клик Вызов
log Клик1
if 1231, 846 727077 //если не красная АФК
    log Цвет найден
    left 1229, 849 //активировать АФК
   log Клик2
end_if
end_script

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
XaЛBa
сообщение 21.4.2019, 0:35
Сообщение #3


**

Neophyte
Сообщений: 32
Регистрация: 12.4.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.293



плин, про логи забыл совсем. в итоге исправил на
......// подготовка к задаче
repeat 6
left 1025, 618 //клик Вызов
wait
if 1231, 865 1319214 //если не красная АФК
left 1228, 846 //активировать АФК
end_if
while_not 1024, 617 1202119
left 425, 587 //вызвать окно с кнопкой Вызов
end_while
end_repeat
.......//закрыть все и выйти
все оказалось проще, спасибки

Цитата(FREEON @ 20.4.2019, 20:14) *

В ручную подвести или(оставлять окола непися) героя. Окно пати(команды переместить из цента в бок) Координаты клика атаки НПС делать с помощью findimage. по поводу количества проходов..тут уже могут быть варианты..если кого-то водить то счетчик, если для себя то надежней через findimage.

FREEON, да ты и сам знаеш чо они не статичны а малек динамичны, а с диапозонами цвета не хотелось возиться, Да и findImage у меня чтото не сработал ( делал на название неписюна ), и фон затирал, вощем не прокатило, а так клацает себе и хватает на 6 попыток. Хотя щас писал ответы, и наверно понял что делал ошибку когда затирал фон, надо было верхний левый пиксель не затирать. По любасу спасибки
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 21.4.2019, 9:55
Сообщение #4


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.346
Возраст: 25



Цитата(XaЛBa @ 21.4.2019, 0:35) *

FREEON, да ты и сам знаеш чо они не статичны а малек динамичны

Проще не значит надежней.
Код для слива попыток в ПГ

Нужно сделать 4 картинки:
1) картинка имени моба на котором будем сливать попытки(только имя, закрашенный фон)
2) картинка салатовый угол окна создать отряд (10 пикселей хватит с головой)
3) картинка Ника главного героя (закрашенный фон)
4) картинка когда у героя осталось 0 попыток
(IMG:https://i.ibb.co/mBJyRcK/5.png)
В коде менять только те строки которые в комментариях отмечены звездочками ***
Код

//Перемещаем окно с попытками в бок(вправо)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***картинка окна Создать отряд(верхняя левая салатовая точка)
while #so = 0     // пока не нашлась картинка c окном Создать отряд(собранное пати)
    set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
    wait 500
end_while
set #s findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %s 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
if  #s > 0
    left_down %s[1 1] %s[1 2] //зажать мышку на окне
    wait 200
    left_up XXX YYY //***вставить свои координаты куда будем перетаскивать окно
end_if
while 0 = 0
    set #nps findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-моба.bmp) %nps 2 70) //***картинка моба-подземелья на котором будем сливать попытки(только его имя с закрашеным фоном)
    if  #nps > 0
        set #x (%nps [1 1] + %nps [1 3]) / 2
        set #y (%nps [1 2] + %nps [1 4]) / 2 + 60 //***
        wait 100
        move #x #y //навести мышку на моба которого будем бить
        //left #x #y //*Атака моба
        wait 1s
    end_if
    if  1024, 617 1202119 //***кнопка Начать вызов (сделать проверку цвета Ctrl+B)
        left 1025, 618 //***клик Вызов
    else
        log Не могу найти кнопку НАЧАТЬ ВЫЗОВ //***
    end_if
    if  1231, 846 727077 //***если не красная АФК
        left 1229, 849 //***активировать АФК
    end_if
    set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***картинка ника твоего персанажа в окне Создать отряд(с закр.фон)
    if #ger > 0 //Ищем героя в отряде и проверяем...
        set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***дублируем картинку ника
        set #StartX %ger [1 1]
        set #StartY %ger [1 2]
        set #EndX %ger [1 1] + 150 //***
        set #EndY %ger [1 2] + 150 //***
        set #p findimage (#StartX #StartY #EndX #EndY (C:\путь\имя-картинки-ноль.bmp) %p 2 70) //***картинка когда у твоего персанажа 0 попыток(с закр.фон)
        if #p > 0 //Если мы главному герою слили все попытки, то..
             set #X %ger [1 1] + 210 //***
             set #Y %ger [1 2] + 15  //***
             left #X #Y //распустить отряд
             //left//***выйти из подземелья
             //*** свое действие
             end_script //остановить скрипт
        end_if
    end_if
end_while

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
XaЛBa
сообщение 21.4.2019, 14:25
Сообщение #5


**

Neophyte
Сообщений: 32
Регистрация: 12.4.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.293



Цитата(FREEON @ 21.4.2019, 9:55) *

Проще не значит надежней.
Код для слива попыток в ПГ

Нужно сделать 4 картинки:
1) картинка имени моба на котором будем сливать попытки(только имя, закрашенный фон)
2) картинка салатовый угол окна создать отряд (10 пикселей хватит с головой)
3) картинка Ника главного героя (закрашенный фон)
4) картинка когда у героя осталось 0 попыток
(IMG:https://i.ibb.co/mBJyRcK/5.png)
В коде менять только те строки которые в комментариях отмечены звездочками ***
Код

//Перемещаем окно с попытками в бок(вправо)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***картинка окна Создать отряд(верхняя левая салатовая точка)
while #so = 0     // пока не нашлась картинка c окном Создать отряд(собранное пати)
    set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
    wait 500
end_while
set #s findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %s 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
if  #s > 0
    left_down %s[1 1] %s[1 2] //зажать мышку на окне
    wait 200
    left_up XXX YYY //***вставить свои координаты куда будем перетаскивать окно
end_if
while 0 = 0
    set #nps findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-моба.bmp) %nps 2 70) //***картинка моба-подземелья на котором будем сливать попытки(только его имя с закрашеным фоном)
    if  #nps > 0
        set #x (%nps [1 1] + %nps [1 3]) / 2
        set #y (%nps [1 2] + %nps [1 4]) / 2 + 60 //***
        wait 100
        move #x #y //навести мышку на моба которого будем бить
        //left #x #y //*Атака моба
        wait 1s
    end_if
    if  1024, 617 1202119 //***кнопка Начать вызов (сделать проверку цвета Ctrl+B)
        left 1025, 618 //***клик Вызов
    else
        log Не могу найти кнопку НАЧАТЬ ВЫЗОВ //***
    end_if
    if  1231, 846 727077 //***если не красная АФК
        left 1229, 849 //***активировать АФК
    end_if
    set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***картинка ника твоего персанажа в окне Создать отряд(с закр.фон)
    if #ger > 0 //Ищем героя в отряде и проверяем...
        set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***дублируем картинку ника
        set #StartX %ger [1 1]
        set #StartY %ger [1 2]
        set #EndX %ger [1 1] + 150 //***
        set #EndY %ger [1 2] + 150 //***
        set #p findimage (#StartX #StartY #EndX #EndY (C:\путь\имя-картинки-ноль.bmp) %p 2 70) //***картинка когда у твоего персанажа 0 попыток(с закр.фон)
        if #p > 0 //Если мы главному герою слили все попытки, то..
             set #X %ger [1 1] + 210 //***
             set #Y %ger [1 2] + 15  //***
             left #X #Y //распустить отряд
             //left//***выйти из подземелья
             //*** свое действие
             end_script //остановить скрипт
        end_if
    end_if
end_while



и сразу вопрос, а для чего в некоторых местах нам необходимо делать Дублирование картинки, а когда не надо
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 21.4.2019, 14:40
Сообщение #6


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.346
Возраст: 25



Цитата(XaЛBa @ 21.4.2019, 14:25) *

и сразу вопрос, а для чего в некоторых местах нам необходимо делать Дублирование картинки, а когда не надо

в вили делать нужно обязательно так как может выдавать ошибку, ну и когда к примеру как мы делаем поле поиска для плавающих кнопок(то есть снимаем координаты объекта в текущий момент).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
XaЛBa
сообщение 22.4.2019, 3:28
Сообщение #7


**

Neophyte
Сообщений: 32
Регистрация: 12.4.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.293



Цитата(FREEON @ 21.4.2019, 14:40) *

в вили делать нужно обязательно так как может выдавать ошибку, ну и когда к примеру как мы делаем поле поиска для плавающих кнопок(то есть снимаем координаты объекта в текущий момент).

Интуитивно догадывался. терь учту, И такой же финт с перетаскиванием окна пробну сделать на Зведочках Задания ГИ. Прикольно, спасибки. оч помогаеш. Щас постепенно буду изучать дальше.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
FREEON   Помощь в скриптах для различных заданий и квестов.   14.2.2017, 13:10
cirus   Делаем картинку в формате bmp без свечения и ищем....   14.2.2017, 13:47
FREEON   Сомневаюсь что по скринам можно будет понять проц...   14.2.2017, 14:43
cirus   Самое простое добавить переменную счётчик. разбил...   14.2.2017, 15:10
FREEON   Вот еще вопрос. Почему в скрипте когда есть нескол...   15.2.2017, 11:31
cirus   Если нет больного, то и лечить не кого. Код где? :...   15.2.2017, 11:45
FREEON   set #x 1547 set #y 480 set #x0 595 set #y0 359 set...   15.2.2017, 12:51
cirus   Не срабатывает и не нажимает это не одно и тоже. g...   15.2.2017, 13:08
FREEON   Log срабатывал. Но проблему я решил заменив услови...   15.2.2017, 16:03
cirus   Можно: set #x 100 set #y 200 set #color 6172673 i...   16.2.2017, 2:16
FREEON   Благодарю но, с Colorом разобрался уже)) if %a [...   16.2.2017, 3:15
cirus   %a - первая цифра номер строки массива, вторая н...   16.2.2017, 3:46
FREEON   Можно ли сделать 2скрипта в одно окно скрипта? Опр...   17.2.2017, 0:01
cirus   set #timeout timer + 5000 // 5000 = 5 секунд whi...   17.2.2017, 2:21
FREEON   Отлично :rolleyes: :)   17.2.2017, 12:25
FREEON   Как сделать что бы пилот клацал по найденной карти...   9.3.2017, 21:31
cirus   log %a %a [1 2] Если совсем по простому: [code]...   10.3.2017, 2:20
FREEON   И как прописать процент совпадения? Это нужно пис...   10.3.2017, 2:48
cirus   Тип поиска не может быть 0. Можно не указывать не...   10.3.2017, 3:02
DarkMaster   Формально вроде 0 - это константный хендл рабочег...   10.3.2017, 10:37
WKnight   0=2   10.3.2017, 10:44
FREEON   Как правильно работать с командой While для картин...   10.3.2017, 20:49
cirus   set #a 0 while #a = 0 // пока не нашлась картинка...   11.3.2017, 2:04
FREEON   МужЫки...Слышал, что есть способ, делать проверку(...   19.3.2017, 0:34
cirus   Искать нужно статичный объект или меняющийся?   19.3.2017, 0:50
FREEON   Искать нужно статичный объект или меняющийся? Ст...   19.3.2017, 11:22
cirus   Сколько кликов вы сможете сделать вручную за секун...   19.3.2017, 12:14
FREEON   Вот... еще, что нужно автоматизировать. Необходим...   2.4.2017, 23:22
cirus   1. Найти координаты персонажа. 2. Найти ближайший ...   3.4.2017, 0:33
FREEON   1. Найти координаты персонажа. 2. Найти ближайший...   3.4.2017, 15:03
cirus   По умолчанию findimage ищет 1 картинку и поиск ост...   3.4.2017, 15:26
FREEON   Для начала уменьшить точность поиска и добавить п...   3.4.2017, 16:08
cirus   Примерно так. set #z 0 set size(%itemarray...   4.4.2017, 2:30
FREEON   Вот решил вернуться к этой теме и так сказать с но...   31.3.2018, 11:13
cirus   Ссылка не рабочая. Алгоритму вообще всё-равно гд...   31.3.2018, 11:46
FREEON   Ссылка не рабочая. Алгоритму вообще всё-равно гд...   31.3.2018, 11:58
cirus   К сообщению картинку прикрепите.   31.3.2018, 12:03
FREEON   К сообщению картинку прикрепите. Я ее в спойлер ...   31.3.2018, 12:12
cirus   Толку от ссылки в спойлере, которая у меня не откр...   31.3.2018, 12:30
FREEON   Набросал заново по быстрому :)   31.3.2018, 13:14
cirus   Одна картинка 32 бита, вторая 8. А потом пишут fin...   31.3.2018, 20:50
FREEON   Одна картинка 32 бита, вторая 8. А потом пишут fi...   1.4.2018, 2:03
cirus   Без разницы чем записывать, видео изначально было...   1.4.2018, 2:10
FREEON   А чо если сразу работать с окном игры. к примеру.....   1.4.2018, 2:14
XaЛBa   Написан скрипт на прохождение ПГ. но вся бяка, что...   20.4.2019, 18:25
XaЛBa   Проще не значит надежней. Респект, сильно, изуча...   21.4.2019, 12:13
FREEON   Не люблю команду Мув и всячески не хочу её примен...   21.4.2019, 13:02
XaЛBa   Интуитивно догадывался. терь учту, И такой же финт...   22.4.2019, 6:20
FREEON   В ручную подвести или(оставлять окола непися) геро...   20.4.2019, 20:14
XaЛBa   И ещо вопрос назрел, Ни как не выходит найти findi...   23.4.2019, 23:20
FREEON   И ещо вопрос назрел, Ни как не выходит найти find...   23.4.2019, 23:40
XaЛBa   закрашивать нужно слово ПОМОЧЬ И что не так????   23.4.2019, 23:53
FREEON   И что не так???? Первая картинка и вторая не бью...   24.4.2019, 0:14
XaЛBa   Первая картинка и вторая не бьются по размеру(раз...   24.4.2019, 12:25
XaЛBa   написал скрипт на гобов while ( hour >= 14 and ...   25.4.2019, 19:30
cirus   Скобки не нужны, везде стоит and, а значит они не...   26.4.2019, 1:54
XaЛBa   Скобки не нужны, везде стоит and, а значит они не...   26.4.2019, 10:30
cirus   Можно так сделать: set #start_time TimeStamp ...   26.4.2019, 11:28
XaЛBa   Можно так сделать: set #start_time TimeStamp ...   26.4.2019, 11:47
XaЛBa   пока так глубоко ещо не изучил все, только месяц ...   13.5.2019, 17:17
XaЛBa   создал тако йскрипт set #x1 474 //первый ...   13.5.2019, 22:40
@rbwebstore   Привет друзья! Я хотел бы помочь написать сце...   4.10.2021, 23:15


Ответить в эту темуОткрыть новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 15.9.2025, 10:38
Designed by Nickostyle