Yoko
http://forum.yoko.com.ua/

Таргетинг
http://forum.yoko.com.ua/viewtopic.php?f=17&t=18028
Page 1 of 1

Author:  Яблочный Джем [ 2017-06-28 15:10:10 ]
Post subject:  Таргетинг

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

Author:  Incorrect User [ 2017-06-28 16:08:52 ]
Post subject:  Re: Таргетинг

uo.findman() у меня почему-то не работает, поэтому сделал через findlist
Code:
sub Attack()
   #uo.ignore("ID друга")
   #uo.ignore("ID друга")
   #uo.ignore("ID друга")
   uo.addfindlist("Player", "0x0190") # Man
   uo.addfindlist("Player", "0x0191") # Woman
   if uo.findlist("Player", "ground", 18) then
      uo.ignore("finditem")
      uo.attack("finditem")
   else
      uo.ignorereset()
      if uo.findlist("Player", "ground", 18) then
         uo.ignore("finditem")
         uo.attack("finditem")
      end if
   end if
end sub

Author:  Mirage [ 2017-06-29 09:03:06 ]
Post subject:  Re: Таргетинг

Надо у Джусса спросить как они реализовали алгоритм поиска по местности. По дефолту работало по +1 тайл от чара до дальней точки и только потом переходило к следующему +1 от чара. Я делал руками что бы дистанция циклически увеличивалась на +1 диаметр. Как локатор, расходящимися кругами, а не принцип вращения палки. Так подольше но шанс поймать ближайшего к тебе чара выше.

Author:  Incorrect User [ 2017-06-29 09:52:55 ]
Post subject:  Re: Таргетинг

Так и есть
Quote:
- Поисковые функции при поиске объектов на земле теперь всегда возвращают самый ближайший к игроку объект (если такой был найден и исключая Nearest=1)

Author:  Mirage [ 2017-06-29 22:26:35 ]
Post subject:  Re: Таргетинг

Смотри:

Code:
sub Attack1()
   uo.addfindlist("Player", "0x0190") # Man
   uo.addfindlist("Player", "0x0191") # Woman
   if uo.findlist("Player", "ground", 18) then
      uo.click("finditem")
      uo.charprint('finditem', 1061, str(UO.GetDistance('finditem')))
   else
      uo.ignorereset()
      if uo.findlist("Player", "ground", 18) then
         uo.click("finditem")
         uo.charprint('finditem', 1061, str(UO.GetDistance('finditem')))
      end if
   end if
end sub


Attachment:
скрипт1.JPG
скрипт1.JPG [ 252.02 KiB | Viewed 2469 times ]






Code:
sub Attack2()
   VAR d, n, name, targetID
   VAR vrag = 0
   uo.ignore('self')
   for d = 1 to 16 
      for n = 1 to 6
         uo.FindType(-1,-1,'ground',d,n,1)
         If uo.FindCount()> 0 then
            targetID = UO.GetSerial('finditem')
            uo.click(targetID)
            uo.charprint(targetID, 1061, str(UO.GetDistance('finditem')))
            return
         end if
      next
   next
end sub


Attachment:
скрипт2.JPG
скрипт2.JPG [ 258.89 KiB | Viewed 2469 times ]



В первом случае в 2 из 5 запусков кликается дальний НПС.
Во втором случае ВСЕГДА кликнется ближний чар.

А вот такая модицикация почти всегда кликает в дальнего чара потому что он ниже а поиск идет как я написал по принципу кручения палки:
Code:
sub Attack2()
   VAR d, n, name, targetID
   VAR vrag = 0
   uo.ignore('self')
      for n = 1 to 6
         uo.FindType(-1,-1,'ground',16,n,1)
         If uo.FindCount()> 0 then
            targetID = UO.GetSerial('finditem')
            uo.charprint(targetID, 1061, str(UO.GetDistance('finditem')))
            uo.click(targetID)         
            return
         end if
   next
end sub

Attachment:
снимок.JPG
снимок.JPG [ 27.71 KiB | Viewed 2467 times ]

При стандартном поиске на дистанции 18 тайлов красный противник в обоих случаях найдется первым несмотря на то что желтый ближе. Потому что до красного поиск дойдет быстрее.

Attachments:
снимок.JPG
снимок.JPG [ 27.75 KiB | Viewed 2469 times ]

Author:  Incorrect User [ 2017-06-29 22:42:45 ]
Post subject:  Re: Таргетинг

Всё коряво как всегда, а я вообще клиентский таргетнекст пользую.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/