макрос на Heal Potion
Ефрейтор (155557)11 лет
Ranger
Сообщений: 176
Рег. 7.08.2013
14 августа 2013 17:38
Сообщение #1
Подскажите что не так?
sub makeTotalReferh()
  Alchemy('0x0F85', 4, "'Heal Potion'")
end sub

Sub Alchemy(reagent, min_reg, choice)
while UO.Count('0x0F0E','0x0000')>0 AND UO.Count(reagent)>=min_reg
  UO.DeleteJournal()
  UO.Exec("waitmenu 'What sort of potion do you want to' "+choice)
  UO.UseType(reagent)
  while NOT UO.InJournal("You put") AND NOT UO.InJournal("You fail")
  
  wend
wend
end sub


он мне почему-то делает Lesser Heal Potion.
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
14 августа 2013 17:57
Сообщение #2
В название крафченного итема добавь количество регов
"Хил пойло (2)" - что-то такое
Ефрейтор (155557)11 лет
Ranger
Сообщений: 176
Рег. 7.08.2013
14 августа 2013 18:01
Сообщение #3
а можно по точнее ), вписал "'Heal Potion(4)'" не помагло
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
14 августа 2013 19:34
Сообщение #4
Цитата: Baksik
Heal Potion(4)

а пробел?
Ефрейтор (215407)11 лет
Ranger
Сообщений: 193
Рег. 19.07.2013
14 августа 2013 23:33
Сообщение #5
Mitako,

Спасибо))
Ефрейтор (215407)11 лет
Ranger
Сообщений: 193
Рег. 19.07.2013
14 августа 2013 23:34
Сообщение #6
Спасибо)

sub Alch_HealPotion()
    var mop  = '0x0E9B'; mortar
    var regi = '0x0F85'; GS
    var printcolour = '1069'
    var i=0
    var kolvo=100
repeat
UO.WaitMenu('What sort of potion do you want to','Heal Potion (4')
wait(500)
UO.WaittargetType(regi)
uo.usetype(mop)
UO.DeleteJournal()
repeat
wait(500)
until UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('target')
if UO.InJournal('You put') then
i=i+1
endif
until uo.count(regi) < 4 or i==kolvo
uo.charprint(printcolour, '**** ************** ****' )
uo.charprint(printcolour, '**** Заказ выполнен  ****' )
uo.charprint(printcolour, '**** ************** ****' )
end sub
Ефрейтор (155557)11 лет
Ranger
Сообщений: 176
Рег. 7.08.2013
15 августа 2013 09:22
Сообщение #7
и вам обоим огромное спасибо ).
13 лет
Ranger
Сообщений: 1043
Рег. 18.06.2011
15 августа 2013 22:15
Сообщение #8
Можно подсократить код:



sub Alch_HealPotion()
    var regi = '0x0F85'; GS
    var i=0
    var kolvo=100
    var typeB = '0x0E24'; тип бутылки
    var colB = '0x0445'; цвет бутылки
    VAR printcolour = '1069'
    while uo.count(regi) > 4 && UO.Count(typeB, colB)<kolvo
        UO.WaitMenu('What sort of potion do you want to','Heal Potion (4')
        uo.usetype(regi)
        UO.DeleteJournal()
        repeat
            wait(300)
        until UO.InJournal('You put|fail|target')
    wend
    uo.charprint(printcolour, '**** ************** ****' )
    uo.charprint(printcolour, '|||| Заказ выполнен  ||||' )
    uo.charprint(printcolour, '**** ************** ****' )
end sub

Не нужно жать на ступку.
Считать бутылки можно физически в паке без счетчика.
+ таким макаром не будет запускать скрипт если нет регов или бутылок больше чем в заказе.

Собсно получится первый скрипт в который только добавить чифирку надо было :victory:
Ефрейтор (215407)11 лет
Ranger
Сообщений: 193
Рег. 19.07.2013
16 августа 2013 00:21
Сообщение #9
ну счетчик там стоял, чтоб сделать именно столько, сколько нужно....мне бы в идеале вообще все считать)) и в процессе и в конце))
13 лет
Ranger
Сообщений: 1043
Рег. 18.06.2011
16 августа 2013 00:51
Сообщение #10
UO.Count(typeB, colB) как раз и сосчитает количество.
Проверка на журнал не очень эффективна - если рядом кто то будет стоять и орать на макросе
You put
You put
You put
You put

скрипт у тебя сойдет с ума :)

как то типо так
        until UO.InJournal('You put|fail|target')
        uo.charprint(printcolour, 'Сварил ' +str(UO.Count(typeB, colB)) +' банку' )
    wend

не уверен что charprint правда будет работать таким образом. Можно заменить на
uo.textprint('Сварил ' +str(UO.Count(typeB, colB)) +' банку')
Ефрейтор (215407)11 лет
Ranger
Сообщений: 193
Рег. 19.07.2013
16 августа 2013 08:24
Сообщение #11
Слух а можно ли тебя попросить сделать макрос под мои требования??? там основной геморр это именно эти считалки???

если не сложно, сегодня вечером в скайпе списаться??
Последние посетители (0):

 
Сейчас: 28 ноября 2024 13:55