UpLifted

Платное UpLifted 1.2.7

Исправлено для обновления Rust

Использование этого обновления повредит файл данных игрока, и все потеряют право собственности на свои лифты.
cmdToggleAdm: тернарный оператор arg.Args заменен циклом HasArgs / GetString (исправление компиляции после обновления игры)

Сохранение данных
  • Ключи файла данных: ulongstring (lift netId)
  • Значения: читаемые объекты JSON вместо вложенных строк JSON
  • Новые вспомогательные функции: ReadDataFileReadable, WriteDataFileReadable, SaveAllElevators
  • Сохранение при выгрузке + OnServerSave** (в версии 1.2.6 новые лифты сохранялись только при готовности; сохранение при выгрузке пропускалось)
  • ELStorage** добавляет мировые позиции (liftPos*, groundPos*) для восстановления после перезапуска
  • Обратная совместимость: по-прежнему читает старые записи в строковом формате через JObject / резервный вариант десериализации

Надежность загрузки/выгрузки
- DestroyImmediate при выгрузке (лифт + CabinComfort) — исправляет перезагрузку «уже есть лифт» / пустую crossReference
— Очистка устаревшего компонента Elevator перед повторным подключением при загрузке
— Флаг PluginUnloadInProgress
— Дополнительная диагностика VerboseElevatorLogs + LogLiftConnections

Сеть (обновление видимости FP)
Использование Network.Visibility
Сетевое взаимодействие лифта: EntityNetworkRange.Large, ограничение UpdateNetworkGroup, пересмотренная синхронизация SncPs / GroupChange для перемещения по пещерам/наземному миру

Для использования этого обновления необходимо удалить файл данных!​

Оплата за услуги у дверей/в лифте​

Добавляет возможность оплаты:
  • Стоимость ворот при использовании стандартных гаражных ворот (1 за ворота)
  • Стоимость этажа с использованием стандартных предметов лифта (1 на этаж)
Настройки

BuildCostItems.HijackVanillaElevatorPlacement

разрешений

AllowDoorItemOrCost
AllowElevatorItemPerFloor
  • Переопределение размещения лифта в Vanilla (новое)
    • Автоматическое преобразование размещения стандартных лифтов! "Вариант конфигурации"
    • Дополнительная стоимость размещения лифта на основе предметов: используйте Vanilla Elevators в качестве стоимости.
  • Добавлена возможность конвертировать все уже размещенные ванильные лифты в лифты UpLifted.
    • Консольная команда: upl.convert_all
    • Команды чата:
      • /convert = Команда администратора для преобразования всех ванильных лифтов
      • /convert.here = Команда администратора для преобразования лифта, на который вы смотрите
  • Местоположение лифта отображается на экране.
    • Команды чата:
      • /liftmap = Команда игрока, позволяющая увидеть все местоположения лифтов на карте.
      • /showlift = Команда администратора для просмотра поднятых грузов.
  • Производительность
    • Сканирование всей сцены заменено активным реестром: activeLifts (HashSet) и картой crossReference для отслеживания всех деталей лифта. Это позволяет избежать FindObjectsOfType<Elevator>() при сохранении/загрузке и во время поиска.
    • Регулируемая сетевая работа внутри Elevator.Update() (через _lastNetSync) для уменьшения сетевого трафика за кадр и рекурсивного сбоя синхронизации.
    • Централизованное отслеживание на основе событий (перехваты создания/сборки/развертывания) сокращает количество случайных опросов и случаев пропуска состояний.
    • Для совместимости сохранена та же надежная схема ELStorage.
    • Сохранение/загрузка теперь работают через известные активные лифты, что повышает надежность и скорость при сохранении больших миров.
    • Сохранен защитный путь загрузки: поврежденные записи безопасно пропускаются или останавливаются для каждой конфигурации (безопасность данных не изменяется).
    • Чистый эффект
    • Лучшая масштабируемость на загруженных серверах (меньше глобальных сканирований, меньше сетевых операций для каждого кадра).
    • Более плавный поток игроков при обновлении стандартных лифтов.
    • Более надежная устойчивость за счет явных, отслеживаемых в реальном времени групп лифтов.
Обновление для принудительной очистки.
Обновленные вызовы: inv.FindItemsByItemID(foundItems, -946369541) и inv.FindItemsByItemID(list, -946369541)
Это для грядущего обновления Rust.
Обновлено для изменений в пуле
Исправлена ошибка аргумента.
Исправлен номер версии
Исправлен номер версии
Заменена панель управления кодовым замком на кнопку нажатия.
Исправлено для обновления Rust.