1. Для общения на форуме, в чате или личной переписке наличие аватара ОБЯЗАТЕЛЬНО!

Записки разработчика - вылеты

Тема в разделе "Диетическая Солянка 2016", создана пользователем Dennis Chikin, 20 июн 2019.

  1. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    Долго примеривался к "Школе моддинга", но не лезет. Немножко не тот формат.
    Так что буду писать пока здесь, а кому надо - лучше делайте ссылками, ага?

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

    upd: смотреть надо на последние 4 цифры, то есть - хххх:хххххB130. Первые меняются достаточно произвольно от системы к системе, в зависимости от того, какой еще софт запущен, и от прочей погоды на марсе.
     
    Последнее редактирование: 25 авг 2019
  2. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    Поехали, что-ли. Стандартный движок без "правщиков", смотреть всегда по последним цифрам. xxxxxxx:xxxx1234 - как-то так.

    0023:7492C41F KERNELBASE.dll
    0023:74718E89 MSVCR80.dll, EH_prolog()
    0023:05696DA8 xrGame.dll
    0023:058B79DD xrGame.dll
    при удалении "костиных" телепортов

    Что и как именно фиксил - не помню, но суть - попытка что-то сделать с уже несуществующим объектом (или рестриктор, или партикл)

    Пример:
    function restrictor_teleport:net_spawn( data )
    if self.teleport == true then
    teleport_binders[self.object:id()] = self
    ..
    end

    function restrictor_teleport:net_destroy()
    t_ports[self.obj_id] = nil
    object_binder.net_destroy( self )
    end

    Удаление на текущей локации даст вылет.

    Вот так можно:
    self.obj_id = self.object:id()
    if self.teleport and sim:object( self.obj_id ) then
    local t = {}
    t_ports[self.obj_id] = t
     
    Последнее редактирование: 10 ноя 2019
    yurv3 нравится это.
  3. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    0023:00A3105B xrLUA.dll
    0023:0595ED92 xrGame.dll
    0023:0592BAAC xrGame.dll

    --не компилится скрипт, к которому обращаемся из xml (например, <precondition>module.function</precondition> а в module.script - ошибка)
    Что делать - идем на lua.org, скачиваем там компилятор, и после любых изменений, вносимых в module.script прогоняем чее компилятор. Гораздо хуже, если там ошибка не синтаксическая, а, например, забыли или поставили лишние () либо вызываем его в тот момент, когда вызывать еще нельзя. Пока не знаю, что посоветовать для отлова таких ситуаций.
     
    yurv3 нравится это.
  4. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    0023:05796591 xrGame.dll
    0023:0573C8F3 xrGame.dll

    -- создание живого в парента
    Бывает при копипасте.
    При копипасте вообще много всякого бывает. Привет любителям aEtT0_voTtak0E_kЯ00t0yE_1mR_PEre|\/|eHHoY_patam00_shto_IA_kROOtOy_Kee\/\/lXaCKeP!
     
    yurv3 нравится это.
  5. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    0023:0580B130 xrGame.dll

    -- фантом от пси собаки решил жить собственной жизнью.
     
  6. Black Wolf

    Black Wolf Сталкер

    57
    3
    4 мар 2019
    Мужской
    Была проблема в логе жаловалось на окно рендеринга ,мол двиг не может воспроизвести сцену.Попадется дополню лог файлом ибо чистил уже логи
    Хз зачем но мало ли
     
  7. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    [error]Arguments : ! Unregistered object being destroyed
    При переходе между локами, повторных загрузках сохранок или выходе из игры.

    Предварительный вывод:
    В моем случае предположительно тушка кровососа, которая каким-то образом оказалась и не в онлайне, и не в оффлайне. В других модах за этим замечена как минимум лампа и колбаса в инвентаре актора. Такой объект крайне сложно найти, и совершенно непонятно, что с ним делать, даже если нашли.

    Впрочем, я все еще надеюсь, что это могло быть просто результатом ошибки в коде.
     
  8. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    0023:0602E55C xrGame.dll -- level.hide_indicators() при неуспевшем закрыться окне диалога
    То есть, диалог мы УЖЕ даже могли прервать, но окно закрыться не успело. level.hide_indicators() дает вылет.
    Нужно разносить на некоторое время.
    Подозреваю, что существует некое общее правило, не знаю, как сформулировать.

    Забавно, но для закрытия инвентаря/рюкзака/трупа level.hide_indicators() - вполне штатный метод.


    also, очень предположительно - 0023:026DBE03 xrRender_R1.dll - сработка "emi" на разрушаемый объект типа ящика. Возможно, это верно также для других аномалий.
     
  9. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    0023:05F4F73E xrGame.dll - пока что-то непонятное, предположительно - просто битые файлы игры.
    Хотя совпадал с удалением рестрикторов из памяти неписей.
     
  10. Dennis Chikin

    Dennis Chikin Модератор

    269
    82
    3 мар 2019
    Мужской
    xxxx:xxxx95CF
    нет связей между локой, где заспавнен монстр (непись?) и смартом, которым он захвачен.

    Лечение - или редактиовать аи-сетку, или в smart_terrain.script добавить новые группы, и прописать их изолированным локациям.


    -- Распределение локаций по группам, определяет на какие локации может затянуть объект
    local level_groups = {
    ["l01_escape"] = 1,
    ["l02_garbage"] = 1,
    ["l03_agroprom"] = 1,
    ["l03u_agr_underground"] = 1,
    вот сюда.
     
    yurv3 нравится это.

Поделиться этой страницей