, что комплекты брони, сохраненные в менеджере экипировки, всякий раз после выхода из игры сбрасывались к предыдущему состоянию. Спустя целых 6 месяцев разработчикам наконец удалось обнаружить корень зла и исправить эту проблему – на официальном форуме появилось сообщение с дополнительными деталями насчет данного бага.
Менеджер экипировки не сохраняет комплектыЭта проблема была решена, и мы собрали немного дополнительной информации для тех, кому интересно.
Мы обнаружили, что эта неполадка, при которой комплекты экипировки не сохраняются, изначально появилась тогда, когда мы обновили наш код для использования более новой, простой и безопасной системы для базы данных. Новая система стала оболочкой для старой системы, проверенной в бою и надежно справляющейся с операциями по базе данных, и благодаря ей упростились некоторые довольно сложные взаимодействия с системой. Она работала путем копирования находящихся в ожидании изменений базы данных в другой объект, прежде чем они записывались.
Проблема, которая вызвала ошибку, появилась из-за того как мы отслеживали предметы. Мы пытались определить, изменилось ли значение, прежде чем записывать его, чтобы не тратить время впустую, если ничего не поменялось. В этом есть смысл, так ведь? Но в нашем конкретном случае, когда персонаж удаляет предмет из комплекта экипировки, то идентификатор предмета для этой ячейки устанавливается в ноль. При этом стандартное значение нового объекта базы данных, в который мы копируем, тоже было равно нолю. В результате все изменения комплекта экипировки были корректно упакованы и переданы в новую систему, но когда мы копировали их в новый объект, то обнаруживали, что предмет, например из ячейки для шлема, был удален и его значение установлено в ноль. Поскольку в новом объекте ноль уже установлен для вашей ячейки шлема, то система ошибочно считала, что "Нам это сохранять не нужно, там уже стоит ноль!" и отбрасывала это изменение.
Теперь эта проблема решена. Эта тема и обсуждение определенно помогли нам найти первоисточник проблемы, поэтому благодарим вас за ваши конструктивные мысли!
[Источник]