Необычный ламбер

General Injection issues

Moderators: Murderator+, Murderator

Post Reply
pumbey
Posts: 36
Joined: 2005-03-23 11:45:32
Contact:

Необычный ламбер

Post by pumbey »

Добрый день. Поискав немного ничего блихко похожего не нашел..
Скажу чесно писать с нуля сасмому просто лень (да покарают меня за это боги)
Вобщем проблемы 2.
Первая в том что деревья расположены довольно странно - но на нашем сервери такие вот скриптеры
а расположены они так

Code: Select all

* * * *      * * * *
*                       *
*    * *      * *    *
*    *             *   *
*    *             *   *

                         
*    *             *   *
*    * *       * *    *
*                       *
* * * *       * * * *


На нашем сервере их можно сажать тока внутри грандкастла
Хождение по ним вызывает некоторые сомнения - но и это пол беды..
2 я проблема в том что деревья не статичны! То есть то обьекты...
Если у кого то есть наброски по хождениб от предмета к предмету -буду очень благодарен..
=)
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Раз объекты, значит у них есть type и id, и тут всё ясно. Теперь насчёт хождения: ты не рассказал где именно посыжены деревья (на крыше или во внутреннем саду (сорри, я ГК никогда не видел %( ) можешь даже лучше скритнчик запости).
Теперь всё зависит от "сложности" посадки деревьев... в простейшем случае подойдёт обыная ходилка (можно в неё добавить реколл по рунбуке).
ЗЫ: Чтобы не мучатся с ходилкой используй pinject(c) =_)
DerMeister сейчас на нейрале!
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Обычная тупая ходилка по точкам (парам координат), без обхода препятствий, таких на форуме море. Прописать массив позиций чара рядом с деревьями и массив сериалов деревьев (раз это объекты). И вперед с песнями.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

странный админ сервера )наверно он так и не смог изменить статику и решил пойти простым путем )
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Да уж нет, наверно дело в том, что сажать деревья это роскошь и поэтому это разрешено только в гранд кастле!
ЗЫ: Зачем статику то менять? Все на ломанной вердате бегают... итак глюков хватает.
DerMeister сейчас на нейрале!
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Когда-то кто-то говорил мне о шарде, где дерево можно было сажать только в кастле и только одно :shock: . Там скрипт был еще проще - чар стоял и рубил это дерево до упора, в промежутке заодно качая карпентри на уже вырубленных логах. 8)
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
pumbey
Posts: 36
Joined: 2005-03-23 11:45:32
Contact:

Post by pumbey »

DerMeister =) wrote:Раз объекты, значит у них есть type и id, и тут всё ясно. Теперь насчёт хождения: ты не рассказал где именно посыжены деревья (на крыше или во внутреннем саду (сорри, я ГК никогда не видел %( ) можешь даже лучше скритнчик запости).
Теперь всё зависит от "сложности" посадки деревьев... в простейшем случае подойдёт обыная ходилка (можно в неё добавить реколл по рунбуке).
ЗЫ: Чтобы не мучатся с ходилкой используй pinject(c) =_)


Слетай на айсе стоит, Глянь :)
=)
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

pumbey wrote:
DerMeister =) wrote:Раз объекты, значит у них есть type и id, и тут всё ясно. Теперь насчёт хождения: ты не рассказал где именно посыжены деревья (на крыше или во внутреннем саду (сорри, я ГК никогда не видел %( ) можешь даже лучше скритнчик запости).
Теперь всё зависит от "сложности" посадки деревьев... в простейшем случае подойдёт обыная ходилка (можно в неё добавить реколл по рунбуке).
ЗЫ: Чтобы не мучатся с ходилкой используй pinject(c) =_)


Слетай на айсе стоит, Глянь :)


=_) Дай руну, а то я хз как на айс добратся...
DerMeister сейчас на нейрале!
pumbey
Posts: 36
Joined: 2005-03-23 11:45:32
Contact:

Post by pumbey »

так.. Появились вторичные вопросы
И так. Данное дерево, или хз как этот саженец иминовать, таки выдает следуюшую инфу по себе

,info > target

Code: Select all

ID=0x621FF253 Type=0x0D98 TZGNOIF Name=an apple tree
Quantity: 1  Colour: 0x0000  Layer: 0  Has: 0
X=4095 Y=538 Z=0 C=0xFFFFFFFF F=0x00


,infotile > target

Code: Select all

3480 4095 535 0


Но при этом при попытке таргетить тайл - no woods here!

Так как, скриптов рубки по тайлам куча (чего уж делать велосипед), но как заставить его узнавать что tile 3480 4095 535 0 - это же 0x621FF253...

Есть идеи?
=)
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

ага есть ....

хелп читать чаще

Code: Select all

waittargetground ловушка прицела на обьект в мире
Описание: waittargetground •
Синтакс: ,waittargetground type [color]
none uo.waittargetground(type,[color])
--------------------------------------------------------------------------------
Ищет на земле обьект по типу type (и цвету color если задано) после чего устанавливает на этот обьект ловушку прицела.
Следующий прицел, который будет запрошен сервером, будет направлен на этот обьект.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

pumbey wrote:Лана, подытоживаю, все либо знают "как" - но им лень рассказать - либо все "приблизительно вкурсе", по подробнее готовы обсуждать то, как я для удобства выразился...
Всем спасибо, предлогаю топ закрыть... ИМХО бесполезен уже..


Дык тебе же все объяснили давно, как это сделать.
Цикл, поиск (findtype) вокруг по типу дерева. Нашел - waittargetobject, рубишь, потом в игнор. Цикл продолжается. Когда ничего больше не найдено - перейти на новую точку. Чар соответственно ходит кругами в кастле. В какой-то точке разгружается в прилоченный сундук. Все просто до упора.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Так, не мучаем человека, я решил на коленках - скрипт сваять :)

1. Берём ходилку с обходом препятствий палана Walker(x, y)
2.

Code: Select all

sub Lumberjacking()
DIM tt[10]
; типы деревий
tt[0] = '0x0000'
tt[1] = '0x0000'
tt[2] = '0x0000'
tt[3] = '0x0000'
tt[4] = '0x0000'
tt[5] = '0x0000'
tt[6] = '0x0000'
tt[7] = '0x0000'
tt[8] = '0x0000'
tt[9] = '0x0000'
uo.set("finddistance",'32')
var i, j, k=0
repeat
rep:
uo.findtype(k,'-1','ground')
if not uo.findcount()
k = k + 1
if k < 9 then
goto rep
endif
endif
if not uo.findcount() && k > 9 then
k = 0
uo.ignorereset()
endif
uo.ignore("finditem")
repeat
uo.waittargetobject('finditem')
uo.useobject('тапор')
repeat
wait(100)
until uo.injournal('срубил|иль не срубил')
deljournal('срубил|иль не срубил')
until uo.injournal('нет деревий')
deljournal('нет деревий')
until false
endsub


PS: Раз 20 редактировал, что-то со мной не то.. Никаких гарантий за скрипт не даю.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

viewtopic.php?t=8067

Блин, тереть ваще надо было :twisted:
pumbey
Posts: 36
Joined: 2005-03-23 11:45:32
Contact:

Post by pumbey »

Так, сел и написал с нуля скрипт, вставил ходилку и пробую - ан куй - я не врубаюсь почему, но после сруба 1го дерева - он считает свой долг выполненым.. То ли в запаре толи я просто че то не допонимаю.

Code: Select all

var topor = "0x0F49"

sub main()
var i
Dim Lumb[51]
end sub


Последнее полученое сообщение - "кончили рубить"

ЗЫ, я понимаю что где то тупая ощибка - но где не понимаю..
Last edited by pumbey on 2006-06-27 19:47:51, edited 1 time in total.
=)
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Code: Select all

UO.Print("кончили рубить") 
next
end sub


Зачем тут NEXT ??

Бррр.... Исправил значит... И всё равно не работает? Тогда попробуй Dim Lumb[52]
DerMeister сейчас на нейрале!
pumbey
Posts: 36
Joined: 2005-03-23 11:45:32
Contact:

Post by pumbey »

DerMeister =) wrote:

Code: Select all

UO.Print("кончили рубить") 
next
end sub


Зачем тут NEXT ??

Бррр.... Исправил значит... И всё равно не работает? Тогда попробуй Dim Lumb[52]



А причем тут 52, это такой магической число?
=)
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

pumbey wrote:А причем тут 52, это такой магической число?


Это не магическое число, а количество элементов в твоем массиве. Потому что элементы массива нумеруются с 0. И то, что ты не используешь нулевой элемент, не означает, что его нет. RTFM.

А скрипт кривой:

Code: Select all

While true 
    for i = 1 to 51
#    uo.DeleteJournal()
UO.Print("начинаем рубить по новой")
      go_to( Lumb[i] )
       UO.Print("Рубим дерево № "+str(i))
       Mine( Lumb[i] )
       while not uo.InJournal("stop") or not uo.InJournal("away")
       wait(1000)
       wend
      Next
      wend


Вызов Mine() - это рубка. А после выхода из рубки у тебя цикл ожидания на сообщение в журнале. Зачем? Это сообщение ты и так ждешь в самой Mine(). Зачем ждать еще раз?

Сообщения не обсуждаю - просто не знаю какие у вас на шарде сообщения. Телепаты в отпуске.

Ходилку тоже. Правильность ходилки проверить простым просмотром практически нереально.

Code: Select all

var derevo
derevo="waittargetobject "+ lumb
uo.DeleteJournal()
UO.Exec(derevo)
wait(1000)
UO.UseType(Topor)


Такого образца кода не видел уже давно. А может, вообще никогда.
Почему не так?

Code: Select all

uo.DeleteJournal()
UO.Waittargetobject(lumb)
UO.Usetype(Topor)


Ну и наконец, встает он у тебя из-за этого:

Code: Select all

while not uo.InJournal("stop") or not uo.InJournal("away")


тут надо or заменить на and. 8) Хотя (см. выше) эта проверка вообще на фиг не нужна.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
pumbey
Posts: 36
Joined: 2005-03-23 11:45:32
Contact:

Post by pumbey »

Edred wrote:
pumbey wrote:А причем тут 52, это такой магической число?


Это не магическое число, а количество элементов в твоем массиве. Потому что элементы массива нумеруются с 0. И то, что ты не используешь нулевой элемент, не означает, что его нет. RTFM.

А скрипт кривой:

Code: Select all

While true 
    for i = 1 to 51
#    uo.DeleteJournal()
UO.Print("начинаем рубить по новой")
      go_to( Lumb[i] )
       UO.Print("Рубим дерево № "+str(i))
       Mine( Lumb[i] )
       while not uo.InJournal("stop") or not uo.InJournal("away")
       wait(1000)
       wend
      Next
      wend


Вызов Mine() - это рубка. А после выхода из рубки у тебя цикл ожидания на сообщение в журнале. Зачем? Это сообщение ты и так ждешь в самой Mine(). Зачем ждать еще раз?

Сообщения не обсуждаю - просто не знаю какие у вас на шарде сообщения. Телепаты в отпуске.

Ходилку тоже. Правильность ходилки проверить простым просмотром практически нереально.

Code: Select all

var derevo
derevo="waittargetobject "+ lumb
uo.DeleteJournal()
UO.Exec(derevo)
wait(1000)
UO.UseType(Topor)


Такого образца кода не видел уже давно. А может, вообще никогда.
Почему не так?

Code: Select all

uo.DeleteJournal()
UO.Waittargetobject(lumb)
UO.Usetype(Topor)


Ну и наконец, встает он у тебя из-за этого:

Code: Select all

while not uo.InJournal("stop") or not uo.InJournal("away")


тут надо or заменить на and. 8) Хотя (см. выше) эта проверка вообще на фиг не нужна.


НУ по поводу конструкции, помоемуц просто прикольно

а насчет 52 - действительно вы правы - тока все равно 51 - просто с добавкой 0..

Спасибо
=)
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

pumbey wrote:а насчет 52 - действительно вы правы - тока все равно 51 - просто с добавкой 0..


От 0 до 51 будет 52 элемента. В объявлении массива указывается размерность массива - то есть количество его элементов. Сколько из объявленных ты будешь потом использовать - твое личное дело. Но в том виде, как у тебя было сделано, при попытке рубить 51-ое дерево инжект либо упадет с ругательством, либо это дерево просто проигнориует. Хотя может и обработать, это зависит от версии скриптового модуля и фазы луны.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Ex-Brodyaga
Junior Expert
Posts: 150
Joined: 2004-04-12 20:26:41

Post by Ex-Brodyaga »

Блин, что за уроды спамят форум?
Post Reply