Page 1 of 2

По поводу ламбера на АСМе

Posted: 2005-04-18 13:43:28
by Edred
Меня постоянно спрашивают как сделать автопоиск деревьев и вообще написать ламбер, используя АСМ от АГРСа. Объясняю один раз.

1. Создаем в папке инжекта файл Resource_Static.dat, в него помещаем типы деревьев, с указанием логического типа 'tree'. Такой файл обычно создается простеньким скриптом с командой asmGetStaticTiles(), но в последних версиях эта команда не работает. Поэтому типы можно либо выдрать из вердаты, либо считать командой ,infotlie - не забудьте только преобразовать в шестнадцатиричные. Я привожу вам содержание этого файла (выше), но у вас на шарде могут быть и другие типы деревьев (маловероятно):

Code: Select all

0x0c95=tree
0x0c96=tree
0x0cca=tree
0x0ccb=tree
0x0ccc=tree
0x0ccd=tree
0x0cd0=tree
0x0cd3=tree
0x0cd6=tree
0x0cd8=tree
0x0cd9=tree
0x0cda=tree
0x0cdb=tree
0x0cdc=tree
0x0cdd=tree
0x0cde=tree
0x0cdf=tree
0x0ce0=tree
0x0ce3=tree
0x0ce6=tree
0x0cf8=tree
0x0cfb=tree
0x0cfe=tree
0x0d01=tree
0x0d41=tree
0x0d42=tree
0x0d43=tree
0x0d44=tree
0x0d57=tree
0x0d58=tree
0x0d59=tree
0x0d5a=tree
0x0d5b=tree
0x0d6e=tree
0x0d6f=tree
0x0d70=tree
0x0d71=tree
0x0d72=tree
0x0d84=tree
0x0d85=tree
0x0d86=tree


2. Теперь берем следующий скрипт, отходим в лес в любое место и запускаем.

Code: Select all

#####################################################################
; LumberAround. v.3.25b (c) Edred
;
; Рубим вокруг чара. Используется ASM-модуль для инжекта для поиска деревьев.
;
sub LamberAround()
   VAR t, k, CanMine, cx, cy, tmpx, tmpy, pointX, pointY
   VAR MaxTime = 600                        ; измеряется в 1/10 сек.
   VAR ms1 = "There are no logs here to chop"      ; нет логов
   VAR ms2 = "You can't use"                  ; не можем
   VAR ms3 = "in your pack."                  ; вырубили логи
   VAR ms4 = "You fail to produce"               ; физл
   VAR ms5 = "You are too far away"            ; стоим далеко
   VAR ms6 = "It appears immune to your blow"      ; не проходит удар
   VAR ms7 = "You can't see that"               ; не можем увидеть
   VAR ms8 = "is destroyed*"                  ; топор развалился
   VAR ms9 = "Try to kill my spirit at first!"      ; вырубили духа дерева
   UO.asmTLStaticOpen('Resource_Static.dat')   ; Загрузим таблицу типов статики
   VAR i, strpoint
   VAR MaxVes = 580
   cx = UO.GetX()
   cy = UO.GetY()
   for tmpx = -3 to 3
      for tmpy = -3 to 3
         k = 0
         pointX = cx + tmpx
         pointY = cy + tmpy
         strpoint = str(pointX) + ' ' + str(pointY)
         repeat
            UO.DeleteJournal()
            t = UO.Timer() + MaxTime
            k = k + 1
            wait(300)
            CanMine = UO.asmWaitTargetStaticTile( 'tree', PointX, PointY, 0 )
            If CanMine Then
               UO.UseObject(UO.ObjAtLayer('Lhand'))
               repeat
                  wait(100)
               until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR UO.InJournal(ms9) OR (t < UO.Timer())
            Endif
            If UO.Weight > MaxVes Then
               ; Вес превышен!
               return
            Endif
            If UO.InJournal( ms8 ) Then
               ; топор накрылся!
               return
            Endif
            If UO.InJournal( ms9 ) Then
               ; дух дерева!
               return
            Endif
         until NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10)
         Endif
      next
   next
endsub


3. Копаетесь в коде скрипта, пока не сделаете то, что вам нужно 8)

Posted: 2005-04-23 19:05:11
by Destruction
Ну тута ничего для меня нового (честное слово), думал что ща запущу - исзбавлюся он надобности писать скрипт, ан нет - пишет 4раза что я не дотягиваюсь, и все - висит в цикле.

Posted: 2005-04-26 13:18:41
by Edred
У тебя на шарде меньше расстояние, на котором можно рубить деревья. Уменьши пределы в форах. Сообщения, наверное, тоже другие.

Posted: 2005-08-23 01:08:02
by Mazhor
Ошибка :
Line 18: Function not found -UO.ASMTLSTATICOPEN

Posted: 2005-08-23 09:03:49
by flake
Ты АСМ поставил то? :lol:

Posted: 2005-08-23 09:59:16
by Askaneli
flake wrote:Ты АСМ поставил то? :lol:

Стёб.

Posted: 2005-08-23 14:05:18
by Mazhor
flake wrote:Ты АСМ поставил то? :lol:


а эт чо такое? :roll:
ЗЫ : чар просто рубит вокруг себя? Он сам бегит к следующему дереву?...

Posted: 2005-08-23 14:06:33
by flake
:lol: :lol: :lol:
так и знал

http://agrs.info/asm/

Posted: 2005-08-23 14:08:29
by Leo
Вот сюда тоже загляни :wink:

Posted: 2005-08-23 14:15:49
by Mazhor
line 18: runtime error - can not open file

Posted: 2005-08-23 14:16:54
by Leo
Mazhor wrote:line 18: runtime error - can not open file

Видимо ты не создал в папке инжекта файл Resource_Static.dat

Posted: 2005-08-23 14:22:15
by Mazhor
Создал...
ЗЫ : яж не такой уж тугой :D

Posted: 2005-08-23 15:52:20
by flake
а АСМ то поставил?

Posted: 2005-08-23 23:10:08
by Mazhor
flake wrote:а АСМ то поставил?

Естественно.

Posted: 2005-10-02 20:44:02
by biiv
Включаю просто ничего не происходит 0 реакции.

ASM поставлен фаил создан.
На Layer тапор есть.

Posted: 2005-10-02 21:06:22
by Destruction
Насчет деревий - рекомендую взять InsideUO и посмотреть там, надежнее.

Posted: 2005-10-02 22:48:07
by biiv
да дело было в неправельных данных . Спасибо за столь быструю помощ
Ничего покапался получилось

Code: Select all

0x0CCA=tree
0x0CCB=tree
0x0CCC=tree
0x0CCD=tree
0x0CCE=tree
0x0CCF=tree
0x0CD0=tree
0x0CD1=tree
0x0CD2=tree
0x0CD3=tree
0x0CD4=tree
0x0CD5=tree
0x0CD6=tree
0x0CD8=tree
0x0CDA=tree
0x0CDB=tree
0x0CDC=tree
0x0CDD=tree
0x0CDE=tree
0x0CDF=tree
0x0CE0=tree
0x0CE1=tree
0x0CE2=tree
0x0CE3=tree
0x0CE4=tree
0x0CE5=tree
0x0CE6=tree

Может кому пригодится.

Нельзяли пристроить к нему ходилку? Если да подскажите как.
Зарание благодарен

Posted: 2005-10-02 23:10:51
by Grin
Заводишь еще одну процедуру которая утебя будет отвчать за перемещения и внутри себя будет вызывать "вырубить вокруг"
по кого нчанию вырубки управление передастся в главную функци и тд...

Posted: 2005-10-02 23:45:28
by biiv
Страно но Скрипт иногда выключается.

Posted: 2005-10-03 00:03:04
by Grin
Ну кидай его сюда и посмотим что там выключается...