Yoko

All sides of Injection
It is currently 2026-02-05 23:06:35

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 2008-12-22 21:35:17 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
У меня такая проблемма после того как дагером разрежит труп или монстра не лутит хз почему и сразу ашибка выскакивает
типа не находит или не понимает GetWeapon( MyFork, MyShield ) .


Code:
sub AutoLoot() 
   VAR Cleaver = '0x0f51'   ; äàããåð (òèï)
   ; Ñ÷èòûâàåì îðóæèå è ùèò èç ðóê
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   VAR CorpseSer = UO.GetSerial( 'lastcorpse' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer )
endsub
;
sub AutoLoot2()
   VAR Cleaver = '0x0f51'   ; äàããåð (òèï)
   ; Ñ÷èòûâàåì îðóæèå è ùèò èç ðóê
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   If UO.Targeting() Then
      UO.CancelTarget()
   Endif
   UO.Print( 'Please, choice of corpse:' )
   UO.AddObject( 'CorpseForLoot' )
   While UO.Targeting()
      wait(100)
   Wend
   VAR CorpseSer = UO.GetSerial( 'CorpseForLoot' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer )
endsub
;
; Àâòîìàòè÷åñêè ëóòèì ñ çåìëè îêîëî ÷àðà. Îäåæäó ñðàçó ðåæåì íà áèíòû.
;
sub AutoLootGround()
   VAR Dagger = '0x0f51'   ; äàããåð (òèï)
   VAR Scissor = '0x0F9E'   ; Íîæíèöû
   VAR fastloot = 'FastLoot detected.'
   DIM Nado[27]
   Nado[0]  = '0x170B'   ; boots
   Nado[1]  = '0x1718'   ;
   Nado[2]  = '0x1516'   ; a skirt
   Nado[3]  = '0x1F03'   ; a robe
   Nado[4]  = '0x1F01'   ; a plain dress
   Nado[5]  = '0x1EFD'   ; a fancy shirt
   Nado[6]  = '0x1541'   ; a body sash
   Nado[7]  = '0x170B'   ; boots
   Nado[8]  = '0x170D'   ; sandals
   Nado[9]  = '0x1717'   ; a straw hat
   Nado[10] = '0x1539'   ; long pants   
   Nado[11] = '0x152E'   ; short pants
   Nado[12] = '0x1515'   ; a cloak
   Nado[13] = '0x1FA1'   ; tunic
   Nado[14] = '0x0EED'   ; gold coin
   Nado[15] = '0x0F3F'   ; arrows
   Nado[16] = '0x0F7A'   ; pearls, black pearls
   Nado[17] = '0x0F7B'   ; bood moss
   Nado[18] = '0x0F7D'   ; vials of blood
   Nado[19] = '0x0F84'   ; garlic
   Nado[20] = '0x0F85'   ; ginseng
   Nado[21] = '0x0F86'   ; mandrake root
   Nado[22] = '0x0F88'   ; night shade
   Nado[23] = '0x0F8C'   ; sulphorous ash
   Nado[24] = '0x0F8D'   ; spiders silk
   Nado[25] = '0x14ED'   ; a treasure map
   Nado[26] = '0x0E75'   ; backpack
   Nado[27] = '0x0f7e'   ; bones
   VAR i
   UO.Exec( 'set finddistance 3' )
   For i = 0 To 25
      UO.FindType( Nado[i], '-1', '1' )
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i < 14 Then
            UO.WaitTargetObject( 'finditem' )
            UO.UseType( Scissor )
            GetPause(500)
            CheckLag()
         Else
            If i == 23 Then
               If UO.GetQuantity( 'finditem' ) == 1 Then
                  UO.Ignore( 'finditem' )
               Else
                  UO.MoveItem( 'finditem' )
                  GetPause(350)
                  CheckLag()
               Endif
            Else
               UO.MoveItem( 'finditem' )
               GetPause(350)
               CheckLag()
            Endif
         Endif
         UO.FindType( Nado[i], '-1', '1' )
      Wend
   Next
   UO.Print( 'The loot was finished' )
endsub
;
; Ëóò óêàçàííîãî òðóïà
;
Sub CorpseLoot( Cont )
   ; ëóòèì èç Cont
   DIM Nado[40]
   ; ðåãè
   Nado[0]  = '0x0F7A'   ; pearls, black pearls
   Nado[1]  = '0x0F7B'   ; bood moss
   Nado[2]  = '0x0F84'   ; garlic
   Nado[3]  = '0x0F85'   ; ginseng
   Nado[4]  = '0x0F86'   ; mandrake root
   Nado[5]  = '0x0F88'   ; night shade
   Nado[6]  = '0x0F8C'   ; sulphorous ash
   Nado[7]  = '0x0F8D'   ; spiders silk
   ; òî ÷òî íàäî ðåçàòü íîæíèöàìè
   Nado[8] = '0x1078'   ; leather
   ; îñíîâíîé ëóò
   Nado[9]  = '0x0F78'   ; batwings   
   Nado[10] = '0x0f7e'   ; bones
   Nado[11] = '0x0F7D'   ; vials of blood
   Nado[12] = '0x0F80'   ; daemons bones
   Nado[13] = '0x0F81'   ; fertile dirt
   Nado[14] = '0x0F82'   ; dragons blood
   Nado[15] = '0x0F87'   ; eyes of newt
   Nado[16] = '0x0F8E'   ; serpents scales
   Nado[17] = '0x0F90'   ; dead woods
   Nado[18] = '0x0F91'   ; wyrms hearts
   Nado[19] = '0x0F8F'   ; volcanic ash
   Nado[20] = '0x0E34'   ; blank scrolls
   ; çîëîòî è ðóäà
   Nado[21] = '0x0EED'   ; gold coin
   Nado[22] = '0x0F23'   ; cintrines
   Nado[23] = '0x19B7'   ; magic ore
   ; ïðî÷èé ëóò
   Nado[24] = '0x0E24'   ; water bottles
   Nado[25] = '0x0F0E'   ; empty bottles
   Nado[26] = '0x0F0B'   ; total refresh
   Nado[27] = '0x0F09'   ; total mana refresh
   Nado[28] = '0x0F06'   ; shrink
   Nado[29] = '0x0F0C'   ; greater heal
   Nado[30] = '0x0F09'   ; invisibility
   Nado[31] = '0x0E21'   ; bandages
   Nado[32] = '0x0E20'   ; bloody bandages - áèíòû
   Nado[33] = '0x0F3F'   ; arrows
   Nado[34] = '0x1BD1'   ; feathers
   Nado[35] = '0x14ED'   ; a treasure map
   Nado[36] = '0x1078'   ; pile of hides
   Nado[37] = '0x0FAB'   ; duing tub
   Nado[38] = '0x1BFB'   ; bolts
   Nado[39] = '0x1089'   ; necklace

   VAR otherpack = '0x0E75'   ; backpack
   VAR i, typ, serpack
   VAR Scissor = '0x0F9E'   ; Íîæíèöû
   VAR fastloot = 'FastLoot detected.'
   For i = 0 To 39
      UO.FindType( Nado[i], -1, Cont )
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i == 8 Then
            If UO.GetColor( 'finditem' ) == '0x0000' Then
               UO.WaitTargetObject( 'finditem' )
               UO.UseType( Scissor )
               GetPause(500)
               CheckLag()
            Else
               UO.MoveItem( 'finditem' )
               GetPause(500)
               CheckLag()
            Endif
         Else
            UO.MoveItem( 'finditem' )
            GetPause(500)
            CheckLag()
         Endif
         UO.FindType( Nado[i], -1, Cont )
      Wend
   Next
   UO.FindType( otherpack, -1, Cont )
   while UO.FindCount() > 0
      serpack = UO.GetSerial( 'finditem' )
      UO.Ignore( 'finditem' )
      UO.UseObject( serpack )
      wait(500)
      CheckLag()
      CorpseLoot( serpack )
      wait(500)
      UO.FindType( otherpack, -1, Cont )
   wend
   UO.Print( 'The loot was finished' )
endsub
;
; Ïàóçà â ïåðåäàííûõ ìèëëèñåêóíäàõ, ñ ïðîâåðêîé íà ñîîáùåíèå î
; äåòåêòå ôàñòëóòà. Íå çàáóäüòå óäàëèòü ýòó ôðàçó èç æóðíàëà ïåðåä
; òåì äåéñòâèåì, ïîñëå êîòîðîãî ñòîèò ýòà ïàóçà!
Sub GetPause( ms )
   VAR t = 0
   VAR msg = 'FastLoot detected.'
   repeat
      wait(50)
      t = t + 50
   until t >= ms OR UO.InJournal( msg )
   If UO.InJournal( msg ) Then
      wait(200)
   Endif
endsub

_________________
#####################


Last edited by Franco Nero on 2008-12-23 13:37:52, edited 2 times in total.

Top
   
 Post subject:
PostPosted: 2008-12-22 22:19:19 
Offline
User avatar

Joined: 2008-09-12 05:07:34
Posts: 247
Конечно не находит и не понимает, потому что у тебя вызов функции есть, а самой функции нету. Если непонятно, поясняю, команда GetWeapon( MyFork, MyShield ) вызывает функцию. Должен быть ещё скриптик, типа
sub GetWeapon( MyFork, MyShield )

блаблабла


endsub


Top
   
 Post subject:
PostPosted: 2008-12-23 09:41:38 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
Я не знаю как помоги.

_________________
#####################


Top
   
 Post subject:
PostPosted: 2008-12-23 14:28:11 
Offline

Joined: 2008-12-13 00:00:15
Posts: 174
а откуда Милл может знать что у тебя под этой функцией?)

Code:
sub GetWeapon( MyFork, MyShield )
uo.waittargetobject('self')
uo.usetype(MyFork)
uo.usetype(MyShield)
end sub


Top
   
 Post subject:
PostPosted: 2008-12-23 15:10:16 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
Тоесть

Code:
sub GetWeapon( MyFork, MyShield )


MyFork это вэапон, а
MySheald щит *?

_________________
#####################


Top
   
 Post subject:
PostPosted: 2008-12-23 15:53:36 
Offline
User avatar

Joined: 2008-09-12 05:07:34
Posts: 247
Не, там по идее такая байда должна быть
Code:
sub GetWeapon( MyFork, MyShield )
if UO.GetGraphic(UO.ObjAtLayer('Rhand'))<>MyFork then
uo.findtype(MyFork,'-1','2')
if uo.findcount() then
uo.equip('Rhand','finditem')
wait(1000)
checklag()
else
uo.print('Оружие не найдено')
endif
endif
if UO.GetGraphic(UO.ObjAtLayer('Lhand'))<>MyShield then
uo.findtype(MyShield,'-1','2')
if uo.findcount() then
uo.equip('Lhand','finditem')
wait(1000)
checklag()
else
uo.print('Щит не найден')
endif
endif
endsub

попробуй добавить эту фигню к своему скрипту, может заработает :lol:


Top
   
 Post subject:
PostPosted: 2008-12-23 17:33:06 
Offline

Joined: 2008-12-13 00:00:15
Posts: 174
Millerbeer wrote:
Не, там по идее такая байда должна быть

Code:
VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )


фырк %)
ну да,думал там по типам )


Top
   
 Post subject:
PostPosted: 2008-12-24 10:37:41 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
Спасибо большое , сеичас попробую. :wink:

_________________
#####################


Top
   
 Post subject:
PostPosted: 2008-12-25 07:36:37 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
Code:
sub AutoLoot() 
   VAR Cleaver = '0x0f51'   ; äàããåð (òèï)
   ; Ñ÷èòûâàåì îðóæèå è ùèò èç ðóê
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   VAR CorpseSer = UO.GetSerial( 'lastcorpse' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer )
endsub
;
sub AutoLoot2()
   VAR Cleaver = '0x0f51'   ; äàããåð (òèï)
   ; Ñ÷èòûâàåì îðóæèå è ùèò èç ðóê
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   If UO.Targeting() Then
      UO.CancelTarget()
   Endif
   UO.Print( 'Please, choice of corpse:' )
   UO.AddObject( 'CorpseForLoot' )
   While UO.Targeting()
      wait(100)
   Wend
   VAR CorpseSer = UO.GetSerial( 'CorpseForLoot' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer )
endsub
;
; Àâòîìàòè÷åñêè ëóòèì ñ çåìëè îêîëî ÷àðà. Îäåæäó ñðàçó ðåæåì íà áèíòû.
;
sub AutoLootGround()
   VAR Dagger = '0x0f51'   ; äàããåð (òèï)
   VAR Scissor = '0x0F9E'   ; Íîæíèöû
   VAR fastloot = 'FastLoot detected.'
   DIM Nado[27]
   Nado[0]  = '0x170B'   ; boots
   Nado[1]  = '0x1718'   ;
   Nado[2]  = '0x1516'   ; a skirt
   Nado[3]  = '0x1F03'   ; a robe
   Nado[4]  = '0x1F01'   ; a plain dress
   Nado[5]  = '0x1EFD'   ; a fancy shirt
   Nado[6]  = '0x1541'   ; a body sash
   Nado[7]  = '0x170B'   ; boots
   Nado[8]  = '0x170D'   ; sandals
   Nado[9]  = '0x1717'   ; a straw hat
   Nado[10] = '0x1539'   ; long pants   
   Nado[11] = '0x152E'   ; short pants
   Nado[12] = '0x1515'   ; a cloak
   Nado[13] = '0x1FA1'   ; tunic
   Nado[14] = '0x0EED'   ; gold coin
   Nado[15] = '0x0F3F'   ; arrows
   Nado[16] = '0x0F7A'   ; pearls, black pearls
   Nado[17] = '0x0F7B'   ; bood moss
   Nado[18] = '0x0F7D'   ; vials of blood
   Nado[19] = '0x0F84'   ; garlic
   Nado[20] = '0x0F85'   ; ginseng
   Nado[21] = '0x0F86'   ; mandrake root
   Nado[22] = '0x0F88'   ; night shade
   Nado[23] = '0x0F8C'   ; sulphorous ash
   Nado[24] = '0x0F8D'   ; spiders silk
   Nado[25] = '0x14ED'   ; a treasure map
   Nado[26] = '0x0E75'   ; backpack
   Nado[27] = '0x0f7e'   ; bones
   VAR i
   UO.Exec( 'set finddistance 3' )
   For i = 0 To 25
      UO.FindType( Nado[i], '-1', '1' )
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i < 14 Then
            UO.WaitTargetObject( 'finditem' )
            UO.UseType( Scissor )
            GetPause(500)
            CheckLag()
         Else
            If i == 23 Then
               If UO.GetQuantity( 'finditem' ) == 1 Then
                  UO.Ignore( 'finditem' )
               Else
                  UO.MoveItem( 'finditem' )
                  GetPause(350)
                  CheckLag()
               Endif
            Else
               UO.MoveItem( 'finditem' )
               GetPause(350)
               CheckLag()
            Endif
         Endif
         UO.FindType( Nado[i], '-1', '1' )
      Wend
   Next
   UO.Print( 'The loot was finished' )
endsub
;
; Ëóò óêàçàííîãî òðóïà
;
Sub CorpseLoot( Cont )
   ; ëóòèì èç Cont
   DIM Nado[40]
   ; ðåãè
   Nado[0]  = '0x0F7A'   ; pearls, black pearls
   Nado[1]  = '0x0F7B'   ; bood moss
   Nado[2]  = '0x0F84'   ; garlic
   Nado[3]  = '0x0F85'   ; ginseng
   Nado[4]  = '0x0F86'   ; mandrake root
   Nado[5]  = '0x0F88'   ; night shade
   Nado[6]  = '0x0F8C'   ; sulphorous ash
   Nado[7]  = '0x0F8D'   ; spiders silk
   ; òî ÷òî íàäî ðåçàòü íîæíèöàìè
   Nado[8] = '0x1078'   ; leather
   ; îñíîâíîé ëóò
   Nado[9]  = '0x0F78'   ; batwings   
   Nado[10] = '0x0f7e'   ; bones
   Nado[11] = '0x0F7D'   ; vials of blood
   Nado[12] = '0x0F80'   ; daemons bones
   Nado[13] = '0x0F81'   ; fertile dirt
   Nado[14] = '0x0F82'   ; dragons blood
   Nado[15] = '0x0F87'   ; eyes of newt
   Nado[16] = '0x0F8E'   ; serpents scales
   Nado[17] = '0x0F90'   ; dead woods
   Nado[18] = '0x0F91'   ; wyrms hearts
   Nado[19] = '0x0F8F'   ; volcanic ash
   Nado[20] = '0x0E34'   ; blank scrolls
   ; çîëîòî è ðóäà
   Nado[21] = '0x0EED'   ; gold coin
   Nado[22] = '0x0F23'   ; cintrines
   Nado[23] = '0x19B7'   ; magic ore
   ; ïðî÷èé ëóò
   Nado[24] = '0x0E24'   ; water bottles
   Nado[25] = '0x0F0E'   ; empty bottles
   Nado[26] = '0x0F0B'   ; total refresh
   Nado[27] = '0x0F09'   ; total mana refresh
   Nado[28] = '0x0F06'   ; shrink
   Nado[29] = '0x0F0C'   ; greater heal
   Nado[30] = '0x0F09'   ; invisibility
   Nado[31] = '0x0E21'   ; bandages
   Nado[32] = '0x0E20'   ; bloody bandages - áèíòû
   Nado[33] = '0x0F3F'   ; arrows
   Nado[34] = '0x1BD1'   ; feathers
   Nado[35] = '0x14ED'   ; a treasure map
   Nado[36] = '0x1078'   ; pile of hides
   Nado[37] = '0x0FAB'   ; duing tub
   Nado[38] = '0x1BFB'   ; bolts
   Nado[39] = '0x1089'   ; necklace

   VAR otherpack = '0x0E75'   ; backpack
   VAR i, typ, serpack
   VAR Scissor = '0x0F9E'   ; Íîæíèöû
   VAR fastloot = 'FastLoot detected.'
   For i = 0 To 39
      UO.FindType( Nado[i], -1, Cont )
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i == 8 Then
            If UO.GetColor( 'finditem' ) == '0x0000' Then
               UO.WaitTargetObject( 'finditem' )
               UO.UseType( Scissor )
               GetPause(500)
               CheckLag()
            Else
               UO.MoveItem( 'finditem' )
               GetPause(500)
               CheckLag()
            Endif
         Else
            UO.MoveItem( 'finditem' )
            GetPause(500)
            CheckLag()
         Endif
         UO.FindType( Nado[i], -1, Cont )
      Wend
   Next
   UO.FindType( otherpack, -1, Cont )
   while UO.FindCount() > 0
      serpack = UO.GetSerial( 'finditem' )
      UO.Ignore( 'finditem' )
      UO.UseObject( serpack )
      wait(500)
      CheckLag()
      CorpseLoot( serpack )
      wait(500)
      UO.FindType( otherpack, -1, Cont )
   wend
   UO.Print( 'The loot was finished' )
endsub
;
; Ïàóçà â ïåðåäàííûõ ìèëëèñåêóíäàõ, ñ ïðîâåðêîé íà ñîîáùåíèå î
; äåòåêòå ôàñòëóòà. Íå çàáóäüòå óäàëèòü ýòó ôðàçó èç æóðíàëà ïåðåä
; òåì äåéñòâèåì, ïîñëå êîòîðîãî ñòîèò ýòà ïàóçà!
Sub GetPause( ms )
   VAR t = 0
   VAR msg = 'FastLoot detected.'
   repeat
      wait(50)
      t = t + 50
   until t >= ms OR UO.InJournal( msg )
   If UO.InJournal( msg ) Then
      wait(200)
   Endif
endsub



У меня тут фигня теперь какаято выскакивает Line 20:Function not found - CHECKLAG

Причем выскакивает на скрипте AutoLoot и на AutoLoot2, сли я не ошибаюсь перед строками CorpseLoot( CorpseSer )

_________________
#####################


Top
   
 Post subject:
PostPosted: 2008-12-25 07:37:26 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
Code:
sub AutoLoot() 
   VAR Cleaver = '0x0f51'   ; äàããåð (òèï)
   ; Ñ÷èòûâàåì îðóæèå è ùèò èç ðóê
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   VAR CorpseSer = UO.GetSerial( 'lastcorpse' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer )
endsub
;
sub AutoLoot2()
   VAR Cleaver = '0x0f51'   ; äàããåð (òèï)
   ; Ñ÷èòûâàåì îðóæèå è ùèò èç ðóê
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   If UO.Targeting() Then
      UO.CancelTarget()
   Endif
   UO.Print( 'Please, choice of corpse:' )
   UO.AddObject( 'CorpseForLoot' )
   While UO.Targeting()
      wait(100)
   Wend
   VAR CorpseSer = UO.GetSerial( 'CorpseForLoot' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer )
endsub
;
; Àâòîìàòè÷åñêè ëóòèì ñ çåìëè îêîëî ÷àðà. Îäåæäó ñðàçó ðåæåì íà áèíòû.
;
sub AutoLootGround()
   VAR Dagger = '0x0f51'   ; äàããåð (òèï)
   VAR Scissor = '0x0F9E'   ; Íîæíèöû
   VAR fastloot = 'FastLoot detected.'
   DIM Nado[27]
   Nado[0]  = '0x170B'   ; boots
   Nado[1]  = '0x1718'   ;
   Nado[2]  = '0x1516'   ; a skirt
   Nado[3]  = '0x1F03'   ; a robe
   Nado[4]  = '0x1F01'   ; a plain dress
   Nado[5]  = '0x1EFD'   ; a fancy shirt
   Nado[6]  = '0x1541'   ; a body sash
   Nado[7]  = '0x170B'   ; boots
   Nado[8]  = '0x170D'   ; sandals
   Nado[9]  = '0x1717'   ; a straw hat
   Nado[10] = '0x1539'   ; long pants   
   Nado[11] = '0x152E'   ; short pants
   Nado[12] = '0x1515'   ; a cloak
   Nado[13] = '0x1FA1'   ; tunic
   Nado[14] = '0x0EED'   ; gold coin
   Nado[15] = '0x0F3F'   ; arrows
   Nado[16] = '0x0F7A'   ; pearls, black pearls
   Nado[17] = '0x0F7B'   ; bood moss
   Nado[18] = '0x0F7D'   ; vials of blood
   Nado[19] = '0x0F84'   ; garlic
   Nado[20] = '0x0F85'   ; ginseng
   Nado[21] = '0x0F86'   ; mandrake root
   Nado[22] = '0x0F88'   ; night shade
   Nado[23] = '0x0F8C'   ; sulphorous ash
   Nado[24] = '0x0F8D'   ; spiders silk
   Nado[25] = '0x14ED'   ; a treasure map
   Nado[26] = '0x0E75'   ; backpack
   Nado[27] = '0x0f7e'   ; bones
   VAR i
   UO.Exec( 'set finddistance 3' )
   For i = 0 To 25
      UO.FindType( Nado[i], '-1', '1' )
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i < 14 Then
            UO.WaitTargetObject( 'finditem' )
            UO.UseType( Scissor )
            GetPause(500)
            CheckLag()
         Else
            If i == 23 Then
               If UO.GetQuantity( 'finditem' ) == 1 Then
                  UO.Ignore( 'finditem' )
               Else
                  UO.MoveItem( 'finditem' )
                  GetPause(350)
                  CheckLag()
               Endif
            Else
               UO.MoveItem( 'finditem' )
               GetPause(350)
               CheckLag()
            Endif
         Endif
         UO.FindType( Nado[i], '-1', '1' )
      Wend
   Next
   UO.Print( 'The loot was finished' )
endsub
;
; Ëóò óêàçàííîãî òðóïà
;
Sub CorpseLoot( Cont )
   ; ëóòèì èç Cont
   DIM Nado[40]
   ; ðåãè
   Nado[0]  = '0x0F7A'   ; pearls, black pearls
   Nado[1]  = '0x0F7B'   ; bood moss
   Nado[2]  = '0x0F84'   ; garlic
   Nado[3]  = '0x0F85'   ; ginseng
   Nado[4]  = '0x0F86'   ; mandrake root
   Nado[5]  = '0x0F88'   ; night shade
   Nado[6]  = '0x0F8C'   ; sulphorous ash
   Nado[7]  = '0x0F8D'   ; spiders silk
   ; òî ÷òî íàäî ðåçàòü íîæíèöàìè
   Nado[8] = '0x1078'   ; leather
   ; îñíîâíîé ëóò
   Nado[9]  = '0x0F78'   ; batwings   
   Nado[10] = '0x0f7e'   ; bones
   Nado[11] = '0x0F7D'   ; vials of blood
   Nado[12] = '0x0F80'   ; daemons bones
   Nado[13] = '0x0F81'   ; fertile dirt
   Nado[14] = '0x0F82'   ; dragons blood
   Nado[15] = '0x0F87'   ; eyes of newt
   Nado[16] = '0x0F8E'   ; serpents scales
   Nado[17] = '0x0F90'   ; dead woods
   Nado[18] = '0x0F91'   ; wyrms hearts
   Nado[19] = '0x0F8F'   ; volcanic ash
   Nado[20] = '0x0E34'   ; blank scrolls
   ; çîëîòî è ðóäà
   Nado[21] = '0x0EED'   ; gold coin
   Nado[22] = '0x0F23'   ; cintrines
   Nado[23] = '0x19B7'   ; magic ore
   ; ïðî÷èé ëóò
   Nado[24] = '0x0E24'   ; water bottles
   Nado[25] = '0x0F0E'   ; empty bottles
   Nado[26] = '0x0F0B'   ; total refresh
   Nado[27] = '0x0F09'   ; total mana refresh
   Nado[28] = '0x0F06'   ; shrink
   Nado[29] = '0x0F0C'   ; greater heal
   Nado[30] = '0x0F09'   ; invisibility
   Nado[31] = '0x0E21'   ; bandages
   Nado[32] = '0x0E20'   ; bloody bandages - áèíòû
   Nado[33] = '0x0F3F'   ; arrows
   Nado[34] = '0x1BD1'   ; feathers
   Nado[35] = '0x14ED'   ; a treasure map
   Nado[36] = '0x1078'   ; pile of hides
   Nado[37] = '0x0FAB'   ; duing tub
   Nado[38] = '0x1BFB'   ; bolts
   Nado[39] = '0x1089'   ; necklace

   VAR otherpack = '0x0E75'   ; backpack
   VAR i, typ, serpack
   VAR Scissor = '0x0F9E'   ; Íîæíèöû
   VAR fastloot = 'FastLoot detected.'
   For i = 0 To 39
      UO.FindType( Nado[i], -1, Cont )
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i == 8 Then
            If UO.GetColor( 'finditem' ) == '0x0000' Then
               UO.WaitTargetObject( 'finditem' )
               UO.UseType( Scissor )
               GetPause(500)
               CheckLag()
            Else
               UO.MoveItem( 'finditem' )
               GetPause(500)
               CheckLag()
            Endif
         Else
            UO.MoveItem( 'finditem' )
            GetPause(500)
            CheckLag()
         Endif
         UO.FindType( Nado[i], -1, Cont )
      Wend
   Next
   UO.FindType( otherpack, -1, Cont )
   while UO.FindCount() > 0
      serpack = UO.GetSerial( 'finditem' )
      UO.Ignore( 'finditem' )
      UO.UseObject( serpack )
      wait(500)
      CheckLag()
      CorpseLoot( serpack )
      wait(500)
      UO.FindType( otherpack, -1, Cont )
   wend
   UO.Print( 'The loot was finished' )
endsub
;
; Ïàóçà â ïåðåäàííûõ ìèëëèñåêóíäàõ, ñ ïðîâåðêîé íà ñîîáùåíèå î
; äåòåêòå ôàñòëóòà. Íå çàáóäüòå óäàëèòü ýòó ôðàçó èç æóðíàëà ïåðåä
; òåì äåéñòâèåì, ïîñëå êîòîðîãî ñòîèò ýòà ïàóçà!
Sub GetPause( ms )
   VAR t = 0
   VAR msg = 'FastLoot detected.'
   repeat
      wait(50)
      t = t + 50
   until t >= ms OR UO.InJournal( msg )
   If UO.InJournal( msg ) Then
      wait(200)
   Endif
endsub



У меня тут фигня теперь какаято выскакивает Line 20:Function not found - CHECKLAG

Причем выскакивает на скрипте AutoLoot и на AutoLoot2, сли я не ошибаюсь перед строками CorpseLoot( CorpseSer )

_________________
#####################


Top
   
 Post subject:
PostPosted: 2008-12-25 08:19:55 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Franco Nero wrote:
У меня тут фигня теперь какаято выскакивает Line 20:Function not found - CHECKLAG
Причем выскакивает на скрипте AutoLoot и на AutoLoot2, сли я не ошибаюсь перед строками CorpseLoot( CorpseSer )


http://forum.yoko.com.ua/viewtopic.php?t=7379


Top
   
 Post subject:
PostPosted: 2008-12-25 09:25:23 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
Это я исправил спасибо, теперь проблемма в том что после разрезания трупа лут с пола не поднимает , золото не собирается в бэкпак.

Code:
; AutoLoot. v.1.11b (c) Edred 
;
; Автоматический лут трупа. Три варианта скрипта - первый на последний
; труп, второй вызывает прицел для указания трупа. Лутится только то,
; что указано в массиве. Третий вариант - лутим с земли около чара.
;
sub AutoLoot()
   VAR Cleaver = '0x0EC2'   ; кливер (тип)
   ; Считываем оружие и щит из рук
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   VAR CorpseSer = UO.GetSerial( 'lastcorpse' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer ) 
endsub
;
sub AutoLoot2()
   VAR Cleaver = '0x0ec2'   ; кливер (тип)
   ; Считываем оружие и щит из рук
   VAR MyFork = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   VAR MyShield = UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) )
   If MyFork == '0x0000' Then
      MyFork = ''
   Endif
   If MyShield == '0x0000' Then
      MyShield = ''
   Endif
   ;
   If UO.Targeting() Then
      UO.CancelTarget()
   Endif
   UO.Print( 'Please, choice of corpse:' )
   UO.AddObject( 'CorpseForLoot' )
   While UO.Targeting()
      wait(100)
   Wend
   VAR CorpseSer = UO.GetSerial( 'CorpseForLoot' )
   CheckLag()
   UO.WaitTargetObject( CorpseSer )
   UO.UseType( Cleaver )
   wait(1000)
   CheckLag()
   GetWeapon( MyFork, MyShield )
   UO.UseObject( CorpseSer )
   wait(500)
   CheckLag()
   CorpseLoot( CorpseSer )
endsub
;
; Автоматически лутим с земли около чара. Одежду сразу режем на бинты.
;
sub AutoLootGround()
   VAR Cleaver = '0x0ec2'   ; кливер (тип)
   VAR Scissor = '0x0f9e'   ; Ножницы
   VAR fastloot = 'FastLoot detected.'
   DIM Nado[27]
   Nado[0]  = '0x170C'   ; boots
   Nado[1]  = '0x1718'   ;
   Nado[2]  = '0x1516'   ; a skirt
   Nado[3]  = '0x1F03'   ; a robe
   Nado[4]  = '0x1F01'   ; a plain dress
   Nado[5]  = '0x1EFD'   ; a fancy shirt
   Nado[6]  = '0x1541'   ; a body sash
   Nado[7]  = '0x170B'   ; boots
   Nado[8]  = '0x170D'   ; sandals
   Nado[9]  = '0x1717'   ; a straw hat
   Nado[10] = '0x1539'   ; long pants   
   Nado[11] = '0x152E'   ; short pants
   Nado[12] = '0x1515'   ; a cloak
   Nado[13] = '0x1FA1'   ; tunic
   Nado[14] = '0x0EED'   ; gold coin
   Nado[15] = '0x0F3F'   ; arrows
   Nado[16] = '0x0F7A'   ; pearls, black pearls
   Nado[17] = '0x0F7B'   ; bood moss
   Nado[18] = '0x0F7D'   ; vials of blood
   Nado[19] = '0x0F84'   ; garlic
   Nado[20] = '0x0F85'   ; ginseng
   Nado[21] = '0x0F86'   ; mandrake root
   Nado[22] = '0x0F88'   ; night shade
   Nado[23] = '0x0F8C'   ; sulphorous ash
   Nado[24] = '0x0F8D'   ; spiders silk
   Nado[25] = '0x14ED'   ; a treasure map
   Nado[26] = '0x0E75'   ; backpack
   VAR i
   UO.Exec( 'set finddistance 3' )
   For i = 0 To 25
      UO.FindType( Nado[i],-1,'lastcontainer')
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i < 14 Then
            UO.WaitTargetObject( 'finditem' )
            UO.UseType( Scissor )
            GetPause(500)
            CheckLag()
         Else
            If i == 23 Then
               If UO.GetQuantity( 'finditem' ) == 1 Then
                  UO.Ignore( 'finditem' )
               Else
                  UO.MoveItem( 'finditem' )
                  GetPause(350)
                  CheckLag()
               Endif
            Else
               UO.MoveItem( 'finditem' )
               GetPause(350)
               CheckLag()
            Endif
         Endif
         UO.FindType( Nado[i], '-1','lastcontainer')
      Wend
   Next
   UO.Print( 'The loot was finished' )
endsub
;
; Лут указанного трупа
;
Sub CorpseLoot( Cont )
   ; лутим из Cont
   DIM Nado[40]
   ; реги
   Nado[0]  = '0x0F7A'   ; pearls, black pearls
   Nado[1]  = '0x0F7B'   ; bood moss
   Nado[2]  = '0x0F84'   ; garlic
   Nado[3]  = '0x0F85'   ; ginseng
   Nado[4]  = '0x0F86'   ; mandrake root
   Nado[5]  = '0x0F88'   ; night shade
   Nado[6]  = '0x0F8C'   ; sulphorous ash
   Nado[7]  = '0x0F8D'   ; spiders silk
   ; то что надо резать ножницами
   Nado[8] = '0x1078'   ; leather
   ; основной лут
   Nado[9]  = '0x0F78'   ; batwings   
   Nado[10] = '0x0F7E'   ; bones
   Nado[11] = '0x0F7D'   ; vials of blood
   Nado[12] = '0x0F80'   ; daemons bones
   Nado[13] = '0x0F81'   ; fertile dirt
   Nado[14] = '0x0F82'   ; dragons blood
   Nado[15] = '0x0F87'   ; eyes of newt
   Nado[16] = '0x0F8E'   ; serpents scales
   Nado[17] = '0x0F90'   ; dead woods
   Nado[18] = '0x0F91'   ; wyrms hearts
   Nado[19] = '0x0F8F'   ; volcanic ash
   Nado[20] = '0x0E34'   ; blank scrolls
   ; золото и руда
   Nado[21] = '0x0EED'   ; gold coin
   Nado[22] = '0x0F23'   ; cintrines
   Nado[23] = '0x19B7'   ; magic ore
   ; прочий лут
   Nado[24] = '0x0E24'   ; water bottles
   Nado[25] = '0x0F0E'   ; empty bottles
   Nado[26] = '0x0F0B'   ; total refresh
   Nado[27] = '0x0F09'   ; total mana refresh
   Nado[28] = '0x0F06'   ; shrink
   Nado[29] = '0x0F0C'   ; greater heal
   Nado[30] = '0x0F09'   ; invisibility
   Nado[31] = '0x0E21'   ; bandages
   Nado[32] = '0x0E20'   ; bloody bandages - бинты
   Nado[33] = '0x0F3F'   ; arrows
   Nado[34] = '0x1BD1'   ; feathers
   Nado[35] = '0x14ED'   ; a treasure map
   Nado[36] = '0x1078'   ; pile of hides
   Nado[37] = '0x0FAB'   ; duing tub
   Nado[38] = '0x1BFB'   ; bolts
   Nado[39] = '0x1089'   ; necklace

   VAR otherpack = '0x0E75'   ; backpack
   VAR i, typ, serpack
   VAR Scissor = '0x0f9e'   ; Ножницы
   VAR fastloot = 'FastLoot detected.'
   For i = 0 To 39
      UO.FindType( Nado[i], -1, Cont )
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i == 8 Then
            If UO.GetColor( 'finditem' ) == '0x0000' Then
               UO.WaitTargetObject( 'finditem' )
               UO.UseType( Scissor )
               GetPause(500)
               CheckLag()
            Else
               UO.MoveItem( 'finditem' )
               GetPause(500)
               CheckLag()
            Endif
         Else
            UO.MoveItem( 'finditem' )
            GetPause(500)
            CheckLag()
         Endif
         UO.FindType( Nado[i], -1, Cont )
      Wend
   Next
   UO.FindType( otherpack, -1, Cont )
   while UO.FindCount() > 0
      serpack = UO.GetSerial( 'finditem' )
      UO.Ignore( 'finditem' )
      UO.UseObject( serpack )
      wait(500)
      CheckLag()
      CorpseLoot( serpack )
      wait(500)
      UO.FindType( otherpack, -1, Cont )
   wend
   UO.Print( 'The loot was finished' )
endsub
;
; Пауза в переданных миллисекундах, с проверкой на сообщение о
; детекте фастлута. Не забудьте удалить эту фразу из журнала перед
; тем действием, после которого стоит эта пауза!
Sub GetPause( ms )
   VAR t = 0
   VAR msg = 'FastLoot detected.'
   repeat
      wait(50)
      t = t + 50
   until t >= ms OR UO.InJournal( msg )
   If UO.InJournal( msg ) Then
      wait(200)
   Endif
endsub
;
sub GetWeapon( MyFork, MyShield )
if UO.GetGraphic(UO.ObjAtLayer('Rhand'))<>MyFork then
uo.findtype(MyFork,'-1','2')
if uo.findcount() then
uo.equip('Rhand','finditem')
wait(1000)
checklag()
else
uo.print('Оружие не найдено')
endif
endif
if UO.GetGraphic(UO.ObjAtLayer('Lhand'))<>MyShield then
uo.findtype(MyShield,'-1','2')
if uo.findcount() then
uo.equip('Lhand','finditem')
wait(1000)
checklag()
else
uo.print('Щит не найден')
endif
endif
endsub


sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(100)
until UO.InJournal('backpack')
end sub

_________________
#####################


Top
   
 Post subject:
PostPosted: 2008-12-25 10:54:28 
Offline

Joined: 2008-12-19 10:53:28
Posts: 19
Все я разобрался autoloot i autoloot2 собирают вещи из трупов.
Только один скрипт из них не работает это AutoLootGround каторыи должен с земли собирать барахлишко. но он почемуто запускается и выключается нечего не собирает с земли.

Code:
 sub AutoLootGround() 
   VAR Cleaver = '0x0ec2'   ; êëèâåð (òèï)
   VAR Scissor = '0x0f9e'   ; Íîæíèöû
   VAR fastloot = 'FastLoot detected.'
   DIM Nado[27]
   Nado[0]  = '0x170C'   ; boots
   Nado[1]  = '0x1718'   ;
   Nado[2]  = '0x1516'   ; a skirt
   Nado[3]  = '0x1F03'   ; a robe
   Nado[4]  = '0x1F01'   ; a plain dress
   Nado[5]  = '0x1EFD'   ; a fancy shirt
   Nado[6]  = '0x1541'   ; a body sash
   Nado[7]  = '0x170B'   ; boots
   Nado[8]  = '0x170D'   ; sandals
   Nado[9]  = '0x1717'   ; a straw hat
   Nado[10] = '0x1539'   ; long pants   
   Nado[11] = '0x152E'   ; short pants
   Nado[12] = '0x1515'   ; a cloak
   Nado[13] = '0x1FA1'   ; tunic
   Nado[14] = '0x0EED'   ; gold coin
   Nado[15] = '0x0F3F'   ; arrows
   Nado[16] = '0x0F7A'   ; pearls, black pearls
   Nado[17] = '0x0F7B'   ; bood moss
   Nado[18] = '0x0F7D'   ; vials of blood
   Nado[19] = '0x0F84'   ; garlic
   Nado[20] = '0x0F85'   ; ginseng
   Nado[21] = '0x0F86'   ; mandrake root
   Nado[22] = '0x0F88'   ; night shade
   Nado[23] = '0x0F8C'   ; sulphorous ash
   Nado[24] = '0x0F8D'   ; spiders silk
   Nado[25] = '0x14ED'   ; a treasure map
   Nado[26] = '0x0E75'   ; backpack
   VAR i
   UO.Exec( 'set finddistance 3' )
   For i = 0 To 25
      UO.FindType( Nado[i],-1,'lastcontainer')
      While UO.FindCount() > 0
         DeleteJournal( fastloot )
         If i < 14 Then
            UO.WaitTargetObject( 'finditem' )
            UO.UseType( Scissor )
            GetPause(500)
            CheckLag()
         Else
            If i == 23 Then
               If UO.GetQuantity( 'finditem' ) == 1 Then
                  UO.Ignore( 'finditem' )
               Else
                  UO.MoveItem( 'finditem' )
                  GetPause(350)
                  CheckLag()
               Endif
            Else
               UO.MoveItem( 'finditem' )
               GetPause(350)
               CheckLag()
            Endif
         Endif
         UO.FindType( Nado[i], '-1','lastcontainer')
      Wend
   Next
   UO.Print( 'The loot was finished' )
endsub


Вот тут не понятно почему он не работает помогите пожалста разобратся.

_________________
#####################


Top
   
 Post subject:
PostPosted: 2008-12-25 17:56:51 
Offline
User avatar

Joined: 2008-09-12 05:07:34
Posts: 247
Ты говоришь что он для сбора вещей с земли, а ищет он эти вещи почему-то в ластконтейнере, сделай чтоб он вещи искал на земле
Code:
UO.FindType( Nado[i], '-1','lastcontainer')

UO.FindType( Nado[i], '-1','ground')


улавливаешь разницу?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 14 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited