proper70 74 Опубликовано 2 Ноября 2013 Решил поделиться, как мне думается, полезной информацией для мододелов, т.к. поиском особо ничего не находится, а с подобной проблемой я уже сталкивался не раз) Суть в том, что мы спавним непися/монстра с конкретной логикой и путями, и при спавне спустя несколько секунд получаем вылет 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 propertiesbase_out_restrictors = yantar_tunnel_restrictor_4 И все - и вылеты пропали, и контрик никуда не уходит) т.е. злосчастная проблема с ним наконец решена) рестриктор я выбрал по координатам, ближайший, который был прописан одному из снорков, которые спавнятся в туннеле) Может, эта информация пригодится мододелам в их нелегком труде)) 1 Поделиться этим сообщением Ссылка на сообщение
proper70 74 Опубликовано 3 Ноября 2013 (изменено) Людмила, есть запрет)) вот его логика: [smart_terrains]none = true[logic]active = mob_homeon_death = deathon_hit = hit[mob_home]path_home = yantar_kontroller_yazva_walkhome_min_radius = 15home_max_radius = 20aggressive_homeon_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 thenprintf("_bp: enable_scripts: object '%s' has external configuration file '%s'", npc:name(), filename)-- Рекурсивно обработать конфигурационный файл, на который ссылается поле cfgactual_ini_filename = filenameactual_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. А также у некоторых ООПшных персонажей. И никто ни разу не жаловался, что они куда-то пропадают) Изменено 3 Ноября 2013 пользователем proper70 Поделиться этим сообщением Ссылка на сообщение