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

Shoker Mod CS v[2.0]


*Shoker*

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

*Shoker*, неверная трактовка "You are saving too much"

То, чт идет переполнение - да, но это именно переполнение нет-пакета конкретного об'екта!

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

 

Учитывая, что об'ем нет-пакета в ТЧ может быть до 16кБ, то временным решением может быть увеличение с 10240 до ~16000, т.е.:

if dif >= 16000 then

однако, это именно временная мера, и неплохо бы тебе просмотреть коды мода на предмет излишней информации в хранилище (pstor) актора и, или подчищать перед сохранениями или вынести часть не относящуюся именно к актору в иное место ...

 

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

P.S. А вообще ... в ЧН и ЗП актору в pstor разработчики стали писать кучу к нему неотносящейся информации в особенности об'ем с'едают "zones spawn npc" (db.script_ids) и даже 16кБ могут не спасать. Советую задуматься, или уменьшать кол-во неписей в Зоне, или выносить "непрофильные" данные из стораджа актора в иное место.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


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

Kirgudu, а не нужно изобретать велосипедов или вслепую гадать. ;-)

Конечно из set_save_marker можно что-то выудить, но ... хлопотно это ...

Ты правильно заметил, что в нет-пакет актору пишется не только его pstor, но и со всемен оригинального ТЧ в него пишется немало сторонней информации. Самые прожерливые: менеджер заданий (task_manager), менеджер тайников (treasure_manager, особливо с рандомными). В ЧН добавили, как уже сказал выше - целую табличку db.script_ids и пр.

Ну а так как пишутся последовательными кусками, то считать сумму set_save_marker не очень-то удобно.

Ну да это не важно. Раз идет переполнение - считай/не считай, а незаписывать то ты и не волен, все одно раз пишет - значит надо. ;-)

Тут два пути:

- оптимизировать об'емы записей из сторонних модулей, что требует знаний и ковыряний с форматами записи;

- писать в сторонний файл, но ...

- писать не в акторский нет-пакет, а в некий иной ...

С 1-ым вариантом без навыков и знаний - только копипастить готовые решения, кои есть, но ...

2-ой вариант имеет пороки. И время доступа на чтение/запись к такому файлу гораздо больше чем к RAM и разделение сэйва на куски приводит к неудобствам/путанице.

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

 

*Shoker*, ведь тебе знакома тема про 'универсальное хранилище', самое время им заняться. Не так это и хлопотно и даже (при желании) совместимость с сэйвами можно сохранить.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


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

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