Page 1 of 2

autotarget canceled; no item found

Posted: 2006-02-05 15:11:52
by Torki
всё нормально работало со скриптом представленным ниже, после перехода на другйо сервер и обратно - скрипт перестал нормально работать : чар нормально хайдится, поворачивается чобы бить руду,
но после (помоему не обнаруживает кирку, даже когда она вруке) и пишет autotarget cansellde; no item foundри этом появлятся курсор выбора - если им тыкать постоянно на кирку - то чар нормально капает... ну хелп вобщем :?:

Posted: 2006-02-05 15:12:20
by Torki

Code: Select all

sub Mining() 
   VAR JailPatch = 'MINE 2570 476 MINE 2575 477 MINE 2571 483 MINE 2567 487 MINE 2566 482 MINE 2562 488 MINE 2560 496 MINE 2566 487 END'     
   VAR str1, str2, i = 1, sum = 0

   UO.Set( 'distance', '3' )
   UO.Set( 'finddistance', '3' )
   JailPatch = JailPatch + ' '
   repeat
      str1 = GetWord( JailPatch, i )
      If str1 <> '' Then
         If str1 == 'MINE' Then
            ; ÊÎÏÀÅÌ
            Mine()
         Else
             If str1 == 'END' Then
                i = 0
             Else
                ; str1 - êîîðäèíàòà
                i = i + 1
                str2 = GetWord( JailPatch, i )
                GoToXY( val(str1), val(str2), 0 )                   
             Endif             
         Endif
      Else
         i = 0
      Endif
      i = i + 1
   until UO.Weight>(UO.STR*4)
endsub
 
Sub GetWord( st, nom )
; Âîçâðàùàåò ñëîâî èç ñòðîêè str çà íîìåðîì num
; åñëè òàêîãî ñëîâà íåò - âîçâðàùàåì ''
;
; Ðàçäåëèòåëåì ñëîâ ñ÷èòàåì ïðîáåë. Íåñêîëüêî ïðîáåëîâ ïîäðÿä ñ÷èòàþòñÿ çà îäèí.
; Ôóíêöèÿ ñäåëàíà áåç ðåêóðñèè ñïåöèàëüíî äëÿ ñ÷èòûâàíèÿ ñëîâ èç ñâåðõäëèííûõ ñòðîê!
;
   VAR tmpst
   VAR i, dlin, kol, start
   dlin = len( st )
   kol = 0
   start = 0
   For i=0 To dlin - 1
      If mid( st, i, 1 ) == ' ' OR i == dlin - 1 Then
         kol = kol + 1
         If kol == nom Then
            ; ýòî ïåðâûé ïðîáåë ïîñëå íóæíîãî íàì ñëîâà
            tmpst = mid( st, start, i - start )
            return tmpst
         Else
            While mid( st, i, 1 ) == ' '
               i = i + 1
            Wend
            If kol == nom - 1 Then
               start = i
            Endif
         Endif
      Endif
   Next
   tmpst = ''
   return tmpst
endsub

; Óäàëÿåì óêàçàííóþ ôðàçó èç æóðíàëà
;
Sub DeleteJournal( string1 )
   VAR nom = UO.InJournal( string1 )
   If nom > 0 Then
      UO.SetJournalLine( Nom - 1, ' ' )
      DeleteJournal( string1 )
   Endif
endsub
;
; Ïðîâåðêà íà ëàãè
; Èäåÿ - Savage
Sub CheckLag()
   DeleteJournal( 'backpack' )
   UO.Click( 'backpack' )
   repeat
      wait(100)
   until UO.InJournal( 'backpack' )
   return
end sub

SUB GoToXY(x,y,prec)
; Õîæäåíèå ïî ìèðîâûì êîîðäèíàòàì ñ òî÷íîñòüþ prec è ñêîðîñòüþ, çàâèñÿùåé îò wt
; (c) Yoko, AGRS
  UO.TextPrint('GoToXY '+STR(x)+', '+STR(y))
   Var ld=0,ldc=0
   Var dx,dy
   Var mx,my
   Var ox,oy,mk,k
start1:
   mx=UO.GetX()
   my=UO.GetY()
   dx=mx-x
   If dx<0 Then
      dx=0-dx
   EndIf
   dy=my-y
   If dy<0 Then
      dy=0-dy
   EndIf
   If dy>dx Then
      dx=dy
   EndIf
   If dx<=prec Then
      Return
   EndIf
   If dx<3 Then
      mk=70
   Else
      mk=15
   EndIf
   ox=mx
   oy=my
   For k=1 To mk
      mx=UO.GetX()
      my=UO.GetY()
      If mx<>ox Or my<>oy Then
         GoTo sdidapl
      EndIf
   Next
sdidapl:
   mx=UO.GetX()
   my=UO.GetY()
   dx=mx-x
   If dx<0 Then
      dx=0-dx
   EndIf
   dy=my-y
   If dy<0 Then
      dy=0-dy
   EndIf
   If dy>dx Then
      dx=dy
   EndIf
   If dx<=prec Then
      Return
   EndIf
   If ld==dx Then
      ldc=ldc+1
      If ldc>100 Then
         UO.Print("Can not reach location!")
         Return
      EndIf
   Else
      ld=dx
   EndIf
   If mx==x Then
      If my==y Then
         Return
      EndIf
      If my>y Then
         UO.Press(33)
         GoTo start1
      EndIf
      UO.Press(35)
      GoTo start1
   EndIf
   If mx<x Then
      If my>y Then
         UO.Press(39)
         GoTo start1
      EndIf
      If my==y Then
         UO.Press(34)
         GoTo start1
      EndIf
      UO.Press(40)
      GoTo start1
   EndIf
   If my<y Then
      UO.Press(37)
      GoTo start1
   EndIf
   If my==y Then
      UO.Press(36)
      GoTo start1
   EndIf
   UO.Press(38)
   GoTo start1
endsub

Sub Mine()
var mxm, mym, mzm, im, jm ,km, zm
var ismining, ixx, isheavy
var place=1, tool, cntr
wait(1000)
UO.UseObject('backpack')
wait(2000)
UO.FindType(0x0E85,-1,2)
wait(1000)
tool=UO.GetSerial('finditem')
    mxm = UO.GetX()
    mym = UO.GetY()
    mzm = UO.GetZ()
    UO.DeleteJournal()     
    GoHide()      # Ïðîöåäóðà óõîäà â õàéä
                # Õàéäèòñÿ äî ïîáåäíîãî.
    for im = mxm-2 to mxm+2     
      for jm = mym -2 to mym+2
         UO.WarMode(0)
          UO.Print("Now Mining In: "+str(mxm-im)+" "+str(mym-jm))
       ismining = 1
       cntr=0
       UO.DeleteJournal()
       while not UO.InJournal("íå÷åãî") and not UO.InJournal("location") and not UO.InJournal("íåëüçÿ") and not UO.InJournal("in rock")and not     UO.InJournal("reach")and not UO.InJournal("far") and ismining and cntr<20 and not UO.InJournal('àòàêóåò Âàñ')
           UO.DeleteJournal()       
          UO.Waittargettile("1341", str(im), str(jm), str(mzm))
         UO.UseObject(tool)
         if UO.Weight>(UO.STR*4) then
             goto endd
          endif
          ixx = 0
          ismining=1
          wait(100)
          while not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("íå÷åãî") and not UO.InJournal("but fail") and not UO.InJournal("íåëüçÿ") and not UO.InJournal("in rock")and not UO.InJournal("reach") and not UO.InJournal("àòàêóåò Âàñ") and ixx <= 100 #### and UO.Life>=UO.Str
            wait (100)
            ixx = ixx + 1
          wend
          if UO.InJournal("àòàêóåò Âàñ") then
            UO.Msg('guards')
            wait(500)
          end if         
          while UO.Life<UO.Str
            UO.Msg('guards')
            wait(3000)
          wend
        wend
        wait(1000)
      next
    next
    wait(1000)
EndSub

Sub GoHide()
   While not UO.Hidden()
        UO.WarMode(0)
      UO.UseSkill('Hiding')
      Wait(4000)
   Wend
endsub

Posted: 2006-02-05 15:39:25
by Grin

Code: Select all

UO.FindType(0x0E85,-1,2) 
wait(1000)
tool=UO.GetSerial('finditem')

Инжект не знает такого контейнера '2'

Code: Select all

UO.FindType(0x0E85,-1,'my')

если кирки всегда в сумке то можн ообойтись простым

Code: Select all

uo.usetype(0x0E85)

Posted: 2006-02-05 15:53:40
by Torki
спасибо) я и не надеялся , что такой длиннв код кто то будет смотреть...

Posted: 2006-02-05 15:56:33
by Torki
тока вот чёто тоже самое происходит, и ещё пишет
you can't see the target

Posted: 2006-02-05 15:59:52
by Grin
возможно фор глючит...

Posted: 2006-02-05 16:04:11
by Torki
фор? это типо скрипт? мне надо новы фор скачтаь? или как фиксить то?

Posted: 2006-02-05 19:08:14
by Grin
тебе просто надо проверить... в каких кординатах ты пытаешься покапать... + если утебя умный эмулятор то теб могут послать с таким запростом на статику

Posted: 2006-02-05 19:38:42
by Torki
а у меня так будет со всеми скриптами? а то может побскажете, где мне найти скрипт чтобы руду копать.... :( :?: :!:

Posted: 2006-02-05 19:42:59
by Grin
... от тебя требуется элементарная проверка и все... все работает только надо думать...

Posted: 2006-02-05 19:47:52
by Torki
проверка это хорошо, тока что проверять то? :?: :?: :( я просто не понимаю - напиши(те) плз :!: :( :?:

Posted: 2006-02-05 22:56:42
by Grin

Code: Select all

UO.Print("Now Mining In: "+str(mxm-im)+" "+str(mym-jm))

когда ты начинаешь копать то тебе пишут относительные координаты...
Меняются ли они? Эти координаты должны быть в пределах 2...
Дальше возможно сервер пол или рануо... тогда ситуация сложней...
нужно еще чуть чуть кода... или юзать АСМ или геттайл

Posted: 2006-02-16 23:48:39
by JekaPDA
я только что тоже с этим столкнулся... он не находит кирку.
просто если ее лоложить на пол и взять, оня меняет направление... либо так \ либо так / вот такая / не работает.
и помоему у нее вообще айди никакого нет.
Совет - просто переложить кирку.

У меня другая проблемма.
Хочу в этот срипт вставить функию, чтоб при перевесе чар уходил домой или реколился по руне., но поскольку я ужасный ньюб в скриптах, я не могу понять, куда вставить переход на SUB ухода домой...
И что зе странная комада goto endd?
Поможете?
Спасибо

Posted: 2006-02-17 00:07:18
by GrayLord
Grin wrote:

Code: Select all

UO.Print("Now Mining In: "+str(mxm-im)+" "+str(mym-jm))

когда ты начинаешь копать то тебе пишут относительные координаты...
Меняются ли они? Эти координаты должны быть в пределах 2...
Дальше возможно сервер пол или рануо... тогда ситуация сложней...
нужно еще чуть чуть кода... или юзать АСМ или геттайл

асм? а что, у меня одного чаще сваливается парсер или клиент с асм?
я тут поигрался с асм, да и забил на него. написал себе скриптов с uo.privategettile() так оно реже падает.

Posted: 2006-02-17 22:26:51
by Edred
GrayLord wrote:асм? а что, у меня одного чаще сваливается парсер или клиент с асм?
я тут поигрался с асм, да и забил на него. написал себе скриптов с uo.privategettile() так оно реже падает.


Я на АСМе живу уже давно... И ничего не падает, если все нормально делать 8)

Posted: 2006-02-18 00:17:08
by GrayLord
Edred wrote:
GrayLord wrote:асм? а что, у меня одного чаще сваливается парсер или клиент с асм?
я тут поигрался с асм, да и забил на него. написал себе скриптов с uo.privategettile() так оно реже падает.


Я на АСМе живу уже давно... И ничего не падает, если все нормально делать 8)

о, великие распальцовщики местного форума...
можно не продолжать, да?
вобщем, ро более частые падения с асмом, заметил не только я, так что, это не какая-то моя локальная данность. не нужно мне мозг разрушать.

Posted: 2006-02-18 00:33:35
by Edred
GrayLord wrote:о, великие распальцовщики местного форума...
можно не продолжать, да?
вобщем, ро более частые падения с асмом, заметил не только я, так что, это не какая-то моя локальная данность. не нужно мне мозг разрушать.


Да нет, никакой распальцовки... Просто я использовал АСМ с старой версией длл-ки инжекта, счас уже просто не помню номер, а УО и инжект снесены на ДВД чтобы не было соблазна (счас просто нет времени играть). А с последними версиями инжекта стабильности работы и впрямь не было. Но меня старая версия полностью устраивала, кстати, кажись я в свое время в топике про АСМ писал с какой версией он хорошо живет. Эта та версия, где Йоко еще не начал реализовывать новый алгоритм хождения :shock:

Posted: 2006-02-18 00:49:48
by GrayLord
Edred wrote:
GrayLord wrote:о, великие распальцовщики местного форума...
можно не продолжать, да?
вобщем, ро более частые падения с асмом, заметил не только я, так что, это не какая-то моя локальная данность. не нужно мне мозг разрушать.


Да нет, никакой распальцовки... Просто я использовал АСМ с старой версией длл-ки инжекта, счас уже просто не помню номер, а УО и инжект снесены на ДВД чтобы не было соблазна (счас просто нет времени играть). А с последними версиями инжекта стабильности работы и впрямь не было. Но меня старая версия полностью устраивала, кстати, кажись я в свое время в топике про АСМ писал с какой версией он хорошо живет. Эта та версия, где Йоко еще не начал реализовывать новый алгоритм хождения :shock:

какого еще хождения? addstep?

Posted: 2006-02-18 12:22:07
by Edred
GrayLord wrote:какого еще хождения? addstep?


Угу.

Posted: 2006-02-20 16:43:17
by GrayLord
Edred wrote:
GrayLord wrote:какого еще хождения? addstep?


Угу.

я не знаю, чего там наковыряли в новых версиях, но в какой-то из очень-очень старых, той поры, когда как раз и начались первые краши инжекта (об ту пору выпросил у yoko исходники одного из первых выпусков, что были после закрытия исходников) - там была лишь одна штука - утечки памяти, плодимые с работой журнала, да и по сей день, если избегаем журнала и еще пары каких-то там штучек, то даже на вкладке main снимать флажки необязательно...
а на счет addstep и adddir - так я пока не замечал с ними краша. веселая штука, вообще, единственно, что нет анимации шагов и поэтому, как буд то бы, лаг получается.