; Чар берет из сундука 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. Может кто нить помоч? А пока я пробую найти вариант ее устарнения, если получится сделать его уникальным, выложу результат...
G-Light wrote:Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
сенк, попробую что нить с этим сделать.
Да и ваще не вижу смысла копить даггеры в пакетиках.
Лучше их сразу плавить.
Сделал дело - флуди смело !!!
Askaneli wrote:G-Light wrote:Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
сенк, попробую что нить с этим сделать.
Да и ваще не вижу смысла копить даггеры в пакетиках.
Лучше их сразу плавить.
так у меня др. макрос на плавку из сумочек.
Чтот у меня с твоим вариантом не получается сделать скрипт. Пришлось ИзиУо совместно прикрепить чтоб докладывал ресурс в пак. а То с сумками трабла. Вот с ИзиУо все вроде оптимально
G-Light wrote:Askaneli wrote:G-Light wrote:Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
сенк, попробую что нить с этим сделать.
Да и ваще не вижу смысла копить даггеры в пакетиках.
Лучше их сразу плавить.
так у меня др. макрос на плавку из сумочек.![]()
Чтот у меня с твоим вариантом не получается сделать скрипт. Пришлось ИзиУо совместно прикрепить чтоб докладывал ресурс в пак. а То с сумками трабла. Вот с ИзиУо все вроде оптимально
да сразу плавить надо а не копить в сумочках.
Сделал дело - флуди смело !!!
-
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:Askaneli wrote:такой скрипт уже есть
просто брать инготы надо по мере того как они закончились (для даггеров <3)
а мешок нада менять когда сабж вылетает что мол итемов лишка уже
это 2 разные операции просто и не надо их одновременно анализировать и обрабатывать.
сенк, попробую что нить с этим сделать.
Да и ваще не вижу смысла копить даггеры в пакетиках.
Лучше их сразу плавить.
Дык не надо было брать в качестве основы скритп на карпу. Где вы видели карпу с переплавкой логов?
Энто было желание АФФТОРА.
Сделал дело - флуди смело !!!