Перейти к содержимому

Добро пожаловать к нам на сайт! Про Ваш статус и права можно прочитать в Этой теме

Для просмотра картинок и скачивания файлов с форума - пройдите регистрацию!   Проблемы с регистрацией - вам сюда



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


Информация

  • Дабавлена: 06 вер 2014 20:46
  • Обновлена: 06 вер 2014 20:57
  • Просмотров: 7986
 


* * * * *
0 Рейтинг

Решение проблем с вылетами типа: "invalid vertex" и "any vertex in patrol path"

Удаление "глючных" объектов (предметов, НПС и т.п..)

Написано RUS_D 06 вер 2014 20:46

Удаление "глючных" объектов (предметов, НПС и т.п..)


Решение проблем с вылетами типа: "invalid vertex" и "any vertex in patrol path"

--------------------------------

А также вылетов при ругани в консоли , наподобие:


! Cannot find saved game ~~~ object 'ххххххх_restrictor': section 'sr_idle': field 'on_npc_in_zone': there is no object with story_id 'ххххх'

Важно! Делайте копии оригинальных файлов.. Удаляйте объекты, будучи в полной уверенности, что они больше не нужны!

--------------------------------------------------------------------


Для удаления объектов из игры используйте уже имеющийся (закомментированный) блок кода в скрипте bind_stalker.script

Как все это правильно сделать - читаем ниже, под спойлером:


Порядок действий и примеры удаления!

1. В файле gamedata\scripts\bind_stalker.script
найти закомментированный блок кода:

--[[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 вместо указанных для примера наименований стволов вписать названия объектов, которые имеется необходимость удалить. Каждое наименование заключается в кавычках ""
Наименования, если их более одного, следует перечислять через запятую - {"wpn_lr30053522", "wpn_lr30058409" } и т.д..

Пример 1. Удаление глючного ствола
-------------------------------------------------
Вылет с последними строками лога:

[error]Description : Invalid vertex for object
[error]Arguments : wpn_ххххххххх


-- Где вместо "wpn_хххххххх" - будет название вашего "глючного" ствола (либо любого другого предмета/объекта), который и нужно удалить из игры, вставив его в код для удаления.

Правильный код должен выглядеть так:

local bad_object_names = {"wpn_ххххххххх " }
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. Удаляем глючного наемника на "Дикой территории"
--------------------------------------------------------------------------------
Лог вылета:

Description : any vertex in patrol path [ros_sniper2_walk] in inaccessible for object [ros_sniper2]

-- Где вместо "ros_sniper2" , в случае подобного вылета, может быть другое название НПС, смотрим у себя в логе.
Вставлять для удаления то, что идет вслед за inaccessible for object, в конце строки.


Правильный код:

local bad_object_names = {"ros_sniper2" }
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


При удалении объекта, на который идет ругань в "консоли", типа: ! Cannot find saved game ~~~ object 'ххххххх_restrictor': section 'sr_idle': field 'on_npc_in_zone': there is no object with story_id 'ххххх'
вставляем для удаления это: ххххххх_restrictor , или то, что идет вслед за ~~~ object

-- где вместо: ххххххх -- будет название вашего заглючившего рестриктора/ объекта.


4. После внесения правок в код - сохранить файл и загрузить нужный сейв (перед вылетом). Удаление будет выполнено во время загрузки, ГГ получит сообщение:
"Удалили глючный ствол:<название>" - для каждого объекта, перечисленного в bad_object_names и существующего в игре. Удаленный один раз объект более раз удалять не нужно.

После успешного удаления лучше (не критично) восстановить комментарии в коде --[[ в начале перед local и ]] в конце после end , по необходимости по ходу игры повторить операции с п.1 для другого объекта (объектов).

Правильный порядок дейтвий при удалении от камрада MAV

1. Выйти из игры
2. Исправить файл
3. Загрузить сейв до перехода на локацию, при котором происходил вылет.
4. Зайти на "глючную" локацию, если вылетает по другому объекту - добавить его в список удаляемых по п.п.1 - 3.
5. Когда "глючная" локация загрузилась - сделать сейв, выйти из игры и закомментировать обратно свои правки.

  • 0
Powered by Tutorials 1.5.0 © 2024, by Michael McCune

реклама на сайте подключена

Использование материалов сайта только с разрешения Администрации!
Или с указанием прямой ссылки на источник. 2008 - 2017 © Stalker-Worlds