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

Баги и Вылеты 3


n6260

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

(изменено)

[error]Arguments     : LUA error: ...hing\s.t.a.l.k.e.r\gamedata\scripts\xrs_utils.script:888: bad argument #1 to 'find' (string expected, got nil)

 

 

vladi, попробуй перед строкой 888 в xrs_utils.script поставить такую проверку на обе переменные

    if not str or not div then return end
    local cpt = string.find (str, div, 1, true)

по идее проверка на нил должна здесь быть на обе переменные ...

ЗЫ: Скорее всего, с чьим-то визуалом проблема.

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
как можно отключить его (усложнённый ремонт)? Ну хотя бы Долговязому?

DanekSTALKER,

комментнуть строчку

dolgovazyi            = {"hnd_weap_04",1.6,1.5},

(поставить перед ней два дефиса "--")

в скрипте repair_check.script. О результате - отпишись

 

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
Удалил через бинд

Shadows, ты сделал синтаксическую ошибку в скрипте бинд_сталкер - в итоге вылет "attempt to index field 'actor' (a nil value)", т.к. биндер актора не проинициализировался из-за твоей ошибки в скрипте. Убери все правки и попробуй грузануть сейв до перехода на АС и перейти на радар. Вариант, когда ствол с кривым вертексом появляется в момент загрузки локи радар - вызовет вылет по тому стволу, в любом другом случае - ствол удалится уборщиком. Имхо, рендом. Ствол во второй раз может и не появиться именно тогда, или появиться раньше (тогда его уборщик тоже приберет).

 

mangust, как я выяснил, МАКС сделал сейв с зависшим актором. Т.е. тот зависший непись - и был сам ГГ. Тут уже ничего не поможет :(

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
Куда скинуть сейв

ElenaD, кидайте сейв на любой файлообменник и потом ссыль в ЛС или здесь в теме. Можно в Вашем старом сообщении - я увижу.

 

alexutel, во-первых строка "-- local se_obj = alife():object("wpn_ak7459919")" закомментирована - вылет будет явно с логом не по оружию, а типа что "attempt to index global se_obj ('a nil value')" или еще интересней, как вчера Shadows нарывался - "actor is nil".

Во-вторых, если действительно загрузив сейв перед радаром - получаете вылет по оружию - меня интересует сейв (без сторонних аддонов, естественно). Если же вылет на другой локе - тогда удаляйте, вписав в строчку выше свой ствол и раскомментировав ее. И вообще, это лучше делать в актор:нет_спаун, а не в апдейт, иначе тормоза, или хоть комментируйте правку после успешного сохранения. Ну и наконец, ранговый мод откуда?

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


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

menk, если удалять, то dark_sniper1, потому что dark_sniper1_walk - это назначенный неписю путь (а не объект), который он не в состоянии отработать, скорее всего по причине непреодолимого препятствия на этом пути (агомалии, например).

tolstiy, Пробуй удалять dark_sniper1 - тем методом, что стволы - вот только нужен игровой объект (еще сид в конце названия должен быть). Единственный способ, который я вижу (без ковыряния) - с помощью читспавнера (сначала поиском, потом по результатам поиска - удаление найденного).

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
Чем или кем - можно узнать только из ранних сейвов. Шоудмен такие вылеты коллекционирует

tyurdistr, можете прислать тот сейв - гляну. По идее, и починить можно, даже если не грузится. По крайней мере, те несколько, что мне присылали - у меня загружаются :)

Arhara, и узнать виновника - несложно, сделать только те сообщения "save file is corrupt" более информативными - имя виновника добавить.

Вот так:

  1. aem_bind.script:174: abort("SAVE FILE IS CORRUPT aem_mob_binder:save "..self.object:name())
  2. bind_monster.script:462: abort("SAVE FILE IS CORRUPT generic_object_binder:load "..self.object:name())
  3. bind_stalker.script:772: abort("SAVE FILE IS CORRUPT actor_binder:load "..self.object:name().." завис актор - сушите весла!")
  4. xr_motivator.script:492: abort("SAVE FILE IS CORRUPT motivator_binder:load "..self.object:name())

Добавил еще имя функции, откуда сообщение, чтоб уж совсем понятно было.

Только 3-й случай - неизлечим. Актора лечить нужно не скриптами... Но вроде последний раз завис биндера актора встречался только на предыдущей допе, насколько мне известно.

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
уже несколько игровых дней не убираются труппы группы Черепа и трёх Свободовцев в деревне... Все труппы уже давно пусты.

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

Не говорю, что невозможно сделать такое, но вот надо ли? Ведь эти все проверки, если их сделать, замедлят загрузку локаций и сейвов, да и принципиально ничего не даст удаление 10-20 трупов, для движка это капля в море.

 

amk_anoms.script:427

bob, очень экзотический какой-то вылет. Потому поиск ничего и не дает. И версию Солянки указывать надо.

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


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

bob, даже не знаю, что вам и сказать. С таким вылетом никогда не сталкивался. Проблема, по-видимому, со спавном аномалии.

Переход не во время выброса? Я бы посоветовал переждать выброс или поспать, потом попробовать перейти.

naHukep, мда. Здорово. 4D не пробовали? :crazy:

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
bind_stalker.script:780: attempt to concatenate field '?' (a nil value)

ed98rus, вылет - воспроизводится? Хорошо бы увидеть, нет ли в логе ранее строчки с такой фразой "save file is corrupt".

Если нет - то, боюсь, завис актора. Если так - то приплыли, ищите ранний рабочий сейв.

 

ed98rus, значит, с актором проблема, почти 100%

Чтобы узнать точно, проставьте двумя строками ниже 780 в bind_stalker.script

вместо

abort("SAVE FILE IS CORRUPT")

такое

abort("SAVE FILE IS CORRUPT actor_binder:load "..self.object:name().." завис актор - сушите весла!")

и перенесите эту проверку в начало функции, чтобы было так (вставить то, что красным выделено):

 

function actor_binder:load(reader)

printf("actor_binder:load(): self.object:name()='%s'", self.object:name())

object_binder.load(self, reader)

printf("actor_binder:object_binder.load(): self.object:name()='%s'", self.object:name())

if reader:r_eof() then

abort("SAVE FILE IS CORRUPT actor_binder:load "..self.object:name().." завис актор - сушите весла!")

end

--' Загружаем уровень сложности

local game_difficulty = reader:r_u8()

 

local load_treasure_manager = false

if game_difficulty >= 128 then

game_difficulty = game_difficulty - 128

load_treasure_manager = true

end

 

 

get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty])

 

и грузите этот сейв. Если увидите "весла" в логе - приплыли.

(Вылет в последней строке приведенного кода, а проверка - ниже, не сработает так, как в оригинальном скрипте).

 

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
vitek1376, ставим and not string.find(npc:name(),"mil_stalker_respawn_3") в скрипте xrs_armor, в функции check_armor (аналогично пантере). Зависает схема смены визуалов. Так не очень корректно, но респавнера в том коде иначе не добавишь.

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
vitek1376, ничего не надо делать. Неужели непонятно написано? Отладочное сообщение, и только.

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
amk_mod.script:4414: attempt to index local 'respawner' (a function value)

лобсанг, интересно. Сейвик дать можете (если вылет воспроизводим)?

Имхо, рендомный вылет - врядли после перезапуска с сейва его можно поймать снова.

Проверка на существование respawner перед вызовом функции есть - не должно вылетать.

причина может быть в том, что мутант после респавна тут же сдох в аномалии или еще как-то.

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)

Shadows, поставь в уборщике кол-во гигантов в 0 в таблице tabl_monsters_live_restrict вот так:

[clsid.gigant_s] = 0,

может, и удалятся.

 

Выкладываю правку скриптов для последней Соли. Несколько мелких фиксов плюс возможность нормально загрузить сейвы, сделанные после зависов неписей и монстров. По крайней мере, все мертвые сейвы с зависами неписей у меня успешно загрузились после правки.

Сделал попытку также устранить причины зависов - по всем случаям, которые нашел в присланных мне сейвах.

Рекомендую перед установкой фикса сделать на всякий случай резервную копию файлов

aem_bind.script

bind_monster.script

bind_stalker.script

protected_items.script

remove_zavis.script

xr_logic.script

xr_motivator.script

xrs_armor.script

 

Фикс делался и тестировался на последнем патче от 20.12 (можно ставить на кумулятивный от 24.12).

Теоретически, из правленных скриптов зависимы от версии Соли только bind_stalker.script и xr_logic.script. Остальные - не менялись практически со времен более ранних дополнений. Т.е., другими словами, если не ставить эти два скрипта - можно попробовать на более ранних Солянках (обязательно сделав бекап заменяемых скриптов). Если кто рискнет попробовать - отпишитесь, получилось ли.

 

Фикс скриптов для НС от 13.12. Ссылка

Описание внесенных правок

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

Друзья!

Очень рекомендую не таскать отсюда ссылки на файлы, а давать ссылку на этот пост.

Перезаливал 10.01 фикс с дополненной таблицей исключений (добавлены неписи на АС, Шустрый).

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)

лобсанг, как минимум два ваших вылета (№№ 3,4) поправлены вчерашним фиксом. №2 - рендом, лечится перезапуском сейва.

V92, я поверял на версии от 20.12, но в принципе, там такая правка, которая будет работать на любой декабрьской Соли.

 

Добавлено через 16 мин.:

Леший28, проверь синтаксис в restriction_stock

 

Добавлено через 2 мин.:

Ray, название скрипта в контексте "attempt to index global" - это означает, что не компилится скрипт вообще, т.е. в нем сделана синтаксическая ошибка :)

Например, если сделать синтаксическую ошибку в xrs_armor - вылетов не будет, так как он запускается в апдейте биндера по условию "if xrs_armor then", но поскольку он 'a nil value' из-за ошибки - просто не запустится (фактически результат аналогичен закомментированию строчки запуска).

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)

лобсанг, возможно, что и не рендом. Я, к сожалению, не знаю, что с этим делать :(

_Призрак_, я смотрел уже :)

СаНеК666, взяв себе такой ник - вы сами напросились.

 

СаНеК666, рекомендую поставить фикс из моего поста выше. У многих вылеты были из-за зависших неписей и монстров (могли быть вылеты и без логов, завис биндера - вообще плохо движком обрабатывается, т.е. фактически никак).

ЗЫ: "в рог" получаю не все новички - это так, на заметку ;)

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)

СаНеК666, на декабрьскую версию Соли ставил фикс? Просто если на более раннюю - то в ней нет этого скрипта netpacket_pda_create.script. Я проверял выложенный мной набор - и на загрузке сейвов, и на НГ - все рабочее. xr_logic из фикса будет работать только с декабрьской Солью.

 

2 ALL: кто ставил фикс - отпишитесь, есть ли проблемы.

НС 13.20.2009 + Патч от 20.12 + Hardcore адон. Я поставил фикс, целый день в игре (7ч), глюков не наблюдаю

За три часа игрового времени посетил пяток локаций, выполнил несколько квестов-проблем не было.

У меня патча от 20-го нет, только самый первый, который в заставке идет под №3.

Поставил-продолжил(АТП-отвертки и молотки) все гуд, спасибо.

 

Пока что отзывы говорят об одном: либо ошибок я не наделал вовсе, либо сделал такие, которые проявятся совсем некстати в конце игры :crazy:

(шутка)

 

 

 

sapsan, приветствую!

У него видимо синтаксическая ошибка в апдейте актора, а если там косяк - компилятор просто прекращает его дальнейшее выполнение и идет дальше как ни в чем ни былвало, ну и естественно вылетает потом по актору, т.к. его биндер не закончил инициализацию. (Особенность движка, я сам был в шоке, когда понял, что в апдейтах биндера нет дебага синтаксических ошибок).

 

СаНеК666, тогда проблема. Надо было фиксы ставить. Рекомендую начать НГ после установки всех фиксов из темы ссылок

 

----------

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)

Странно как-то: в файле, что выложил tokima, все в порядке...

tokima, а я недавно советовал отладку вставить - не пробовал? Поставь и проверь. Будет понятно, зависает актор или нет.

 

в сложность вписалось неверное значение из-за предыдущей ошибки в скрипте

sapsan, такое может быть также при поврежденном нетпакете у актора (game_difficulty = reader:r_u8()). С отладкой будет видно, прав я или нет.

А может быть проблема и с некорректной отработкой любого из скриптов, запущенного из апдейта актора и не вернувшего управление биндеру.

Тогда нужно использовать идею Колмогора с метками и пытаться отловить, на какой именно стадии обрывается работа апдейта. Вобщем, ждем ответа тов. tokima.

 

barmen86, помогает переход на статику в настройках видео (на некоторых новых локах наблюдается такое).

 

ему не понравился откат патча с Silver версии

Waveox, откат с 1.0005(6)? Скорей всего - да.

 

barmen86, тогда жди Архару. Сожалею, я тут некомпетентен :(

 

eXstasy09, игровой дабор - где?

Вылет нехороший и вычислить, что за виновник пока не представляется возможным. Ищите в старых темах по ключевым словам "Story registry".

 

sarcus, понятно, спасибо. Можно тереть оба поста ;)

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)
Arguments : gar_dolg_blokpost_default4_zombi

лобсанг, Проблема в том, что нет секции зомбированного у сталкера gar_dolg_blokpost_default4. Контролеров лучше не спавни там, где куча неписей, либо добавь секцию gar_dolg_blokpost_default4_zombi по аналогии с остальными зомбированными.

 

asid, очень рекомендую поставить фикс, который я выкладывал вчера вечером :)

 

Дзот, то, что приведено под спойлером - это не лог вылета, это значит лишь, что при вылете лога ошибки не было вовсе.

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)

Arhara, я тут это... похозяйничал без тебя немного :blush:

Склепал фикс небольшой.

Ты не серчай особо, выложил специально раньше твоего патча, чтоб народ погонял - вдруг выплывет чего?

Пока вроде все хорошо. 100 закачек - жалоб нет :)

Пост со ссылкой здесь

Тех. описание здесь

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


Ссылка на сообщение
(изменено)

tokima, пожалуйста. И спасибо, что отписался.

 

ed98rus, из буфера обмена после вылета ничего не кажет? Давай сейв - гляну. И хорошо бы сейв рабочий - перед этим вылетом, если есть недалеко.

Ну и, кстати, если ставил мой фикс по инструкции и сделал резервные копии скриптов, то восстанови скрипты - и попробуй без фикса, если есть сомнения.

-----------

А раз Соль не чистая - то что тогда жаловаться? Или хотя бы честно писать при багрепорте, что правил. И не надо плодить посты - редактируй предыдущий. Тут все глазастые :)

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64

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


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

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

AMK-Team.ru

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