Как работать с новым меню крафта?

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Как работать с новым меню крафта?

Post by Eventualis »

Сейчас при крафте меню совершенно не такое как тут
http://yoko.netroof.net/help/help.php?l ... m=automenuкак выбрать теперь меню крафта?
при юзе инструментов появляющееся окно даже как гамп не показывает.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

а конкретики больше можно?:)
Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Post by Eventualis »

Все крафтовое меню сколько я себя помню в уо с 2001 г. выгдядит так
ImageImage

,infogump выдает:
_____infogump_______
serial 0x00000000
gumpid 0x00000000
X 0
Y 0
0 packet size
0 reply packet size
Buttons: ________
Checks&Radios: __
Entryes: ________
All commands: ____
Text: ____________

Номер с командами
UO.CancelMenu()
UO.WaitMenu('materials','shaft')
checklag()
Не работает. Например, пишу макрос на изготвление шафтов:

Code: Select all

sub shaft()
var tools="0x1022" ;fletcher tools
var Shafts="0x1BD4" ;shaft
var board="0x1BD7"
var sunduk="0x40064D75" ;backpack v banke
var q=300

    If UO.Count( board ) == 0 Then
         UO.FindType( board, '-1', sunduk )
         If UO.FindCount() > 0 Then
            UO.MoveItem( 'finditem', q,'backpack')
            checklag()
            uo.print ('lozu doski')
         Else
            UO.Print( 'Netu!' )
         Endif
    Endif

  UO.CancelMenu()
  UO.WaitMenu('materials','shaft')
  wait(1000)
  checklag()
  uo.usetype (tools)
  uo.Print ('Olia lia')
  checklag()
  wait(2000)

  If UO.Count( Shafts ) > 0 then
         UO.FindType( Shafts, -1, 'my' )
         UO.MoveItem( 'finditem', -1, 'sunduk' )
         checklag()
         UO.Print( 'Shafts moved' )
  Endif
endsub

Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Post by Eventualis »

пока вижу только выход - запиать координаты точки make last и кликать туда lclickom :D
Jaraa
Posts: 45
Joined: 2008-03-03 02:16:35

Post by Jaraa »

,infogump у меня тоже выдает такую пустую шнягу и все. или он на новых клиентах вообще не поддерживается?
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Раньше это меню отсылалось в виде не компресионого гампа, вновых клиента именно компресионного.

вам только координаты помогут.
Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Post by Eventualis »

прочитал в хелпе что uo.click работает только на обьект, а меню крафта не обьект, ,info даже не хочет наводится на меню.
Остается чтоли уопилот или изиуо? блин, в изи я не шарю, а уопилот хз, надолго ли хватит синхронно чтобы работал.
Подзапустили с этим 8)
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

у скриптого модуля свои команды для эмуляции клика мышью
Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Post by Eventualis »

Жаль что инфы про
uo.lclick(357,164) и тому подобные нет на хелпе. Где то видел на форуме мельком и все, хз где. Надо как то тему чтоли сделать и залочить, а я могбы и на своем сайте сделать инфу.
Вот что получилось у меня, скрипт пашет как часики, пока есть доски (потом надо будет дописать чтобы и инструмент крафтил сам)
Меню расположено сразу слева экрана по границе папердола, а координаты ( кто не знает) можно посмотреть в изиуо, там в нижней полоске видно когда мышкой водишь.

Code: Select all

sub shaft()
var tools="0x1022" ;fletcher tools
var Shaft="0x1BD4" ;shaft
var board="0x1BD7"
var sunduk="0x40064D75" ;backpack v banke
var q=400 ;skoka dosok berem
var exit=1
repeat
 UO.FindType( board, '-1', sunduk )
  If UO.FindCount() > 0 Then
    UO.MoveItem( 'finditem', q,'backpack')
    wait(1000)
    uo.print ('lozu doski')
    uo.usetype (tools)
    checklag()
    uo.lclick(282,443) ;koordinaty make last na ekrane smotrim v easyuo
    checklag()
    uo.Print ('delaju shafty')
    checklag()
    wait(1000)
    uo.findtype( Shaft , -1 ,'my')
     if uo.count( Shaft )> 0 then
        uo.moveitem('finditem', -1, sunduk )
        wait(1000)
     else
     uo.Print ('netu')
        wait (1000)
     endif
  Else
    UO.Print( 'Netu dosok!' )
    exit=0
  Endif
until exit==0
endsub

Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Post by Eventualis »

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

Code: Select all

sub shaft()
   var tools="0x1022" ;fletcher tools
   var Shaft="0x1BD4" ;shaft
   var board="0x1BD7"
   var sunduk="0x40064D75" ;backpack v banke
   var q=400 ;skoka dosok berem
   var exit=1
   var x=282, y=443 ;koordinaty knopki make last na ekrane smotrim v easyuo
   
   repeat
      uo.findtype( Board , -1 ,'my')
      if uo.count( Board )> 0 then
         uo.usetype (tools)
         wait(1000)
      else
         UO.FindType( board, '-1', sunduk )
         If UO.FindCount() > 0 Then
            UO.MoveItem( 'finditem', q,'backpack')
            wait(1000)
            uo.print ('lozu doski')
         Else
            UO.Print( 'Netu dosok!' )
            exit=0
         endif
      endif
      uo.lclick(x,y)
      checklag()
      uo.Print ('delaju shafty')
      checklag()
      wait(1000)
      uo.findtype( Shaft , -1 ,'my')
      if uo.count( Shaft )> 0 then
         uo.moveitem('finditem', -1, sunduk )
         wait(1000)
      else
         uo.Print ('netu')
         wait (1000)
      endif
      
   until exit==0
end sub
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Жаль что инфы

1. Закрыть инжект.
2. Удалить/переименовать autoload.sc
3. Запустить инжект.
4. Открыть редактирование текущего скрипта.

Вообще, с инжектом идёт файл с английской документацией по скриптовому модулю - почитайте внимательнее текстовики.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Post by Eventualis »

аналогичный скрипт делать болты, чтобы работали оба скрипта нужно 1 раз крафтануть вручную, тогда заработает кнопка make last.

Code: Select all


sub bolt()
var tools="0x1022" ;fletcher tools
var Shaft="0x1BD4" ;shaft
var feather="0x1BD1"
var bolt="0x1BFB"
var sunduk="0x40064D75" ;sumka v banke
var q=2000 ;skoka shaftov i perjev
var exit=1
var x=282, y=443 ;koordinaty knopki make last na ekrane smotrim v easyuo

repeat
        uo.findtype( Shaft , -1 ,'my')
        if uo.count( Shaft )> 0 then
            uo.usetype (tools)
            wait(1000)
        else
            UO.FindType( Shaft, '-1', sunduk )
            If UO.FindCount() > 0 Then
            UO.MoveItem( 'finditem', q,'backpack')
            wait(1000)
            Else
                exit=0
            Endif
        endif

        uo.findtype( feather , -1 ,'my')
        if uo.count( feather )> 0 then
            uo.usetype (tools)
            wait(1000)
        else
            UO.FindType( feather, '-1', sunduk )
            If UO.FindCount() > 0 Then
            UO.MoveItem( 'finditem', q,'backpack')
            wait(1000)
            Else
                exit=0
            Endif
        endif
    uo.lclick(x,y) ;koordinaty make last na ekrane smotrim v easyuo
    checklag()
    uo.findtype( bolt , -1 ,'my')
     if uo.count( bolt )> 0 then
        uo.moveitem('finditem', -1, sunduk )
        wait(1000)
     else
     uo.Print ('netu')
        wait (1000)
     endif
until exit==0
endsub
Jaraa
Posts: 45
Joined: 2008-03-03 02:16:35

Post by Jaraa »

Чесно говоря крафтить или добывать че то гораздо удобнее на изе, у нее для этого инструментов больше. Инжа она для боя хороша. Меня гампы интересуют только с точки зрения заклинания нинзи смены формы - там появляется гамп с выбором вида животного в кого превращаться.
Post Reply