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

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

17 часов назад, aka_sektor сказал:

Это какая-то проверка, помогающая найти ID объекта?

Да не проверка это, не ищи там глубокого смысла. Цитата вырвана из контекста; речь идёт всего лишь о том, что имея id, можно получить сам объект.

Ссылка на комментарий

@AndrewMor, вопросег такой, дебильный, а можно ли как проверить - висит ли маркер на НПС до сих пор или самоудалился?

Изменено пользователем W.A.S.P.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий
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

Ссылка на комментарий
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.

Ссылка на комментарий
3 часа назад, aka_sektor сказал:

как зная id из вылета, найти объект с таким id?

Боюсь, что в данном случае - никак, потому что этого объекта уже нет.  
Здесь, емнип, имеется парент, у которого есть зарегистрированный в игре  потомок, но реально потомка уже не существует.
Точно такой же вылет был, причем в качестве парента указывался объект "лестница". Так и не смогла отрыть, что же за "чайлд" мог быть у лестницы...

След от кругов на воде - это тоже след (с)

Ссылка на комментарий
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.

Ссылка на комментарий
1 минуту назад, Zander_driver сказал:

А если вот такой вылет возникает, то как раз и будет поймана эта пара до исчезновения чилда, до вылета,

Дело в том, что на момент, когда мы стали ловить этот вылет, объекта-потомка с таким id в игре УЖЕ не было. 
Конечно же, он наверняка существовал N сэйвов назад, но у нас этих N не было, а были последние несколько - и в них объекта-потомка с таким id не существовало тоже.
Поскольку вылет такой случался при автосэйве (переход с локи на локу) и только  в нем - а автосэйв при этом на другой локации создавался нормально, то дальше не копали.
 

След от кругов на воде - это тоже след (с)

Ссылка на комментарий
04.04.2020 в 10:03, Zander_driver сказал:

Где treasure, obj, npc - это клиентские объекты тайника, перемещаемого итема, и НПС, соответственно. И делать надо в цикле, перебирая все итемы в тайнике.

А как сделать? Я же заранее не знаю, что окажется в тайнике.

Ссылка на комментарий
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.

Ссылка на комментарий
04.04.2020 в 19:48, Okichi сказал:

в данном случае - никак, потому что этого объекта уже нет.  

Парадокс.:huh:

 

А вот тут писали:

  

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

Ссылка на комментарий
22 часа назад, aka_sektor сказал:

Парадокс

Ну вот выше Зандер_драйвер дал схему, как можно попробовать обнаружить. Искать по предыдущим сэйвам, в которых этот объект-потомок еще существовал.
Но иногда в некоторых модах сразу при НИ запускается удаление ненужных объектов ( то, что есть в аллспавне, например, но реально не требуется в игре). 
Тогда, если этот чайлд вот так, с НИ, удалили - то уже не найти. Тем более, что узнаем мы об этом ( получим вылет)  только тогда, когда придем на локу, где этот удаленный объект находился.

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

След от кругов на воде - это тоже след (с)

Ссылка на комментарий
1 час назад, Okichi сказал:

Но иногда в некоторых модах сразу при НИ запускается удаление ненужных объектов

Есть такое дело. Сам в моде так делал, когда объект не нужен со старта НИ, но в дальнейшем для квеста требуется. Но заспавнить заново проще по spawn_story_id (ессно, его изначально нужно в спавне прописать). Тогда такой объект наверно можно и отследить.

Сталкер - наше всё!

Ссылка на комментарий

Кто разбирается в логике? Беглым взглядом гляньте:
 

Скрытый текст



[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

Ссылка на комментарий

@aka_sektor, это попытка выполнить ф-ю release_npc, когда получаем поршень ops_quest_taked.
Надо проверить, существует ли эта ф-я в xr_effects.script. 
 

  • Согласен 2

След от кругов на воде - это тоже след (с)

Ссылка на комментарий

@Okichi, да, уже выяснили что её нет. Непонятно почему  её написали, упоминаний во всем инете, кот наплакал.

Использовали в итоге destroy_object

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий
06.04.2020 в 19:58, aka_sektor сказал:

кста, вопрос к @Charsi тоже, он советовал

Вопросы Charsi задавать бесполезно - он уже больше года не интересуется Сталкером и сюда не ходит.
Лично я для проверки и локального запуска скриптов пользуюсь как раз его разработки плагином к N++: https://yadi.sk/d/UIMIb8_8vZtMD

  • Полезно 3
Ссылка на комментарий

Хочу реализовать идею для обхода НПС динамических объектов в частности автомобильной техники. Делать это на ристрикторах достаточно спорный вариант т. к. запрещающие рестрикторы не так просто спавнить и удалять, есть мысли чтобы объекты издавали пустой звук но в тегах прописать определённый ИИ радиус и тип данжер, или же сделать так чтобы НПС воспринимали объекты как аномалии. Хочется услышать конструктивные идеи на этот счет.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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