Гайд по написанию скриптов для гомункулусов
-
LONG_RANGE_SHOOTER=true заставляет ванильку стоять на месте и бить болтами моба до тех пор, пока моб не подбежит к ванильке. Плохо тем, что аггро радиус ванили ограничивается радиусом действия болтов.
BOLTS_ON_CHASE_ST=true действительно то, что нужно, чтоб ванилька пока бежит к мобу разок другой долбанул того болтами. -
@"Zeno":
А я не помню где я это дописывал. Надо брать чистый и сравнивать, а потом из дифов вырезать нужные кусочки.Пример:
[code:353uiao7]{ 1881, prio=4, atkHP=50, atkSP=61 }, -- Lesavka[/code:353uiao7]
А можешь кусок кода выложить, который парсит atkHP и atkSP, оч полезная фича ) -
Pimka, 2мя постами дальше :
<!-- l --><a class="postlink-local" href="http://forum.motronline.com/viewtopic.php?p=1968165#p1968165">viewtopic.php?p=1968165#p1968165</a><!-- l --> -
около часа нисиловал фаил config.lua пропустил ап гома
не нанашол там строки BOLTS_ON_CHASE_ST подскажите хоть в каком разделе
там она (посерединке или ниже к концу ) -
megar если у тебя MirAI то искомая строка должна быть в первой десятке.. Может быть у тебя Rampage?
-
Возник такой вопрос:
Что выдает GetV(V_HOMUNTYPE,actor) если actor - наемник?Проверил, отвечу сам:
[code:1fk5xam9]17 MER_ARCHER01
18 MER_ARCHER02
19 MER_ARCHER03
20 MER_ARCHER04
21 MER_ARCHER05
22 MER_ARCHER06
23 MER_ARCHER07
24 MER_ARCHER08
25 MER_ARCHER09
26 MER_ARCHER10
27 MER_LANCER01
28 MER_LANCER02
29 MER_LANCER03
30 MER_LANCER04
31 MER_LANCER05
32 MER_LANCER06
33 MER_LANCER07
34 MER_LANCER08
35 MER_LANCER09
36 MER_LANCER10
37 MER_SWORDMAN01
38 MER_SWORDMAN02
39 MER_SWORDMAN03
40 MER_SWORDMAN04
41 MER_SWORDMAN05
42 MER_SWORDMAN06
43 MER_SWORDMAN07
44 MER_SWORDMAN08
45 MER_SWORDMAN09
46 MER_SWORDMAN10[/code:1fk5xam9] -
начала качаться в московии и заметила странную вещь.
AzzyAI: ванилька бросается мобу, но иногда один раз атаковав скиллом и промахнувшись (если землей или молнией) или просто недобежав вовзращается обратно к химу и больше этого моба не атакует
MirAI: на счет промаза скиллом не заметила, частенько возвращается не добежав до мобаи перестает его атаковать, пока тот не сдвиниться с места.Врядли это проблемы локмоба, так как происходит и со свежепоявившимися мобами.
Может кто подскажет в чем причина? И как, возможно, это можно поправить в аззи.
-
Проблемы с пингом, может быть. Кроме того, я замечал и с МирАИ и с Рампэйджем - иногда просто гом ложиться и перестает атаковать вообще. Ждал минут 5, на большее просто терпения не хватало - выхожу в чарселект, возвращаюсь - начинает рвать всех как озверелый.
А проблемы с промахом по мобу скиллом и последующим ступором у моего хомяка появились после модификации Rampage по рекомендованной Zeno схеме. Но с этиим все понятно. Если Min SP для атаки установлено например в 150, то промахнувшись болтом, гом не атакует моба пока не отрегенит СП до необходимого минимума. Можно бы было в коде что-то поправить чтоб гом продолжал атаковать, если уж начал, но - непринципиально. Да и забавно иногда смотреть на его суматошную беготню -
нее, у меня аггро сп и хп на ноль выставлены.
-
LittleHarry
Если гом ложится, включи ему сначала пассивный и сразу же активный режим - он оживет (Alt+T два раза) -
Eternal One Повторится еще этот глюк - попробую. Хотя, я кажется тогда все перепробовал, и алт+т и /hoai туда обратно. да и вообще - не люблю я этот хоткей и никогда им не пользуюсь. Лентяи девелоперы могли бы хоть системное сообщение выводить после ALT+T. А то непонятно агро включено или нет... Чарселект понадежнее будет, имхо. Вообще, повторюсь, это либо пинг проблемный либо глюки серверной части. Как обьяснить, когда мимо десятка злобных хомяков проплывает неспеша через весь экран леска и исчезает на противоположной стороне? И ни один не дернется, и локмоб тут ни при чем т.к. никто ее не атаковал.
-
- Слишком много хомячков, блокируют друг другу атаку... )
- Где-то рядом есть леший, который держит лесавку как цель для хила...)
-
Оффтопим )
- Леший держит леску как цель для кекса...
- Хомяки втихаря раскидывают на пеньке кости на предмет того, кто следующий пойдет мочить моба
-
@"Йокко":
Где-то рядом есть леший, который держит лесавку как цель для хила...)
а это воспринимается как атака на моба и срабатывает защита от киллстила в аи?
а как объяснить похожее поведение лифки на волках тогда? тоже бывает забивает на волка не добежав до него.@"LittleHarry":
Хомяки втихаря раскидывают на пеньке кости на предмет того, кто следующий пойдет мочить моба
а мираишные хомяки как гопнеги - если даже проиграли идут и тупо мочат -_- -
@"sepulka":
@"Йокко":
Где-то рядом есть леший, который держит лесавку как цель для хила...)
а это воспринимается как атака на моба и срабатывает защита от киллстила в аи?
а как объяснить похожее поведение лифки на волках тогда? тоже бывает забивает на волка не добежав до него.
Есть подозрение, что Йокко пошутил@"sepulka":
@"LittleHarry":
Хомяки втихаря раскидывают на пеньке кости на предмет того, кто следующий пойдет мочить моба
а мираишные хомяки как гопнеги - если даже проиграли идут и тупо мочат -_-
Так смысл игры именно в том и заключается, чтоб мобов мочил проигравший -
@"LittleHarry":
Eternal One Повторится еще этот глюк - попробую. Хотя, я кажется тогда все перепробовал, и алт+т и /hoai туда обратно. да и вообще - не люблю я этот хоткей и никогда им не пользуюсь. Лентяи девелоперы могли бы хоть системное сообщение выводить после ALT+T. А то непонятно агро включено или нет... Чарселект понадежнее будет, имхо. Вообще, повторюсь, это либо пинг проблемный либо глюки серверной части. Как обьяснить, когда мимо десятка злобных хомяков проплывает неспеша через весь экран леска и исчезает на противоположной стороне? И ни один не дернется, и локмоб тут ни при чем т.к. никто ее не атаковал.После перехода в пассивный режим гом побежит к хозяину (см. функцию OnFOLLOW_CMD_ST), а после активации активного режима вновь, он войдет в режим IDLE_ST начинает опять бегать кругами и атачить жертв (ну... в зависимости от скрипта). После перехода как в пассивный, так и в активный режим, текущая цель сбрасывается (см. функцию OnFOLLOW_CMD), поэтому при выходе вновь в активный режим гом найдет нового моба.
Если следить за ним (а не тыкать альт+т несколько раз подряд), можно легко заметить, как он переходит сначала в пассивный, а затем в активный режим
С ними надо легко, аккуратно, нежно, а не "пошел, пошел, пошел!!" Три раза нажать альт+т, так он в пассивном снова окажется и тоже лежать будет -
Eternal One не надо меня агитировать Я высказал свое мнение относительно этого способа, каждый выбирает что ему удобнее. Кроме того, когда вингаешься в толпу агрессивных мобов, то хочется чтоб хомяк именно "пошел! пошел! пошел!". В конфиге Rampage есть параметр, который по идее отвечает за задержку на срабатывание AI после вингов, телепортов:
[code:3nnpyq42]-- Wait this number of milliseconds before starting the AI logic
-- (Idea from Fallen~Angel)
AIStartWait = 100
[/code:3nnpyq42]Там по дефолту было 5000мс, кажется. Я уменьшил до 100, но задержка осталась явно больше 1/10 секунды. Когда активно качаешься и скачешь вингами - хочется чтоб гом мгновенно атаковал, даже секундная задержка сводит на нет смысл изводить на прыжки кучу флай-вингов. Надо и вправду, наверное, покопаться в коде.... Можно как минимум было бы убрать всякие лишние проверки и неработающие функции типа автохила, автореса и т.д. и т.п.
-
А пинг сколько? )
А сколько еще времени надо, чтобы считать с сервера окружение? )
Когда я прыгаю во время лагов, замечаю, что мобы не сразу подгружаются.Задержка нужна, чтобы можно было бы перед атакой гома скастовать что-нибудь (e.g. выбрать мэнтал чендж или эмёдженси эвоид). А если она не нужна, так и убрать ее вовсе, к чему 100мс? )
-
Дайте ссылку еще на спецификацию протокола UDP... Уважаемый, я знаю что сам процесс взаимодействия клиент-сервер подразумевает некоторые задержки. У вас, я вижу, есть навязчивое желание тут провозглашать прописные истины?
А 100мс - это нормальная value которая позволяет не беспокоится о конфликте с логикой скрипта не вникая в него. Можно и nil, и 0, и minus one попробовать вписать. Но так - проще.Если поюзать поиск, можно найти посты где говорилось о тормознутости дефолтного Rampage относительно дефолтного же MirAI. Там еще ZENO говорил что в рампэйдже движок более вдумчивый и проводит больше проверок. Но, никому и в голову не приходило начинать в связи с этим ликбез по стеку протокола TCP/IP и иже с ними.
Курите тему сначала. Я тут и про пинг писал несколькими постами ранее. А то, теряется смысл общения с вами.
-
Спецификация UDP - это RFC 768, иногда полезно почитать.
Также полезно бы знать, что пинг (как он есть) - это все же ICMP.
А человек, более-менее знакомый с сетевыми технологиями должен был бы знать, что не только пинг определяет время передачи данных.
Человек, хоть минимально понимающий смысл скрипта, должен был бы понять, что задержку вызывает не параметр, а некоторая функция, этот параметр использующий. Но нет, поколение пепси и программистов мышкой предпочитает менять константу и удивляться, почему это работает не так, как хотелось.
О, да, к сожалению приходится повторять не раз прописные истины, потому что у кого-то они через одно ухо влетают, а через другое вылетают, и они продолжают ставить глупые вопросы, даже не потрудившись вникнуть в тематику, не говоря уже о том, чтобы поблагодарить тех, кто пытается помочь.
А вообще, какой смысл пытаться помочь человеку, который даже не пытается думать, вникать в то, с чем он работает? Может проще посмотреть, как он будет наступать на грабли, в очередной раз разбивая себе лоб. Если повезет, когда-нибудь и научится думать. Говорят, это тоже полезно...Как бы мне хотелось заставить хомячка говорить в чат :sorry: