Page 1 of 1

Нужна помошь СкиллКап обновляется не полностью!

Posted: 2008-04-26 11:44:38
by Xczm

Code: Select all

VAR Sunduk = '0x403CAE21'  # ID сундука
VAR pak = '0x402DE3EC'  # ID пака с регами и бутылками(в сундуке)
VAR dagger = '0x0F51'  # Тип Дагера
VAR but = '0x0F0E'  # Тип бутылки
VAR eda = '0x160A'
VAR ResPack = '0x403A8572'#ID пака для бутылок
VAR LastTimer
VAR SKPoisoning
VAR SKAlchemy

sub AlchemyPotion()
   var reg = '0x0F88'   # NC
   var cvet = '0x0998' # Цвет пойзона
   var i = 0, ser, ser2


   uo.Exec('terminate Reconnector')
   wait(1000)
   uo.Exec('exec Reconnector')
   wait(1000)

   uo.cancelmenu()
   wait(100)
   uo.automenu('What sort of potion do you want to', '(last)')
   wait(100)

   uo.useobject('backpack')
   wait(1000)
   uo.useobject(Sunduk)
   wait(2000)
   uo.useobject(pak)
   wait(1000)
   
   if uo.skillval('Poisoning', 1) == 1000 then
      uo.useobject(ResPack)
      wait(1000)
   end if
   
   if i == 0 then
      UO.FindType(dagger, '-1', 'backpack')
      If UO.FindCount() > 0 then
         ser = UO.GetSerial('finditem')
         i = 1
      else
         UO.Print('!!!Нужен Даггер в паке!!!')
         UO.Exec('terminate all')
         wait(1000)
      end if
   end if
   
   while uo.skillval('Poisoning', 1) < 1000

   SKAlchemy  = UO.SkillVal('Alchemy', 1)
   UO.Print("Alchemy "+STR(SKAlchemy))
   SKPoisoning  = UO.SkillVal('Poisoning', 1)
   UO.Print("Poisoning "+STR(SKPoisoning))
   
      if uo.Timer() > (LastTimer+3000) then
         Eda()
         LastTimer = uo.Timer()
      end if
     
      UO.FindType(but, '0x0000', 'backpack')
      If UO.GetQuantity('finditem') < 10 then
         UO.FindType(but, '0x0000', pak)
         wait(100)
         cheklag()
         UO.MoveItem('finditem','100', 'backpack')
         wait(500)
      else
         wait(50)
      end if
     
     
      UO.FindType(reg, '0x0000', 'backpack')
      If UO.GetQuantity('finditem') < 10 then
         UO.FindType(reg,'0x0000', pak)
         wait(200)
         cheklag()
         UO.MoveItem('finditem','100', 'backpack')
         wait(500)
      else
         wait(50)
      end if
     
      uo.deletejournal()
      cheklag()
      uo.usetype(reg)
      repeat
         Wait(100)
      until UO.InJournal('You put the') OR UO.InJournal('You toss the failed')
      wait(500)
     
      If UO.InJournal('You put the') then
         UO.FindType(but, cvet, 'backpack')
         if UO.FindCount() > 0 then
            repeat
               ser2 = UO.GetSerial('finditem')
               if uo.skillval('Poisoning', 1) < 1000 then
                  uo.deletejournal()
                  wait(1000)
                  cheklag()
                  UO.WaitTargetObject(ser,ser2)
                  wait(1000)
                  cheklag()
                  uo.useskill('Poisoning')
                  repeat
                     wait(100)
                  until UO.InJournal('You fail to apply') OR UO.InJournal('You apply the poison')
                  ser2 = 0
                  wait(500)
               else
                  cheklag()
                  UO.MoveItem(ser2 , '0', ResPack)
                  wait(1000)
               end if
               UO.FindType(but, cvet, 'backpack')
            until not UO.FindCount()
         else
            wait(50)
         end if
      else
         wait(50)
      end if
   wend

   uo.Exec('exec AlchemyGH')
   wait(1000)

end sub

sub AlchemyGH()
   var reg = '0x0F85'   # Ginsing
   var cvet = '0x09BB' # Цвет пойзона
   var  ser, ser2

   uo.Exec('terminate Reconnector')
   wait(1000)
   uo.Exec('exec Reconnector')
   wait(1000)

   uo.cancelmenu()
   wait(100)
   uo.automenu('What sort of potion do you want to', '(last)')
   wait(100)

   uo.useobject('backpack')
   wait(1000)
   uo.useobject(Sunduk)
   wait(2000)
   uo.useobject(pak)
   wait(1000)
   uo.useobject(ResPack)
   wait(1000)

   
   while uo.skillval('Alchemy', 1) < 955

      SKAlchemy  = UO.SkillVal('Alchemy', 1)
   UO.Print("Alchemy "+STR(SKAlchemy))

      if uo.Timer() > (LastTimer+3000) then
         Eda()
         LastTimer = uo.Timer()
      end if
     
      UO.FindType(but, '0x0000', 'backpack')
      If UO.GetQuantity('finditem') < 10 then
         UO.FindType(but, '0x0000', pak)
         wait(100)
         cheklag()
         UO.MoveItem('finditem','100', 'backpack')
         wait(500)
      else
         wait(50)
      end if
     
     
      UO.FindType(reg, '0x0000', 'backpack')
      If UO.GetQuantity('finditem') < 10 then
         UO.FindType(reg,'0x0000', pak)
         wait(200)
         cheklag()
         UO.MoveItem('finditem','100', 'backpack')
         wait(500)
      else
         wait(50)
      end if
     
      uo.deletejournal()
      cheklag()
      uo.usetype(reg)
      repeat
         Wait(100)
      until UO.InJournal('You put the') OR UO.InJournal('You toss the failed')
      wait(500)
     
      If UO.InJournal('You put the') then
         UO.FindType(but, cvet, 'backpack')
         if UO.FindCount() > 0 then
            repeat
               ser2 = UO.GetSerial('finditem')
                  cheklag()
                  UO.MoveItem(ser2 , '0', ResPack)
                  wait(1000)
               UO.FindType(but, cvet, 'backpack')
            until not UO.FindCount()
         else
            wait(50)
         end if
      else
         wait(50)
      end if
   wend

   uo.Exec('exec AlchemyManka')
   wait(1000)

end sub

sub AlchemyManka()

   var reg = '0x0F87'  # Тип рега(Eyes в данном случае)
   var cvet = '0x09DF' # Цвет манки
   var  ser, ser2

   uo.Exec('terminate Reconnector')
   wait(1000)
   uo.Exec('exec Reconnector')
   wait(1000)

   uo.cancelmenu()
   wait(100)
   uo.automenu('What sort of potion do you want to', '(last)')
   wait(100)

   uo.useobject('backpack')
   wait(1000)
   uo.useobject(Sunduk)
   wait(2000)
   uo.useobject(pak)
   wait(1000)
   uo.useobject(ResPack)
   wait(1000)

   
   while uo.skillval('Alchemy', 1) < 1000

   SKAlchemy  = UO.SkillVal('Alchemy', 1)
   UO.Print("Alchemy "+STR(SKAlchemy))     

      if uo.Timer() > (LastTimer+3000) then
         Eda()
         LastTimer = uo.Timer()
      end if
     
      UO.FindType(but, '0x0000', 'backpack')
      If UO.GetQuantity('finditem') < 10 then
         UO.FindType(but, '0x0000', pak)
         wait(100)
         cheklag()
         UO.MoveItem('finditem','100', 'backpack')
         wait(500)
      else
         wait(50)
      end if
     
     
      UO.FindType(reg, '0x0000', 'backpack')
      If UO.GetQuantity('finditem') < 10 then
         UO.FindType(reg,'0x0000', pak)
         wait(200)
         cheklag()
         UO.MoveItem('finditem','100', 'backpack')
         wait(500)
      else
         wait(50)
      end if
     
      uo.deletejournal()
      cheklag()
      uo.usetype(reg)
      repeat
         Wait(100)
      until UO.InJournal('You put the') OR UO.InJournal('You toss the failed')
      wait(500)
     
      If UO.InJournal('You put the') then
         UO.FindType(but, cvet, 'backpack')
         if UO.FindCount() > 0 then
            repeat
               ser2 = UO.GetSerial('finditem')
                  cheklag()
                  UO.MoveItem(ser2 , '0', ResPack)
                  wait(1000)
               UO.FindType(but, cvet, 'backpack')
            until not UO.FindCount()
         else
            wait(50)
         end if
      else
         wait(50)
      end if
   wend
end sub


Sub Eda()
   if uo.count(eda, '0x0000') < 50 then ## Жрачка, кушаем до изнеможения
      uo.findtype(eda, '0x0000', pak)
      Cheklag()
      uo.moveitem('finditem',STR(50-uo.count(eda,'0x0000')),'backpack')
      wait(1000)
   end if
   uo.deletejournal()
   repeat
      uo.usetype(eda, '0x0000')
      wait(1000)
   until uo.injournal("You are stuffed!") or uo.injournal("You can't think of a way to use that item.")
end sub


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


Вот скрипт на алхимию

Code: Select all

        SKAlchemy  = UO.SkillVal('Alchemy', 1)
   UO.Print("Alchemy "+STR(SKAlchemy))
   SKPoisoning  = UO.SkillVal('Poisoning', 1)
   UO.Print("Poisoning "+STR(SKPoisoning))


Вот проверка уровня скила

Почему Poisoning нормально обновляется и при росте скила пишет его правильно, а Alchemy стоит на месте и только при нажатии в закладке Skills на кнопку Req обновляется!

Inject Yoko 505.18