Kirgudu 1 204 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 17 часов назад, aka_sektor сказал: Это какая-то проверка, помогающая найти ID объекта? Да не проверка это, не ищи там глубокого смысла. Цитата вырвана из контекста; речь идёт всего лишь о том, что имея id, можно получить сам объект. Инструмент Ссылка на комментарий
UriZzz 1 004 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 (изменено) @AndrewMor, вопросег такой, дебильный, а можно ли как проверить - висит ли маркер на НПС до сих пор или самоудалился? Изменено 4 Апреля 2020 пользователем W.A.S.P. Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
naxac 2 445 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 @UriZzz, if level.map_has_object_spot(obj.id, "green_location") ~= 0 then ... где obj - серверный объект нпс. 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
aka_sektor 1 464 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 3 часа назад, Kirgudu сказал: имея id, можно получить сам объект Просто там дело было в вылете: https://ap-pro.ru/forum/100-9999-826159-16-1452077092 И вопрос касательно того, что значат цифры 1394: child registered but not found [1394] Думал это может story_id а выходит, просто id, который никем кроме движка не указывается. Отсюда вопрос, как зная id из вылета, найти объект с таким id? Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Zander_driver 10 335 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 13 минут назад, aka_sektor сказал: Отсюда вопрос, как зная id из вылета, найти объект с таким id? Вот так 21 час назад, aka_sektor сказал: alife():object(id) - возвращает объект, с таким номером. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Nikolai990 0 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 Всем привет, кто может помочь локацию соединить с остальными, буду очень благодарен. Ссылка на комментарий
naxac 2 445 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 @Nikolai990, *.graph recompiler (ggRC) v.0.7: http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewdownload&cid=37 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Okichi 922 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 3 часа назад, aka_sektor сказал: как зная id из вылета, найти объект с таким id? Боюсь, что в данном случае - никак, потому что этого объекта уже нет. Здесь, емнип, имеется парент, у которого есть зарегистрированный в игре потомок, но реально потомка уже не существует. Точно такой же вылет был, причем в качестве парента указывался объект "лестница". Так и не смогла отрыть, что же за "чайлд" мог быть у лестницы... След от кругов на воде - это тоже след (с) Ссылка на комментарий
Zander_driver 10 335 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 8 минут назад, Okichi сказал: Так и не смогла отрыть, что же за "чайлд" мог быть у лестницы... Такие вылеты и такие взаимосвязи ловятся перебором серверных объектов при загрузке сейва. На постоянку такие проверки вешать на лоад конечно не надо. Но если вылет возник - то повесить. Перебрать все 65к объектов, у них проверить парент, получить этот парент, проверить его класс, и соответствует ли он тому набору классов, которому позволено иметь чилды. При нормально устроенной игре, эта вся канитель не даст ничего, т.е. 65к проверок вернут нулевой результат. А если вот такой вылет возникает, то как раз и будет поймана эта пара до исчезновения чилда, до вылета, до вообще всего что такая парочка могла бы натворить. И выводится в лог - владелец такой-то, секция такая то. Чилд такой-то, секция такая-то. Дальше уже дело техники, выяснить что это за фигня и как так получилось, что они воссоединились. Устраняется причина, а затем и описанная проверка. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Okichi 922 Опубликовано 4 Апреля 2020 Поделиться Опубликовано 4 Апреля 2020 1 минуту назад, Zander_driver сказал: А если вот такой вылет возникает, то как раз и будет поймана эта пара до исчезновения чилда, до вылета, Дело в том, что на момент, когда мы стали ловить этот вылет, объекта-потомка с таким id в игре УЖЕ не было. Конечно же, он наверняка существовал N сэйвов назад, но у нас этих N не было, а были последние несколько - и в них объекта-потомка с таким id не существовало тоже. Поскольку вылет такой случался при автосэйве (переход с локи на локу) и только в нем - а автосэйв при этом на другой локации создавался нормально, то дальше не копали. След от кругов на воде - это тоже след (с) Ссылка на комментарий
DMT 2 Опубликовано 5 Апреля 2020 Поделиться Опубликовано 5 Апреля 2020 04.04.2020 в 10:03, Zander_driver сказал: Где treasure, obj, npc - это клиентские объекты тайника, перемещаемого итема, и НПС, соответственно. И делать надо в цикле, перебирая все итемы в тайнике. А как сделать? Я же заранее не знаю, что окажется в тайнике. Ссылка на комментарий
Zander_driver 10 335 Опубликовано 5 Апреля 2020 Поделиться Опубликовано 5 Апреля 2020 10 минут назад, DMT сказал: не знаю, что окажется в тайнике. А зачем это знать? Функции iterate_inventory в тайниках тоже работают, перебирая инвентарь тайника. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
aka_sektor 1 464 Опубликовано 6 Апреля 2020 Поделиться Опубликовано 6 Апреля 2020 04.04.2020 в 19:48, Okichi сказал: в данном случае - никак, потому что этого объекта уже нет. Парадокс. А вот тут писали: 17.02.2012 в 00:03, smeh сказал: LuaChecker-0.3 Может я не правильно пользуюсь? 17.02.2012 в 23:01, Artos сказал: проверяй файлы чекером. Только не тем, который ты упоминал, а "Syntax Checker" (by Gun12), который тебе уже посоветовал Капрал Хикс 17.02.2012 в 11:19, Капрал Хикс сказал: script Syntax Checker - есть на stalkerin.gameru.net. Не виснет на больших скриптах и может скрипты проверять группой. Вот он: http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=447 Есть ли какое-то принципиальное отличие от чекера представленного в утилите SciTe: https://modfaq.ru/SciTE (кста, вопрос к @Charsi тоже, он советовал) Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Okichi 922 Опубликовано 7 Апреля 2020 Поделиться Опубликовано 7 Апреля 2020 22 часа назад, aka_sektor сказал: Парадокс Ну вот выше Зандер_драйвер дал схему, как можно попробовать обнаружить. Искать по предыдущим сэйвам, в которых этот объект-потомок еще существовал. Но иногда в некоторых модах сразу при НИ запускается удаление ненужных объектов ( то, что есть в аллспавне, например, но реально не требуется в игре). Тогда, если этот чайлд вот так, с НИ, удалили - то уже не найти. Тем более, что узнаем мы об этом ( получим вылет) только тогда, когда придем на локу, где этот удаленный объект находился. И то - не сразу, а когда будем там перегружаться или переходить на другой уровень: вылет будет при разрушении уровня, т.к., если я правильно поняла dsh-а, при разрушении уровня игра сначала пытается удалить "потомков", и только потом - их парентов. След от кругов на воде - это тоже след (с) Ссылка на комментарий
AndrewMor 527 Опубликовано 7 Апреля 2020 Поделиться Опубликовано 7 Апреля 2020 1 час назад, Okichi сказал: Но иногда в некоторых модах сразу при НИ запускается удаление ненужных объектов Есть такое дело. Сам в моде так делал, когда объект не нужен со старта НИ, но в дальнейшем для квеста требуется. Но заспавнить заново проще по spawn_story_id (ессно, его изначально нужно в спавне прописать). Тогда такой объект наверно можно и отследить. Сталкер - наше всё! Ссылка на комментарий
aka_sektor 1 464 Опубликовано 7 Апреля 2020 Поделиться Опубликовано 7 Апреля 2020 Кто разбирается в логике? Беглым взглядом гляньте: Скрытый текст [logic@ex_gar_eger] suitable = {=check_npc_name(ex_gar_eger)} prior = 200 active = animpoint@ex_gar_eger level_spot = quest_npc [animpoint@ex_gar_eger] cover_name = ex_gar_a1_eger_cover avail_animations = animpoint_sit_normal combat_ignore_cond = true combat_ignore_keep_when_attacked = true gather_items_enabled = false help_wounded_enabled = true corpse_detection_enabled = false invulnerable = false def_state_moving = assault on_info = {+ops_quest_taked} %=release_npc% meet = meet@ex_gar_eger [meet@ex_gar_eger] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 close_snd_distance = 3 use = nil close_snd_hello = nil trade_enable = true allow_break = false meet_on_talking = true Чего неправильно может быть? Выяснил только, что вылетает из-за строчки: on_info = {+ops_quest_taked} %=release_npc% Если убрать %=release_npc%, то вылета нет. Это для чего служит? Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Okichi 922 Опубликовано 7 Апреля 2020 Поделиться Опубликовано 7 Апреля 2020 @aka_sektor, это попытка выполнить ф-ю release_npc, когда получаем поршень ops_quest_taked. Надо проверить, существует ли эта ф-я в xr_effects.script. 2 След от кругов на воде - это тоже след (с) Ссылка на комментарий
aka_sektor 1 464 Опубликовано 7 Апреля 2020 Поделиться Опубликовано 7 Апреля 2020 @Okichi, да, уже выяснили что её нет. Непонятно почему её написали, упоминаний во всем инете, кот наплакал. Использовали в итоге destroy_object Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Kirgudu 1 204 Опубликовано 9 Апреля 2020 Поделиться Опубликовано 9 Апреля 2020 06.04.2020 в 19:58, aka_sektor сказал: кста, вопрос к @Charsi тоже, он советовал Вопросы Charsi задавать бесполезно - он уже больше года не интересуется Сталкером и сюда не ходит. Лично я для проверки и локального запуска скриптов пользуюсь как раз его разработки плагином к N++: https://yadi.sk/d/UIMIb8_8vZtMD 3 Инструмент Ссылка на комментарий
Graff46 598 Опубликовано 11 Апреля 2020 Поделиться Опубликовано 11 Апреля 2020 Хочу реализовать идею для обхода НПС динамических объектов в частности автомобильной техники. Делать это на ристрикторах достаточно спорный вариант т. к. запрещающие рестрикторы не так просто спавнить и удалять, есть мысли чтобы объекты издавали пустой звук но в тегах прописать определённый ИИ радиус и тип данжер, или же сделать так чтобы НПС воспринимали объекты как аномалии. Хочется услышать конструктивные идеи на этот счет. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти