Возвращает 0x00000000

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Возвращает 0x00000000

Post by Tiger1989 »

при использовании команды ,info на живность, в частности птиц, возвращает 0x00000000, но со второго раза нормальный айди, а так же выдает uo.getx() uo.gety() uo.getdistance() uo.gethp() по нулям, но живность атачить убивать можно.

Code: Select all

sub kill_bird()
var i
UO.set('finddistance','24')
dim Bird[3]
Bird[1]="0x0005"
Bird[2]="0x0006"
Bird[3]="0x00D0"
For i=1 to 3
UO.FindType(Bird[i],"-1","ground")
   If UO.FindCount() then
      UO.Attack("finditem")
      While UO.GetHP("finditem")>0
         Walker(UO.GetX("finditem"),UO.GetY("finditem"),1)
         Wait(100)
      Wend
   End If
Next
end sub

скрипт не находит ничего хоть и вокруг существуют эти птицы и их можно убивать лутать, что делать люди умные =)
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Re: Возвращает 0x00000000

Post by Tiger1989 »

Подсказка:
Со слов Vizit0r
такой вот у вас сервер.
сначала он присылает куклу персонажа (тип + все слои одежды), а статы присылает только по запросу (когда в клиенте стягиваешь окно статов).
напомню, в стелсе статы запрашиваются через RequestStats

возможно это как то прояснить поможет ситуацию
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Возвращает 0x00000000

Post by Mirage »

чтобы получить ID или имя в визуальном виде на цель надо кликнуть.
У меня вот такой скрипт работает (правда по 1 цели)

Code: Select all

sub KillIt()
VAR MaxVes = 600
VAR n=1
var animal=0x000D #тип животного
uo.ignorereset()
Repeat
   uo.Set('finddistance', n)
   uo.FindType(animal, -1, 'ground')
   if uo.FindCount() then
      uo.resend()
      n=1                                 ; радиус поиска
      uo.attack('finditem')
      repeat                              ; Повторять
         if uo.GetDistance('finditem') > 2 then            ; если дистанция больше 2
            walker(uo.GetX('finditem'),uo.GetY('finditem'),2)      ; подкрадемся
         else
            wait(100)
         end if
      until uo.dead() or uo.GetX('finditem')==0               ; пока мы не умерли или цель не перестала существовать.
      wait(100)
      Loot()
   else
      n=n+1
      if n>10 then
         n=1
      endif
   end if
   Loot()
Until uo.Dead() || UO.Weight > MaxVes
hanthome()
end sub


Если представить тайлы вокруг чара в виде квадрата
12345
678>*
**X**
*>***
**>*Y
Твой скрипт поиск ведет всегда с дальнего левого угла квадрата в точке Y поиск закончится

В моем радиус поиска расходится от центра наружу как сонар.

*****
*234*
^1X5*
9876*
*****
Причем поиск начинается всегда с ближайшего тайла => чар всегда будет перемещаться к ближайшей жертве, а не бегать по краям экрана.
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Re: Возвращает 0x00000000

Post by Tiger1989 »

Не находит к большому сожалению.
С помощью var name=uo.GetName(uo.JournalSerial(uo.InJournal("Chicken")-1))
монжо получить вроде как его айди только дальше кроме attack(name) не че не можешь с этим сделать
ну так же moveitem() срабатывает на name но это так, для заметки, другие команды не работают с ним
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Возвращает 0x00000000

Post by ZeroDX »

А что за шард?
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Re: Возвращает 0x00000000

Post by Tiger1989 »

...
Last edited by Tiger1989 on 2011-05-20 23:38:58, edited 1 time in total.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Возвращает 0x00000000

Post by Mirage »

Галку TWI (следить за мировыми вещами) включи.
Post Reply