Page 1 of 1

Качаем магию (вопрос к экспертам)

Posted: 2009-07-17 15:08:54
by Hranitel
Товарищи эксперты, написал скрипт на магию, но через примерно 30 минут он парсит, с чем может быть связано, спс.

Code: Select all

sub magery()

   var cont='0x4055B219'
   var bottle='0x0F0E'
   var cbottle='0x09DF'
   
   uo.useobject(cont)
   wait(1000)
   uo.useobject('backpack')
   wait(1000)
   while not uo.dead()
      while uo.mana>=10
         loot()
         uo.cast('Magic Arrow','self')
         wait(1550)
         checklag()
      wend
      uo.findtype(bottle,cbottle,'backpack')
      uo.useobject('finditem')
      wait(500)
   wend
   
endsub

Sub loot()
   
   var NS='0x0F88'
   var BB='0x0F7A'
   var bottle='0x0F0E'
   var cbottle='0x09DF'
   var cregs='200'
   var cbot='50'
   var cont='0x4055B219'
   
   uo.findtype(NS,'-1','backpack')
   if not uo.findcount() then
      uo.findtype(NS,'-1',cont)
      uo.moveitem('finditem',cregs,'backpack')
      wait(1000)
   endif
   
   uo.findtype(BB,'-1','backpack')
   if not uo.findcount() then
      uo.findtype(BB,'-1',cont)
      uo.moveitem('finditem',cregs,'backpack')
      wait(1000)
   endif

   uo.findtype(bottle,cbottle,'backpack')
   if not uo.findcount() then
      uo.findtype(bottle,cbottle,cont)
      uo.moveitem('finditem',cbot,'backpack')
      wait(1000)
      uo.findtype(bottle,'0x0000','backpack')
      uo.moveitem('finditem','all',cont)
      wait(1000)
   endif
   
endsub

Sub checklag()

  uo.click('backpack')
  repeat
    wait(50)
  until uo.injournal("backpack")
  uo.deletejournal()
 
end sub

Re: Качаем магию

Posted: 2009-07-17 16:47:10
by Kynep
Hranitel wrote:Товарищи эксперты, написал скрипт на магию, но через примерно 30 минут он парсит, с чем может быть связано, спс.

Попробуй loot() делать реже, например при кол-ве регов < 15. Скорее всего из-за этого и парсит. Получается что он каждые 1.5 секунды добирает и выкидывает, естественно это его с ума сводит. :lol:

Posted: 2009-07-18 01:19:46
by Hranitel
переделал, не помогло :(
просто голову сломал уже :?

Code: Select all

sub mageryMA()

   var NS='0x0F88'
   var BB='0x0F7A'
   var bottle='0x0F0E'
   var cbottle='0x09DF'
   var cregs='1000'
   var cbot='99'
   var cont='0x4055B219'
   
   uo.useobject(cont)
   wait(1000)
   uo.useobject('backpack')
   wait(1000)
   while not uo.dead()
      while uo.mana>=10
         uo.findtype(NS,'-1','backpack')
         if uo.getquantity('finditem')<10 then
            uo.findtype(NS,'-1',cont)
            uo.moveitem('finditem',cregs,'backpack')
            wait(1000)
         endif
         uo.findtype(BB,'-1','backpack')
         if uo.getquantity('finditem')<10 then
            uo.findtype(BB,'-1',cont)
            uo.moveitem('finditem',cregs,'backpack')
            wait(1000)
         endif
         uo.findtype(bottle,cbottle,'backpack')
         if uo.getquantity('finditem')<1 then
            uo.findtype(bottle,cbottle,cont)
            uo.moveitem('finditem',cbot,'backpack')
            wait(1000)
            uo.findtype(bottle,'0x0000','backpack')
            uo.moveitem('finditem','all',cont)
            wait(1000)
         endif
         uo.cast('Magic Arrow','self')
         wait(1550)
         checklag()
      wend
      uo.findtype(bottle,cbottle,'backpack')
      uo.useobject('finditem')
      wait(500)
   wend
   
endsub

Sub checklag()

  uo.click('backpack')
  repeat
    wait(50)
  until uo.injournal("backpack")
  uo.deletejournal()
 
end sub

Posted: 2009-07-18 07:58:02
by Kynep
Hranitel wrote:переделал, не помогло :(
просто голову сломал уже :?

Слишком глобально переделал, получилось по-сути тоже самое. Верни модуль loot() и вставь его допустим после того как откастовал, т.е. после того как выпил манку, а не перед каждым кастом и измени его (модуль loot()) так, что-бы он брал и выкидывал при < 15.