Перейти к публикации
  • Кнопки действий над предметами[Теория]


    Electr0
    • Сделано

    Кнопки, предметы позволяющие воздействовать на другие предметы в заданном игроком виде, список действий думаю можно не ограничивать, в моем видении нужно предоставить игроку возможность выполнения указанной им команды над предметом, то есть должно быть какое-то меню !fs_act там то что делает кнопка, и можно добавить либо изменить выполняемые действия над предметом. Нужно предусмотреть чтобы выла возможность задать действия в формате ДЕЛАЕМ ЕСЛИ ВКЛЮЧАЕМ, ЧТО ДЕЛАТЬ ЕСЛИ ВЫКЛЮЧАЕМ.

     

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

     

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

     

    в принципе над этой задачкой интересно подумать если и не сейчас то обозначить на будущее.

     

    Рабочие заметки:

     

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

     

    Но, если это прям так нужно можно же сделать выделенный дамп параметров keyvalue структур в файл при OnPluginEnd и этот же файл при старте плагина считать и записать обратно в память, в принципе! даже не обязательно всю систему переводить на такой вариант сохранения метаданных о предмете, достаточно в targetname указать что этот предмет кнопка, а все остальное по таким кнопкам на карте в пределах раунда считывать из keyvalue

     

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


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

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

    одна из проблем решена, теперь будет на кого указывать.

     

    осталось придумать как сохранять, загружать и хранить описание действий над предметами у пропа кнопки, ведь унифицированный загрузчик принимает массив свойств предметов 33 строки и размер строки 128, но на описание того что нужно будет описать может уйти намного больше символов, нельзя ради одного жирного параметра раздувать размер всех остальных, это просто дико)

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



    Присоединяйтесь к обсуждению

    Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

    Гость
    Добавить комментарий...

    ×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

      Разрешено не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


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

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

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

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

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

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

×
×
  • Создать...