|
|
  |
Lineage2, Interlude |
|
|
MAPTblH |
13.5.2009, 7:37
|

Registred
Сообщений: 1
Регистрация: 2.2.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.446
Возраст: 26

|
Цитата(Freelancer @ 21.3.2009, 0:35)  Кстати, если совсем туго в настройке, могу выложить скрипт для ловли на нубскую наживку, там нужно определить всего 3 точки и результат действительно 100%, если появилась полоска рыбы, значит она будет выловлена.
Не мог бы ты выложить этот скриптик, пожалуйста!
|
|
|
|
Kyryk |
16.7.2009, 17:47
|

Registred
Сообщений: 8
Регистрация: 18.8.2008 Группа: Пользователи Наличность: 0
Пользователь №: 11.019
Возраст: 28

|
Ох как давно я тут небыл (IMG: style_emoticons/default/huh.gif) вобщем так, кому интересно скрипт и его настройка за вознаграждение естественно милости прошу в личку, на интерлюде не пробовал, так как забил играть уже давно, но помочь могу. удачи всем, в своё время садил продавать по 100к пруфов правда рыбачил в 3 окна. круглосуточно врядли кто кроме гнома порыбачит, перевес - злая штука
|
|
|
|
Polkovnik |
20.8.2009, 21:39
|
 
Neophyte
Сообщений: 23
Регистрация: 31.3.2009 Группа: Пользователи Наличность: 0 Из: Я с Урала, г. Пермь.
Пользователь №: 11.698
Возраст: 54

|
Цитата(Kyryk @ 16.7.2009, 20:47)  круглосуточно врядли кто кроме гнома порыбачит, перевес - злая штука
если жадный то за рыбалку без перерыва и бын можно получить (IMG: style_emoticons/default/biggrin.gif) остановка рыбалки - это количество наживки на персе! А по сути алгоритма ловли могу подсказать анализивовать полоску рыбы нужно слева на право одним проходом, до изменения почки - шаг 3, после изменения цвета точки анализируем ее же через 2 сек - и принимаем решение что нажимать!
|
|
|
|
avgur |
21.8.2010, 12:04
|
  
Novice
Сообщений: 94
Регистрация: 15.8.2010 Группа: Пользователи Наличность: 0
Пользователь №: 12.926
Возраст: 25

|
использую на руофе вот этот скрипт: Исходный код //////////////////Настройка скрипта.\\\\\\\\\\\\\\\\\
//Панель скиллов. set $fishing F1 // скилл Fishing set $pumping F2 // скилл Pumping set $reeling F3 // скилл Reeling set $fishing_shot F4 // рыбные соулшоты
//Конфигурация окна set #use_window_core 1 // конфигурация окна (1 - вкл., 0 - выкл.) set #window_left -4 set #window_top -23 set #window_width 640 set #window_height 480
//Настройка заголовка окна рыбалки. set #x_window 221 // заголовок окна рыбалки (х) set #y_window 100 // заголовок окна рыбалки (y) set #color_window 2172969 // цвет заголовка окна рыбалки в выбранной точке
//Настройка здоровья рыбы. set #fish_hp_start 102 // крайняя левая точка полоски рыбалки (x) set #fish_hp_end 329 // крайняя правая точка полоски рыбалки (x) set #fish_hp_line 328 // общая y-коордианата для предыдущих точек set #fish_hp_color 15510046 // цвет HP рыбы (цвет синей полоски) set #fish_hp_color1 1576018 // цвет незаполненной полоски (цвет красной полоски)
//Настройка поиска здоровья рыбы. set #time_izmenenia_hp 1000 //время через сколько происходит изенение хп рыбы set #step_find_hp 10 //шаг поиска полоски хп
//////////////////Cкрипт.\\\\\\\\\\\\\\\\\
if_not #use_window_core = 0 set windowpos #window_left #window_top #window_width #window_height end_if
//Забрасываем удочку, используя скилл Fishing с быстрой панели. :zabros send $fishing wait 2000
//Ждём, пока рыба заглотит наживку. :klev if_not #fish_hp_end #fish_hp_line #fish_hp_color1 if_not #x_window #y_window #color_window goto zabros end_if goto klev end_if
//Ищем текущее здоровье рыбы, используем нужны скиллы. :poisk send $fishing_shot // используем соску end_if
set #i #fish_hp_start set #j #fish_hp_start
while #i #fish_hp_line #fish_hp_color set #i #i + #step_find_hp end_while if_not #i #fish_hp_line #fish_hp_color set #i #i - #step_find_hp end_if while #i #fish_hp_line #fish_hp_color set #i #i + 1 end_while
wait #time_izmenenia_hp
while #j #fish_hp_line #fish_hp_color set #j #j + #step_find_hp end_while if_not #j #fish_hp_line #fish_hp_color set #j #j - #step_find_hp end_if while #j #fish_hp_line #fish_hp_color set #j #j + 1 end_while if #i = #j send $reeling else send $pumping end_if
wait 500
if #x_window #y_window #color_window goto poisk else goto zabros end_if
Скрипт юзает только рилинг, вылавливает конечно удовлетворительно, около 70%, если ловить на простую, т.е. не улучшенную наживку. Но почему в те моменты когда нужно юзнуть пампинг, он всеравно юзает рилинг, причем по несколько раз подряд и выходит фейл. Пробовал поиграть с : set #time_izmenenia_hp 1000 //время через сколько происходит изенение хп рыбы set #step_find_hp 10 //шаг поиска полоски хп но ни к чему это не привело, пампинг юзается но очень редко и почти всегда с фейлом.
|
|
|
|
avgur |
23.8.2010, 16:02
|
  
Novice
Сообщений: 94
Регистрация: 15.8.2010 Группа: Пользователи Наличность: 0
Пользователь №: 12.926
Возраст: 25

|
Нашел я проблему: #fish_hp_start определяет цвет в самой левой точке ХП рыбы. Но на руофе, несмотря на то что визуально синяя полоска по всей длине одного цвета, на самом деле ее цвет отличается по оси Х (при одном и том же Y). В результате скрипт сравнивает неверные значения. (Если интересно могу выложить скриншот в BMP-формате - на нем так же определяются цвета как и в окне игры, и так же пилот видит различия по оси Х). Провел тест: Прозрачный фон в настройках игры естественно выключен. Взял значение #fish_hp_start не в крайней левой точке, а ближе к середине. В результате скрипт работает идеально, до тех пор пока значение ХП рыбы не преодолеет то место в котором я брал цвет и приблизится к левой границе, к тому месту где синяя полоска отличается (для пилота) по цвету, и в этом месте начинаются фейлы. Причем такой косяк только с синей полоской ХП рыбы, другие полоски (ХП, ЦП, МП перса, ХП моба, сопартийца и т.д. имеют один цвет по всей длине). Возможно ли это как-то обойти? Нашел способ: Самая верхняя и самая нижняя по Y точка полоски ХП рыбы имеют одинаковый цвет, точней отличия есть, но они уже рядом с крайней левой точкой. Поэтому скилы юзаются нормально и своевременно, ловится рыбка очень хорошо (IMG: style_emoticons/default/smile.gif)
|
|
|
|
Dimitriy |
24.8.2010, 19:51
|
 
Neophyte
Сообщений: 32
Регистрация: 3.10.2008 Группа: Пользователи Наличность: 0
Пользователь №: 11.158
Возраст: 20

|
Это вроде мой даже скрипт был. (IMG: style_emoticons/default/blink.gif) Тока хорошо прокоментированый,избавлен от сосок и от убийства мобов (IMG: style_emoticons/default/biggrin.gif) (IMG: style_emoticons/default/biggrin.gif) Если я не ошибаюсь то писал его под Интерлюд,не думал что он на руофе будет щас работать) Скрипт очень старый и не полноценный несмотря на доработки. Можно попробывать после первого прохода поиска ХП рыбы прибавить к координате,скажем 10, и проверить точку там. Тогда в теории мы должны получить место где нет ХП. После задержки изменения хп рыбы убрать повторный поиск ганицы ХП рыбы и заменить его на простейшую проверку цвета в последней точке(если рыба вырывается то в той точке где замеряли, +10, скорее всего снова будет хп рыбы,значит нам надо "подсекать",если же хп рыбы там не будет то просто "тянуть"). Конечно число 10 взято с неба,с ним можно поэкперементировать. Если такой алгоритм и будет работать, то раза в два быстрее предыдущего алгоритма.
--------------------
«Выживает не самый сильный и не самый умный, а тот, кто быстрее приспособиться.» Ч.Дарвин.
|
|
|
|
avgur |
25.8.2010, 5:33
|
  
Novice
Сообщений: 94
Регистрация: 15.8.2010 Группа: Пользователи Наличность: 0
Пользователь №: 12.926
Возраст: 25

|
Цитата(Dimitriy @ 24.8.2010, 20:51)  Это вроде мой даже скрипт был. (IMG: style_emoticons/default/blink.gif) Тока хорошо прокоментированый,избавлен от сосок и от убийства мобов (IMG: style_emoticons/default/biggrin.gif) (IMG: style_emoticons/default/biggrin.gif) Если я не ошибаюсь то писал его под Интерлюд,не думал что он на руофе будет щас работать) так и есть, просто этот профессиональный скрипт был постепенно адаптирован для любителей. Последнюю самою простую версию выкладывал Freelancer. Чтобы следить за ХП персонажа и убивать мобов, мне проще написать еще один скрипт, прерывающий рыбалку и потом вновь запускающий, но опять же я простой любитель (IMG: style_emoticons/default/smile.gif) Если честно после недели мучений я хотел плюнуть на эту рыбалку, но в момент отчаяния снизошло озарение, и сейчас все работает. Вашу идею пытались реализовать в 75 посте этой темы https://forum.uokit.com/index.php?showt...15341&st=60А вот моя версия: Исходный код /////////////////Настройка скрипта.\\\\\\\\\\\\\\\\\
//Панель скиллов. set $fishing F1 // скилл Fishing set $pumping F2 // скилл Pumping тянуть set $reeling F3 // скилл Reeling подсеч set $fishing_shot F4 // рыбные соулшоты
//Конфигурация окна set #use_window_core 0 // конфигурация окна (1 - вкл., 0 - выкл.) set #window_left -4 set #window_top -23 set #window_width 640 set #window_height 480
//Настройка заголовка окна рыбалки. set #x_window 791 // заголовок окна рыбалки (х) set #y_window 123 // заголовок окна рыбалки (y) set #color_window 2502450 // цвет заголовка окна рыбалки в выбранной точке
//Настройка здоровья рыбы. set #fish_hp_start 768// крайняя левая точка полоски рыбалки (x) set #fish_hp_line 370 // y-коордианата левой точки полоски рыбы set #fish_hp_color 16560896 // цвет HP рыбы (цвет синей полоски)
//Настройка поиска здоровья рыбы. set #time_izmenenia_hp 1000 //время через сколько происходит изенение хп рыбы set #step_find_hp 1 //шаг поиска полоски хп
//////////////////Cкрипт.\\\\\\\\\\\\\\\\\
if_not #use_window_core = 0 set windowpos #window_left #window_top #window_width #window_height end_if
//Забрасываем удочку, используя скилл Fishing с быстрой панели. :zabros wait 2000 send $fishing wait 2000
//Ждём, пока рыба заглотит наживку. :klev if_not #fish_hp_start #fish_hp_line #fish_hp_color if_not #x_window #y_window #color_window goto zabros end_if goto klev end_if
//Ищем текущее здоровье рыбы, используем нужны скиллы. :poisk send $fishing_shot // используем соску end_if
set #i #fish_hp_start
while #i #fish_hp_line #fish_hp_color set #i #i + #step_find_hp end_while
set #i #i + 5 wait #time_izmenenia_hp
if #i #fish_hp_line #fish_hp_color send $reeling //подсеч F3 else send $pumping // тянуть F2 end_if wait 100
if #x_window #y_window #color_window goto poisk else goto zabros end_if
В настройках надо определять только синюю полоску. Скорость работы скрипта действительно в 2-4 раза выше. Скрипт "дергает" так же быстро как я это делаю руками (даже быстрей), чего не скажешь о предыдущем скрипте даже с минимально допустимыми значениями wait. Dimitriy, спасибо что Вы есть (IMG: style_emoticons/default/smile.gif)
|
|
|
|
Dimitriy |
25.8.2010, 12:29
|
 
Neophyte
Сообщений: 32
Регистрация: 3.10.2008 Группа: Пользователи Наличность: 0
Пользователь №: 11.158
Возраст: 20

|
(IMG: style_emoticons/default/rolleyes.gif) (IMG: style_emoticons/default/blush.gif) (IMG: style_emoticons/default/blush.gif) Ну раз устраивает пользуйтесь. Давно я тут небыл и не читал всех постов. Не думал что кому-то толкомп пригодиться. И НЗ,благодари тех кто дароботал,так как насколько помню сам ты было много чего в скрипте, дома ещё потом дорабоатыл но не выкладывал больше(времени небыло). да и щас уже давно не играю. Ещё раз пользуйтесь наздоровье.
--------------------
«Выживает не самый сильный и не самый умный, а тот, кто быстрее приспособиться.» Ч.Дарвин.
|
|
|
|
avgur |
25.8.2010, 15:30
|
  
Novice
Сообщений: 94
Регистрация: 15.8.2010 Группа: Пользователи Наличность: 0
Пользователь №: 12.926
Возраст: 25

|
Цитата(Zhorzh @ 23.8.2010, 22:48)  оттенки одного цвета могут иметь форму 123*****, можно сравнивать диапазоны (IMG: style_emoticons/default/wink.gif) можно задать диапазон цветов в операторах if и while Код :klev if_not #fish_hp_start #fish_hp_line 8725998 [17560896] //цвета от голубого до темно-синего if_not #x_window #y_window #color_window goto zabros end_if goto klev end_if
но как показал тест пилот верно видит цвет из диапазона не более плюс минус 1 миллион, при большем диапазоне (а нам нужен большой диапазон) пилот нифига не видит. Вроде бы диапазон можно и вот так задать: get color #fish_hp_color #x #y if #fish_hp_color >= 8725998 and #fish_hp_color <= 17560896 но сомневаюсь что это возможно применить в скрипте на рыбалку. Во всяком случае мне не хватает воображения чтобы придумать алгоритм.
|
|
|
|
Zhorzh |
25.8.2010, 23:18
|
  
Novice
Сообщений: 58
Регистрация: 2.5.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.821

|
Цитата(-JC- @ 25.8.2010, 23:44)  число цвета никакого отношения к "диапазону" не имеет. это просто число, сформированное из трех байт насыщенности красного, синего и зеленого каналов путем их сдвига влево по 8. поэтому чистый синий будет иметь код 16,7 миллионов, а чистый красный всего лишь 255... "диапазоны" вам не помогут
не стоит категорично утверждать то, что не проверяли, или что лично у вас не сработало (IMG: style_emoticons/default/wink.gif)
|
|
|
|
avgur |
26.8.2010, 19:15
|
  
Novice
Сообщений: 94
Регистрация: 15.8.2010 Группа: Пользователи Наличность: 0
Пользователь №: 12.926
Возраст: 25

|
Цитата(avgur @ 25.8.2010, 16:30)  Во всяком случае мне не хватает воображения чтобы придумать алгоритм. на свежую голову хватило: Исходный код /////////////////Настройка скрипта.\\\\\\\\\\\\\\\\\
//Панель скиллов. set $fishing F1 // скилл Fishing set $pumping F2 // скилл Pumping тянуть set $reeling F3 // скилл Reeling подсеч set $fishing_shot F4 // рыбные соулшоты
//Конфигурация окна set #use_window_core 0 // конфигурация окна (1 - вкл., 0 - выкл.) set #window_left -4 set #window_top -23 set #window_width 640 set #window_height 480
//Настройка заголовка окна рыбалки. set #x_window 791 // заголовок окна рыбалки (х) set #y_window 123 // заголовок окна рыбалки (y) set #color_window 2502450 // цвет заголовка окна рыбалки в выбранной точке
//Настройка здоровья рыбы. set #fish_hp_start 763 // крайняя левая точка полоски рыбалки (x) set #fish_hp_line 366 // y-коордианата левой точки полоски рыбы
//Настройка поиска здоровья рыбы. set #time_izmenenia_hp 1100 //время через сколько происходит изенение хп рыбы set #step_find_hp 1 //шаг поиска полоски хп
//////////////////Cкрипт.\\\\\\\\\\\\\\\\\
if_not #use_window_core = 0 set windowpos #window_left #window_top #window_width #window_height end_if
//Забрасываем удочку, используя скилл Fishing с быстрой панели. :zabros wait 2000 send $fishing wait 2000
//Ждём, пока рыба заглотит наживку. :klev get color #fish_hp_color #fish_hp_start #fish_hp_line if_not #fish_hp_color >= 8725998 and #fish_hp_color <= 17560896 if_not #x_window #y_window #color_window goto zabros end_if goto klev end_if
//Ищем текущее здоровье рыбы, используем нужны скиллы. :poisk send $fishing_shot // используем соску end_if
set #i #fish_hp_start :poiskHP get color #fish_hp_color #i #fish_hp_line if #fish_hp_color >= 8725998 and #fish_hp_color <=17560896 set #i #i + #step_find_hp goto poiskHP end_if
wait #time_izmenenia_hp
set #i #i + 5
get color #fish_hp_color #i #fish_hp_line if #fish_hp_color >= 8725998 and #fish_hp_color <=17560896 send $reeling //подсеч F3 else send $pumping // тянуть F2 end_if
wait 100
if #x_window #y_window #color_window goto poisk else goto zabros end_if
скорость работы помедленней чем у предыдущего скрипта, но зато в настройках достаточно указать крайнюю левую точку (цвет не надо указывать) полоски ХП рыбы и любую точку окна заголовка рыбы. Диапазоны цветов я выискивал тупо щелкая в разных местах синей полоски по Ctrl+A (предварительно был сделан скриншот в BMP-формате) и находя минимальное и максимальное значение "синего цвета" ХП рыбы. Не знаю будет ли у других работать этот диапазон, т.к. у меня в настройках игры указана максимальная яркость (хз влияет ли это). Мб можно что-то оптимизировать в этом скрипте для более быстрой работы?
|
|
|
|
Grozun |
6.10.2010, 3:32
|

Registred
Сообщений: 2
Регистрация: 6.10.2010 Группа: Пользователи Наличность: 0
Пользователь №: 13.088

|
Огромное спасибо за такую тщательную проработку скрипта и опубликование его. К сожалению, у меня возникли две проблемы на руоффе, Первую я решил (освещаю для тех, кто, возможно, столкнется в будущем), а вторая просто жадет решения. 1. Пилот некорректно эмулирует нажатие кнопок F1...F12, пришлось заменить просто на 1...0 2. Главная моя головня боль, решить которую не мог в течение нескольких часов по причине отсутствия талантов к машинописным языкам (IMG: style_emoticons/default/sad.gif) Все делаю по инструкции, указываю точку и цвет окна рыбалки, точку (примерную) начала полоски ХП рыбы и диапазон цветов этой злосчастной полоски. Но... скрипт застревает все время на одном и том же месте, а именно: Код :poiskHP get color #fish_hp_color #i #fish_hp_line if #fish_hp_color >= 8547925 and #fish_hp_color <=16560896 set #i #i + #step_find_hp goto poiskHP
И крутиться на этом участке. После фейла рыбалки, снова забрасывает удочку. Ни Pumping (Тянуть), ни Reeling (Подсечь) не нажимаются (IMG: style_emoticons/default/sad.gif) Исключительно по наитию, почти не понимая зачем, удалил в этом блоке одну #i - получилось вот так: Код :poiskHP get color #fish_hp_color #i #fish_hp_line if #fish_hp_color >= 8547925 and #fish_hp_color <=16560896 set #i + #step_find_hp goto poiskHP
И, о чудо, начала нажиматься кнопка с Pumping (Тянуть), но только она одна, Reeling (Подсечь) по прежнему не нажимается. Как ни бился, ни понять почему, ни, тем более, поправить скрип я не смог. Посему прошу вашей экспертной помощи. Сам предполагаю, что мог накосячить в следующих местах: 1. Код set #window_left -4 set #window_top -23 set #window_width 1440 set #window_height 900 Разрешение монитора, вроде бы, поставил верно, а вот что за #window_left -4 и #window_top -23 разобраться не смог. (играю в оконном режиме). 2. Код //Настройка здоровья рыбы. set #fish_hp_start 505 // крайняя левая точка полоски рыбалки (x) set #fish_hp_line 763 // y-коордианата левой точки полоски рыбы Тут, возможно, тоже что-то неправильно понял. Я сделал так: указал координаты (ориентировочно на сколько смог определить) левой крайней точки в полоске ХП рыбы. Заранее спасибо за помощь! И надеюсь, что вы еще следите за этой темой.
|
|
|
|
Dimitriy |
6.10.2010, 16:18
|
 
Neophyte
Сообщений: 32
Регистрация: 3.10.2008 Группа: Пользователи Наличность: 0
Пользователь №: 11.158
Возраст: 20

|
ну попробуем вспомнить что да как. Ну если циклиться то полюбому накосячил где-то с цветами или координатами. И i ты там зря убрал. Эта страка позволяет просматривать всю полоску хп рыбы,а когда ты её убрал то получилось что смотртит тока одну точку (i:=i+5, если первоначальное значение i=1 то после при зацикленом выполнении i будет принимать значения 1,6,11,16,21,26...,А когда ты убрал там i то получилось i=5 и всё). Сразу сказать в чём именно проблема сложно, попробую просто прокоментить русскими словами что делает тот блок.попробуй разбираться почему циклиться. :poiskHP // ну это банально метка на которую потом можно ссолаться и вернуться get color #fish_hp_color #i #fish_hp_line // ну получение цвета в переменную #fish_hp_color в точке с координатами #i(как х,по декартовой) и #fish_hp_line(как y) if #fish_hp_color >= 8547925 and #fish_hp_color <=16560896 //ну тут сравниваем полученый цвет с цветом полного хп рыбы (так как цвет там не монотонный ребята подобрали какой-то интервал чтобы точность определения этого хп рыбы была намного выше) и если там ещё есть нужным нам цвет то выполняються все последующие строки set #i #i + #step_find_hp //как раз это эти строки выполняються. Тут мы сдвигаемся по i(тоесть по х в декартовой,по горизонтали слева на право) с шагом #step_find_hp
goto poiskHP //как раз это эти строки выполняються. ну так как мы всё ещё не нашли конец хп рыбы то начинаем искать дальше с новыми координатами. возращаемся на метку poiskHP и выполняем всё снова от неё. end_if // конец выполнения поиска типо(насамом деле концовка условия),но этого нет как понял потому что просто не скоировал с кода своего за ненадомностью. Логично если он циклиться то значит он не находит тебе нужный цвет. Это могут быть неправильно пределённые координаты полоски хп рыбы или же цвета. Ищи,пробуй. Думаю тебе алгоритм не стоит менять,так как он уже прошёл по куче рук и уже кажеться достик достаточного развития чтобы не глючить.
--------------------
«Выживает не самый сильный и не самый умный, а тот, кто быстрее приспособиться.» Ч.Дарвин.
|
|
|
|
|
  |
21 чел. читают эту тему (гостей: 21, скрытых пользователей: 0)
Пользователей: 0
|
|