Поиск
Вход на сайт
Наш опрос
Оцените мой сайт
Всего ответов: 81
Статистика
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Full spellbook
MaG1StR_YodaДата: Пятница, 26.06.2020, 19:30 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1026
Статус: Оффлайн
Пока не готов cry
 
lingДата: Воскресенье, 28.06.2020, 19:16 | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Оффлайн
sub full_sb()
   var ii
   var jj
   var scroll_type = 0x0E34
   for ii = 1 to 8
      for jj = 1 to 8
         uo.automenu('circle', '(ii)')
         uo.automenu('spell', '(jj)')
         uo.usetype(0x0E34)
         wait(7000)
      next 
   next
end sub

Сделал такой вариант. У меня нет, к сожалению, перса, чтобы проверить. Буду благодарен за баг репорты.
У меня не получается реализовать его через waitmenu, хотя это было бы изящнее

Добавлено (28.06.2020, 19:16)
---------------------------------------------
Да, надо в бекпаке иметь достаточно регов и скролов

 
MaG1StR_YodaДата: Воскресенье, 28.06.2020, 19:43 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 1026
Статус: Оффлайн
Цитата ling ()
Сделал такой вариант. У меня нет, к сожалению, перса, чтобы проверить. Буду благодарен за баг репорты.У меня не получается реализовать его через waitmenu, хотя это было бы изящнее
Неа , не пашет ... я скрипт пишу сейчас на нее , у меня на каждый скрол - впринципе он скролы уже печатает норм , сейчас думаю над действием - как это всё загнать в спелл бук. Потому что 2 спелбука конфликтуют в бекпаке
 
lingДата: Воскресенье, 28.06.2020, 20:08 | Сообщение # 4
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Оффлайн
Оказалось, что все, что в одинарных ковычках, инжект воспринимает как строку, поэтому пришлось чуть подшаманить smile Так должно работать

sub full_sb()
   var ii
   var jj
   var scroll_type = 0x0E34
   for ii = 1 to 8
      for jj = 1 to 8
         uo.automenu('circle', '('+str(ii)+')')
         uo.automenu('spell', '('+str(jj)+')')
         uo.usetype(0x0E34)
         wait(8000)
      next 
   next
end sub
 
MaG1StR_YodaДата: Воскресенье, 28.06.2020, 20:48 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 1026
Статус: Оффлайн
Цитата ling ()
Оказалось, что все, что в одинарных ковычках, инжект воспринимает как строку, поэтому пришлось чуть подшаманить Так должно работатьsub full_sb()
var ii
var jj
var scroll_type = 0x0E34
for ii = 1 to 8
for jj = 1 to 8
uo.automenu('circle', '('+str(ii)+')')
uo.automenu('spell', '('+str(jj)+')')
uo.usetype(0x0E34)
wait(8000)
next
next
end sub
Ну уже пошло , но он без остановки делает только Первый скрол из спеллбука - Clumsy
 
lingДата: Пятница, 17.07.2020, 21:51 | Сообщение # 6
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Оффлайн
sub full_sb()
   var ii
   var jj
   var scroll_type = 0x0E34
   var trigger = 'finish scribing'
   uo.deletejournal()
   for ii = 1 to 8
      for jj = 1 to 8
         uo.deletejournal()
         uo.automenu('circle', '('+str(ii)+')')
         uo.automenu('spell', '('+str(jj)+')')
         uo.usetype(0x0E34)
         while not uo.injournal(trigger)
            wait(1000)
         wend
         wait(2000)
         if uo.mana < 50 then
            while uo.mana < 50
               uo.useskill('Meditation')
               wait(5500)
            wend
         end if
      next 
   next
end sub

по-моему прелесть smile
 
ГостьДата: Среда, 29.07.2020, 08:40 | Сообщение # 7
Группа: Гости





А что делать с физлами при рисовании?
 
MaG1StR_YodaДата: Среда, 29.07.2020, 21:27 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 1026
Статус: Оффлайн
Цитата Гость ()
А что делать с физлами при рисовании?

Ну этот скрипт на общую рисовку , просто пока некогда заниматься .... Впринципе , если этот доработать - вписать сюда "журнал" то должен получиться репит , т.е. если физл рисовки - повторить данный скрол ...
 
lingДата: Среда, 29.07.2020, 22:11 | Сообщение # 9
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Оффлайн
Работающий (вроде бы) вариант. Добирает ресурсы, складывает готовые книги в указанный мешок (не в бекпаке).

Код
#Full spellbook script made by dr. Denis
#Have another backpack with reagents, scrolls and empty books in it. The script runs until you have all of the resources
#When yourun the script you need to choose the bag with resources and also a bag where you will put the full spellbooks
#Run full_sb

sub full_sb()
   var ii
   var jj
   var scroll_type = 0x0E34
   var sb_type = 0x0EFA
   var trigger_1 = 'finish scribing'
   var trigger_2 = 'fail to scribe'
   var trigger_3 = 'lack reagents'
   
   uo.addobject('resources_bag')
   while uo.targeting()
      uo.print('Select a bag with resources and empty books')
      wait(1000)
   wend
   
   uo.addobject('spellbook_bag')
   while uo.targeting()
      uo.print('Select a bag with filled spellbooks')
      wait(1000)
   wend
   
   uo.useobject('resources_bag')
   wait(700)   
   uo.deletejournal()
   while uo.count('bp', -1, 'resources_bag') > 0 and uo.count('bm', -1, 'resources_bag') > 0 and uo.count('ga', -1, 'resources_bag') > 0 and uo.count('gs', -1, 'resources_bag') > 0 and uo.count('mr', -1, 'resources_bag') > 0 and uo.count('ns', -1, 'resources_bag') > 0 and uo.count('sa', -1, 'resources_bag') > 0 and uo.count('ss', -1, 'resources_bag') > 0 and uo.count(scroll_type, -1, 'resources_bag') > 0 and uo.count(sb_type, -1, 'resources_bag') > 0
      for ii = 1 to 8
         for jj = 1 to 8
            uo.deletejournal()
            restock()
            wait(700)
            while not uo.injournal(trigger_1)
               uo.deletejournal()
               uo.cancelmenu()
               wait(500)
               uo.automenu('circle', '('+str(ii)+')')
               uo.automenu('spell', '('+str(jj)+')')
               uo.usetype(0x0E34)
               while not (uo.injournal(trigger_1) or uo.injournal(trigger_2) or uo.injournal(trigger_3))
                  wait(1000)
               wend
               restock()
               wait(3000)
            wend
            wait(1000)
            if uo.mana < 70 then
               while uo.mana < 70
                  uo.useskill('Meditation')
                  wait(5500)
               wend
            end if
         next
      next
      fill_spellbook()
      remove_all()
      uo.print('Spellbook has beed filled')
   wend
   uo.print('We ran out of resources. Script ended.')
end sub

sub restock()
   var reg_bp
   var scroll_type = 0x0E34
   uo.print('bp = ' + str(uo.count('bp')))
   uo.print('bm = ' + str(uo.count('bm')))
   uo.print('ga = ' + str(uo.count('ga')))
   uo.print('gs = ' + str(uo.count('gs')))
   uo.print('mr = ' + str(uo.count('mr')))
   uo.print('ns = ' + str(uo.count('ns')))
   uo.print('sa = ' + str(uo.count('sa')))
   uo.print('ss = ' + str(uo.count('ss')))
   uo.print('scrolls = ' + str(uo.count(scroll_type)))
   
   wait(500)
   uo.useobject('resources_bag')
   wait(1000)
   uo.print('Restocking resources')
   while uo.count('bp') < 1
      reg_bp = uo.findtype('bp', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count('bm') < 1
      reg_bp = uo.findtype('bm', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count('ga') < 1
      reg_bp = uo.findtype('ga', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count('gs') < 1
      reg_bp = uo.findtype('gs', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count('mr') < 1
      reg_bp = uo.findtype('mr', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count('ns') < 1
      reg_bp = uo.findtype('ns', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count('sa') < 1
      reg_bp = uo.findtype('sa', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count('ss') < 1
      reg_bp = uo.findtype('ss', '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   while uo.count(scroll_type) < 1
      reg_bp = uo.findtype(scroll_type, '-1', 'resources_bag')
      uo.moveitem(reg_bp, 1)
      wait(700)
   wend
   
   wait(500)   
   uo.print('bp = ' + str(uo.count('bp')))
   uo.print('bm = ' + str(uo.count('bm')))
   uo.print('ga = ' + str(uo.count('ga')))
   uo.print('gs = ' + str(uo.count('gs')))
   uo.print('mr = ' + str(uo.count('mr')))
   uo.print('ns = ' + str(uo.count('ns')))
   uo.print('sa = ' + str(uo.count('sa')))
   uo.print('ss = ' + str(uo.count('ss')))
   uo.print('scrolls = ' + str(uo.count(scroll_type)))
end sub

sub remove_all()
   var reg_bp
   
   if uo.count('bp') > 0 then
      reg_bp = uo.findtype('bp', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   if uo.count('bm') > 0 then
      reg_bp = uo.findtype('bm', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   if uo.count('ga') > 0 then
      reg_bp = uo.findtype('ga', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   if uo.count('gs') > 0 then
      reg_bp = uo.findtype('gs', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   if uo.count('mr') > 0 then
      reg_bp = uo.findtype('mr', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   if uo.count('ns') > 0 then
      reg_bp = uo.findtype('ns', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   
   if uo.count('sa') > 0 then
      reg_bp = uo.findtype('sa', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   
   if uo.count('ss') > 0 then
      reg_bp = uo.findtype('ss', '-1')
      uo.moveitem(reg_bp, 0, 'resources_bag')
      wait(700)
   end if
   wait(500)   
   uo.print('bp = ' + str(uo.count('bp')))
   uo.print('bm = ' + str(uo.count('bm')))
   uo.print('ga = ' + str(uo.count('ga')))
   uo.print('gs = ' + str(uo.count('gs')))
   uo.print('mr = ' + str(uo.count('mr')))
   uo.print('ns = ' + str(uo.count('ns')))
   uo.print('sa = ' + str(uo.count('sa')))
   uo.print('ss = ' + str(uo.count('ss')))
end sub

sub fill_spellbook()
   var jj
   var scroll_jj
   var hex_jj
   var sb_type = 0x0EFA
   var sp_serial
   sp_serial = uo.findtype(sb_type, -1, 'resources_bag')
   uo.moveitem(sp_serial, 1)
   wait(1500)
   for jj = 1 to 64
      hex_jj = uo.int2hex(7980 + jj)
      uo.print(jj)
      scroll_jj = uo.findtype(hex_jj)
      uo.moveitem(scroll_jj, 1, sp_serial)
      wait(3000)
   next
   
   uo.moveitem(sp_serial, 1, 'spellbook_bag')   
end sub

Добавлено (01.08.2020, 01:39)
---------------------------------------------


Цитата ling ()
Работающий (вроде бы) вариант. Добирает ресурсы, складывает готовые книги в указанный мешок (не в бекпаке).
При физле делает скролл заново. Устойчив к лагам и севам (насколько я мог наблюдать). Единственный косяк, при конлосте или остановке скрипта, начинает писать скроллы заново, а не продолжает предыдущую сессию. На это сил уже не хватило


Сообщение отредактировал ling - Среда, 29.07.2020, 22:12
 
  • Страница 1 из 1
  • 1
Поиск: