У меня такая проблемма после того как дагером разрежит труп или монстра не лутит хз почему и сразу ашибка выскакивает
типа не находит или не понимает GetWeapon( MyFork, MyShield ) .
Конечно не находит и не понимает, потому что у тебя вызов функции есть, а самой функции нету. Если непонятно, поясняю, команда GetWeapon( MyFork, MyShield ) вызывает функцию. Должен быть ещё скриптик, типа
sub GetWeapon( MyFork, MyShield )
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
попробуй добавить эту фигню к своему скрипту, может заработает
Franco Nero wrote:У меня тут фигня теперь какаято выскакивает Line 20:Function not found - CHECKLAG Причем выскакивает на скрипте AutoLoot и на AutoLoot2, сли я не ошибаюсь перед строками CorpseLoot( CorpseSer )
; 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
Все я разобрался autoloot i autoloot2 собирают вещи из трупов.
Только один скрипт из них не работает это AutoLootGround каторыи должен с земли собирать барахлишко. но он почемуто запускается и выключается нечего не собирает с земли.