Page 1 of 1

Шесрть - клубки

Posted: 2012-11-09 13:24:57
by Inspyre
Народ, помогите подправить скрипт,чтобы он брал определённое кол-во шесрти в бек пак, переделал и скидывал в кучку с клубками.

Code: Select all

sub dom()
wait(500)
uo.Print("Start")
start:
if uo.count('0x0DF8')<1 then
wait(10000)
uo.Print("Net shersti")
goto klubky
else
UO.Exec("waittargetground 0x1019")
UO.Exec("usetype 0x0DF8")
wait(4000)
goto start
endif

Re: Шесрть - клубки

Posted: 2012-11-09 14:55:01
by Mirage
Ставишь рядом с чаром штук 5-6 прялок. Сундук перед запуском открыть. VAR пропиши и запускай.

Code: Select all

sub main()
   var ID = 'ТУТ прописать ID сундука'
   var type1 = '0x0DF8'
   vat type2 = 'Тут ТИП готовых мотков'
   repeat
      GET(type1, ID, 1, 10) ; что брать, откуда, при скольких брать, сколько брать.
      Spinning_Wheel()
      PUT(type2, ID) ; что скидывать, куда.
   until uo.dead()
endsub
################## Прялка ##################
sub Spinning_Wheel()
   var LastTimer
   UO.Set('finddistance', 3)
   while UO.Count(0x0DF9)>0 or UO.Count(0x0DF8)>0
      UO.DeleteJournal()
      UO.WaitTargetGround(0x1015)
      ; ********************************
      ; Auto material
      if UO.Count(0x0DF9) || UO.Count(0x0DF8) then
         if UO.Count(0x0DF9) then
            UO.UseType(0x0DF9);
         else
            UO.UseType(0x0DF8);
         endif
      else
         return 1
      endif
      ; ********************************
      LastTimer=UO.Timer()
      repeat
         wait(300)
      until UO.Timer()>LastTimer+25
   wend
   UO.Print(' = Нитки сделаны = ')
end sub
########################################################################
Sub GET(item, cont, min, max)          ;    предмет, откуда, минимум, сколько брать
   If UO.Count( item ) < min Then
      UO.FindType( item, '-1', cont )
      if UO.FindCount() > 0 Then
         uo.moveitem('finditem', max, 'backpack')
         wait(500)
      else
         UO.Print( 'Полностью кончилось сырье' )
         UO.CancelMenu()
         UO.Exec('terminate all')
         return
      endif
   Endif
end sub
Sub PUT(item, cont)
   while UO.Count( item ) > 0
      UO.FindType( item, -1, -1 )
      UO.MoveItem( 'finditem', 0, cont )
      wait(500)
   wend
end sub

Re: Шесрть - клубки

Posted: 2012-11-09 15:09:22
by Inspyre
Хе...спасибо за такой огромный скрипт, но он выдаёт ошибку:

Error : no menu to cancel

и мне надо всего лишь на 1 прялку

Re: Шесрть - клубки

Posted: 2012-11-10 11:39:23
by Sideus

Code: Select all

Sub GET(item, cont, min, max)          ;    предмет, откуда, минимум, сколько брать
   If UO.Count( item ) < min Then
      UO.FindType( item, '-1', cont )
      if UO.FindCount() > 0 Then
         uo.moveitem('finditem', max, 'backpack')
         wait(500)
      else
         UO.Print( 'Полностью кончилось сырье' )
         UO.CancelMenu() <==== вот здесь или поставь вначале строки ";"
         return                          или вообще строку убери                           
      endif
   Endif
end sub
Sub PUT(item, cont)
   while UO.Count( item ) > 0
      UO.FindType( item, -1, -1 )
      UO.MoveItem( 'finditem', 0, cont )
      wait(500)
   wend
end sub

Re: Шесрть - клубки

Posted: 2012-11-10 12:30:34
by Inspyre
Берёт 60 шерсти, делает один клубок и выключается... почему?

Code: Select all

Sub main ()
Sub GET(item, cont, min, max)          ;    ïðåäìåò, îòêóäà, ìèíèìóì, ñêîëüêî áðàòü
   If UO.Count( '0x0DF8' ) < 1 Then
      UO.FindType( '0x0DF8', '-1', 'ground' )
      if UO.FindCount('ground') > 0 Then
         uo.moveitem('finditem', 60, 'backpack')
         wait(500)
         UO.Exec("waittargetground 0x1019")
         UO.Exec("usetype 0x0DF8")
         wait(4000)
      else
         UO.Print( 'Ïîëíîñòüþ êîí÷èëîñü ñûðüå' )
         return                                                 
      endif
   Endif
end sub
Sub PUT(item, cont)
   while UO.Count( '0x0E1D' ) > 0
      UO.FindType( '0x0E1D', -1, -1 )
      UO.MoveItem( 'finditem', 0, 'ground' )
      wait(500)
   wend
end sub

Re: Шесрть - клубки

Posted: 2012-11-10 15:53:39
by Mirage
цикла то нет.

Re: Шесрть - клубки

Posted: 2012-11-10 15:57:13
by Inspyre
Mirage wrote:цикла то нет.

Ээ...я реально на инжекте не разбираюсь, что да как к и к чему... Как это цикл дописать то?

Re: Шесрть - клубки

Posted: 2012-11-10 16:42:30
by Inspyre
Почитал урок 1, там есть про цикл. Но вот в чём фишка, там всё так написано поставишь после else wait(x) и всё...твой цикл будет бесконечным...ставлю в этом скрипте после else
wait (500) и почему-то цикл не бесконечный, а всё так же 1 раз делает и всё...

Re: Шесрть - клубки

Posted: 2012-11-10 17:08:41
by Juicy Fruit

Code: Select all

sub main()
   var ID = 'ТУТ прописать ID сундука'
   var type1 = '0x0DF8'
   vat type2 = 'Тут ТИП готовых мотков'
   while true
      GET(type1, ID, 1, 10) ; что брать, откуда, при скольких брать, сколько брать.
      Spinning_Wheel()
      PUT(type2, ID) ; что скидывать, куда.
   wend
endsub

Re: Шесрть - клубки

Posted: 2012-11-10 17:17:42
by Inspyre
Juicy Fruit wrote:

Code: Select all

sub main()
   var ID = 'ТУТ прописать ID сундука'
   var type1 = '0x0DF8'
   vat type2 = 'Тут ТИП готовых мотков'
   while true
      GET(type1, ID, 1, 10) ; что брать, откуда, при скольких брать, сколько брать.
      Spinning_Wheel()
      PUT(type2, ID) ; что скидывать, куда.
   wend
endsub


Line 6: Function not found - GET

Re: Шесрть - клубки

Posted: 2012-11-10 19:06:16
by Juicy Fruit
Эмм, скрипт миража целиком возьми, замени только функцию main(), остальное оставь как есть.

Re: Шесрть - клубки

Posted: 2012-11-10 19:24:56
by Inspyre
Успех на лицо уже. В общем взял скрипт миража и вырезал, чтобы он не делал рулоны.
Так теперь он берёт то кол-во которое мне надо, переделывает, скидывает в сундук и выключается, что сделать, чтобы он не выключался?
И ещё я в скрипте где начало sib get не прописывал итемы и тп...

Re: Шесрть - клубки

Posted: 2012-11-10 22:31:20
by Sideus
теперь бинди скрипт на кнопку, и ставь на юлуп с соответствующей задержкой :D

Re: Шесрть - клубки

Posted: 2012-11-10 22:50:33
by Inspyre
Sideus wrote:теперь бинди скрипт на кнопку, и ставь на юлуп с соответствующей задержкой :D

в чём фишка, я тоже подумал, взять уопилот и закидывать шерсть, но проблема в том, что он её не скидывает в сундук...а будет делать пока веса не станет макс)

Re: Шесрть - клубки

Posted: 2012-11-12 13:25:19
by Mirage
Свой скрипт поправил, добавил цикл. Проверь.
Хотя по советам можно было и написать самостоятельно ;)

Re: Шесрть - клубки

Posted: 2012-11-12 14:13:36
by Inspyre
Mirage wrote:Свой скрипт поправил, добавил цикл. Проверь.
Хотя по советам можно было и написать самостоятельно ;)

Благодарю тебя, о добрый человек =) Работает, вроде бы всё хорошо =)
Честно пробовал, меня и так и сяк и что-то ни в какую...