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

> Радар
genocide
сообщение 17.6.2013, 0:09
Сообщение #1


***

Novice
Сообщений: 79
Регистрация: 2.2.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.752
Возраст: 21



Скрипт ищет на радаре розовую точку, если она не оказывается в области #r, то таргет сбрасывается и поиск ведётся по новой. В конце скрипта получается переменная #assist.3 значение которой 1 - это тот самый элемент с котором и будет работать основной фарм скрипт.
в фарм скрипте должно быть что-то вроде этого:
if #assist.3 = 1 // если ассист разрешён
send $TargetRadar // таргет на радарщика
send $assist // кнопка ассиста
end_if
Если рядом с радарщиком появится моб, то выделится именно он для этого и нужна кнопка некст таргета.
Есть некоторые косяки если использовать конструкцию stop_script start_script для этого скрипта, которые я пытался поправить, но до идеала так и не дошло. По этому в нём есть закоментированая конструкция для остановки.
З.Ы. Извиняюсь, что так долго выкладывал, думал, что доработаю.
Код

//RADAR
//Скрипт тыкает на макросы с таргетами мобов
// и если моб находится в квадрате  - + #r от центра
// создаёт переменную #assist.2 и присваивает ему значение 1
// это позволит фарм скрипту взять ассист  
//------------------------------------------------
//log commands  //Включить лог
set linedelay 5 //Для забывчивых

//ХП таргета 90%
set #xtargethp 321
set #ytargethp 30
set #colortargethp 1316719    

//ищем цель в заданных пределах радара
//центр радара
set #xcentr 406
set #ycentr 90

//искомый диапазон цвета(рекомендую оставить таким)
set #color1 15472108  
set #color2 7605370  

// радиус к которому должен принадлежать таргет
set #r 7
set #r2 #r * 2

//таргеты мобов
set #maxmob 4       //количество макросов с таргетами
set #nmob random(4) //начать со случайного тагрета моба
set %mob [1] f1     //кнопки с таргетами мобов
set %mob [2] f2
set %mob [3] f3
set %mob [4] f4
set $nt  2         //кнопка "next target"
/////////////////////////////////////////////////

:start
//лучше использовать именно такой способ временной приостановки скрипта
// if #radar.6 = 0 //Выключение радара
//       wait 3s
//        goto start
//         end_if

if #nmob = #maxmob
    set #nmob 0
end_if

send escape 500 // снимаем таргет
send escape 500
        
set #nmob #nmob + 1
    send %mob [#nmob]
     waitfortarget 800
    send $nt  //некст таргет
    wait 500

//Меняя #r на какоето значение можно изменять форму квадрата поиска     
set #x #xcentr - #r    //начальная координата Х
set #y #ycentr - #r    //начальная координата Y
set #xmax #xcentr + #r //конечная координата  x
set #ymax #ycentr + #r //конечная координата Y

if_not #xtargethp #ytargethp #colortargethp // есть ли таргет?
  goto start
end_if

//Поиск
set #a findcolor (#x, #y #xmax, #ymax 1 1 (#color1-#color2) %arr 2 )
    if #a > 0
      hint (15 (нашёл #a моба #nmob координаты %arr [1 1] %arr [1 2] ))
       goto ok
else
hint (15 ( не нашёл #a ))
  goto start
    end_if

//таргет найден
:ok
while #xtargethp #ytargethp #colortargethp //держать таргет пока не начнут его бить
   set #assist.6 1  //создаёт переменную для фарм скрипта, что можно брать ассисит
   wait 300
end_while
    set #assist.6 0
goto start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
genocide
сообщение 23.6.2013, 23:26
Сообщение #2


***

Novice
Сообщений: 79
Регистрация: 2.2.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.752
Возраст: 21



Добавил: радиус автоматически увеличивается на #shift если неудачных проходов равно #maxmob т.е. когда попробовал все таргеты. После удачного прохода радиус возвращается на исходную.
Код

//RADAR
//Скрипт тыкает на макросы с таргетами мобов
// и если моб находится в квадрате  - + #r от центра
// создаёт переменную #assist.2 и присваивает ему значение 1
// это позволит фарм скрипту взять ассист  
//------------------------------------------------
//log commands  //Включить лог
set linedelay 5 //Для забывчивых

:reg
//ХП таргета 90%
set #xtargethp 321
set #ytargethp 30
set #colortargethp 1316719    

//ищем цель в заданных пределах радара
//центр радара
set #xcentr 406
set #ycentr 90

//искомый диапазон цвета(рекомендую оставить таким)
set #color1 15472108  
set #color2 7605370  

// радиус к которому должен принадлежать таргет
set #r 7
set #r2 #r * 2

//configuration
set #fail 0
set #shift 1 //шаг увеличения радиуса

//таргеты мобов
set #maxmob 4       //количество макросов с таргетами
set #nmob random(4) //начать со случайного тагрета моба
set %mob [1] f1     //кнопки с таргетами мобов
set %mob [2] f2
set %mob [3] f3
set %mob [4] f4
set $nt  2         //кнопка "next target"
/////////////////////////////////////////////////

:start
//лучше использовать именно такой способ временной приостановки скрипта
// if #radar.6 = 0 //Выключение радара
//       wait 3s
//        goto start
//         end_if

if #nmob = #maxmob
    set #nmob 0
end_if

send escape 500 // снимаем таргет
send escape 500
        
set #nmob #nmob + 1
    send %mob [#nmob]
     waitfortarget 800
    send $nt  //некст таргет
    wait 500

//Меняя #r на какоето значение можно изменять форму квадрата поиска    
set #x #xcentr - #r    //начальная координата Х
set #y #ycentr - #r    //начальная координата Y
set #xmax #xcentr + #r //конечная координата  x
set #ymax #ycentr + #r //конечная координата Y

if_not #xtargethp #ytargethp #colortargethp // есть ли таргет?
goto start
end_if

//Поиск
set #a findcolor (#x, #y #xmax, #ymax 1 1 (#color1-#color2) %arr 2 )
    if #a > 0
      hint (15 (нашёл #a моба #nmob координаты %arr [1 1] %arr [1 2] ))
       goto ok
else
hint (15 ( не нашёл #a ))
set #fail #fail + 1
           if #maxmob = #fail   //если в диапазон не попал не один моб, увеличить  радиус
            set #r #r + #shift
            end_if
  goto start
    end_if

//таргет найден
:ok
while #xtargethp #ytargethp #colortargethp //держать таргет пока не начнут его бить
   set #assist.6 1  //создаёт переменную для фарм скрипта, что можно брать ассисит
   wait 300
end_while
    set #assist.6 0
goto reg
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



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

 

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