; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет из сундука 2 инготы, крафтит из них даггеры и складывает эти даггеры
; в этот мешок в сундуке 2. Если инги в сундуке 2 или пустые мешки
; кончились - выход
;
sub Blacksmithy()
VAR Sunduk1 = '0x401CCC95' ; Сериал сундука с пустыми мешками
VAR Sunduk2 = '0x401509F1' ; Сериал пустого сундука
VAR Meshok = '0x0E76' ; Тип мешка
VAR Logi = '0x1BEF' ; Тип ингов
VAR Rubanok = '0x13E3' ; Тип инструмента блексмита
VAR Udochka = '0x0F51' ; Тип даггера
VAR Kolvo = 1000 ; Брать ингов (3 инга = 1 ножик)
VAR MeshSer, j, k
While TRUE
UO.FindType( Logi, -1, Sunduk2 ) ; Ищем инги в сундуке 2
UO.Grab( Str( Kolvo ), 'finditem' ) ; Кладем инги в пак
wait( 2000 )
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
UO.FindType( Meshok, -1, Sunduk1 ) ; Ищем мешок в сундуке 1
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' ) ; Кладем его в бэкпак
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
wait( 2000 )
While UO.Count( Logi ) > 3 ; Пока в паке есть инги
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' ingov' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu('Swords & Blades', 'dagger')
UO.UseType( Rubanok )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
; Wait( 14000 )
; Скрафтили даггер
; Сразу переложим ее в мешок
if UO.Count( Udochka ) > 0 then
UO.FindType( Udochka, -1, 'backpack' )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'dagger perelozhen' )
end if
Wend
Wend
end sub
Помогите пожалуста поправить скрипт на БС.
Moderators: Murderator+, Murderator
Помогите пожалуста поправить скрипт на БС.
Помогите опознать ошибку, я думаю что это возможно из-за того что у меня не стоит где то галочка в мейне или наоборот стоит та что мешает его работе. Скрипт видит первую меню но даггер в этой менюшке не начинает производить выводится таргет. Я его щелкаю на инготу и только тогда даггер делается. Но цикла нет. Помогите увидить ошибку почему производство даггера останавливается на таргете. Менюшка выглядит так, как только открывается называется Swords & Blades => dagger.
Если используешь инструмент, то необходимо указать на какой ресурс его применять. Вставь эту строку:
после:
Либо вместо инструмента сразу использовать ресурсы. Вместо:
прописать:
Code: Select all
uo.WaitTargetType(Logi)Code: Select all
UO.WaitMenu('Swords & Blades', 'dagger') Code: Select all
UO.UseType( Rubanok )Code: Select all
UO.UseType(Logi)Code: Select all
; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет из сундука 2 инготы, крафтит из них даггеры и складывает эти даггеры
; в этот мешок в сундуке 2. Если инги в сундуке 2 или пустые мешки
; кончились - выход
;
sub Blacksmithy()
VAR Sunduk1 = '0x401CCC95' ; Сериал сундука с пустыми мешками
VAR Sunduk2 = '0x401509F1' ; Сериал пустого сундука
VAR Meshok = '0x0E76' ; Тип мешка
VAR Logi = '0x1BEF' ; Тип ингов
VAR Rubanok = '0x13E3' ; Тип инструмента блексмита
VAR Udochka = '0x0F51' ; Тип даггера
VAR Kolvo = 1000 ; Брать ингов (3 инга = 1 ножик)
VAR MeshSer, j, k
While TRUE
UO.FindType( Logi, -1, Sunduk2 ) ; Ищем инги в сундуке 2
UO.Grab( Str( Kolvo ), 'finditem' ) ; Кладем инги в пак
wait( 2000 )
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
UO.FindType( Meshok, -1, Sunduk1 ) ; Ищем мешок в сундуке 1
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' ) ; Кладем его в бэкпак
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
wait( 2000 )
While UO.Count( Logi ) > 3 ; Пока в паке есть инги
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' ingov' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu('Swords & Blades', 'dagger')
uo.waittargettype(Logi)
UO.UseType( Rubanok )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
; Wait( 14000 )
; Скрафтили даггер
; Сразу переложим ее в мешок
if UO.Count( Udochka ) > 0 then
UO.FindType( Udochka, -1, 'backpack' )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'dagger perelozhen' )
end if
Wend
Wend
end sub
Сделал дело - флуди смело !!!
МдааArsuri wrote:Если используешь инструмент, то необходимо указать на какой ресурс его применять. Вставь эту строку:после:Code: Select all
uo.WaitTargetType(Logi)Либо вместо инструмента сразу использовать ресурсы. Вместо:Code: Select all
UO.WaitMenu('Swords & Blades', 'dagger')прописать:Code: Select all
UO.UseType( Rubanok )Code: Select all
UO.UseType(Logi)
Опоздал я.
Сделал дело - флуди смело !!!
Большое вам спасибо, скрипт работает. Конечно есть интересные ньюансы. Но все же скрипт работает хорошо.
Если вам не сложно скажите пожалуста как вот скрипт узнает что попытка неудалась у нас скилл бс руссифицировали. При неудачной попытке пишется "Ваша попытка провалилась...".
Очень вот интересна эта система.
ПиСи спасибо за помощь.
Если вам не сложно скажите пожалуста как вот скрипт узнает что попытка неудалась у нас скилл бс руссифицировали. При неудачной попытке пишется "Ваша попытка провалилась...".
Очень вот интересна эта система.
ПиСи спасибо за помощь.
Code: Select all
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )Code: Select all
while NOT UO.InJournal('You put') AND NOT UO.InJournal('Ваша попытка провалилась...') AND ( k < 30 )Всем спасибо, скрипт работает и выглядит теперь вот так:
; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет из сундука 200 ингот, крафтит из них щиты и складывает эти щиты
; в этот мешок в сундуке 2. Если инги в сундуке 2 или пустые мешки
; кончились - выход
;
sub Blacksmithy()
VAR Sunduk1 = '0x401CCC95' ; Сериал сундука с пустыми мешками
VAR Sunduk2 = '0x401509F1' ; Сериал пустого сундука
VAR Meshok = '0x0E76' ; Тип мешка
VAR Logi = '0x1BEF' ; Тип ингов
VAR Rubanok = '0x13E3' ; Тип инструмента блексмита
VAR Udochka = '0x1B72' ; Тип щита
VAR Kolvo = 200 ; Брать ингов (10 инга = 1 щит)
VAR MeshSer, j, k
While TRUE
UO.FindType( Logi, -1, Sunduk2 ) ; Ищем инги в сундуке 2
UO.Grab( Str( Kolvo ), 'finditem' ) ; Кладем инги в пак
wait( 2000 )
If UO.FindCount() == 0 Then
UO.Print("Ingots not found, script terminated")
return
Endif
UO.FindType( Meshok, -1, Sunduk1 ) ; Ищем мешок в сундуке 1
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' ) ; Кладем его в бэкпак
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
wait( 2000 )
While UO.Count( Logi ) > 3 ; Пока в паке есть инги
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' ingov' )
UO.DeleteJournal()
UO.CancelMenu()
UO.Exec("waitmenu 'Blacksmithing' 'Shields' 'Shields' (2)")
uo.waittargettype(Logi)
UO.UseType( Rubanok )
k = 0
while NOT UO.InJournal('Вы успешно сделали bronze shield') AND NOT UO.InJournal('Ваша попытка провалилась...') AND ( k < 30 )
k = k + 1
wait(14000)
wend
; Wait( 14000 )
; Скрафтили щит
; Сразу переложим ее в мешок
if UO.Count( Udochka ) > 0 then
UO.FindType( Udochka, -1, 'backpack' )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( '!!!BRONZE SHIELD PERELOJEN!!!' )
end if
Wend
Wend
end sub
[Bugs]
Заметил в макросе небольшую но устранимую проблему.
Максимум у меня получается брать 700-900 инготов, после израсходования инготов макрос вместе с новой пачкой инготов берет и новую сумку. Так смысл заключается в том чтоб правильно поставить проверку чтоб он не брал новую сумку пока не будет в ней кол-во итемов 225. Может кто нить помоч? А пока я пробую найти вариант ее устарнения, если получится сделать его уникальным, выложу результат...
Заметил в макросе небольшую но устранимую проблему.
Максимум у меня получается брать 700-900 инготов, после израсходования инготов макрос вместе с новой пачкой инготов берет и новую сумку. Так смысл заключается в том чтоб правильно поставить проверку чтоб он не брал новую сумку пока не будет в ней кол-во итемов 225. Может кто нить помоч? А пока я пробую найти вариант ее устарнения, если получится сделать его уникальным, выложу результат...
сенк, попробую что нить с этим сделать.Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
Да и ваще не вижу смысла копить даггеры в пакетиках.G-Light wrote:сенк, попробую что нить с этим сделать.Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
Лучше их сразу плавить.
Сделал дело - флуди смело !!!
так у меня др. макрос на плавку из сумочек.Askaneli wrote:Да и ваще не вижу смысла копить даггеры в пакетиках.G-Light wrote:сенк, попробую что нить с этим сделать.Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
Лучше их сразу плавить.
Чтот у меня с твоим вариантом не получается сделать скрипт. Пришлось ИзиУо совместно прикрепить чтоб докладывал ресурс в пак. а То с сумками трабла. Вот с ИзиУо все вроде оптимально
да сразу плавить надо а не копить в сумочках.G-Light wrote:так у меня др. макрос на плавку из сумочек.Askaneli wrote:Да и ваще не вижу смысла копить даггеры в пакетиках.G-Light wrote: сенк, попробую что нить с этим сделать.
Лучше их сразу плавить.![]()
Чтот у меня с твоим вариантом не получается сделать скрипт. Пришлось ИзиУо совместно прикрепить чтоб докладывал ресурс в пак. а То с сумками трабла. Вот с ИзиУо все вроде оптимально
Сделал дело - флуди смело !!!
-
Destruction
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Дык не надо было брать в качестве основы скритп на карпу. Где вы видели карпу с переплавкой логов?Askaneli wrote:Да и ваще не вижу смысла копить даггеры в пакетиках.G-Light wrote:сенк, попробую что нить с этим сделать.Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
Лучше их сразу плавить.
-
Destruction
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Энто было желание АФФТОРА.Edred wrote:Дык не надо было брать в качестве основы скритп на карпу. Где вы видели карпу с переплавкой логов?Askaneli wrote:Да и ваще не вижу смысла копить даггеры в пакетиках.G-Light wrote: сенк, попробую что нить с этим сделать.
Лучше их сразу плавить.
Сделал дело - флуди смело !!!