Yoko

All sides of Injection
It is currently 2025-11-05 04:20:32

All times are UTC+02:00




Post new topic  Reply to topic  [ 15 posts ] 
Author Message
PostPosted: 2004-09-22 19:15:49 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Прокачка боукрафта


1 вариант. Крафтим шафты.

Code:
#####################################################################
; Bowcraft. v.1.03b (c) Edred
;
; Чар берет из сундука логи, крафтит из них шафты
; и складывает эти шафты в этот же сундук.
; Если логи закончились - выход.
; Если даггер (или что вы там используете) сломался -
; скрипт найдет аналогичный по типу в бэкпаке и возьмет
; в руки.
;
; 1.03b: Проверка, если Kolvo = 1, то берем три и кладем обратно два
;        лога.
;
sub bowcraft()
   VAR Sunduk = '0x4042B1A1'       ; Сериал сундука
   VAR Logi = '0x1BDD'          ; Тип логов
   VAR Shafts = '0x1BD4'          ; Тип шафтов
   VAR Kolvo = 10               ; Брать логов для одного крафта
   VAR k = 0, j, dagger
   dagger = UO.ObjAtLayer( 'Rhand' )
   UO.SetGlobal( 'instrtype', UO.GetGraphic( dagger ) )
   While TRUE
      UO.FindType( Logi, -1, Sunduk )   ; Ищем логи в сундуке
      If UO.FindCount() == 0 Then
         UO.Print("Logs not found, script terminated")
         return
      else
         j = UO.GetQuantity( 'finditem' )
         If j > Kolvo Then
            UO.Print( 'I can use ' + str( j ) + ' logs' )
         else
            UO.Print( "I can't use " + str( j ) + " logs" )
            return
         Endif
      Endif
      If Kolvo == 1 Then
         ; v. 1.03
         UO.Grab( '3', 'finditem' )
         wait(500)
         UO.FindType( Logi )
         UO.MoveItem( 'finditem', '2', Sunduk )
         wait(500)
      Else
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
      Endif
      ; А это - динамическая пауза на мув
      while UO.Count( Logi ) < Kolvo
         wait(100)
      wend
      ; проверка на то, что в руках по-прежнему даггер
      If CheckInstr() == 0 Then
         UO.Print("You don't have daggers!" )
         return
      Endif
      UO.DeleteJournal()
      UO.CancelMenu()
      UO.WaitMenu ('What do you want to carve', 'shaft' )
      UO.WaitTargetType( Logi )
      UO.UseObject( dagger )
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
         k = k + 1
         wait(300)
      wend
      If UO.Count( Shafts ) > 0 then
         UO.FindType( Shafts, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( Shafts ) > 0
            wait(100)
         wend
         UO.Print( 'Shafts moved' )
      Endif
   Wend
end sub

Sub CheckInstr()
   ; проверим, есть ли в правой руке инструмент того же
   ; типа, что и в глобальной переменной instrtype
   ; если нет - найдем в бэкпаке такой инструмент и
   ; возьмем в правую руку.
   VAR typ = UO.GetGlobal( 'instrtype' )
   VAR cur = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   If typ == cur Then
      return 1
   Endif
   UO.FindType( typ )
   If UO.FindCount() == 0 Then
      return 0
   Endif
   UO.Equip( 'RHand' , 'finditem' )
   wait(1000)
   return 1
endsub



2 вариант. Крафтим стрелы из шафтов.

Code:
#####################################################################
; Bowcraft2. v.1.01b (c) Edred
;
; Чар берет из сундука шафты и перья, крафтит из них стрелы и
; складывает эти стрелы в этот же сундук.
; Если шафты или перья закончились - выход.
;
sub bowcraft2()
   VAR Sunduk = '0x404CFAA3'       ; Сериал сундука
   VAR Shafts = '0x1BD4'          ; Тип шафтов
   VAR Feather = '0x1BD1'         ; Тип перьев
   VAR Arrows = '0x0F3F'         ; Тип стрел
   VAR Kolvo = 1               ; Брать шафтов для одного крафта
   VAR k = 0, j
   UO.CancelMenu()
   UO.AutoMenu ('Select arrow type', 'arrow' )
   While TRUE
      If UO.Count( Shafts ) == 0 Then
         UO.FindType( Shafts, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Shafts not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Shafts ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      If UO.Count( Feather ) == 0 Then      
         UO.FindType( Feather, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Feather not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Feather ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      UO.DeleteJournal()
      UO.UseType( Shafts )
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
         k = k + 1
         wait(300)
      wend
      If UO.Count( Arrows ) > 0 then
         UO.FindType( Arrows, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( Arrows ) > 0
            wait(100)
         wend
         UO.Print( 'Arrows moved' )
      Endif
   Wend
end sub


Описание обоих скриптов скину в личку Йоко... Хотя комментариев в начале скрипта достаточно вполне :)


Top
   
 Post subject:
PostPosted: 2006-06-28 13:29:31 
Offline

Joined: 2006-06-20 17:36:48
Posts: 7
Первый скрипт у меня не пашет.
Вписал свой айди сундука, тайпы логов и шафтов тут верные.
Дагер в руку. Запускаю скрипт - тишина. Просто стоит ничего не делает.


Top
   
 Post subject:
PostPosted: 2006-06-28 13:30:50 
Offline

Joined: 2006-06-27 16:46:00
Posts: 25
Xammep wrote:
Первый скрипт у меня не пашет.
Вписал свой айди сундука, тайпы логов и шафтов тут верные.
Дагер в руку. Запускаю скрипт - тишина. Просто стоит ничего не делает.

у нас на серваке есть команда .makelast

_________________
my page : http://infostore.org/user/Jessi


Top
   
 Post subject:
PostPosted: 2006-06-28 13:36:18 
Offline

Joined: 2006-06-20 17:36:48
Posts: 7
И что?
Ставить на пилот? И перетаскивать каждый раз по 100 бревен?
Скриптик нужен. Или ес ьдругие идеи по этому - в аську предложи :)


Top
   
 Post subject:
PostPosted: 2006-06-28 13:42:52 
Offline

Joined: 2006-06-27 16:46:00
Posts: 25
Xammep wrote:
И что?
Ставить на пилот? И перетаскивать каждый раз по 100 бревен?
Скриптик нужен. Или ес ьдругие идеи по этому - в аську предложи :)

в аську не могу те постучать .... идея есть .... скрипт на подбирание брёвен с пола дальше .makelast и складывание шавтов в сундук ... похожие скрипты без makelast'a есть поищи

_________________
my page : http://infostore.org/user/Jessi


Top
   
 Post subject:
PostPosted: 2006-06-28 13:44:29 
Offline

Joined: 2006-06-20 17:36:48
Posts: 7
А почему в аську не можешь?
Да пока ничего подходящег оне нашел :(


Top
   
 Post subject:
PostPosted: 2006-06-28 22:48:49 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Xammep wrote:
Первый скрипт у меня не пашет.
Вписал свой айди сундука, тайпы логов и шафтов тут верные.
Дагер в руку. Запускаю скрипт - тишина. Просто стоит ничего не делает.


Телепаты в отпуске. Какой шард, какой клиент, тексты меню проверил?

_________________
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 Post subject:
PostPosted: 2006-06-29 03:38:58 
Offline

Joined: 2006-06-27 16:46:00
Posts: 25
Edred wrote:
Xammep wrote:
Первый скрипт у меня не пашет.
Вписал свой айди сундука, тайпы логов и шафтов тут верные.
Дагер в руку. Запускаю скрипт - тишина. Просто стоит ничего не делает.


Телепаты в отпуске. Какой шард, какой клиент, тексты меню проверил?

Спасибо , Маст Дай помог ...шард Форест Варз клиент 2.0.3

_________________
my page : http://infostore.org/user/Jessi


Top
   
 Post subject:
PostPosted: 2006-07-26 20:08:48 
Offline
User avatar

Joined: 2005-02-22 10:55:22
Posts: 61
Location: Русский из Латвии.
А у меня беда. Раньше скрипт на стрелы у меня работал, а сейчас перестал :( шард ДРВ
Разобрался :)


Code:
UO.AutoMenu ('Select arrow type', 'arrow (1 shaft, 1 feather)' )


Top
   
 Post subject:
PostPosted: 2008-02-09 22:23:48 
Offline

Joined: 2005-08-25 23:35:29
Posts: 96
можно этот скрипт на инготы переделать что бы с шафтов и айрона делал болты! а то у меня когда скрипт врубаешь выбивает ошибку. а потом вообще когда на шафты клацаешь даже меню невыходит крафта :(вот скрипт что я переделал

Code:
##################################################################### 
; Bowcraft2. v.1.01b (c) Edred
;
; ×àð áåðåò èç ñóíäóêà øàôòû è ïåðüÿ, êðàôòèò èç íèõ ñòðåëû è
; ñêëàäûâàåò ýòè ñòðåëû â ýòîò æå ñóíäóê.
; Åñëè øàôòû èëè ïåðüÿ çàêîí÷èëèñü - âûõîä.
;
sub bowcraft2()
   VAR Sunduk = '0x4002A2AC'       ; Ñåðèàë ñóíäóêà
   VAR Shafts = '0x1BD4'          ; Òèï øàôòîâ
   VAR iron ingots = '0x1BEF'         ; Òèï ïåðüåâ
   VAR Arrows = '0x1BFB'         ; Òèï ñòðåë
   VAR Kolvo = 2               ; Áðàòü øàôòîâ äëÿ îäíîãî êðàôòà
   VAR k = 0, j
   UO.CancelMenu()
   UO.AutoMenu ('Select arrow type', 'crossbow bolt (1 shaft, 1 iron ingot)' )
   While TRUE
      If UO.Count( Shafts ) == 0 Then
         UO.FindType( Shafts, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Shafts not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Shafts ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      If UO.Count( iron ingots ) == 0 Then       
         UO.FindType( iron ingot, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("iron ingots not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( iron ingots ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      UO.DeleteJournal()
      UO.UseType( Shafts )
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
         k = k + 1
         wait(300)
      wend
      If UO.Count( crossbow bolt ) > 0 then
         UO.FindType( crossbow bolt, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( crossbow bolt ) > 0
            wait(100)
         wend
         UO.Print( 'crossbow bolt moved' )
      Endif
   Wend
end sub

sub checklag()
deljournal("ackpack")
uo.click("backpack")
repeat
wait(50)
until uo.injournal("ackpack")
endsub


Top
   
 Post subject:
PostPosted: 2008-02-17 12:27:11 
Offline
User avatar

Joined: 2006-09-14 10:38:08
Posts: 39
работает но нестабильно... шард тот же что и у тебя;)
Code:
sub bowcraft2() 
   VAR Sunduk = '0x40D34F4D'       ; Na?eae noiaoea
   VAR Shafts = '0x1BD4'          ; Oei oaooia
   VAR ingot = '0x1BEF'         ; Oei ia?uaa
   VAR bolt = '0x1BFB'         ; Oei no?ae
   VAR Kolvo = 1               ; A?aou oaooia aey iaiiai e?aooa
   VAR k = 0, j
   UO.CancelMenu()
   UO.AutoMenu ('Select arrow type', 'crossbow bolt (1 shaft, 1 iron ingot)' )
   While TRUE
      If UO.Count( Shafts ) == 0 Then
         UO.FindType( Shafts, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Shafts not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Shafts ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      If UO.Count( ingot ) == 0 Then       
         UO.FindType( ingot, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("iron ingots not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( ingot ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      UO.DeleteJournal()
      UO.UseType( Shafts )
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
         k = k + 1
         wait(300)
      wend
      If UO.Count( bolt ) > 0 then
         UO.FindType( bolt, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( bolt ) > 0
            wait(100)
         wend
         UO.Print( 'crossbow bolt moved' )
      Endif
   Wend
end sub

sub checklag()
uo.click("backpack")
repeat
wait(50)
until uo.injournal("backpack")
endsub

_________________
все что нас не убивает - делает нас крепче!


Top
   
 Post subject:
PostPosted: 2008-10-30 01:21:37 
Offline
User avatar

Joined: 2008-10-29 15:30:24
Posts: 7
вскрыв мозга ппц!
ипробывал жесть сколько вариантов с () [] [()] ([])
прочитал внемательно в хелпе на http://yoko.netroof.net/help/ в разделе крафт всё про waitmenu и automenu и ваще так и не зделал чтобы крафтил шафты из логов из сумки в моем бакпаке с логами...
берет логи из сумки(с айди логоф и сумки всё окай) по 7штук кладет в бакпак и какраз должен начаться крафт но выводит воткакую фигню...

кусок скрина из журнала

Image

что делать ппц... а с УО пилотом работать себя не уважать что корректировать подскажите ИМБЫ ))))

кстати скрипт юзаю самый верхний на крафт шафтов из логов

играю на Forgotten World(FW)...
клиент 1.26.4b

куски скрина с менюшками крафта если нид prompt'ы и choice'ы

первая менюшка:
Image

вторая менюшка:
Image


:arrow: need help :!: :idea:


Top
   
 Post subject:
PostPosted: 2008-10-30 01:30:23 
Offline
User avatar

Joined: 2008-10-29 15:30:24
Posts: 7
изначально в скрипте прописано shaft я и так пробывал и менял на Shafts ибо у меня на серваке шафты только по 7 минимум крафтятся...
и крафтятся из всех логов на которые юзаеш даггер(блако не на все которые вообщеесть в бакпаке)

а когда менял промты и чойсы ограничивал из скобками разными и добавлял второй чойс ничего кароче не получилось...
поидее если АвтоМеню то несколько пар промт+чойс не прокатят же...
а ВэйтМеню при любых попытках добавления чегото нового пишет
Line 58: parse error (понятное дело что строчка которую я пытаюсь изменить и есть 58ая)


Top
   
 Post subject:
PostPosted: 2008-10-30 01:34:07 
Offline
User avatar

Joined: 2008-10-29 15:30:24
Posts: 7
просто интересно после стольких лет фокум ктонить просматривает или все "старики" забили с концами :?:


Top
   
 Post subject:
PostPosted: 2008-10-30 02:07:51 
Offline
User avatar

Joined: 2008-10-29 15:30:24
Posts: 7
это какбы сам вариант крипта по правилам вроде всё правильно... мб ошибась
моему изменению подверглась лиш строка 58 которая какраз и выдает parse error

Code:
      UO.WaitMenu ('What do you want to carve', 'Bowyer Items', ['Bowyer Items', 'shaft' ]) 



Code:
##################################################################### 
; Bowcraft. v.1.03b (c) Edred
;
; ×àð áåðåò èç ñóíäóêà ëîãè, êðàôòèò èç íèõ øàôòû
; è ñêëàäûâàåò ýòè øàôòû â ýòîò æå ñóíäóê.
; Åñëè ëîãè çàêîí÷èëèñü - âûõîä.
; Åñëè äàããåð (èëè ÷òî âû òàì èñïîëüçóåòå) ñëîìàëñÿ -
; ñêðèïò íàéäåò àíàëîãè÷íûé ïî òèïó â áýêïàêå è âîçüìåò
; â ðóêè.
;
; 1.03b: Ïðîâåðêà, åñëè Kolvo = 1, òî áåðåì òðè è êëàäåì îáðàòíî äâà
;        ëîãà.
;
sub bowcraft()
   VAR Sunduk = '0x4001BA3D'       ; Ñåðèàë ñóíäóêà
   VAR Logi = '0x1BDD'          ; Òèï ëîãîâ
   VAR Shafts = '0x1BD4'          ; Òèï øàôòîâ
   VAR Kolvo = 7               ; Áðàòü ëîãîâ äëÿ îäíîãî êðàôòà
   VAR k = 0, j, dagger
   dagger = UO.ObjAtLayer( 'Rhand' )
   UO.SetGlobal( 'instrtype', UO.GetGraphic( dagger ) )
   While TRUE
      UO.FindType( Logi, -1, Sunduk )   ; Èùåì ëîãè â ñóíäóêå
      If UO.FindCount() == 0 Then
         UO.Print("Logs not found, script terminated")
         return
      else
         j = UO.GetQuantity( 'finditem' )
         If j > Kolvo Then
            UO.Print( 'I can use ' + str( j ) + ' logs' )
         else
            UO.Print( "I can't use " + str( j ) + " logs" )
            return
         Endif
      Endif
      If Kolvo == 1 Then
         ; v. 1.03
         UO.Grab( '3', 'finditem' )
         wait(500)
         UO.FindType( Logi )
         UO.MoveItem( 'finditem', '2', Sunduk )
         wait(500)
      Else
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
      Endif
      ; À ýòî - äèíàìè÷åñêàÿ ïàóçà íà ìóâ
      while UO.Count( Logi ) < Kolvo
         wait(100)
      wend
      ; ïðîâåðêà íà òî, ÷òî â ðóêàõ ïî-ïðåæíåìó äàããåð
      If CheckInstr() == 0 Then
         UO.Print("You don't have daggers!" )
         return
      Endif
      UO.DeleteJournal()
      UO.CancelMenu()
      UO.WaitMenu ('What do you want to carve', 'Bowyer Items', ['Bowyer Items', 'shaft' ])
      UO.WaitTargetType( Logi )
      UO.UseObject( dagger )
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
         k = k + 1
         wait(300)
      wend
      If UO.Count( Shafts ) > 0 then
         UO.FindType( Shafts, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( Shafts ) > 0
            wait(100)
         wend
         UO.Print( 'Shafts moved' )
      Endif
   Wend
end sub

Sub CheckInstr()
   ; ïðîâåðèì, åñòü ëè â ïðàâîé ðóêå èíñòðóìåíò òîãî æå
   ; òèïà, ÷òî è â ãëîáàëüíîé ïåðåìåííîé instrtype
   ; åñëè íåò - íàéäåì â áýêïàêå òàêîé èíñòðóìåíò è
   ; âîçüìåì â ïðàâóþ ðóêó.
   VAR typ = UO.GetGlobal( 'instrtype' )
   VAR cur = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   If typ == cur Then
      return 1
   Endif
   UO.FindType( typ )
   If UO.FindCount() == 0 Then
      return 0
   Endif
   UO.Equip( 'RHand' , 'finditem' )
   wait(1000)
   return 1
endsub


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 15 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited