Перейти к контенту

Справочник вылетов


ColR_iT

Рекомендуемые сообщения

Решил поделиться, как мне думается, полезной информацией для мододелов, т.к. поиском особо ничего не находится, а с подобной проблемой я уже сталкивался не раз) 

Суть в том, что мы спавним непися/монстра с конкретной логикой и путями, и при спавне спустя несколько секунд получаем вылет any vertex in patrol path... И ничего не понятно: АИ сетка есть, причем сплошная, никого и ничего рядом, но вылетает стабильно. Как я выяснил опытным путем, проблема в том, что непися/монстра удерживают или не пускают in или out рестрикторы. Т.е., чтобы этот вылет ушел, нужно в алспауне прописать объекту строку 

base_out_restrictors = [имя ограничивающего рестриктора]

или

base_in_restrictors = [имя ограничивающего рестриктора]

Причем эта проблема есть не на всех локах, а только на тех, где ПЫСы зачем-то понаставили этих ограничивающих рестрикторов. Назначение их мне не совсем понятно, ведь зону нахождения любого монстра/непися можно ограничить его логикой mob_home, walker и т.д - зачем еще эти дополнительные ограничения в виде зон? Я сталкивался с этой проблемой на Янтаре, Х-16 и на ЧАЭС-2. Причем, если у монстра прописана логика mob_home, но не задана указанная выше строка, то монстр молча выходит из-под этой логики и передается под управление движком, т.е. затягивается в любой свободный гулаг. Эта проблема до сегодняшнего дня имела место с Соляночным квестом на фото контролера в туннеле на Янтаре, когда он, находясь под логикой mob_home, тем не менее постоянно уходил в разные гулаги Зоны, и квест выполнить было очень проблематично. Я для пробы прописал ему логику walker с одной точкой walk и look, и сразу получил указанный выше вылет. Тогда я прописал ему в алспауне вот эту строку:

 

; cse_alife_monster_abstract properties
base_out_restrictors = yantar_tunnel_restrictor_4

 

И все - и вылеты пропали, и контрик никуда не уходит) т.е. злосчастная проблема с ним наконец решена) рестриктор я выбрал по координатам, ближайший, который был прописан одному из снорков, которые спавнятся в туннеле)

 

Может, эта информация пригодится мододелам в их нелегком труде))

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Людмила, есть запрет)) вот его логика:

 

[smart_terrains]
none = true

[logic]
active = mob_home
on_death = death
on_hit = hit

[mob_home]
path_home = yantar_kontroller_yazva_walk
home_min_radius = 15
home_max_radius = 20
aggressive_home
on_signal = sig_attacked | mob_combat

[mob_combat]
on_timer = 30000 | mob_home

[death]
on_info = {=killed_by_actor_eagle} %=arhara_dialog.fotka_kont_yazva_have%

[hit]
on_info = {=hit_by_actor_eagle} %=arhara_dialog.fotka_kont_yazva_have%

 

То, что запрет стоит не в алспауне а вынесен в cfg файл, ничего не меняет - все работает в обоих вариантах. Вот скрипт из xr_logic, обрабатывающий этот момент:

 

local filename = utils.cfg_get_string(ini, section_logic, "cfg", npc, false, "")
if filename then
printf("_bp: enable_scripts: object '%s' has external configuration file '%s'", npc:name(), filename)
-- Рекурсивно обработать конфигурационный файл, на который ссылается поле cfg
actual_ini_filename = filename
actual_ini = ini_file(filename)
return configure_schemes(npc, actual_ini, actual_ini_filename, stype, section_logic, gulag_name)

 

тут просто рекурсивно вызывается чтение схем уже из другого ini файла. И запрет по смартам также читается) проблема именно в том, что я написал) Если ему поставить walker - то сразу вылет по путям. И я спавнил его, находясь в туннеле рядом с ним, т.е. он сразу был в онлайне. А в гулаги объект с логикой движок затягивает, мне думается, только если он находится в оффлайне. Сам лично с этим столкнулся, когда начинал спавнить неписей, и забыл прописать запрет на смарт) Непись четко был на месте и отыгрывал логику, пока он был в онлайне. Но стоило мне уйти с локи и вернуться, как он пропадал) А здесь контрик сразу выходил из-под логики home, сразу после спавна, находясь в онлайне. И вылет по путям сразу после спавна при прописывании схемы walker также говорит об этом, ибо ему просто некуда идти - все пути отрезаны рестрикторами) А если бы не было запрета на смарт, то ничего бы не вылетало - он просто уходил бы в гулаг и все. А когда я прописал ему этот рестриктор, то все - и вылет по walkery пропал - он стоял в точке, и home заработал - он никуда не уходит) Так что проблема была именно в этом)

 

ЗЫ: а насчет прописывания запрета на смарты в алспауне, а не в конфигурационном файле я тоже сначала думал, что не будет работать) но потом покопался в алспауне и увидел, что так (запрет стоит в cfg)  стоит в Соли у Молнии в МГ - dead_city_molniy. А также у некоторых ООПшных персонажей. И никто ни разу не жаловался, что они куда-то пропадают)

Изменено пользователем proper70

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...