Резка рулонов ткани.

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Hydromarine
Posts: 56
Joined: 2009-03-16 11:51:21

Резка рулонов ткани.

Post by Hydromarine »

Доброго всем дня. Подкиньте пожалуйста какой нибудь скриптик чтобы можно было его чутка изменить или уже готовое решение.
Необходимо действие чара:
1. Есть сундук в котором лежат рулоны ткани.
2. Чар берет N кол-во рулонов в пак и режет их ножницами.
3. То что получилось складывает обратно в этот сундук.

Заранее благодарю.

Code: Select all

sub tinker() 
   uo.print('Покажи сундук с ингами')
   uo.addobject('sunduk')
        while uo.targeting()
              wait(300)
        wend
   uo.useobject('sunduk')
   wait(1000)
   checklag()
   VAR Ingi = '0x0F95'          ; Рулоны
   VAR Instrum = '0x0F9E'          ; ножницы
   VAR Clock = '0x175D'          ; Порезаная ткань
zagruzka:
   if not uo.count('0x1BEF','0x0000') then
      UO.FindType( Ingi,'0x0000', 'sunduk' )   ; Ищем инги в сундуке
      If UO.FindCount() Then
         uo.moveitem('finditem','7','backpack')
         wait(1000)
         checklag()
       else
         uo.print('Инготы закончились!!!')
         return
      Endif
      While UO.Count(Ingi,'0x0000') and uo.count(Instrum,'0x0000')
         ; Пока в паке есть инги
         UO.Print('Ostalos ' + Str( UO.Count( Ingi,'0x0000' ) ) + ' ingots' )
         UO.DeleteJournal()
         UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'clock parts' )
         UO.UseType( Instrum,'0x0000' )
               repeat
                   wait(300)
               until uo.injournal('You put|fail')
         while uo.count(Clock,'0x0000')
            UO.FindType( Clock,'0x0000','backpack' )
            UO.MoveItem( 'finditem', '0', 'sunduk' )
            wait( 1000 )
            checklag()
            UO.Print( 'Clock moved' )
          wend
      Wend
   goto zagruzka
end sub
Sub Checklag()
   deljournal('a backpack')
   uo.click('backpack')
   repeat
      wait(50)
   until uo.injournal('a backpack')
endsub
Sub deljournal(msg)
   while uo.injournal(msg)
      uo.setjournalline(uo.injournal(msg)-1,"")
   wend
endsub


Этот скрипт практически рабочий, один косяк в нем что он юзает ножницы, появляется прицел но он его не юзает на рулоны, а приходится кликать рукой тогда он кладет ткань обратно в сундук и снова берет рулоны.
Помогите подправить.
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Резка рулонов ткани.

Post by ZeroDX »

Вместо

Code: Select all

 UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'clock parts' )


Поставь

Code: Select all

UO.WaitTargetType(Ingi)
Hydromarine
Posts: 56
Joined: 2009-03-16 11:51:21

Re: Резка рулонов ткани.

Post by Hydromarine »

ААААААААААААААААААААААААААААААА РАБОТАЕТ!!! :D Спасибище!
Zaorish
Posts: 3
Joined: 2011-01-31 00:45:42

Re: Резка рулонов ткани.

Post by Zaorish »

Code: Select all

#################
### Настройки ###
###################################################################################################
###
var Chest='0x416F8500' ## - (ID) сундука.
###
var Bolts='0x0F95', Spools='0x0FA0', Cotton='0x0DF9', Cloth='0x175D' ## - (Type) Болтов, ниток, хлопка, ткани.
###
var CountBolts=10 ## - По скока брать болтов ткани для резки.
###
var CountSpools=100 ## - По скока брать ниток для крутки в болты.
###
var GrabDelay=500 ## - Задержка при перетаскивании (Работает в последних версиях).
###
###################################################################################################
### Включалка ###
#################
sub GetSpools()
  If UO.GetGlobal('GetSpoolsCheck')=='on' Then
    UO.SetGlobal('GetSpoolsCheck','off')
    UO.Exec('Exec Terminate')
  Else
    UO.Exec('Exec Spools')
    UO.SetGlobal('GetSpoolsCheck','on')
  EndIf
end sub
sub GetBolts()
  If UO.GetGlobal('GetBoltsCheck')=='on' Then
    UO.SetGlobal('GetBoltsCheck','off')
    UO.Exec('Exec Terminate')
  Else
    UO.Exec('Exec Bolts')
    UO.SetGlobal('GetBoltsCheck','on')
  EndIf
end sub
sub GetCloth()
  If UO.GetGlobal('GetClothCheck')=='on' Then
    UO.SetGlobal('GetClothCheck','off')
    UO.Exec('Exec Terminate')
  Else
    UO.Exec('Exec Cloth')
    UO.SetGlobal('GetClothCheck','on')
  EndIf
end sub
####################
### Делаем Нитки ###
####################
Sub Spools()
  Var n, CheckTime
  Dim Object[4]
  Object[1] = 'SpinningWheel_1'
  Object[2] = 'SpinningWheel_2'
  Object[3] = 'SpinningWheel_3'
  Object[4] = 'SpinningWheel_4'
  UO.Print('SELECT YOU 1')
  UO.Exec('addobject SpinningWheel_1')
  While UO.Targeting()
    Wait(1000)
  Wend
  Wait(1000)
  UO.Print('SELECT YOU 2')
  UO.Exec('addobject SpinningWheel_2')
  While UO.Targeting()
    Wait(3000)
  Wend
  Wait(1000)
  UO.Print('SELECT YOU 3')
  UO.Exec('addobject SpinningWheel_3')
  While UO.Targeting()
    Wait(3000)
  Wend
  Wait(1000)
  UO.Print('SELECT YOU 4')
  UO.Exec('addobject SpinningWheel_4')
  While UO.Targeting()
    Wait(3000)
  Wend
  UO.Set('grabdelay',STR(GrabDelay))
  UO.UseObject(Chest)
  Wait(5000)
  REPEAT
    While UO.Count(Cotton)<>0 and NOT UO.Dead()
      For n = 1 TO 4
        If UO.Waiting() Then
          UO.CancelTarget()
        EndIf
        UO.WaitTargetObject(Object[n])
        UO.UseType(Cotton)
        UO.DeleteJournal()
        CheckTime = UO.Timer()
        REPEAT
          Wait(3000)
        Until UO.InJournal('You put') or UO.InJournal("You can't") or UO.Count(Cotton)==0 or (CheckTime+250)<UO.Timer() or UO.Dead()
      Next
    Wend
    ; Скидываем нитки в сэйф
    If UO.Count(Spools) Then
      UO.FindType(Spools,'-1','-1')
      UO.Print("Move Spools to Chest")
      UO.MoveItem('finditem','all',Chest)
      Wait(4000)
    EndIf
    ; Берём хлопок из сэйфа
    UO.FindType(Cotton,'-1',Chest)
    While UO.GetQuantity('finditem')==0
      UO.Print("ERROR: Low quantity of the Cotton!!!")
      Wait(5000)
      UO.FindType(Cotton,'-1',Chest)
    Wend
    UO.Print("Get Cotton")
    UO.MoveItem('finditem','30','-1')
    Wait(4000)
  Until UO.Dead()
end sub
###################################################################################################
### Делаем болты ###
###################################################################################################
Sub Bolts()
  Var CheckTime
  UO.Print('SELECT YOU UPRIGHT LOOM')
  UO.Exec('addobject Upright_Loom')
  While UO.Targeting()
    Wait(3000)
  Wend
  UO.Set('grabdelay',STR(GrabDelay))
  UO.UseObject(Chest)
  Wait(5000)
  REPEAT
    While UO.Count(Spools)<>0 and NOT UO.Dead()
      If UO.Waiting() Then
        UO.CancelTarget()
      EndIf
      UO.WaitTargetObject('Upright_Loom')
      UO.UseType(Spools)
      UO.DeleteJournal()
      CheckTime = UO.Timer()
      REPEAT
        Wait(3000)
      Until UO.InJournal('You put') or UO.InJournal("You added") or UO.InJournal("Bolt of") or UO.InJournal("You have") or UO.Count(Spools)==0 or (CheckTime+250)<UO.Timer() or UO.Dead()
    Wend
    ; Скидываем болты в сэйф
    If UO.Count(Bolts) Then
      UO.FindType(Bolts,'-1','-1')
      UO.Print("Move Bolts to Chest")
      UO.MoveItem('finditem','all',Chest)
      Wait(4000)
      REPEAT
        UO.FindType(Bolts,'-1','1')
        If UO.FindCount() Then
          UO.MoveItem('finditem','all',Chest)
          Wait(4000)
        EndIf
      Until UO.FindCount()==0 or UO.Dead()
    EndIf
    ; Берём хлопок из сэйфа
    UO.FindType(Spools,'-1',Chest)
    While UO.GetQuantity('finditem')==0
      UO.Print("ERROR: Low quantity of the Spools!!!")
      Wait(5000)
      UO.FindType(Spools,'-1',Chest)
    Wend
    UO.Print("Get Spools")
    UO.MoveItem('finditem',CountSpools,'-1')
    Wait(4000)
  Until UO.Dead()
end sub
###################################################################################################
### Собираем Хлопок ###
###################################################################################################
sub GrabCotton()
  UO.Set('finddistance','3')
  REPEAT
    UO.FindType('0x0C4F','-1','1')
    If UO.FindCount() Then
      UO.UseObject('finditem')
      UO.DeleteJournal()
      REPEAT
        Wait(3000)
      Until UO.InJournal("You put") or UO.InJournal("You can't")
    EndIf
  Until UO.FindCount()==0 or UO.Dead()
end sub
###################################################################################################
### Режим болты ткани ###
###################################################################################################
Sub Cloth()
  UO.Print("SELECT YOU CHEST")
  UO.Exec('addobject Chest')
  While UO.Targeting()
    Wait(3000)
  Wend
  UO.Set('grabdelay',STR(GrabDelay))
  UO.UseObject('Chest')
  REPEAT
    If UO.Count(Bolts) Then
      UO.WaitTargetType(Bolts,'-1')
      UO.UseType('0x0F9E')
      UO.DeleteJournal()
      REPEAT
        Wait(3000)
      Until UO.InJournal("You put") or UO.Dead()
    EndIf
    UO.FindType(Cloth,'-1','1')
    If UO.FindCount() Then
      UO.MoveItem('finditem','all','Chest')
      Wait(1000)
    EndIf
    UO.FindType(Bolts,'-1','Chest')
    While UO.GetQuantity('finditem')==0
      UO.Print("ERROR: Low quantity of the Bolts of cloth!!!")
      Wait(5000)
      UO.FindType(Bolts,'-1','Chest')
    Wend
    UO.MoveItem('finditem',CountBolts,'-1')
    Wait(1000)
  Until UO.Dead()
end sub
#############################
### Выключаем все скрипты ###
#############################
Sub Terminate()
  UO.Print("Spools and Bolts and Cloth script: Off!")
  UO.DeleteJournal()
  UO.Exec('terminate all')
  Wait(200)
  UO.Exec('terminate all')
  Wait(200)
  UO.Exec('terminate all')
  Wait(200)
end sub


довольно таки удобный скрипт, делает из ниток Болты.. из БОлтов Ткань.. + скрипт насобирание хлопка)
Post Reply