Page 1 of 1

подскажите

Posted: 2009-12-05 17:40:00
by @YJKM@
вот макрос:
sub main()
var kegg="0x1940" #тип кега

uo.addobject('empty keg') #указываем мешок с пустыми кегами
while uo.targeting()
wait(200)
wend

uo.addobject('box of reg') #указываем мешок с реагентами
while uo.targeting()
wait(200)
wend

uo.addobject('full keg') #указываем мешок куда скидывать полные кеги
while uo.targeting()
wait(200)
wend

repeat
if uo.count(kegg)<1 then
uo.findtype(kegg,'-1','empty keg') #ищем пустой кег в указанном мешке
uo.moveitem('finditem',1,'backpack')
endif
wait(500)
if UO.Count('0x0F87')<1 then #тип регов
UO.FindType('0x0F87',-1,'box of reg') #ищем реагенты в указанном мешке
UO.Grab('10','finditem')#добор регов (указывать число, кратное необходимому для варки тотла)
wait(1000)
end if
UO.WaitMenu("Select a potion to make","(3)") #цифра "2" - номер тотла в крафт меню (по порядку)
UO.WaitTargetType('0x0F87')#тип реагентов
UO.UseType('0x0E9B')#тип пестика
wait(20000)#задержка на варку (выставлять неоходимо точную)
uo.DeleteJournal()
uo.findtype('0x1940','-1','backpack')
uo.setcatchbag('finditem') #устанавливаем найденный в паке кег как принимающий
wait(1000)
uo.findtype('0x0F08','-1','backpack')
uo.grab('0','finditem')
wait(1000)
uo.unsetcatchbag()
wait(1000)
if uo.injournal('Charges now: [25/00]') then #указываем желаемое кол-во тотлов в кеге
uo.findtype(kegg,'-1','backpack')
uo.moveitem('finditem',1,'full keg') #сбрасываем готовый кег в указанный мешок
wait(2000)
uo.DeleteJournal()
endif
until (1 == 0)
end sub

им пользуюсь довольно давно но вот сейчас появилась необходимость заливать в кег не по 100 а по 25 тотлов....if uo.injournal('Charges now: [25/00]') конечно изменил но он всё равно заливает по 100
подскажите что ещё ему не хватает?

Posted: 2009-12-05 17:44:40
by Savage
В момент заполнения кега на 25 порций сделай ,showjournal
Думаю что не верно вписано сообщение в условие проверки.
Кстати, можно оставить просто 25 в этом условии.

Posted: 2009-12-05 18:13:19
by @YJKM@
Savage wrote:В момент заполнения кега на 25 порций сделай ,showjournal
Думаю что не верно вписано сообщение в условие проверки.
Кстати, можно оставить просто 25 в этом условии.


что интересно-не тянет :(

Posted: 2009-12-05 18:15:39
by Mirage
Можно просто счетчик поставить :)
PS кликнуть на кег вписать нано надо перед сканом журнала.

Posted: 2009-12-05 18:16:04
by Savage
Попробуй внутри условия вставить

Code: Select all

UO.Print("25!!!!!!")

может скрипт в условие проваливается, но кег не бросает?

Posted: 2009-12-06 09:53:09
by @YJKM@
Mirage wrote:Можно просто счетчик поставить :)
PS кликнуть на кег вписать нано надо перед сканом журнала.

подскажи как :)

Posted: 2009-12-06 11:17:02
by Mirage

Code: Select all

uo.click('ID кега') 
wait(1000)
if uo.injournal('Charges now') AND uo.injournal('25') then #указываем желаемое кол-во тотлов в кеге

как то так

Posted: 2009-12-06 11:48:19
by Savage
Mirage wrote:

Code: Select all

uo.click('ID кега') 
wait(1000)
if uo.injournal('Charges now') AND uo.injournal('25') then #указываем желаемое кол-во тотлов в кеге

как то так

Ты себя хорошо чувствуешь? Чем твой вариант принципиально отличается от исходного?

А про счётчик, можно завести переменную и каждый проход её увеличивать. Но зачем? На лицо имеется несоответствие строки скрипта и строки в журнале. Учитывая то что ранее этот скрипт работал.

Posted: 2009-12-06 12:14:19
by @YJKM@
Mirage wrote:

Code: Select all

uo.click('ID кега') 
wait(1000)
if uo.injournal('Charges now') AND uo.injournal('25') then #указываем желаемое кол-во тотлов в кеге

как то так

вот спасибо )) заработало как надо )) толшько поставил не ID кега а его тип )))

Posted: 2009-12-06 12:21:55
by Mirage
Mirage wrote:

Code: Select all

uo.click('кега') 
uo.injournal('25')

Чем твой вариант принципиально отличается от исходного?

этим :roll:

Posted: 2009-12-06 13:42:34
by Savage
Про 25 я уже постил. Зачем кликать на кег если при сливе появляется сообщение?