Page 1 of 1

Меню крафта.

Posted: 2009-10-13 14:26:26
by CoFFiN
Добрый день. Подскажите пожалуйста как определить названия меню крафта.

ПРосто все скрипты скажем на БС не работают на шарде УТОПИЯ.
Тоесть я так понимаю что названия крафтерских меню отличается от других шардов.....

Вопрос:
1. Как определить название менюшек
2. Как правильно написать данную команду
UO.WaitMenu('Blacksmithing','Armor,'Platemail,'Platemail gloves').......может я что-то неправильно делаю ???...

Posted: 2009-10-13 14:46:16
by elke
нуу =) меню крафта:
сверху когда крафтишь есть названия менюшек, их и надо вписывать в UO.WaitMenu ('1,2, 2,3, 3,4') где 1,2 ето 1 - ето самое первое название менюки, 2 - ето когда ты наводишь на чтото либо сверху тоже пишется, и так далее
пример:

Code: Select all

('What do you want to carve', 'Bowyer Items', 'Bowyer Items', 'Shafts' )

пример из бовкрафта
в твоем случаее


Code: Select all

UO.WaitMenu('Blacksmithing' , 'Armor', 'Armor' , 'Platemail' , 'Platemail' ,  'Platemail gloves')

Posted: 2009-10-13 16:14:27
by CoFFiN
Спасибо большое. ))))

Принцип понял. ))))) тока в моем случае получается так )))

UO.WaitMenu('What do you wish to make?' , 'Armor', 'Select armor' , 'Platemail' , 'Select item' , 'Platemail gloves')

главное понять принцип ))))))) премного благодарен ))) тему можна закрывать )

Posted: 2009-10-13 19:42:19
by Mirage
не обязательно писать полностью фразы и названия. достаточно первые буквы первого слова :roll:

UO.WaitMenu('Wh' , 'Arm', 'Sele' , 'Plat' , 'Sel' , 'Plate')


'Select *****' помоему лишнее ;)

Posted: 2009-10-14 17:59:26
by CoFFiN
Тут все ясно )))) простите за еще один вопрос.....

UO.FindType( 'Logi', -1, 1 ) ; Ищем логи на полу
wait( 2000 )
If UO.FindCount()<75 Then
UO.Print("Logs not found, script terminated")
return
Else
UO.DeleteJournal()
UO.CancelMenu()
wait (100)
UO.WaitMenu ('Choose a category.', 'Dye Tub', 'Choose an item', 'Dye Tub' )
UO.WaitTargetobject('finditem')
UO.UseType( Rubanok )


почему не работает ?????
Клиент пишет waitmenu cancelled: Choose a category.

просто я изучал програмирование в школе...очень давно и на базе паскаля.........так что простите за глупые вопросы ))

Posted: 2009-10-15 11:15:08
by elke

Code: Select all

UO.WaitMenu ('Choose a category.', 'Dye Tub', 'Choose an item', 'Dye Tub' ) 


а говоришь все понял ;)

Code: Select all

UO.WaitMenu ('Choose a category.', 'Dye Tub') 


мне кажется вот так надо! ну судя по твоим записям ;)[/code]

Posted: 2009-10-15 13:43:24
by Mirage
CoFFiN wrote:Choose a category.

Селект на Чуз поменял :)))

То что пишется ВНИЗУ игрового окна не нужно указывать в меню. только то что пишется в ОКНЕ КРАФТА ВВЕРХУ и сам ВЫБОР . И все :)
обычно выглядят так:

Code: Select all

UO.WaitMenu ('What do you', 'Bow')
UO.WaitMenu ('What do you', 'Torch')
UO.WaitMenu ('Tinkering','Keys','Keys','Iron key' )
UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'lockpick' )
UO.WaitMenu ('Blacksmithing', 'Weapons', 'Fencing', 'Dagger' )
UO.WaitMenu ('Carpentry', 'Weapons', 'Weapons', 'Club') 
UO.WaitMenu ('What sort of potion', 'Strength potion')

Posted: 2009-10-15 18:35:20
by CoFFiN
elke wrote:

Code: Select all

UO.WaitMenu ('Choose a category.', 'Dye Tub', 'Choose an item', 'Dye Tub' ) 


а говоришь все понял ;)




В том то и дело что все понял......причем вот в таком виде меню работает........если написать скрипт

sub 123()
UO.WaitMenu ('Choose a category.', 'Dye Tub', 'Choose an item', 'Dye Tub' )
endsub

а потом этот скрипт запустить.........то вручную нажимаю на рубанок..потом на логи....и меню срабатывает...он сразу начинает крафтить.......

Проблема в том что я не понимаю в какой порядке все делать...сначала вейт меню....потом вейттарджетобьект(на логи)....и потом на рубанок так ??? и какие паузы между командами

Posted: 2009-10-15 20:54:31
by Scripts Writer
Для таких не понятливых написаны уроки, 1 из которых по меню был написан мною.

Ссылка в подписи.

Posted: 2009-10-17 07:05:22
by CoFFiN
Спасибо....до этого почему то не мог найти ни одного урока про меню крафта.........

в принципе мне и надо было урок ))))......проще прочитать чем задовать вопросы..премного благодарен

Posted: 2009-10-17 07:10:34
by CoFFiN
Прочитал уроки....пришел к выводу что мой скрипт написан корректно....

В таком случае вопрос ...ПОЧЕМУ ОН НЕ РАБОТАЕТ ??Г?

Posted: 2009-10-17 13:35:41
by Mirage
наверное потому что ты в нем гдето ошибся ;)
Скрипт и название шарда напиши. Если есть возможность то прикреми картинку ПЕРВОГО окна с меню - чето меня сомнения берут насчет твоего "Choose a category."


PS простой крафт 1 единицы.

Code: Select all

sub CarpentryClub() 
VAR saw      = '0x1034'      #пила#
VAR log      = '0x1BDD'   
VAR LastTimer
     UO.DeleteJournal()
      LastTimer=UO.Timer()
     UO.WaitMenu ('Carpentry', 'Weapons', 'Weapons', 'Club') 
     UO.Usetype( saw )
      repeat
        wait( 300 )
      until UO.InJournal("You put|положили|fail|не удалось|You broke|сломали") or UO.Timer()>LastTimer+300
end sub

на моем шарде только кузнецу надо прицелом сырье указывать.

Posted: 2009-10-21 21:26:37
by CoFFiN
Шард "Utopia"
скрип предназначен для крафта красок...после крафта смотрит...Если туба с редким цветом в один мешок...если туба обычная то либо во второй мешок либо в треш

на счет скрина....щас времени нет делать...НО ТОЧНО МОГУ СКАЗАТЬ....КОМАНДА UO.waitmenu РАБОТАЕТ.....пусть тебя не берут сомнения...бардак гдето в районе использования инструмента и логов....

вот мои наработки......кстати на утопии почти везде надо указывать прицелом сырье для крафта и для тинкера и для карпентера и для БСа

sub carpentry()
VAR Sunduk1 = '0x42FE5AD6' ; Сериал сундука с VIP-красками
VAR Sunduk2 = '0x42FE7A33' ; Сериал сундука с обычными красками
VAR Logi = '0x1BDD' ; Тип логов
VAR Rubanok = '0x1035' ; Тип инструмента карпентера
VAR Tyb = '0x0FAB' ; Тип тубы с краской
VAR Kolvo = 75 ; Брать логов (75 логов = 1 туба краски)
VAR j, k
While UO.Life > 0
UO.FindType( 'Logi', -1, 1 ) ; Ищем логи на полу
wait( 2000 )
If UO.FindCount()<75 Then
UO.Print("Logs not found, script terminated")
return
Else
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitTargetground('finditem')
UO.UseType( Rubanok )
UO.WaitMenu ('Choose a category.', 'Dye Tub', 'Choose an item', 'Dye Tub' )
k = 0
while NOT UO.InJournal('You make') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
; Wait( 14000 )
; Скрафтили краску
; Сразу переложим ее в мешок
While UO.Count( Tyb, '0x0000' ) > 0
UO.FindType( Tyb, '0x0000' ,-1, 'backpack' )
UO.MoveItem( 'finditem', 0, 'Sunduk2' )
wait (2000)
wend

Wend
end sub




там недоделано пока перекладывание в мешки...но это уже другая проблема

Posted: 2009-10-22 13:20:08
by Mirage
Давай начнем с простого. ТИПО крафт одного предмета. Сразу вопрос. У вас можно юзать сырье с пола? Не обязательно брать в пак? Если да то проверь вот это:

Code: Select all

VAR Logi = '0x1BDD' ; Тип логов
VAR Rubanok = '0x1035' ; Тип инструмента карпентера

sub carpentry()
   UO.FindType( 'Logi', -1, -1 )
   UO.DeleteJournal()
   UO.WaitMenu ('Choose a category.', 'Dye Tub', 'Choose an item', 'Dye Tub' )
   UO.WaitTargetObject('finditem')
   UO.UseType( Rubanok )
   repeat
      wait( 300 )
   until   UO.InJournal('make|fail')
end sub


Если всетаки нужно с пака то надо сделать так.
Возьми 50 логов в пак и рубанок. Запусти вот такой скрипт:

Code: Select all

VAR Logi = '0x1BDD' ; Тип логов
VAR Rubanok = '0x1035' ; Тип инструмента карпентера

sub carpentry()
   UO.DeleteJournal()
   UO.WaitMenu ('Choose a category.', 'Dye Tub', 'Choose an item', 'Dye Tub' )
   UO.Waittargettype ( Logi )
   UO.UseType( Rubanok )
   repeat
      wait( 300 )
   until   UO.InJournal('make|fail')
end sub

Posted: 2009-10-23 20:42:25
by CoFFiN
У нес с пола крафтить можно...

в первом варианте пишет

You can only use that on wood!