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

Shadowman

 НС
  • Число публикаций

    1 668
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    5,034 [Подарить AMKoin]

Весь контент пользователя Shadowman

  1. Shadowman

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

    magnit, ах вот оно как... интересно. Врядли в сейве после перезагрузки они появятся сами по себе, это ведь рэндом... Тут фиг знает, как это ловить. Но без сейва - так точно ничего не поймаешь. mangust, неписи эти спавнятся либо за пределами локи, либо еще на радаре. Но если они уже перешли на АС и там у них стволы отобрало - тогда не должны их стволы на радар попадать. Но чтобы это все проверять, нужен сейв в тот момент, что на твоем первом скрине: когда они как раз на заходе на АС. Вот тогда можно будет что-то покрутить. Buhoy_Bratan, все, что ты указал - крутить в monnoroch_options.script
  2. Shadowman

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

    magnit, из рук ничего не убирается, и уж тем более на АС (убирается с земли на радаре, и видеть это вы никак не сможете, потому что убирается без правил только когда ГГ на другой локе). "Пропасть" они могут и если пришло время сменить ствол (по логике аддона). Так что если уж так, то это не ко мне вопрос. Да, и еще: раз Павлика грохнуло, нужно было лог смотреть: там капсом пишется, что "обнаружен объект...", "будет попытка восстановления" - про него это было ? крайт, это из разряда курьёзов, скорее. С таким же успехом меня можно обвинить в появлении пятен на Солнце И хорошо бы уточнить, на какую версию НС ставил фикс. Проверь, работают ли ремкомплекты, например (если накатить правку на самую начальную Соль от 13.12 без НГ - могут быть с ними проблемы). pastor, этот фикс ставил? То, что ты привел - это не лог вылета, это служебная информация при загрузке сейва. А вылет, если он после тех строк - безлоговый и определить, какая там проблема и тем более, решена ли она - невозможно. Могу лишь предположить, что проблема могла быть в зависших неписях или монстрах, фикс ее решает. magnit, хм, все равно не понял, где "появился на АС", до какого перекрестка за ними прошел и куда они переходят - на радар ? Извини за тупость, но можешь еще поподробнее расписать? Или сейвик дать? Wolf, нет, фикса для видях нет
  3. Shadowman

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

    tokima, пожалуйста. И спасибо, что отписался. ed98rus, из буфера обмена после вылета ничего не кажет? Давай сейв - гляну. И хорошо бы сейв рабочий - перед этим вылетом, если есть недалеко. Ну и, кстати, если ставил мой фикс по инструкции и сделал резервные копии скриптов, то восстанови скрипты - и попробуй без фикса, если есть сомнения. ----------- А раз Соль не чистая - то что тогда жаловаться? Или хотя бы честно писать при багрепорте, что правил. И не надо плодить посты - редактируй предыдущий. Тут все глазастые
  4. Shadowman

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

    Arhara, я тут это... похозяйничал без тебя немного Склепал фикс небольшой. Ты не серчай особо, выложил специально раньше твоего патча, чтоб народ погонял - вдруг выплывет чего? Пока вроде все хорошо. 100 закачек - жалоб нет Пост со ссылкой здесь Тех. описание здесь
  5. Shadowman

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

    лобсанг, Проблема в том, что нет секции зомбированного у сталкера gar_dolg_blokpost_default4. Контролеров лучше не спавни там, где куча неписей, либо добавь секцию gar_dolg_blokpost_default4_zombi по аналогии с остальными зомбированными. asid, очень рекомендую поставить фикс, который я выкладывал вчера вечером Дзот, то, что приведено под спойлером - это не лог вылета, это значит лишь, что при вылете лога ошибки не было вовсе.
  6. Monnoroch, вот видишь, это ты как программер понимаешь, а теперь посмотри со стороны пользователя - много поменялось ? Нет, не из него. Не знаю, почему, но если я ту же самую проверку, что делается, например, в bind_monster.script в функции generic_object_binder ("if reader:r_eof() then"), выполняю из хр_лождик, он почему-то считает объекты зависшими, хотя они таковыми не являются. Так что буквально в последний момент вчера вечером мне пришлось задержать выпуск фикса на пару часов и все переделать. И все мои непонятки (ну почти все) - разрешились. Могут быть монстры с пустым пстором, и при этом не вызывать проблем и не являться зависшими. Но все же есть проблемы с монстрами и удалялка их киляет без проблем. Monnoroch, проверка - "if reader:r_eof() then", я же написал. (Если можешь объяснить, что она значит с твоей точки зрения - буду благодарен). "Конец файла" - ответ неверный Это что-то похожее, но ведь при пстор на миллионы слов - тоже reader:r_eof()=true - чего тогда конец? Почему она при одинаковых исходных данных работает по-разному - могу лишь догадываться, но факт-упрямая вещь! Я, как всегда, сделал так, "чтоб работало" (и работает ведь!), а нюансы - потом выяснять будем. Я умышленно выложил фикс раньше, чем выходит патч Архары - надеюсь, народ поможет найти глюки, если всплывут
  7. Shadowman

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

    Странно как-то: в файле, что выложил tokima, все в порядке... tokima, а я недавно советовал отладку вставить - не пробовал? Поставь и проверь. Будет понятно, зависает актор или нет. sapsan, такое может быть также при поврежденном нетпакете у актора (game_difficulty = reader:r_u8()). С отладкой будет видно, прав я или нет. А может быть проблема и с некорректной отработкой любого из скриптов, запущенного из апдейта актора и не вернувшего управление биндеру. Тогда нужно использовать идею Колмогора с метками и пытаться отловить, на какой именно стадии обрывается работа апдейта. Вобщем, ждем ответа тов. tokima. barmen86, помогает переход на статику в настройках видео (на некоторых новых локах наблюдается такое). Waveox, откат с 1.0005(6)? Скорей всего - да. barmen86, тогда жди Архару. Сожалею, я тут некомпетентен eXstasy09, игровой дабор - где? Вылет нехороший и вычислить, что за виновник пока не представляется возможным. Ищите в старых темах по ключевым словам "Story registry". sarcus, понятно, спасибо. Можно тереть оба поста
  8. Shadowman

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

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

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

    лобсанг, возможно, что и не рендом. Я, к сожалению, не знаю, что с этим делать _Призрак_, я смотрел уже СаНеК666, взяв себе такой ник - вы сами напросились. СаНеК666, рекомендую поставить фикс из моего поста выше. У многих вылеты были из-за зависших неписей и монстров (могли быть вылеты и без логов, завис биндера - вообще плохо движком обрабатывается, т.е. фактически никак). ЗЫ: "в рог" получаю не все новички - это так, на заметку
  10. Shadowman

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

    лобсанг, как минимум два ваших вылета (№№ 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' из-за ошибки - просто не запустится (фактически результат аналогичен закомментированию строчки запуска).
  11. Выложил фикс: http://www.amk-team.ru/forum/index.php?sho...st&p=357853 Что менял: 1. В скрипты aem_bind.script bind_monster.script bind_stalker.script xr_motivator.script Добавил к отладочному сообщению SAVE FILE IS CORRUPT название функции и имя объекта и после него - запуск своей функции удаления зависших из remove_zavis.script. В bind_stalker, по завису актора - только сообщение 2. В protected_items.script - переделал функцию получения имени секции объекта get_obj_name (теперь она действительно работает и с игровым объектом и на выходе выдает именно точное имя секции обжа). 3. В xrs_armor.script - использовал функцию из п.2 для корректной отработки исключений в функции npc_update. Плюс несколько проверок на нил в check_armor (делал не "от фонаря", ловил вылеты из-за пустых таблиц визуалов на генераторах: вылет был хрс_утилс:888, теперь его нет). Дополнил таблицу исключений excluded_npcs по реально найденным мной проблемам с зависами (около десятка секций добавил). См также п.6 4. В xr_logic.script переделал проверку убитого пстора и также вставил запуск ф-ции удаления из remove_zavis.script + мелкая правка. 5. В xr_wounded.script - мелкая правка - была неверная проверка на нил в функции evaluator_wound:evaluate () -6. Забыл перенести имена секций Пантеры и прочих из условия в check_armor в таблицу excluded_npcs (ToDo, так сказать). -7. Не сдалана пока проверка, не удаляем ли мы случайно зависшего квестовика. При текущем положении вещей - по-любому альтернативой является только переигровка. Могу сейчас только сделать саму проверку и либо не удалять (будет вылет), либо удалять (возможно, будет затык с квестами) (ToDo_1). -8. Забыл копирайт проставить в remove_zavis.script (правда, фраза капсом про удаление- не моя, а Kamikazze, ну и без помощи Архары и Мона, а также наработок Колмогора и Меченого я мог бы и не справиться, так что скрипт - народный, как и все в Солянке)
  12. Shadowman

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

    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 фикс с дополненной таблицей исключений (добавлены неписи на АС, Шустрый).
  13. Shadowman

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

    лобсанг, интересно. Сейвик дать можете (если вылет воспроизводим)? Имхо, рендомный вылет - врядли после перезапуска с сейва его можно поймать снова. Проверка на существование respawner перед вызовом функции есть - не должно вылетать. причина может быть в том, что мутант после респавна тут же сдох в аномалии или еще как-то.
  14. Shadowman

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

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

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

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

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

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

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

    bob, даже не знаю, что вам и сказать. С таким вылетом никогда не сталкивался. Проблема, по-видимому, со спавном аномалии. Переход не во время выброса? Я бы посоветовал переждать выброс или поспать, потом попробовать перейти. naHukep, мда. Здорово. 4D не пробовали?
  18. Shadowman

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

    Valerius, трупы в исключениях, они считаются квестовиками. В уборщике нет дополнительных проверок на выполнение квестов, стадии прохождения игры и наличие чего-либо в инвентаре, - раз в исключениях квестовых трупов - не уберётся. Не говорю, что невозможно сделать такое, но вот надо ли? Ведь эти все проверки, если их сделать, замедлят загрузку локаций и сейвов, да и принципиально ничего не даст удаление 10-20 трупов, для движка это капля в море. bob, очень экзотический какой-то вылет. Потому поиск ничего и не дает. И версию Солянки указывать надо.
  19. sapsan, 5. проверка на имена неписей - ты совершенно верно подметил. Их проверяют ранее, в npc_update по таблице, но прикол в том, что в таблице - названия секций и проверка на точное совпадение, а если в нее внести секцию непися, которому не назначен story_id в all.spawn, то его obj:name() выглядит как у стволов (с сидом в конце) и проверка, естественно, обламывается. Это я разрулил уже. Я здесь приводил ф-цию, которой я вычисляю название секции любого непися (взятого что как GameObject, что как серверный). Имена же там в функции check_armor вообще убираем. Проверка на outfit и exoskelet - потому, что ведь суются туда на проверку секции абсолютно всего содержимого инвентаря непися, а проходить проверку для дальнейшей обработки должны только броники. Т.е. секцию непися фильтруем перед перебором инвентаря в npc_update, а его содержимое - уже в check_armor. По остальным пунктам - посмотрю, отпишу в этот пост, что думаю. ------ sapsan, Условие в check_armor должно выглядеть так: if vis and vis ~= "" and ((string.find(section,"outfit") or string.find(section,"exoskeleton")) then... имён там быть не должно вообще и в скобки нужно взять оба "или". А секции имён - переносим в таблицу excluded_npcs, где и задумано. 6. "проход по всему" - явно нужно убирать и переписывать этот код повышения уровней, Мон только что выражал мнение про переборы всех объектов (for a=0,65535 do). Чем дохлее комп, тем больше вероятность получить завис биндера "на ровном месте" (казалось бы, формально ведь все правильно, а вот в плане оптимальности - ж... полная). Не знаю, может правильнее перебирать только объекты в db.storage (это, насколько я понимаю, объекты на текущем уровне). Нафига трокать абсолютно всех сталкеров? 8. можно, конечно, прописать все локи в табличку upgrade_top_lvl, но лучше сначала привести в порядок остальной код Monnoroch, та не, не думаю, что там что-то сильно уж криво. Таблички дополняли в основном, насколько я знаю. Ну и я руку приложил, еще весной или летом Я не против, только где брать оригинал? ------- Как хоть мод называется? AI pack FINAL? Автор написал про мод только в самом хрс_армор - "-- made by xStream 03.2008". Monnoroch, Кстати, имя автора в русской транскрипции - Экстрим, ну или экСтрим, но никак не Стрим Посмотрел, вобщем. Отличие - в одной функции. У экСтрима ее нет: get_npc_current_visual_level. Вместо нее у экСтрима - get_npc_level. Конечно же, отличаются таблицы, и все. Думаю, для грядущего патча - оставить как есть сейчас. Потом, как будет время - разберемся.
  20. dimos, при загрузке сейвов с зависшими монстрами - в логе то же, что и при подвисших неписях - поврежден сейв + с моей отладкой имя, где я встречал крыс, снорков, собак, гигантов и контрика. А вот как это заполучить - не знаю. насчет построения пути - врядли, т.к. завис биндера - как раз именно потому и происходит, что управление ему не возвращается при отработке какого-то из скриптов, выполняющегося внутри (в твоем примере с GAME path - движок корректно отработал косяк и пошел дальше). Заточить мод под компы, для которых писался оригинал - боюсь, уже невозможно. Но вот сделать две версии (первые шаги, кстати, уже делались: фикс иконок, аскетичный худ) - наверное, можно. Сделать облегченную версию Соли без ряда наворотов (подыскать что-то некритичное для концепта, но грузящее двигло - те же визуалы, еще что-нибудь подобное).
  21. Monnoroch, а зря смеешься, между прочим: когда я накосячил с записью на ПДА, и вертолеты и БТРы под раздачу попали: я ведь писал пстор только актору и на нетПДА, а все остальное было "в пролете" (основная часть нетпакета писалась, а псторы - нет) И очень даже возможно, что при глобальных затыках, на которые пользователи внимания не обращают (даже у некоторых вон сохранки с актором зависшим) - могут и БТРы тоже заглючить... Но я их не трогаю. Пока Как я понимаю, серьезные проблемы с повальными подвисаниями (не связанными с реальными ошибками в скриптах и конфигах) - на дохлых компах, или при кривых установках мода, иначе проблемы были бы у всех поголовно.
  22. Monnoroch, я беру только параметры хита оттуда, остальное - в хр_лоджике А та ф-ция в хр_лоджик и так страбатывает только на объектах, находящихся на текущей локе при прогрузке биндеров. Короче, <твое условие> - у меня при попытке загрузить пстор объекта. Если он кривой, то тогда начинаю его немножко рэзать. Удаление работает через раз. Хз почему. Но сейвы - грузятся исправно. Уже видел парочку сейвов с кучей зависших монстров (причем, в одном случае они удалились, во втором - нет). И откуда они такое берут? Ни разу за год игры в Соль такого у себя не видел.
  23. Вроде получилось суицидом. Проверяю... --------------- Наловил кучу зависших монстров - удаляются на ура. Неписи - почему-то не всегда удаляются, но зато сейвы, сделанные после удаления (и даже неудачной попытки удаления) - грузятся стабильно. Дополнил табличку исключений неписей по смене визуалов еще немного по анализу генераторов (MAV здорово помог: сейв его - прямо кладезь всяких глюков был, но все поправилось). Еще Припять осталось глянуть (пока видел кучу зависших rat_strong и одного контрика). Похоже, всем неписям с новыми уникальными визуалами переодевания противопоказаны. Будут еще сейвы - погоняю, попроверяю. Плохо, что сложно отловить, когда непись обыщет кого-нибудь и потом может зависнуть. Но, похоже, все зависы - на смене визуалов (по кайней мере, других зависов не видел пока). Arhara, и все-таки: выпускать правку отдельно, или будешь ее включать в патч? Я просто надеюсь завтра домучить уже правку. Там и по хрс_армор, и по хрс_утилс вылеты подхвачены (тоже сейв Мава помог, кстати ). Собственно: патч не передумал делать, или только уже с новой локой? --------------- Дима, спасибо, попробую с хитом Дима, зачистка зависших работает только при загрузке сейвов и переходах на локу, но только по порядку запуска - чуть раньше уборщика. Игрок никогда не увидит, КАК все происходит. В самом худшем случае, ГГ может во время сохранения иметь в поле зрения зависшего непися (в текущем состоянии скриптов такой сейв не загружается), а после его загрузки - непись либо будет трупом, либо исчезает вовсе. Пока убиение и приборка работает через раз, но незагружавшиеся ранее битые сейвы грузятся, и сейвы, сделанные уже после отработки "восстановительных работ" - тоже. Есть лишь вероятность, что неубранный труп зависшего обберут другие неписи и также зависнут, нарвавшись на ту же причину (например, подобрав броник и зависнув на смене визуала). Чтобы этого не было, лучше, конечно, проставить в табличку исключений excluded_npcs в хрс_армор таких неписей (имхо, самое лучшее - для всех неписей с новыми визуалами - на Генераторах, на Припяти и т.д.). Я сейчас пытаюсь отловить по максимуму всех, кто подвисает, но, конечно, не могу гарантировать, что выловлю абсолютно всех.
  24. Shadowman

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

    tyurdistr, можете прислать тот сейв - гляну. По идее, и починить можно, даже если не грузится. По крайней мере, те несколько, что мне присылали - у меня загружаются Arhara, и узнать виновника - несложно, сделать только те сообщения "save file is corrupt" более информативными - имя виновника добавить. Вот так: aem_bind.script:174: abort("SAVE FILE IS CORRUPT aem_mob_binder:save "..self.object:name()) bind_monster.script:462: abort("SAVE FILE IS CORRUPT generic_object_binder:load "..self.object:name()) bind_stalker.script:772: abort("SAVE FILE IS CORRUPT actor_binder:load "..self.object:name().." завис актор - сушите весла!") xr_motivator.script:492: abort("SAVE FILE IS CORRUPT motivator_binder:load "..self.object:name()) Добавил еще имя функции, откуда сообщение, чтоб уж совсем понятно было. Только 3-й случай - неизлечим. Актора лечить нужно не скриптами... Но вроде последний раз завис биндера актора встречался только на предыдущей допе, насколько мне известно.
  25. Shadowman

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

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