Page 3 of 20

Posted: 2004-11-10 13:22:46
by Shaud
т.е. возможно ждем выхода новой версии инжекта? :)

Posted: 2004-11-10 18:06:42
by Unkind
А пока вопрос ходьбы и гампов решается паралельно запущенным инстансом EasyUO, общение соответвенно с инжектом через реестр... Если ж не дай бог надо крафт при ходьбе, то поможет 2 одновременно запущенных инстанса изи... Хотя конечно с перемешиваемыми кнопками и т.п. не поможет, но просто надежно клацать гарантировано не в пустоту, а в нужный гамп - позволит.

Posted: 2004-11-10 21:02:14
by AGRS
Новая версия ASM-2 411.10. Подробности на сайте.

Posted: 2004-11-22 17:50:23
by AlexeyVorotnikov
Попробовал использовать ASM-2 411.10. При выполнении функции asmWaitTargetStaticTile вылезает Runtime error - Map Access Error. Скопировал map0.mul, staidx0.mul и statics0.mul в папку с Инжой, не помогло. В чём может быть дело?

Posted: 2004-11-22 17:53:49
by AGRS
Хочешь сказать я забыл последнюю версию выложить? :(

Posted: 2004-11-22 18:03:24
by AGRS
Новая версия ASM-2 411.16. Подробности на сайте.

Это последняя версия ASM-2. В конце ноября - начале декабря выйдет ASM-3.

Posted: 2004-11-22 19:27:28
by AlexeyVorotnikov
Поставил ASM-2 411.16. Runtime Error исчезла. Но asmWaitTargetStaticTile всегда выдаёт 0.
Я пытаюсь написать простейший скрипт на рыбную ловлю.
Создал файл с типами тайлов, соответствующих воде:

Code: Select all

0x1797=water
0x1798=water
0x1799=water
0x179a=water
0x179b=water
0x179c=water
0x179d=water
0x179e=water
0x179f=water
0x17a0=water
0x17a1=water
0x17a2=water
0x17a3=water
0x17a4=water
0x17a5=water
0x17a6=water
0x17a7=water
0x17a8=water
0x17a9=water
0x17aa=water
0x17ab=water
0x17ac=water
0x17ad=water
0x17ae=water
0x17af=water
0x17b0=water
0x17b1=water
0x17b2=water

Номера тайлов взял из InsideUO. В том месте, где я ловлю рыбу встречаются тайлы с номерами от 0x1798 до 0x179c.
Вот собственно сам скрипт:

Code: Select all

sub Fishing2()
  var fishingPoleType = 0x0DBF
  var weightLimit = 100
  var delta = 6

  var found = false
  var cont = true

  var lastTimer

  var myx
  var myy
  var myz
 
  var dx, dy
  var res

  UO.DeleteJournal()
  UO.asmTLStaticOpen("WaterStatic.dat")

  while UO.Weight < weightLimit
    for dx = -delta to delta
      for dy = -delta to delta
        myx = UO.GetX()
        myy = UO.GetY()
        myz = UO.GetZ()

        UO.Print("dx=" + Str(dx) + " dy=" + Str(dy) + " X=" + Str(myx + dx) + " Y=" + Str(myy + dy))

        cont = true
        while cont
          res = UO.asmWaitTargetStaticTile('water', myx + dx, myy + dy, 0)
          UO.Print("res=" + str(res))
          if res then
            UO.UseType(fishingPoleType)

            lastTimer = UO.Timer()
            found = false
            repeat
              if UO.InJournal("They don't seem") then
                found = true
                cont = false
                wait(100)
              endif
              if UO.InJournal("You can't fish there") then
                found = true
                cont = false
                wait(100)
              endif
              if UO.InJournal("That is too far") then
                found = true
                cont = false
                wait(100)
              endif
              if UO.InJournal("That location") then
                found = true
                cont = false
                wait(100)
              endif
              if UO.InJournal("You catch") then
                found = true
                cont = false
                wait(100)
              endif
              if UO.InJournal("There doesn't seem") then
                found = true
                cont = false
                wait(100)
              endif
              wait(100)
            until found || UO.Timer() > lastTimer + 300
            UO.DeleteJournal()
          else
            UO.Print("Тайл не найден!")
            cont = false
            wait(100)
          endif
        wend
      next
    next
  wend

  UO.Print("Вес взят!!!")
end sub

(На обработку сообщений не обращайте внимания, она на скорую руку выдрана из другого скрипта :) )
Но, как я уже писал, asmWaitTargetStaticTile всегда выдаёт 0. Никак не пойму в чём дело. Можно ли как-нибудь узнать какой именно тип тайла пытается сопоставить с логическим типом asmWaitTargetStaticTile?

Posted: 2004-11-22 19:50:23
by AGRS
Значения myx(y) какие?

Posted: 2004-11-22 20:22:38
by AlexeyVorotnikov
AGRS wrote:Значения myx(y) какие?

Типичные значения myx = 1499, myy = 1758

Posted: 2004-11-22 20:47:41
by AGRS
ASM не тримингует логические типы тайлов.
Либо поубирай пробелы, либо используй res = UO.asmWaitTargetStaticTile('water ', myx + dx, myy + dy, 0)

Posted: 2004-11-22 21:38:35
by AlexeyVorotnikov
AGRS wrote:ASM не тримингует логические типы тайлов.
Либо поубирай пробелы, либо используй res = UO.asmWaitTargetStaticTile('water ', myx + dx, myy + dy, 0)

Прошу прощения за назойливость, но, наверное, на меня какое-то слабоумие напало...
Из этого сообщения я не понял ничего :(
Что значт "ASM не тримингует логические типы тайлов"?
Откуда убирать пробелы?
И чем отличается ваше выражение от того, что написано у меня в скрипте?

Posted: 2004-11-22 21:46:55
by AGRS
Пробелом после слова water

Posted: 2004-11-22 21:52:08
by AlexeyVorotnikov
AGRS wrote:Пробелом после слова water

С пробелом тоже не работает.

Posted: 2004-11-22 22:09:24
by AGRS
Ды убери ты эти пробелы отовсюду! Что за изврат. Я не для этого оставил возможность пробелов напихать!

Осваивай новые функции постепенно:
sub test()
UO.asmTLStaticClear()
UO.asmTLStaticAdd(6040,'water')
UO.Print(STR(UO.asmWaitTargetStaticTile('water',1500,1760,0)))
end sub

Posted: 2004-11-22 22:31:07
by AlexeyVorotnikov
AGRS wrote:Ды убери ты эти пробелы отовсюду! Что за изврат. Я не для этого оставил возможность пробелов напихать!

Осваивай новые функции постепенно:
sub test()
UO.asmTLStaticClear()
UO.asmTLStaticAdd(6040,'water')
UO.Print(STR(UO.asmWaitTargetStaticTile('water',1500,1760,0)))
end sub


Простите, я всё ещё не понимаю какие пробелы вы имеете в виду.

Функция test выдаёт 0. Что из этого следует?

Posted: 2004-11-22 23:25:41
by AGRS
AlexeyVorotnikov wrote:Простите, я всё ещё не понимаю какие пробелы вы имеете в виду.

Да те что в конце каждой строки в таблице тайлов.

AlexeyVorotnikov wrote:Функция test выдаёт 0. Что из этого следует?

Следует что прицел не был установлен.

Вобще у меня единичку выдает, но может у нас статика разная. infotile поможет.

Posted: 2004-11-22 23:43:53
by AlexeyVorotnikov
AGRS wrote:
AlexeyVorotnikov wrote:Простите, я всё ещё не понимаю какие пробелы вы имеете в виду.

Да те что в конце каждой строки в таблице тайлов.

AlexeyVorotnikov wrote:Функция test выдаёт 0. Что из этого следует?

Следует что прицел не был установлен.

Вобще у меня единичку выдает, но может у нас статика разная. infotile поможет.


Таблица тайлов была сгенерирована следующим скриптом:

Code: Select all

sub CreateWaterType()
  UO.asmTLStaticClear()
  for var i = 6039 to 6066
    UO.asmTLStaticAdd(i, 'water')
  next
  UO.asmTLStaticSave("WaterStatic.dat")
end sub

И руками я до неё не дотрагивался.

Я выполнил ,infotile, вбил в скрипт test то, что она выдала, всё равно получается 0.

Posted: 2004-11-24 05:08:41
by D
ну не знаю , я зделал всо как по инстркцэ и когда запускаю клиент вот што пишетса
UO client performed an unrecoverable invalid operation Terminate?
незнаю я папитался скачать самих нових .dll фаилоф всоравно не палучилос все фаили игри под drw виндовс ХП

Posted: 2004-11-24 07:42:41
by AGRS
D wrote:ну не знаю , я зделал всо как по инстркцэ и когда запускаю клиент вот што пишетса
UO client performed an unrecoverable invalid operation Terminate?
незнаю я папитался скачать самих нових .dll фаилоф всоравно не палучилос все фаили игри под drw виндовс ХП

Удали ASM, попробуй без него.

Posted: 2004-11-24 12:39:32
by AlexeyVorotnikov
Ещё раз прошу прощения за назойливость, но что мне делать? Скрипт никак не хочет работать. :(