При вылетах по invalid vertex, отсутствующих путях, при ругани restrictor на отсутствие объекта, в других игровых ситуациях возникает необходимость удалить "мешающий" объект. Предлагаю использовать уже имеющийся блок кода в скрипте bind_stalker.script.
0. Замечание. Удаляйте объекты, будучи в полной уверенности, что они больше не нужны.
1. В файле gamedata\scripts\bind_stalker.script найти закомментированный блок кода:
Code
--[[local bad_object_names = {"wpn_lr30053522", "wpn_lr30058409" } --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589"
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end]]
2. Убрать комментарии --[[ в начале перед local и ]] в конце после end
3. В bad_object_names вместо указанных для примера наименований стволов вписать названия объектов, которые имеется необходимость удалить. Каждое наименование заключается в "", наименования, если их более одного, следует перечислять через запятую.
Пример 1. Удаление рестриктора удаления Седого (АТП, мобильный торговец)
Code
local bad_object_names = {"atp_sedoy_delete_restrictor"}
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end
Пример 2. Удаление вечно глючных зомбиков (Саркофаг, к примеру их 2)
Code
local bad_object_names = {"sarc_arhara_zombied_respawn_154797", "sarc_arhara_zombied_respawn_149048"}
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end
3. Сохранить скрипт и загрузить нужный сэйв. Удаление будет выполнено во время загрузки, ГГ получит сообщение
"Удалили глючный ствол:<название>" для каждого объекта, перечисленного в bad_object_names и существующего в игре. Удаленный один раз объект более раз удалять не нужно.
После успешного удаления лучше (не критично) восстановить комментарии в коде --[[ в начале перед local и ]] в конце после end , по необходимости по ходу игры повторить операции с п.1 для другого объекта (объектов).