Page 1 of 1

БС фуллсетов

Posted: 2011-12-09 14:01:48
by Jetfires
Ребята, помогите пожалуйста, проблема данного скрипта в том, что: он делает сундук, потом бритсплейт, переплавляет его и останавливаеться, вне зависимости от того екз/перф/ или простой арм.

Подскажите, если не сложно, в чем может быть проблема?

Code: Select all

var exeptbag = '0x523C5F19' # серийник сумки для готовых сетов
var forge='0x53B15719'   # плавильня
var condition = 1  # 1 - ексепт и перфект, 2 только перфект, 3 - обычный сет,
var kolvo = 1 # количество сетов
var class = 1 # 1 фулл плейт , 2 чейн, 3 горгет и хитер, 4 - щлем
var tempchest, creationtype



sub main()

var i
uo.ignorereset()
uo.print('show me ur ingots')
   uo.exec('addobject ingot')
     while uo.targeting()
      wait(100)
     wend
for i = 1 to kolvo
If class == 1 then
make_plate()
end if
If class == 2 then
make_light()
end if
If class == 3 then
heat_gorg()
end if
If class == 4 then
helm()
end if
next
end sub

sub make_plate()
var a
uo.deletejournal()
tempchest = 0
tinker()
UO.FindType('0x0E80',"-1",'backpack')
tempchest = UO.GetSerial('finditem')
UO.MoveItem(tempchest,1,exeptbag)
#tempchest = '0x5186DADF'

dim menu[5]
menu[1] = "waitmenu 'What' 'Armors' 'What' 'Platemail' 'What' 'Breastplate'"
menu[2] = "waitmenu 'What' 'Armors' 'What' 'Platemail' 'What' 'Platemail Legs'"
menu[3] = "waitmenu 'What' 'Armors' 'What' 'Platemail' 'What' 'Platemail Arms'"
menu[4] = "waitmenu 'What' 'Armors' 'What' 'Helmets' 'What' 'Plate Helm'"
menu[5] = "waitmenu 'What' 'Armors' 'What' 'Platemail' 'What' 'Platemail Gloves'"

dim item[5]
item[1] = '0x1415'
item[2] = '0x1411'
item[3] = '0x1410'
item[4] = '0x1412'
item[5] = '0x1414'

For a = 1 to 5
bs(menu[a],item[a])
next
end sub

sub make_light()
var a
uo.deletejournal()
tempchest = 0
tinker()
UO.FindType('0x0E80',"-1",'backpack')
tempchest = UO.GetSerial('finditem')
UO.MoveItem(tempchest,1,exeptbag)
#tempchest = '0x53110BA7'
dim menu[4]
menu[1] = "waitmenu 'What' 'Armors' 'What' 'Chainmail' 'What' 'Coif'"
menu[2] = "waitmenu 'What' 'Armors' 'What' 'Chainmail' 'What' 'Tunic'"
menu[3] = "waitmenu 'What' 'Armors' 'What' 'Chainmail' 'What' 'Leggings'"
menu[4] = "waitmenu 'What' 'Armors' 'What' 'Ringmail' 'What' 'Gloves'"

dim item[4]
item[1] = '0x13BB'
item[2] = '0x13BF'
item[3] = '0x13C3'
item[4] = '0x13F2'


For a = 1 to 4
bs(menu[a],item[a])
next
end sub

sub heat_gorg()
var a
uo.deletejournal()
tempchest = UO.GetSerial('exeptbag')

dim menu[2]
menu[1] = "waitmenu 'What' 'Armors' 'What' 'Platemail' 'What' 'Platemail Gorget'"
menu[2] = "waitmenu 'What' 'Shields' 'What' 'Heater'"


dim item[2]
item[1] = '0x1413'
item[2] = '0x1B76'


For a = 1 to 2
bs(menu[a],item[a])
next
end sub

sub helm()
var a
uo.deletejournal()
tempchest = 0
#tempchest = '0x5186DADF'

dim menu[1]
menu[1] = "waitmenu 'What' 'Armors' 'What' 'Helmets' 'What' 'Plate Helm'"


dim item[1]
item[1] = '0x1412'

For a = 1 to 1
bs(menu[a],item[a])
next
end sub

sub tinker()
var key
tempchest = 0
uo.deletejournal()
uo.exec("waitmenu 'like to make' 'Misc' 'like to make' 'Brass'")
uo.waittargetobject('ingot')
uo.usetype('0x1EBC')
while not uo.injournal('stop')
wait(500)
wend
If uo.InJournal('Success') then
UO.FindType('0x0E80',"-1", 'backpack')
tempchest = UO.GetSerial( 'finditem' )
wait(100)
UO.FindType('0x100E',"-1", 'backpack')
if UO.GetQuantity('finditem') > 0 then
key = UO.GetSerial( 'finditem' )
UO.waittargetobject(tempchest)
UO.useobject(key)
while not uo.injournal('You unlock it')
wait(100)
wend
UO.MoveItem(key,1,tempchest)
end if
uo.deletejournal()
end sub


sub bs(menu,item)
while check_result(item) < 1
#while check_result_name(item) < condition
uo.deletejournal()
   uo.exec(menu)
    uo.waittargetobject('ingot')
    uo.usetype('0x13E3')
   while not uo.InJournal('stop')
    wait(100)
    wend
    If uo.InJournal('Success') then
    If check_result(item) == 0 then
    smelt(item)
  end if
  end if
wend
uo.deletejournal()
end sub




sub check_result(creationtype)
if condition == 2 then
    if uo.InJournal('Success: Perfect.') then
        uo.findtype(creationtype,-1, 'backpack')
        uo.moveitem('finditem', '1', tempchest)
      return 1
    end if
   return 0
end if
   if condition == 1 then
    if uo.InJournal('Success: Perfect.|Success: Exceptional.') then
        uo.findtype(creationtype,-1, 'backpack')
        uo.moveitem('finditem', '1', tempchest)
        return 1
   end if
   return 0
   end if
   if condition == 3 then
    if uo.InJournal('Success') then
        uo.findtype(creationtype,-1, 'backpack')
        uo.moveitem('finditem', '1', tempchest)
        return 1
   end if
   return 0
   end if
end sub


sub check_result_name(creationtype)
uo.FindType(creationtype,'-1','backpack')
while uo.findcount()
    if uo.getName('finditem') == '' then
        uo.click('finditem')
        checklag()
    endif
    if uo.getName('finditem') == 'Perfect' then
        uo.moveitem('finditem', '1', tempchest)
        uo.ignore('finditem')
        return 2
        wait(500)
    endif
    if uo.getName('finditem') == 'Exceptional' then
        uo.moveitem('finditem', '1', tempchest)
        uo.ignore('finditem')
        return 1
        wait(500)
    endif
    uo.findtype( '-1', '-1', 'ground' )
wend
end sub


sub smelt(creationtype)
uo.FindType(creationtype,'-1','backpack')
While uo.FindCount()
uo.DeleteJournal()
UO.WaitTargetObject('finditem',forge)
UO.UseType('0x0FBB')
while not uo.injournal('turned|Failed.|aborted')
wait(100)
wend
uo.FindType(creationtype,-1,'backpack')
wend
end sub

Re: БС фуллсетов

Posted: 2011-12-09 14:54:04
by Mirage

Code: Select all

sub tinker()
   var key
   tempchest = 0
   uo.deletejournal()
   uo.exec("waitmenu 'like to make' 'Misc' 'like to make' 'Brass'")
   uo.waittargetobject('ingot')
   uo.usetype('0x1EBC')
   while not uo.injournal('stop')
      wait(500)
   wend
   If uo.InJournal('Success') then                        ; потерял endif для этого условия.
      UO.FindType('0x0E80',"-1", 'backpack')
      tempchest = UO.GetSerial( 'finditem' )
      wait(100)
      UO.FindType('0x100E',"-1", 'backpack')
      if UO.GetQuantity('finditem') > 0 then
         key = UO.GetSerial( 'finditem' )
         UO.waittargetobject(tempchest)
         UO.useobject(key)
         while not uo.injournal('You unlock it')
            wait(100)
         wend
         UO.MoveItem(key,1,tempchest)
      end if
      uo.deletejournal()
   end sub

Re: БС фуллсетов

Posted: 2011-12-09 17:25:20
by Jetfires

Code: Select all

sub tinker()
   var key
   tempchest = 0
   uo.deletejournal()
   uo.exec("waitmenu 'like to make' 'Misc' 'like to make' 'Brass'")
   uo.waittargetobject('ingot')
   uo.usetype('0x1EBC')
   while not uo.injournal('stop')
      wait(500)
   wend
   If uo.InJournal('Success') then                        ; потерял endif для этого условия.
      UO.FindType('0x0E80',"-1", 'backpack')
      tempchest = UO.GetSerial( 'finditem' )
      wait(100)
      UO.FindType('0x100E',"-1", 'backpack')
      end if
      if UO.GetQuantity('finditem') > 0 then
         key = UO.GetSerial( 'finditem' )
         UO.waittargetobject(tempchest)
         UO.useobject(key)
         while not uo.injournal('You unlock it')
            wait(100)
         wend
         UO.MoveItem(key,1,tempchest)
      end if
      uo.deletejournal()
   end sub


Выходит так?

Re: БС фуллсетов

Posted: 2011-12-10 13:57:03
by Jetfires
Дело в том, что он переплавляет 1 предмет(плейт) в любом случае и останавливаеться... Может быть, что в настройках инжекта что то не так?

Re: БС фуллсетов

Posted: 2011-12-10 14:20:52
by ZeroDX
А что ты хочешь от скрипта? Скрипт не маленький, наполовину без отступов... После строки Заранее спасибо! =) читать лень. Если скрипт должен ковать фулл сеты, то зачем что-то переплавлять?

Re: БС фуллсетов

Posted: 2011-12-10 14:41:21
by Jetfires
Дак смысл в том, что он должен делать екз или перф сеты... а простые переплалять, для экономии руды...

Re: БС фуллсетов

Posted: 2011-12-10 14:55:23
by ZeroDX
Вроде как надо в bs while на repeat поменять.

Re: БС фуллсетов

Posted: 2011-12-10 15:00:34
by Jetfires
спасибо, попробую

Re: БС фуллсетов

Posted: 2011-12-10 15:03:34
by ZeroDX
Ещё могут быть выставлены неправильные сообщения. Для 100%-ной уверенности, надо копировать из ,showjournal

PS А что за шард? Ищу шард, на котором бы жили мои боты =) Ответить можно в личку, если инж палят.