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

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Hranitel
Posts: 5
Joined: 2009-07-17 15:06:30

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

Post 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
Last edited by Hranitel on 2009-07-18 01:18:16, edited 1 time in total.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

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

Post by Kynep »

Hranitel wrote:Товарищи эксперты, написал скрипт на магию, но через примерно 30 минут он парсит, с чем может быть связано, спс.

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

Post 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
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Hranitel wrote:переделал, не помогло :(
просто голову сломал уже :?

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