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

Line 525-527

Expression    : bone_id!=BI_NONE
Function    : SArtefactDetectorsSupport::SetVisible
File        : D:\prog_repository\sources\trunk\xrGame\Artefact.cpp
Line        : 525
Description    : link

Причина:

Неправильно указано имя кости для артефакта.

Лечение:

В artefacts.ltx, в секции af_base есть параметр particles_bone=link. Это имя косточки, которая принимается за центр при проигрывании партикла. Если кость в артефакте называется по иному, например joint2, и это не указанно в секции нового арта, которая наследуется от базовой и подразумевает естественно наличие link, получаем вылет. Решается конвертированием модели арта в .object, просмотром в SDK и выяснением имени косточки с занесением в конфиг. Если "не дружите" с SDK, то можете воспользоваться вот этим perl-скриптом: ссылка, распаковываете архив и кидаете .ogf файл на батник, появиться текстовый файл с весьма подробным описанием модели, где среди прочего будут имена костей.

[hr]

Expression : npos != comma1_pos
Function : CUILines::GetColorFromText
File : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line : 525
Description : CUISubLine::GetColorFromText -- can't find first comma
Expression : npos != comma2_pos
Function : CUILines::GetColorFromText
File : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line : 526
Description : CUISubLine::GetColorFromText -- can't find second comma
Expression : npos != comma3_pos
Function : CUILines::GetColorFromText
File : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line : 527
Description : CUISubLine::GetColorFromText -- can't find third comma


Фактически, это - 3 разновидности одного вылета. Начать надо с того, что в игре существует возможность назначения цвета тексту путем специальной служебной последовательности символов внутри этого текста. Эта последовательность имеет вид %с[color], где color может быть либо текстовым названием цвета, либо четырьмя разделенными запятыми числами, задающими цвет в формате RGBA. Если цвет задан некорректно - то мы имеем счастье наблюдать один из вышеуказанных вылетов.

Лечение:
Найти некорректно заданный цвет, и исправить

P.S.Вообще, у этого вида вылетов долгая и захватывающая история. Как оказалось, почти ВСЕ строки в игре подвержены подобному "разукрашиванию". Не стали исключением и строки сообщений, отправляемые в чат игроками в мультиплеере. Из-за этого любой игрок получил возможность введением специальным образом заданного сообщения устроить на сервере вылет у всех игроков сразу.

Категории
×
×
  • Создать...