Перейти к содержанию

makdm

Разработчики
  • Публикаций

    592
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

Весь контент makdm

  1. С этой темой я разобрался. Мне понятно почему. Дело вот в чем. Под сохранение в нет - пакете объекта отводится 2 килобайта пространства или 16384 бита. Все что вы делаете в игре пишется в основном в нет-пакет ГГ. Я взял сохранку у кого вылетало с логом, что невозможно найти секцию, которой нет в игре, посмотрел на размер сохранения у класса S_ACTOR и увидел, что там как раз и происходит переполнение выделенного поля. Размер сохранения был больше, чем 16384 бита. Разрабы игры об этом знали, но надеялись, что проскочат. Это видно в функции set_save_marker в файле G.script . Там даже вроде как проверка есть: if p:w_tell() > 16000 then abort("You are saving too much") end Но проверка получается ради проверки и игрок об этом узнает только после того как наступит Game Over!!! Для устранения ошибки нужно немного переделать систему сохранений ( с этим легко можно справиться немного переписав скрипты ). В движок вообще не нужно лазить. Нужно просто грамотно перераспределить сохранение пакетов среди объектов, а не вешать все это на ГГ.
  2. Это можно сделать. Только придется переписать файлы логики, в которых работает счетчик времени.
  3. В движке время идет с момента старта игры. Его не замедлить. Вариант первый - ограничить места сна в игре и установить жесткое время скриптами, что ГГ может спать не более 6 часов в сутки. И второе - убрать спальный мешок, если он есть.
  4. Если моё предположение верно, то вариантов два 1. Редактировать движок 2. Если пункт первый невозможен, то меньше спать в игре.
  5. Всем Привет! Напишу своё сугубо личное мнение по вылетам. Возможно оно неправильное, но аналогичную картину я наблюдал ещё в 2012 году в темах прохождения SGM 2.2, когда игроки затирали до дыр прохождение мода. Там тоже были вылеты связанные с тем, что движок не находил секцию, которой и не было никогда в моде. Итак, посмотрев скрины статистики, меня заинтересовало не количество найденных артефактов, а ВРЕМЯ проведенное в зоне. К примеру, я проходил оригинал ЗП максимум за пять суток. Насколько я знаю, под время в движке отведено значение в 32-бита или положительное число 4 294 967 295. Учитывая, что время в движке считается в миллисекундах получаем 4 294 967 295:1000:60:60:24 = 49.7 суток Именно столько может длиться игра на движке x-ray. После этого все сейвы станут битыми независимо от того, что вы делали.
  6. Юра, привет. Это атмосфер мод после выброса превращает в зомби тех сталкеров, у которых нет story_id А эксклюзивная логика здесь роли не играет. Играет роль ТОЛЬКО наличие или отсутствие story_id у НПС.
  7. Файл xr_s.script дает возможность подключать различные проверки тогда, когда нужно, а также отключать их, если они выполнили свое предназначение.
  8. Схема хоть в ТЧ, хоть в ЧН, хоть в ЗП сделана для одного единственного персонажа... Сидоровича. Схема не имеет никакого отношения к монстрам. Я давно, на досуге, сделал схему mob_remark для монстров. Выкладываю по принципу - "как есть", т.е. никаких модернизаций, исправлений, консультаций и т.п. не будет. mob_remark.script
  9. В файле gamedata\configs\misc\achievements.ltx замените все functor на свой. Например было functor = xr_statistic.pioneer_functor Стало functor = xr_statistic.falkineIsaku_functor И так во всех секциях оригинальных достижений ЗП. В файле xr_statistic.script в самый конец файла пишите свой функтор function falkineIsaku_functor() if true then return false end end
  10. В кастом -дата ящика пишете путь к логике ящика [logic] cfg = scripts\inventory_box.ltx В файл inventory_box.ltx пишете логику [logic] active = ph_idle@open [ph_idle@open] nonscript_usable = true tips = st_search_treasure on_use = ph_idle@open %=esc_treasure_1_fun% В файл xr_effects.script пишете функцию, которая будет вызвана при первом открытии ящика. Если нужно каждый раз вызывать функцию, то проверку инфопорции нужно удалить. function esc_treasure_1_fun( actor, npc ) if has_alife_info( "esc_treasure_1_fun" ) then return end actor:give_info_portion( "esc_treasure_1_fun" ) treasure_secret_mod.esc_treasure_1_fun() end Как-то так.
  11. THM файл сделан к основной текстуре и имеет ссылку на дополнительную текстуру, которой нет в папке textures
  12. Специально выждал время! Не увидел "вау-вау" или "мы все ждем с нетерпением" от Сталкеров. Поэтому все наработки " в топку ". Локации, которые планировались отправляются туда же. Game Over.
  13. Почему я дотошно спрашиваю. Тут дело вот в чем. Ваша ошибка говорит о том, что параметр self.max_population равен NIL. Но сам скрипт когда его читает, то если не находит, то присваивает по умолчанию значение НОЛЬ. Т.е. NIL в принципе невозможен, даже если вы этот параметр не указали в конфиге смарта: local max_population = utils.cfg_get_string(ini, SMART_TERRAIN_SECT, "max_population", self, false, "", 0) local parsed_condlist = xr_logic.parse_condlist(nil, SMART_TERRAIN_SECT, "max_population", max_population) self.max_population = tonumber(xr_logic.pick_section_from_condlist(get_story_object("actor"), nil, parsed_condlist)) NIL может быть, если не найден файл из которого нужно читать параметр. Так что тут получается два варианта 1. Не указана секция конфига - [smart_terrain] 2. Неверный путь к файлу. Я пока другой причины не вижу.
  14. Название папок и файла идентичны с теми что у вас в моде? Даже одна буква русская в имени все испортит.
  15. В кастом_дата смарт террейна нужно указывать секцию [smart_terrain], а не [logic]
  16. Сейф в аномальной зоне. У вас на карте аномальные зоны отмечены.
  17. Так и должно быть. Все вейпоинты НЕ на АИ-сетке пишутся в вей файл последней подключенной локации.
  18. Вот зачем ты ему разжевываешь это? Достаточно вбить в гуугл "stalker switch_distance" и сразу все все становится ясно. Вы себя не уважаете, рассказывая прописные истины иждивенцам сталкера, которые сами ничего не хотят делать, а хотят чтобы им всё принесли " на блюдечке ".
  19. В моде Atmosfear вроде как все DLL поправлены. И движение солнца правильное.
  20. В лаборатории Х-9 уже открылись две двери... Такой вот ребус на сегодняшний день.