|
Раздача Целей В Замкнутом Пространстве., Вешаем "маяки" на мобов |
|
|
| Milerio |
11.12.2011, 15:16
|
 
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 байт )
Кол-во скачиваний: 950
|
|
|
|
|
|
| Milerio |
11.12.2011, 15:48
|
 
Neophyte
Сообщений: 22
Регистрация: 11.12.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.372
Возраст: 23

|
Цитата Сделал бы через указание номеров элементов массива, в котором записаны F1..F7 А можно поподробней? Часто раздражают такие "большие куски", как ты говоришь.
|
|
|
|
|
|
| Milerio |
11.12.2011, 23:09
|
 
Neophyte
Сообщений: 22
Регистрация: 11.12.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.372
Возраст: 23

|
Цитата(Zeleax @ 12.12.2011, 1:20) 
Спасибо, буду разбираться. Вопрос с определением точек на радаре остается открытым. А если в целом - надо как то более продуманно сделать(. Есть квадрат из координат на радаре. Надо более точно определять, принадлежит ли точка из 3-5 пикселей нужного цвета этому квадрату. Цвет пикселей меняется, диапазон я более менее подобрал. Но ведь этот "сияние" вокруг точки сбивает весь поиск порой(. Как бы "отделить" сияиние от самой точки.
|
|
|
|
|
|
| Milerio |
4.1.2012, 16:51
|
 
Neophyte
Сообщений: 22
Регистрация: 11.12.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.372
Возраст: 23

|
Цитата в частности мне не ясно зачем искать на большой площади, а потом проверять принадлежит ли найденное другой мЕньшей. как по мне так разумнее просто искать в маленькой площади. поидее уменьшение любого из квадратов приведет к нужному эффекту И правда.. Не помню, зачем так сделал. По идее тут
Исходный код set #x1 #xXX - 5 set #x2 #xXX + 5 set #y1 #yYY - 5 set #y2 #yYY + 5
надо увеличить\уменьшить "5". В самом радаре я делал максимальное приближение.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|