Store Optimizer
Добавить в игру через Steam
Нажмите «Подписаться»
На странице Steam войдите в аккаунт, если потребуется.
Подписаться
О материале
«Store Optimizer» — материал мастерской Barotrauma. Моды, подлодки, предметы и новые задания для экипажа. Данные Steam, описание автора и ссылка для установки через подписку. Совместимость редакцией не проверена.
Описание автора
StoreOptimizer
Fixes severe lag when opening or using an NPC's store. On a large stock catalog (400+ items, common on modded/late-game saves) the vanilla store UI can take 1.5-2 seconds to freeze on every open, cart change, and purchase/sale - in both singleplayer and multiplayer. This mod removes that specific lag without changing any observable behavior - prices, stock, sorting order and reputation requirements all work exactly as before, just fast. Note: this mod targets the specific bottlenecks found in the vanilla store code (GUI matching, sorting, tooltip rebuilding, polling timers, etc.). It doesn't guarantee zero lag in every situation - other mods that also modify the store, catalogs far larger than what was tested, or general system/GPU performance issues unrelated to the store code can still cause some lag.
Requires: Lua For Barotrauma
This mod needs LuaCsForBarotrauma installed and enabled. Subscribe to it on the Workshop and make sure it's enabled before this mod. Without it, this mod does nothing - silently, with no error - so if the store still lags, check that Lua For Barotrauma is active first. Client-side only. Safe to use in multiplayer even if other players don't have it installed.
What it fixes
-
"You already own: N" scan - was scanning the whole loaded level; now scans only crew inventories.
-
Held +/- quantity buttons - were firing every rendered frame (and spamming the network in MP).
-
Store list refresh (open / cart change / buy / sell) - quadratic GUI matching, now linear.
-
Sorting - recomputed price/reputation from scratch per comparison, in two passes; now once, single pass.
-
Item frame rebuilding - batched into one reposition per refresh instead of one per frame.
-
Per-item tooltips - cached, and pre-warmed for every merchant as soon as the round starts.
How to verify it's working
Check the client log after loading a save - a single cyan line should read: "[StoreOptimizer] Initialized successfully (N/N patches active)." If the game updated and something changed internally, a red error line will name exactly what broke, and the mod falls back to vanilla behavior for that part instead of crashing.
StoreOptimizer (Русский)
Устраняет сильные лаги при открытии и использовании магазина NPC. На большом ассортименте (400+ предметов — обычное дело на модифицированных/поздних сохранениях) ванильный интерфейс магазина может зависать на 1.5-2 секунды при каждом открытии, изменении корзины и покупке/продаже — как в одиночной, так и в сетевой игре. Мод убирает эти лаги, не меняя видимое поведение — цены, ассортимент, порядок сортировки и требования по репутации работают точно так же, как раньше, просто быстро. Важно: мод устраняет конкретные узкие места ванильного кода магазина (поиск GUI-элементов, сортировку, пересборку подсказок, таймеры опроса и т.д.). Это не гарантия полного отсутствия лагов в любой ситуации — другие моды, тоже изменяющие магазин, ассортимент значительно больше протестированного, или общие проблемы производительности системы/видеокарты, не связанные с кодом магазина, всё ещё могут вызывать некоторые задержки.
Требуется: Lua For Barotrauma
Мод требует установленный и включённый LuaCsForBarotrauma. Подпишитесь на него в Мастерской и убедитесь, что он включён перед этим модом. Без него мод просто ничего не делает — тихо, без ошибок — так что если магазин всё ещё лагает, сначала проверьте, активен ли Lua For Barotrauma. Мод только клиентский. Безопасен для сетевой игры, даже если у остальных игроков он не установлен.
Что исправлено
-
Подсчёт "уже есть у вас: N" — раньше сканировал весь загруженный уровень, теперь только инвентари экипажа.
-
Зажатые кнопки +/- количества — раньше срабатывали каждый кадр отрисовки (и спамили сеть в мультиплеере).
-
Обновление списков магазина (открытие / изменение корзины / покупка / продажа) — квадратичный поиск GUI-элементов заменён на линейный.
-
Сортировка — цена и репутация пересчитывались с нуля на каждом сравнении, за два прохода; теперь один раз, за один проход.
-
Пересборка карточек предметов — перерасчёт позиций элементов списка объединён в один раз за обновление вместо одного на каждую карточку.
-
Подсказки (тултипы) предметов — кешируются и заранее прогреваются для каждого торговца сразу в начале раунда.
Как проверить, что мод работает
Проверьте лог клиента после загрузки сохранения — должна появиться одна голубая строка: "[StoreOptimizer] Initialized successfully (N/N patches active)." Если игра обновилась и что-то изменилось внутри, появится красная строка с точным указанием, что именно сломалось, а мод откатится на ванильное поведение только для этой части, не вызывая краш.
Как установить и запустить
Откройте оригинальную страницу в Steam Workshop, проверьте версию игры, зависимости и порядок загрузки в описании автора. Нажмите «Подписаться» и дождитесь загрузки Steam. Включите материал в меню модификаций или контента игры, если это требуется. Совместимость и запуск редакцией не проверены.