Carpentry

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Swite
Posts: 8
Joined: 2006-02-06 18:26:17

Carpentry

Post by Swite »

Пиплы, у кого есть скрипт на крафт куартер стафф ??
MGR
Posts: 4
Joined: 2006-02-06 16:49:05

Post by MGR »

ДЕржи. Переделал сам из крафта удочек.


Code: Select all

##################################################################### 
; Carpentry. v.1.13D (c) Edred
;
; Чар берет берет с пола логи, крафтит из них удочки и скидывает удочки
; в трэш. Если логи на полу кончились - выход.
; (Get logs from ground and craft fishing pole. Move fishing pole trash)
;
; Special Edition (for Democratic)
;
;
sub carpentry()
   VAR MyTrash = '0x401F7D0F'       ; Сериал мусорки (ID of trash)
   VAR Logi = '0x1BDD'          ; Тип логов (logs type)
   VAR Rubanok = '0x1034'          ; Тип инструмента (carpentry tools type)
   VAR Udochka = '0x0E89'          ; Тип удочки (fishing pole type)
   VAR Kolvo = 3          ; Брать логов (Count of logs for a one grab)
   VAR j, k
   While TRUE
      UO.FindType( Logi, -1, 1 )       ; Ищем логи на полу
      UO.Grab( Str( Kolvo ), 'finditem' )    ; Кладем логи в пак
      wait( 1000 )
      If UO.FindCount() == 0 Then
         UO.Print("Logs not found, script terminated")
         return
      Endif
      While UO.Count( Logi ) > 0
         ; Пока в паке есть логи
         UO.Print('I have ' + Str( UO.Count( Logi ) ) + ' logs' )
         UO.DeleteJournal()
         UO.CancelMenu()
         UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'quarter staff' )
         UO.UseType( Rubanok )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
            k = k + 1
            wait(500)
         wend
         ; Wait( 14000 )
         ; Скрафтили удочку
         ; Сразу переложим ее в трэш
         if UO.Count( Udochka ) > 0 then
            UO.FindType( Udochka )
            UO.MoveItem( 'finditem', 0, MyTrash )
            wait( 1000 )
            UO.Print( 'quarter staff trashed' )
         end if
      Wend
   Wend
end sub
Smog
Posts: 15
Joined: 2006-02-12 08:43:08
Contact:

Post by Smog »

Злодей ) как так можно удочки в треш ??? =)

Code: Select all

#Для работы скрипта надо:
#1.  Сундук.
#2.  В сундуке логи(все какие вы решили потратить)
#3.  В сундуке 2 Backpack'a.
#3.1 В 1-ом Backpack'е мешки(Bag или Belt pouch), в них будут складываться посохи/удочки.
#3.2 2-ой Backpack пустой, в него будут складываться мешки(взятые из 1-го Backpack'a)
#    заполненые    посохами/удочками.
4.  Любой инструмент для плотничной работы. В частности:
#    a dovetail saw - '0x1028'
#    a smoothing plane - '0x1032'
#    a jointing plane - '0x1030'
#    an inshave - '0x10E6'
#    a froe - '0x10E5'
#    a scorp - '0x10E7'
#    ...
#    Все типы привыдены для инструментов такого - / направления.
#    Значение "LogColor='0x0000'" менять не нужно, из сундука беруться первыми простые логи(если есть),
#    если нет, то любые другие, беруться до тех пока их не остаеться 4. После следющий тип логов.
#    Поэтому в сундук класть только логи для прокачки !
#   
#    Для работы скрипта НУЖНО ТОЛЬКО заменить значения !!!

sub Carp()
#=====================
VAR BagSer            #| Эти значения менять не нужно.
Var LogColor='0x0000' #|
Var fiz=0,ud=0,sum=254#|
Var ProductOL='0x0000'#|
Var LogType='0x1BDD'  #|
#=====================

#Измените значение на ID сундука(с логами и 2-мя Backpack'aми)
Var MainBox='0x4019754A'
#Измените значение на ID Backpack'a(с пустыми мешками)
Var BoxEB='0x403536B5'
#Измените значение на ID Backpack'a(для мешков с удочками/посохами)
Var BoxFB='0x403E738E'
#Измените значение на Type мешков. (bag - '0x0E76', Belt pouch - '0x09B0')
Var BagType='0x0E76'
#Измените значение на Type инструмента для плотничной работы. См. описание.
Var CarpentrTool='0x1028'

UO.Useobject(MainBox)
Wait(500)
UO.Useobject(BoxEB)
Wait(500)
UO.Useobject(BoxFB)
Wait(500)
UO.Exec("set finddistance 0")
UO.FindType(BagType,-1,1)
If UO.FindCount('finditem')<1 then
   UO.FindType(BoxEB,-1,MainBox)
   UO.FindType(BagType,-1,BoxEB)
   BagSer=UO.GetSerial('finditem')
   UO.Grab('1',BagSer)
   Wait(500)
   UO.Moveitem(BagSer,'1','ground')
   Wait(500)
   UO.Useobject(BagSer)
else
   BagSer=UO.GetSerial('finditem')
   UO.Useobject(BagSer)
Endif



Repeat
  While NOT UO.Hidden()
    UO.UseSkill('Hiding')
    Wait(3000)
  Wend

UO.FindType(LogType,-1,2)
LogColor=UO.GetColor('finditem')
  If UO.GetQuantity('finditem')<5 then
   UO.FindType(LogType,LogColor,MainBox) 
    If UO.GetQuantity('finditem')<5 then
   UO.FindType(LogType,-1,MainBox)
   UO.Grab('5','finditem')
   wait(500)
    Endif
   UO.Grab('5','finditem')
   wait(500)
  Endif

 If (UO.SkillVal("Carpentry",1) > 683) then
   UO.WaitMenu('Carpentry','Weapons & Tools','Weapons & Tools','fishing pole')
   ProductOL='0x0DBF'
  else
   UO.WaitMenu ('Carpentry','Weapons & Tools','Weapons & Tools','quarter staff')
   ProductOL='0x0E89'
  Endif
UO.DeleteJournal()
UO.UseType(CarpentrTool)
  Repeat
   Wait(100)
  Until (UO.InJournal("You put") or UO.InJournal("You fail"))
  If UO.InJournal("You put") then
   ud=ud+1
  else
   fiz=fiz+1
  Endif

UO.FindType(ProductOL,-1,2)
  While UO.FindCount() > 0
   UO.MoveItem('finditem','1',BagSer)
   Wait(500)
   UO.FindType(ProductOL,-1,2)
  Wend

UO.FindType(ProductOL,-1,BagSer)
UO.Print("В текущей сумке "+STR(UO.FindCount('finditem'))+" шт.")
UO.Print("Рука дрогнула "+STR(fiz)+" раз. Сделано "+STR(ud)+" шт.")
UO.Print("Процент дрожания руки: "+MID((STR(fiz/(fiz+ud)*100)),0,2)+"%")
  If UO.FindCount('finditem') > sum then
   UO.Moveitem(BagSer,'1',BoxFB)
   Wait(500)
   UO.FindType(BoxEB,-1,MainBox)
   UO.FindType(BagType,-1,BoxEB)
   BagSer=UO.GetSerial('finditem')
   UO.Grab('1',BagSer)
   Wait(500)
   UO.MoveItem(BagSer,'1','ground')
   Wait(500)
 Endif
Until ((UO.SkillVal("Carpentry",1) > 999) or (UO.Dead()))
End sub


1-нное, тебе надо 40 тайлора чтоб крафтить удочки, если ты на ДРВ играешь.
Smog
Posts: 15
Joined: 2006-02-12 08:43:08
Contact:

Post by Smog »

Как только скилл дорастет до уровня когда можно крафтить удочки, он перейдет на них, но опять же (см. пост выше) надо 40
тайлора.
Post Reply