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

Справочник вылетов


ColR_iT

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

(изменено)

ни одна из переменных в этой строке, не является nil

Ты уверен? Попытка индексации nil'ового значения, а как же результат метода AddPhrase?

Я вообще говоря не уверен, но ИМХО ругань идет как раз на то, что результата нет. А нет его как раз потому, что ты там сказал про иды.

Что будет, если написать так?

local phrase = dlg:AddPhrase(dialin[1], new_id, inp_id, -10000)
if phrase then
aa[i] = phrase:GetPhraseScript()
else
get_console():execute('WTF? phrase is nil?')
end
Ну или типа того. Я к тому, если я прав, что вылет вполне штатный, просто гдето надо написать, что нельзя указывать одинаковые иды, но все равно это тут останется :)

Смущает то, что оба вылета - строка 332.

А меня нет, вверху могла быть пустая строка. Привязка логов к строкам в авторских скриптах бессмысленна. Это в готовых модах или вылетам на "чистых" версиях игры имеет смысл говорить. Изменено пользователем Desertir
  • Полезно 1

ТЧ 1.0004. SAP и Trans mod

github

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


Ссылка на сообщение

@Zander_driver, тесты не эквивалентны, при добавлении доп. разделителей ничего нельзя сказать, строка поменялась совсем. Возможно стОит отловить конкретные значения (пустые они или нет, неважно), при которых происходит вылет, вколотить их непосредственно в строку и начать ее изменять. Как только вылет пропадет, будет установлена причина, которых кстати может быть больше.

Возможно двиг пытается распарсить строку по пробелам, чтобы выдать многострочное сообщение, не по середине слОва же обрезать, и встречает кактойто затык. Это чисто предположение исходя из всего поста.

Метод класса в ЛуаБинде та же функция, скорее всего, там тоже чтото неладно с данными.

ТЧ 1.0004. SAP и Trans mod

github

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


Ссылка на сообщение
(изменено)
Это с каких пор в формате паттерны появились? Может я пропустил чего? Явно видно что парсится до передачи в функцию

Ты сам то о чем, какие паттерны, какой парсинг? Речь не о string.format, а give_talk_message, и считаю это очевидным. Сформированная строка отправляется движку, вот там и косяк. Ни о каком (рас)парсинге в скриптах я не говорю.

Я читал лог вылета, и как мы видим, там чтото не так с i < (int)m_text.size() в методе CUISubLine::Cut2Pos. Исходя из этого я сделал предположение, что движок, выводя на экран сообщение, делит его на строки, и выводит уже многострочное сообщение. А может быть и нет.

И не надо никаких костылей, некоторые умные люди заключают выводимые данные в скобки/кавычки и т.п. А если надо сформировать именно нормальное сообщение, чтобы человек прочел без скобочек/кавычек, то проверяют данные.

PS: за такие костыли в продакшене прогера могут и без премии оставить, да и без работы...

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

×
×
  • Создать...