Переключение оружия

Anything and all.

Moderators: Murderator+, Murderator

Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Destruction wrote:
Kynep wrote:
Grin wrote:;) ему надо найти ближайшего;)
а что бы это сделать надо перебрать все объекты, циклов может быть куда больше;)


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

uo.getDistance() ?)

А ваще - циклически пробежаццо по всем найденным и выбрать ближайшего, имхо :)


Ну дык ты видел что ему надо? искать в одной клетке потом в двух и т.д. Бред(имхо)
Avel Mink
Posts: 48
Joined: 2007-12-30 14:23:05

Post by Avel Mink »

Я не говорю что мне нужно именно такое решение, мне просто нужно найти ближайшего, каким способом это будет реализовано мне все равно. Скрипт оч надо
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Я хз о чём речь, вкратце выглядит так:

Code: Select all

var max_distance = 12
var item = "0x0000"
var c_item
uo.set( 'finddistance', str( max_distance ) )
uo.findtype( item, "-1", "ground" )
while uo.findcount()
   if uo.getDistance( 'finditem' ) <= max_distance then
      max_distance = uo.getDistance( 'finditem' )
      c_item = uo.getSerial( 'finditem' )
   endif
   uo.ignore( 'finditem' )
   uo.findtype( item, "-1", "ground" )
wend


Ну общий смысл таков :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Avel Mink
Posts: 48
Joined: 2007-12-30 14:23:05

Post by Avel Mink »

поставил на поиск синих чаров, но он ниче не находит

Code: Select all

sub a()
var max_distance = 20
var item = '0x0190'
var c_item
uo.set( 'finddistance', str( max_distance ) )
uo.findtype( item, "-1", "ground" )
while uo.findcount()
   if uo.getDistance( 'finditem' ) <= max_distance then
      max_distance = uo.getDistance( 'finditem' )
      c_item = uo.getSerial( 'finditem' )
   endif
   uo.ignore( 'finditem' )
   uo.findtype( item, "-1", "ground" )
 wend
endsub


мне сюда еще надо добавить атаку найденого чара, если он ближний ко мне
Avel Mink
Posts: 48
Joined: 2007-12-30 14:23:05

Post by Avel Mink »

ПОмогите пожалуйста
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Несколько поправок к скрипту выше
1) надо бы перед началом поиска игнор ресет задействовать.
2) разумеется ближайший ко мне человек это я сам, поэтому себя надо бы заигнорить.
3) в игре есть еще девочки. :roll:

Code: Select all

sub a() 
var max_distance = 20
var item1 = '0x0190'
var item2 = '0x0191'
var c_item = 0
uo.ignorereset()
uo.ignore('self')
uo.set( 'finddistance', str( max_distance ) )
uo.findtype( item1, "-1", "ground" )
while uo.findcount()
   if uo.getDistance( 'finditem' ) <= max_distance then
      max_distance = uo.getDistance( 'finditem' )
      c_item = uo.getSerial( 'finditem' )
   endif
   uo.ignore( 'finditem' )
   uo.findtype( item1, "-1", "ground" )
wend
uo.findtype( item2, "-1", "ground" )
while uo.findcount()
   if uo.getDistance( 'finditem' ) <= max_distance then
      max_distance = uo.getDistance( 'finditem' )
      c_item = uo.getSerial( 'finditem' )
   endif
   uo.ignore( 'finditem' )
   uo.findtype( item2, "-1", "ground" )
wend
if c_item then
   if not uo.warmode() then
      uo.warmode( 1 )
   endif
   uo.attack( c_item )
endif
uo.print( 'ATTACK TARGET!' )
uo.print( uo.getname( c_item ) )
endsub
Avel Mink
Posts: 48
Joined: 2007-12-30 14:23:05

Post by Avel Mink »

ТО что доктор прописал, огромное спасибо
Post Reply