Page 1 of 1
помогите пожалуйсто с боукрафтом
Posted: 2009-01-18 08:47:47
by ychenik
прочитал все существующие топики, попробовал все скрипты в том числе из раздела top quality и скрипты ердреда, во всех возникает проблема с меню, может быть у кого то есть рабочий скрипт? желательно чтобы брал из сундука никтки и логи и вырезал лук, лук кидал в мусорку. заранее спс.
Posted: 2009-01-18 10:38:07
by ADEPT_ABP
А меню сравнивал? Вдруг отличается? И уточняй на каком шарде играешь.
Posted: 2009-01-18 14:41:35
by ychenik
шард оском, да вроде сравнивал, все типы: меню, логов, ножика, шафтов совпадают, но происходит так, что вылазит меню крафта, а дальше скрипт просто простаивает, не крафтит даже один раз.
Posted: 2009-01-18 15:06:37
by ychenik
вот переделал несколько скриптов и сделал, то что мне наиболее подходит
Code: Select all
#####################################################################
;
; Чар берет из сундука логи, крафтит луки
; и кидает их в трэш.
; Если логи закончились - выход.
;
sub bow()
VAR Musor = '0x4047ccfb'
VAR Sunduk = '0x40606126' ; Сериал сундука
VAR Logi = '0x1BDD' ; Тип логов
VAR Instrum = '0x0F51' ; Тип ножика
VAR Bow = '0x13B1' ; Тип лука
VAR Kolvo = 200 ; Брать логов
VAR k = 0
While TRUE
UO.FindType( Logi, -1, Sunduk ) ; Ищем логи в сундуке
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
While UO.Count( Logi ) > 0
; Пока в паке есть логи
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logs' )
UO.DeleteJournal()
uo.automenu('Bowcraft','Exceptional Bows')
uo.automenu('Exceptional Bows','Superior Bow')
UO.UseType( Instrum )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
if UO.Count( Bow ) > 0 then
UO.FindType( Bow, -1, -1 )
UO.MoveItem( 'finditem', 0, Musor )
wait( 1000 )
UO.Print( 'Bow moved' )
end if
Wend
Wend
end sub
но опять таки проблема с меню, не знаю как правильно написать, уже че токо не пробывал.
вот как должно быть тыкает на логи появляется меню What do you want to carve ---> Exeptional Bows---->Superior Bow подскажите пжалсто

Posted: 2009-01-18 21:20:59
by ADEPT_ABP
Для начала выясни, корректно ли работает меню:
Code: Select all
sub main()
uo.cm()
uo.automenu('Exeptional Bows','Superior Bow')
uo.automenu('What do you want to carve','Exeptional Bows')
end sub
sub cm() ; очистка автоменю
uo.cancelmenu()
end sub
Запусти и ткни на логи, пилу или чем ты там мастеришь. Если не работает попробуй это.
Code: Select all
sub main()
var log=''
uo.waitmenu('What do you want to carve','Exeptional Bows','Exeptional Bows','Superior Bow')
uo.usetype(log)
end sub
Отпиши как это у тебя работает.
Posted: 2009-01-18 21:45:54
by Successful
ADEPT_ABP wrote:Code: Select all
uo.automenu('Exeptional Bows','Superior Bow')
uo.automenu('What do you want to carve','Exeptional Bows')
Code: Select all
uo.automenu('What do you want to carve','Exeptional Bows')
uo.automenu('Exeptional Bows','Superior Bow')
и здесь может быть еще так:
вроде 8

Posted: 2009-01-18 23:19:39
by ychenik
В первом варианте пишет что uo.cm не найдено и выдает ошибку, а во втором пишет you cant think of a way to use this item.
Posted: 2009-01-18 23:31:36
by Millerbeer
Code: Select all
#####################################################################
;
; Чар берет из сундука логи, крафтит луки
; и кидает их в трэш.
; Если логи закончились - выход.
;
sub bow()
VAR Musor = '0x4047ccfb'
VAR Sunduk = '0x40606126' ; Сериал сундука
VAR Logi = '0x1BDD' ; Тип логов
VAR Instrum = '0x0F51' ; Тип ножика
VAR Bow = '0x13B1' ; Тип лука
VAR Kolvo = 200 ; Брать логов
VAR k = 0
While TRUE
if not uo.count('0x0FA0') then
uo.findtype('0x0FA0','0x0000',Sunduk)
if uo.findcount() then
uo.moveitem('finditem','200','backpack')
wait(1000)
else
uo.print('Нитки закончились')
return
endif
endif
if not uo.count(Logi) then
UO.FindType( Logi, -1, Sunduk ) ; Ищем логи в сундуке
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
endif
While UO.Count( Logi ) >10 and uo.count('0x0FA0')
; Пока в паке есть логи
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logs' )
UO.DeleteJournal()
uo.waitmenu('What do','Exceptional Bows','Exceptional Bows','Superior Bow')
uo.waittargettype(Logi)
UO.UseType( Instrum )
repeat
wait(500)
until UO.InJournal('You put|fail')
if UO.Count( Bow ) > 0 then
UO.FindType( Bow, -1, -1 )
UO.MoveItem( 'finditem', 0, Musor )
wait( 1000 )
UO.Print( 'Bow moved' )
end if
Wend
Wend
end sub
Posted: 2009-01-18 23:38:40
by ychenik
опять таки какая-то проблема с меню, появляется первое меню что вырезать и все, скрипт встает на одном месте, он не заходит в раздел эксепшонал луков и не выбирает супериор лук.
Posted: 2009-01-18 23:51:06
by Millerbeer
Чуть подправил,попробуй, ваще, проблема, я так понял, в менюшках, точно перепиши все названия, которые там появляются, с самого начала, кликнул на кинжал 2 раза, указал на логи, вылазиит меню крафта, чего там сверху написано, и остальные названия тож в студию
Posted: 2009-01-18 23:55:17
by Millerbeer
И от сервака что приходит в случае удачного крафта и в случае неудачи тож напиши
Posted: 2009-01-19 00:08:41
by ychenik
дабл клик на дагер слева внизу пишет What do you want to use this on?
тыкаю на логи - вылазит менюшка What do you want to carve the wo
далее следует раздел Exceptional Bows в нем Superior Bow
при удачном крафте пишет You put the Superior Bow in your pack.
При физле пишет You fail to create the item
сообщения вроде стандартные, менюшка тоже в чем загвоздка не пойму.
Posted: 2009-01-19 00:11:34
by Millerbeer
Если ты всё правильно написал, то в команде лишняя строчка Bowcraft, сча её уберу и попробуй
Posted: 2009-01-19 00:20:43
by ychenik
пасиб, все офигенно) теперь еще один вопрос, мне для изготовления лука кроме логов нужны нитки, чет вот пробую сейчас вписать чтобы брал еще и нитки и видимо не очень удачно это делаю. я просто продублировал строчку с добором логов изменив ее на нитки, поулчился бред. как это получше сделать? тип ниток 0x0FA0.
Posted: 2009-01-19 00:23:40
by Millerbeer
а сколько ниток идёт на лук? одна?
Posted: 2009-01-19 00:28:03
by ychenik
да одна.
Posted: 2009-01-19 15:18:14
by ychenik
спасибо, все работает.
Posted: 2009-01-20 12:13:05
by ADEPT_ABP
ychenik wrote:В первом варианте пишет что uo.cm не найдено и выдает ошибку, а во втором пишет you cant think of a way to use this item.
Вообще-то, uo.cm быть не должно, а вот uo.cm() это - uo.cancelmenu(), сделанное отдельной функцией, чтобы можно было её запустить отдельно. Так как если запустить скрипт такого вида:
Code: Select all
sub main()
uo.automenu('Exeptional Bows','Superior Bow')
uo.automenu('What do you want to carve','Exeptional Bows')
end sub
а потом ещё раз, то как раз и будет ситуация, с вылезанием крафтовой менюхи и ничегонеделанием.
