Project ASM

ASM, Perl, IRW, other injections and script modules

Moderators: Murderator+, Murderator

Ну как?

Круто!
116
59%
Ниче...
44
22%
Так себе...
17
9%
Отстой!
20
10%
 
Total votes: 197

Shaud
Posts: 87
Joined: 2004-09-27 21:42:27
Contact:

Post by Shaud »

т.е. возможно ждем выхода новой версии инжекта? :)
Unkind
Posts: 6
Joined: 2004-09-25 01:08:15

Post by Unkind »

А пока вопрос ходьбы и гампов решается паралельно запущенным инстансом EasyUO, общение соответвенно с инжектом через реестр... Если ж не дай бог надо крафт при ходьбе, то поможет 2 одновременно запущенных инстанса изи... Хотя конечно с перемешиваемыми кнопками и т.п. не поможет, но просто надежно клацать гарантировано не в пустоту, а в нужный гамп - позволит.
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Новая версия ASM-2 411.10. Подробности на сайте.
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

Попробовал использовать ASM-2 411.10. При выполнении функции asmWaitTargetStaticTile вылезает Runtime error - Map Access Error. Скопировал map0.mul, staidx0.mul и statics0.mul в папку с Инжой, не помогло. В чём может быть дело?
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Хочешь сказать я забыл последнюю версию выложить? :(
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Новая версия ASM-2 411.16. Подробности на сайте.

Это последняя версия ASM-2. В конце ноября - начале декабря выйдет ASM-3.
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post 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?
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Значения myx(y) какие?
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

AGRS wrote:Значения myx(y) какие?

Типичные значения myx = 1499, myy = 1758
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

ASM не тримингует логические типы тайлов.
Либо поубирай пробелы, либо используй res = UO.asmWaitTargetStaticTile('water ', myx + dx, myy + dy, 0)
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

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

Прошу прощения за назойливость, но, наверное, на меня какое-то слабоумие напало...
Из этого сообщения я не понял ничего :(
Что значт "ASM не тримингует логические типы тайлов"?
Откуда убирать пробелы?
И чем отличается ваше выражение от того, что написано у меня в скрипте?
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Пробелом после слова water
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

AGRS wrote:Пробелом после слова water

С пробелом тоже не работает.
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Ды убери ты эти пробелы отовсюду! Что за изврат. Я не для этого оставил возможность пробелов напихать!

Осваивай новые функции постепенно:
sub test()
UO.asmTLStaticClear()
UO.asmTLStaticAdd(6040,'water')
UO.Print(STR(UO.asmWaitTargetStaticTile('water',1500,1760,0)))
end sub
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post 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. Что из этого следует?
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

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

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

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

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

Вобще у меня единичку выдает, но может у нас статика разная. infotile поможет.
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post 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.
D
Posts: 18
Joined: 2004-11-12 22:33:06

Post by D »

ну не знаю , я зделал всо как по инстркцэ и когда запускаю клиент вот што пишетса
UO client performed an unrecoverable invalid operation Terminate?
незнаю я папитался скачать самих нових .dll фаилоф всоравно не палучилос все фаили игри под drw виндовс ХП
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

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

Удали ASM, попробуй без него.
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

Ещё раз прошу прощения за назойливость, но что мне делать? Скрипт никак не хочет работать. :(
Post Reply