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

> Раздача Целей В Замкнутом Пространстве., Вешаем "маяки" на мобов
Milerio
сообщение 11.12.2011, 15:16
Сообщение #1


**

Neophyte
Сообщений: 22
Регистрация: 11.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.372
Возраст: 23



Задался идеей усовершенствовать кач. Бегать по трупам животных палевно, а если в центре сидит перс(можно бафер) и раздает цели, проверяя расстояние до них - самое оно. Собственно сам скрипт

Маяки
Исходный код

//Тру маяки
//Радар справа вверху - должен быть виден
//В его настройках должны стоять ПЕРВАЯ и ПОСЛЕДНЯЯ галка.
//Больше никаких галок
//Кнопки менияем под себя:
set $t F1 F2 F3 //кнопки с таргетами мобов
set clipboard $t
get clipboard %t
set $m F4 F5 F6 F7 //кнопки с метками (сердце\луна и т.д.)
set clipboard $m
get clipboard %m
//
//
//C задержками
set #timescan 3000 //Время на сканирование моба(мс)
set #timepress 2000 //Время на срабатывание нажатой кнопки(мс)
//
//
set #iTarg 1
set #iMetk 1
set linedelay 1 //Для забывчивых (IMG:style_emoticons/default/wink.gif)
gosub xyScan
//
//
:targe //Нажимаем поочереди кнопки с таргетами мобов
if #iTarg > 3
set #iTarg 1
end_if
send %t[1 #iTarg]
wait #timepress
set #iTarg #iTarg + 1
//
//
:scanMob //Ищем на радаре красную точку "таргета"
set #tsc timer + #timescan
set #point -1
:scan2
if #tsc > timer
set #point findcolor (#xABS1, #yABS1 #xABS2, #yABS2 1 1 (R(180-246)+G(0-88)) %poi 2)
If #point > 0
hint #point
goto metka
end_if
// msg #xABS1, #yABS1 xABS2, #yABS2
end_if
if #tsc < timer
hint (15 (Не могу взять в таргет о_0))
goto targe
end_if
goto scan2
//
//
:metka //проверяем, принадлежит ли таргет нашей "зоне" (комнате)
set #po size (%poi)
if #x1 < %poi[1 1] and %poi[1 1] < #x2
if #y1 < %poi[1 2] and %poi[1 2] < #y2
goto znak
end_if
else
if (#x1 < %poi[#po 1] and %poi[#po 1] < #x2) and (#y1 < %poi[#po 2] and %poi[#po 2] < #y2)
goto znak
end_if
//hint mob daleko
send escape
goto targe
end_if
//
//
:znak //Вешаем поочередно сердце\луну и т.д.
if #iMetk > 4
set #iMetk 1
end_if
send %m[1 #iMetk]
wait #timepress
set #iMetk #iMetk + 1
goto targe
//
//
:XYscan //привязка к окну радара и задание координат "комнаты"
get windowpos 0 [#X #Y [#width #height [#result]]]
set $a FindImage (0 0 #width #height (N.bmp) %pic 2 80 1)
if $a < 70
hint (16 (Не могу найти радар!!!))
goto XYscan
end_if
set #xXX (%pic[1 1]) + 6
set #yYY (%pic[1 2]) + 79
set #x1 #xXX - 5
set #x2 #xXX + 5
set #y1 #yYY - 5
set #y2 #yYY + 5
set #yABS1 54
set #yABS2 116
set #xABS1 #width - 136
set #xABS2 #width - 76
return
end_script


Жмет последовательно на таргеты, проверяет по радару, чтоб таргет подходил условию и вешает на него "сердце\крест..". Ну а окно майна уже на другом скрипте может тупо брать ассист по сердцу\кресту.
На этом же скрипте можно повесить баф. Но лишь бы перс при этом не сдвигался с места.

Тут есть небольшая проблема, даже две).
1. Я никакого отношения к программированию не имею. Даже даже. Поэтому очень хотелось бы критики, пусть даже в мелочах.
2. Обычно скрипт находит по файндколору три-четыре точки(розовые, на радаре). И от первой и последней отталкивается. Но точка мигает постоянно, и зачастую находятся лишние пиксели (ореол вокруг самой точки) и происходит сбой) Выделяется моб за пределами радиуса. Есть мысли как это обойти? Может как то проверять, чтоб искомые точки находились вплотную к друг другу или использовать средние две-три-четыре точки. Может вообще все придумано до меня) Хотелось бы увидеть тогда.
Прикрепленный файл  N.zip ( 590 байт ) Кол-во скачиваний: 909
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Milerio
сообщение 11.12.2011, 18:12
Сообщение #2


**

Neophyte
Сообщений: 22
Регистрация: 11.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.372
Возраст: 23



Класс) Огромное спасибо. Исправляю.

Возник другой вопрос. Если мне надо сделать последовательность не 1 2 3..1 2 3..1 2 3 а 1 2 3 2..1 2 3 2. Как это сделать проще и красивее? То есть пример из жизни, перс будет бегать по маякам не треугольником, а буквой V. Сделать то сделано, но как это сделать красивее, следуя твоему примеру?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 11.12.2011, 22:20
Сообщение #3


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Milerio @ 11.12.2011, 17:12) *

Возник другой вопрос. Если мне надо сделать последовательность не 1 2 3..1 2 3..1 2 3 а 1 2 3 2..1 2 3 2. Как это сделать проще и красивее? То есть пример из жизни, перс будет бегать по маякам не треугольником, а буквой V. Сделать то сделано, но как это сделать красивее, следуя твоему примеру?

Код
set  $F F1 F2 F3 F4 F5 F6 F7 
set clipboard $F
get clipboard %F
set #f_size size(%F[1]) - 1

set #direction 1
set #i 1
:start
if #i > #f_size
   set #i #f_size - 1
   set #direction #direction * (-1)
end_if
if #i < 1
   set #i 2
   set #direction #direction * (-1)
end_if
msg %F[1 #i]
set #i #i + ( #direction )
goto start

end_script


Кстати, в первом посте goto scanmob - теперь лишнее, т.к. метка следует сразу за этой командой


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Milerio
сообщение 11.12.2011, 23:09
Сообщение #4


**

Neophyte
Сообщений: 22
Регистрация: 11.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.372
Возраст: 23



Цитата(Zeleax @ 12.12.2011, 1:20) *




Спасибо, буду разбираться.

Вопрос с определением точек на радаре остается открытым. А если в целом - надо как то более продуманно сделать(. Есть квадрат из координат на радаре. Надо более точно определять, принадлежит ли точка из 3-5 пикселей нужного цвета этому квадрату. Цвет пикселей меняется, диапазон я более менее подобрал. Но ведь этот "сияние" вокруг точки сбивает весь поиск порой(. Как бы "отделить" сияиние от самой точки.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BadGuy
сообщение 23.12.2011, 17:58
Сообщение #5


**

Neophyte
Сообщений: 24
Регистрация: 13.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.380
Возраст: 21



Цитата(Milerio @ 12.12.2011, 0:09) *

Спасибо, буду разбираться.

Вопрос с определением точек на радаре остается открытым. А если в целом - надо как то более продуманно сделать(. Есть квадрат из координат на радаре. Надо более точно определять, принадлежит ли точка из 3-5 пикселей нужного цвета этому квадрату. Цвет пикселей меняется, диапазон я более менее подобрал. Но ведь этот "сияние" вокруг точки сбивает весь поиск порой(. Как бы "отделить" сияиние от самой точки.

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

Сообщений в этой теме
Milerio   Раздача Целей В Замкнутом Пространстве.   11.12.2011, 15:16
Zeleax   1. В ла2 не играю, скажу только по коду. Код хорош...   11.12.2011, 15:44
Milerio   А можно поподробней? Часто раздражают такие ...   11.12.2011, 15:48
Zeleax   А можно поподробней? Часто раздражают такие ...   11.12.2011, 16:34
Zeleax   Спасибо, буду разбираться. Вопрос с определение...   13.12.2011, 8:15
BadGuy   все норм была проблема с проверкой хп, но для чего...   24.12.2011, 3:18
falcon   народ можно по подробнеи расказать как привизать р...   2.1.2012, 15:15
DarkMaster   файл скачал? По поводу лишних точек. Самый просто...   2.1.2012, 19:39
BadGuy   файл скачал? По поводу лишних точек. Самый прост...   2.1.2012, 20:41
falcon   фаил скачал а куда его теперь положить или че с ни...   2.1.2012, 21:31
DarkMaster   в папку с пилотом.   3.1.2012, 8:14
falcon   DarkMaster спс все работает подскажте еше плиз в ...   3.1.2012, 14:08
DarkMaster   set #xXX (%pic[1 1]) + 6 set #yYY (%pic[1 2]) + 79...   4.1.2012, 11:18
Milerio   И правда.. Не помню, зачем так сделал. По идее se...   4.1.2012, 16:51
kvizer   готового скрипта в теме как я понимаю нет?   27.1.2012, 19:54
DarkMaster   а в 1 посту что такое тогда? и что тема делат в го...   28.1.2012, 1:44
kvizer   а в 1 посту что такое тогда? и что тема делат в г...   28.1.2012, 11:51
Claw   Жмет последовательно на таргеты, проверяет по р...   19.9.2012, 21:21


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

 

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