Перейти к публикации
  • Перенос предметов из слота в слот


    Electr0
    • Сделано

    На данный момент это невозможно из-за давней проблемы с передачей ID предмета в базе данных после сохранения предмету на сервере чтобы тот мог понимать к какой записи в базе данных он относится, придется решить эту проблему в первой, в конечном итоге номер предмета (он рассчитывался путем очередности отправки на сохранение, либо загрузки) будет заменен ID записи о предмете в базе данных.

     

    Нужно сделать:

    • Реализовать при процедуре сохранения взятие ID только что добавленных записей в базу данных и соотносить с предметами на карте, при процедуре загрузки брать ID из записи и прописывать вместо номера который просто прибавлялся при загрузке сохранения. 
    • Сделать возможность пересохранить конкретный предмет в указанный игроком слот, однако нужно учитывать что в слоте должно быть место под этот предмет.
    • Сделать возможность переноса предметов из одного слота в другой пачками по типу предмета


    Отзывы пользователей

    Рекомендованные комментарии

    Прототип 1:

    • Загрузчик прошивает ID предмета из базы данных на стадии загрузки вместо порядкового номера.
    • После успешной транзакции сохраненного слота в базу данных отправляется запрос на взятие информации из слотов, с последующей прошивкой ID из базы данных путем поиска предмета в 2048 итераций в сумме, т.д. при загрузке запоминаем нужную инфу в стек и после проходим по предметам на сервере и заполняем ID предметов даннными из стека попутно стирая используемые записи и вынимая стек из памяти по окончанию.

     

    Теоритическая проблема как быть уверенным что это именно тот предмет, ведь иногда они строят на одном месте несколько предметов, но с другой стороны, это является допустимой погрешностью ведь игрок расположил их на одном и том же месте с теми же углами, значит для него такие предметы выполняют ту же роль и мы можем в теории спутать эти номера без какой либо трагедии для игрока, главное не задать им один номер, но в том методе что я использую нельзя обратится к одному предмету дважды так что это тоже исключено.

    Поделиться комментарием


    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 2:

    • Оптимизации системы сохранения
    • Устранены исключения при выполнении команды запроса на сохранение всех предметов игрока в указанный слот и при сохранении всех предметов игрока под указанным стим идом и слотом.

     

    Теперь зная точный ID предметы можно перемещать между слотами, но это еще предстоит написать.

    Поделиться комментарием


    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 3:

    • Сырая версия команды sm_fs_send_obj_in_slot <номер слота куда перенести предмет под курсором>, учтены исключения: выход за рамки лимита в слоте куда перенести, объект должен быть сохранен, объект нельзя перенести в тот же слот где он находится, если объект находится в закрепленном слоте то ему запретят бегство, если слоткуда нужно перенести закреплен он не примет предмет, при использовании этой команды стирается история действий как при сохрании загрузке, т.к возможны исключения насчет номера слота и продажных предметов.
    • Цикл показа занятости сохранением, загрузкой слотов показывает все загружаемые, сохраняемые слоты а не первый попавшийся.

    Поделиться комментарием


    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 4:

    • Нужно добавить в меню перенос предмета из слота в слот
    • Нужно понять нужно ли помечать слот из которого загружен предмет как загруженный

    Поделиться комментарием


    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 5:

    • Сырая версия команды переноса содержимого слота в другой слот, sm_fs_move_objs_from_slot_in_other <текущий слот (1-10)> <новый слот (1-10)> <тип объекта> Пр: !fs_move_objs_from_slot_in_other 2 3 2, Типы: 0 - Все, 1 - Все обычное, 2 - Все платное, 3 - Оружие, 4 - Лампа, 5 - Персонаж
    • Написана документация в справку касательно двух добавленных команд

     

    Синхронизация номера слота после переноса на тех предметах что загружены еще не работает.

    Поделиться комментарием


    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 6:

    • Реализовать синхронизацию номера слота для предметов что были перенесены из слота в слот.
    • Добавить меню для новой команды

    Поделиться комментарием


    Ссылка на комментарий
    Поделиться на других сайтах

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

    Поделиться комментарием


    Ссылка на комментарий
    Поделиться на других сайтах


    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти сейчас

  • Обозначения статусов

    В обработке = Мы работаем над вашим отзывом.

    Будет сделано = Ваша идея добавлена к плану будущих изменений.

    Тестируется = Изменения внесены, но требуют тестирования.

    Сделано = Ваша идея реализована!

    Отклонено = Отзыв некорректный, бред, либо уже реализовано. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×