Page 1 of 1

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

Posted: 2008-10-05 22:48:06
by Eventualis
Сейчас при крафте меню совершенно не такое как тут
http://yoko.netroof.net/help/help.php?l ... m=automenuкак выбрать теперь меню крафта?
при юзе инструментов появляющееся окно даже как гамп не показывает.

Posted: 2008-10-05 22:51:10
by Grin
а конкретики больше можно?:)

Posted: 2008-10-06 06:48:06
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


Posted: 2008-10-06 06:55:25
by Eventualis
пока вижу только выход - запиать координаты точки make last и кликать туда lclickom :D

Posted: 2008-10-06 07:30:06
by Jaraa
,infogump у меня тоже выдает такую пустую шнягу и все. или он на новых клиентах вообще не поддерживается?

Posted: 2008-10-06 12:01:21
by Grin
Раньше это меню отсылалось в виде не компресионого гампа, вновых клиента именно компресионного.

вам только координаты помогут.

Posted: 2008-10-06 17:55:35
by Eventualis
прочитал в хелпе что uo.click работает только на обьект, а меню крафта не обьект, ,info даже не хочет наводится на меню.
Остается чтоли уопилот или изиуо? блин, в изи я не шарю, а уопилот хз, надолго ли хватит синхронно чтобы работал.
Подзапустили с этим 8)

Posted: 2008-10-06 18:09:20
by Grin
у скриптого модуля свои команды для эмуляции клика мышью

Posted: 2008-10-06 22:06:42
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


Posted: 2008-10-06 22:36:06
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

Posted: 2008-10-06 22:51:03
by Destruction
Жаль что инфы

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

Вообще, с инжектом идёт файл с английской документацией по скриптовому модулю - почитайте внимательнее текстовики.

Posted: 2008-10-06 23:09:43
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

Posted: 2008-10-09 07:35:22
by Jaraa
Чесно говоря крафтить или добывать че то гораздо удобнее на изе, у нее для этого инструментов больше. Инжа она для боя хороша. Меня гампы интересуют только с точки зрения заклинания нинзи смены формы - там появляется гамп с выбором вида животного в кого превращаться.