Помагите поправить скрипт.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Deathclaw
Posts: 31
Joined: 2005-01-21 15:45:19

Помагите поправить скрипт.

Post by Deathclaw »

Вот этот скрипт шёт, режет на бинты, а вот у меня на шарде такая проблемка у меня для любого изделия нужна нитки (spools of thread) Можете поправить что бы он делал ещё добор на нитки (на нужную вещь, к примеру мне надо 8 ткани и 1 тинка)
Спасибо заранее.

Code: Select all

Var Sunduk='0x40226380' # Сундук ИД 
Var TSKit='0x0F9D' # Тип набора кройки и шитья
Var TCloth='0x175D' # Тип ткани
Var TItem='0x1F03' # Тип шмотки которую крафтаем, роба в данном случае
Var Scissors='0x402F0E8E' # Ножницы чтоб резать то что накроили из ткани

sub Tailoring()
var i=0
uo.cancelmenu()
uo.automenu('Cloth','Shirts')
uo.automenu('Shirts','robe (16 folded cloth)')
uo.useobject(Sunduk)

while (uo.skillval('Tailoring',1)<1000)
i=i+1
if i==50 then
i=0
uo.usetype('0x097B')
wait(1000)
end if

UO.FindType(TCloth,-1,'backpack')
wait(200)
If UO.GetQuantity('finditem')<16 Then
   If UO.GetQuantity('finditem')>0 Then
      UO.SetReceivingContainer(Sunduk)
      cheklag()
      UO.Grab('0','finditem')
      wait(1000)
      UO.UnSetReceivingContainer()
   end if
   UO.FindType(TCloth,-1,Sunduk)   
   wait(200)
   If UO.GetQuantity('finditem')>=16 Then
      cheklag()
      UO.Grab('300','finditem')
      Wait(1000)
   else
      uo.closeuo()
   end if
end if

cheklag()
uo.waittargettype(TCloth)
wait(50)
uo.usetype(TSKit)
uo.deletejournal()
repeat
wait(10)
until uo.InJournal('You put the') or uo.InJournal('Tailoring failed.')

UO.FindType(TItem,-1,'backpack')
if UO.GetQuantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.deletejournal()
uo.useobject(Scissors)
repeat
wait(10)
until uo.InJournal('You put the')
end if

if uo.weight > 400 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.FindType('0x0E21')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(200)
end if
UO.UnSetReceivingContainer()
end if

wend
uo.closeuo()
end sub

sub cheklag()
uo.deletejournal()
uo.click('backpack')
repeat
wait(10)
until uo.InJournal("backpack")
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.Exec('terminate Tailoring')
wait(1000)
UO.Exec('exec Tailoring')
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

####################################################################
# Берём вещь по типу,цвету, количеству, ид откуда и ид куда класть #
####################################################################
Sub GetItem(type,color, quantity, where , to)
  uo.FindType(type,color,where)
  if uo.FindCount() then
    uo.moveitem('finditem',quantity,to)
    wait(750)
  end if
end sub


For example:

Code: Select all

   
  var IngType='' #type
  var IngColor='' #color
   GetItem(IngType,IngColor,200,'ground','backpack')
Deathclaw
Posts: 31
Joined: 2005-01-21 15:45:19

Post by Deathclaw »

Спасибо, пока скрипт работает, получилось вот что

Code: Select all


Var Sunduk='0x404A62D9' # Сундук ИД
Var TSKit='0x0F9D' # Тип набора кройки и шитья
Var TCloth='0x175D' # Тип ткани
Var TThreat='0x0FA0' # Тип ниток
Var TItem='0x1F7B' # Тип шмотки которую крафтаем, роба в данном случае
Var Scissors='0x40265DAA' # Ножницы чтоб резать то что накроили из ткани

sub Tailoring()
var i=0
uo.cancelmenu()
uo.automenu('Cloth','Shirts & Robes')
uo.automenu('Shirts','doublet')
uo.useobject(Sunduk)

while (uo.skillval('Tailoring',1)<1000)
i=i+1
if i==50 then
i=0
uo.usetype('0x097B')
wait(1000)
end if

UO.FindType(TCloth,-1,'backpack')
wait(200)
If UO.GetQuantity('finditem')<16 Then
   If UO.GetQuantity('finditem')>0 Then
      UO.SetReceivingContainer(Sunduk)
      cheklag()
      UO.Grab('0','finditem')
      wait(1000)
      UO.UnSetReceivingContainer()
   end if
   UO.FindType(TCloth,-1,Sunduk)   
   wait(200)
   If UO.GetQuantity('finditem')>=16 Then
      cheklag()
      UO.Grab('300','finditem')
      Wait(1000)
   else
      uo.closeuo()
   end if
end if

UO.FindType(TThreat,-1,'backpack')
wait(200)
If UO.GetQuantity('finditem')<16 Then
   If UO.GetQuantity('finditem')>0 Then
      UO.SetReceivingContainer(Sunduk)
      cheklag()
      UO.Grab('0','finditem')
      wait(1000)
      UO.UnSetReceivingContainer()
   end if
   UO.FindType(TThreat,-1,Sunduk)   
   wait(200)
   If UO.GetQuantity('finditem')>=16 Then
      cheklag()
      UO.Grab('300','finditem')
      Wait(1000)
   else
      uo.closeuo()
   end if
end if

cheklag()
uo.waittargettype(TCloth)
wait(50)
uo.usetype(TSKit)
uo.deletejournal()
repeat
wait(10)
until uo.InJournal('You put the') or uo.InJournal('Tailoring failed.')

UO.FindType(TItem,-1,'backpack')
if UO.GetQuantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.deletejournal()
uo.useobject(Scissors)
repeat
wait(10)
until uo.InJournal('You put the')
end if

if uo.weight > 400 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.FindType('0x0E21')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(200)
end if
UO.UnSetReceivingContainer()
end if

wend
uo.closeuo()
end sub

sub cheklag()
uo.deletejournal()
uo.click('backpack')
repeat
wait(10)
until uo.InJournal("backpack")
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.Exec('terminate Tailoring')
wait(1000)
UO.Exec('exec Tailoring')
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub


Но я сделал не так как ты сказал, а по другому не много у тебя я немного не понимаю

Вот например можно ли воспользоватся только одним

Code: Select all

 var IngType='' #type 
  var IngColor='' #color
   GetItem(IngType,IngColor,200,'ground','backpack')


Или туту всего лишь ссылка на ту функцию которую ты мне выше описал?
Post Reply