Перейти к публикации
  • Кнопки


    Electr0
    • Тестируется

    Возможности

     

    Описание:

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

     

    Применение:

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

     

    Ограничения:

    • Лимит действий на  кнопку: 20
    • Лимит действий над одним предметом в рамках одной кнопки: 10

     

    Типы:

    • Переключатель ( работает как обычный выключатель, действия совершенные при включении, при выключении выполняются в обратной последовательности )
    • Кнопка ( просто кликаем, и она отжимается обратно  )

     

    Модели кнопок:

     

    Выключено:

    second.jpgfirst.jpgfive.jpg

     

    Включено:

    third.jpgfour.jpgsix.jpg

     

    Настройки  кнопки (!f - Управление => Настройки кнопки):

    • Название
    • Тип
    • Заблокировать после использования
    • Пароль
    • Обзор действий
    • Добавление действий

     

    Настройки действий:

    • Типы действий над предметами:
      • Передвинуть по осям предмета
      • Повернуть по осям предмета
      • Заблокировать (Дверь / Кнопку)
      • Разблокировать (Дверь / Кнопку)
      • Открыть дверь
      • Закрыть дверь
      • Выставить яркость
      • Выставить цвет по названию
      • Выставить RGB цвет
      • Выставить скин
      • Выставить анимацию
      • Выставить статус ВКЛ. (Кнопке)
      • Выставить статус ВЫКЛ. (Кнопке)
    • Перенастройка (вы можете перенастроить уже добавленное действие над предметом, в таком случае выбирать курсором, как при добавлении не придется)
    • Добавить еще (вы можете добавить еще одно действие к предмету)
    • Очередность (если у вас в рамках одной кнопки выполняется несколько действий над одним предметом, вы можете менять очередность их выполнения, для этого есть кнопки вверх / вниз в меню обзора действий)
    • Удаление

     

    Подсветка (красная):

    • При заходе в меню настроек, если выбрана кнопка, то она подсвечивается.
    • В меню обзора действий, предметы действий подсвечиваются. 
    • При добавлении предмета в действия кнопки, если выбран предмет который можно добавить то он так же подсвечивается

     

    Предварительные проверки:

    • Перед запуском выполнения действий кнопки на передвижение и повороты, выполняется проверка на то попадет ли предмет действия в игрока, так же действие не начнут выполнятся если игрок стоит на предмете действия или прыгает на нем.
    • Если предметом действия являются двери и пока они открываются / закрываются кнопку нельзя нажать.
    • Если предметом действия является кнопка, пока она включается / выключается кнопку нельзя нажать.

     

    Сохранение

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

     

    Как найти?:

    !f => Предметы => Наборы => Кнопки

    !f => Предметы => Часто используемое => Кнопки

     

    Цена: 100 игровых $

     

    Меню:

    • О визуальном виде меню можно посмотреть ниже,  разделе стили меню, применен тот же стиль меню что и в библиотеке.

     

    Стили меню

     


    Меню настройки кнопки:


     

    Настройка кнопки

    UUID: 4bf6ab2b-8226-413c-84b6-14249bd16bdb

    1. Обновить

     

    Название - Переключатель света  в холле

    2. Сменить

     

    Тип - Переключатель

    3. Сменить

     

    Заблокировать после использования

    4. Сменить

     

    Действия (4 / 20)

    5. Обзор (если 0 действий то серая)

    6. Добавить (если 20 действий уже есть то серая)

     

    8. Назад

     


    Меню обзора действий:


     

    Действие 1 / 4

    UUID: 4bf6ab2b-8226-413c-84b6-14249bd16bdb

    Тип предмета: Лампа (Люминесцентная)

     

    Тип действия: Выставить яркость

    Включено: 500 / На 500 (Если тип кнопка)

    Выключено: 0 (Если тип кнопка не показывать)

    1. Перенастроить

     

    Очередность 1 / 2

    2. Вверх

    3. Вниз

     

    4. Удалить

     

    8. Назад

    9. Далее


    Действие 2 / 4

    UUID: 4bf6ab2b-8226-413c-84b6-14249bd16bdb

    Тип предмета: Лампа (Люминесцентная)

     

    Тип: Выставить яркость

    Включено: 500 / На 500 (Если тип кнопка)

    Выключено: 0 (Если тип кнопка не показывать)

    1. Перенастроить

     

    Очередность 2 / 2

    2. Вверх

    3. Вниз

     

    4. Удалить

     

    8. Назад

    9. Далее


    Действие 3 / 4

    UUID: 4bf6ab2b-8226-413c-84b6-14249bd16bdb

    Тип предмета: Дверь

     

    Тип: Передвинуть предмет по его ОСИ

    Ось: Y (Если тип кнопка не показывать)

    Включено: -54.51 / На -54.51 по оси Y  (Если тип кнопка)

    Выключено: 54.51 (Если тип кнопка не показывать)

    1. Перенастроить

     

    Очередность 1 / 2

    2. Вверх

    3. Вниз

     

    4. Удалить

     

    8. Назад

    9. Далее


    Действие 4 / 4

    UUID: 4bf6ab2b-8226-413c-84b6-14249bd16bdb

    Тип предмета: Дверь

     

    Тип: Передвинуть предмет по его ОСИ

    Ось: Y (Если тип кнопка не показывать)

    Включено: -54.51/ На -54.51 по оси Y (Если тип кнопка)

    Выключено: 54.51 (Если тип кнопка не показывать)

    1. Перенастроить

     

    Очередность 2 / 2

    2. Вверх

    3. Вниз

     

    3. Удалить

     

    8. Назад

     

     


     

     

    Благодарности:

    • @raziEiL идея выставления обратной скорости воспроизведения анимации, которая очень подошла для организации анимации выключения щитового переключателя и голубой кнопки, модели которых не имеют анимации выключения.
    • @asha@Marysan@EskimoCallboy  тестирование


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

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



    Прототип 3.8

     

    Сделано:

    • Поискать и добавить еще модели кнопок с анимациями: models/props_fairgrounds/gallery_button.mdl:

    five.jpgsix.jpg

    • Создать запрос на удаление у игроков перед релизом следующих моделей, для избежания проблем:
      • models/props_unique/generator_switch_01.mdl
      • models/props_mill/freightelevatorbutton02.mdl
      • models/maxofs2d/button_03.mdl
      • models/maxofs2d/button_04.mdl
      • models/maxofs2d/button_05.mdl
    • Когда ставишь кнопки смотря на стену они ставятся криво (исключение голубая кнопка, она может использоваться на столе)

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


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

    Прототип 3.9

     

    Сделано:

    • В меню управления выставить яркость добавлены пункты 0, 350, 400, 450
    • В меню добавления действий в выставлении яркости добавлена возможность выбрать 0
    • Исправлено отсутствие подрузки данных кнопок при загрузке снимков конца раунда.
    • Исправлено отсутствие сохранения ламп в снимках конца раунда, из-за того что лампы в этот же момент делали очистку своих переменных, теперь запускаем создание снимка конца раунда чуть раньше.
    • Оптимизации сохранения, копирования, загрузки кеша кнопок, избавился по максимуму от экспорта в строку и импорта из нее.
    • Дополнительные стандартизации синтаксисов ArrayList, StringMap
    • Исправлен возврат в выбор цвета по названию при выходе назад из подтверждения действия по выставлению яркости

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


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

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

     

    Релиз ноты подготовлены, текст для объявления в стиме тоже. 

     

    Добавлена первая версия  инструкции в https://ally.pro/topic/397-obzor-vozmozhnostey-stroyki, там можно прочитать про применение как выключатель ламп, а так же обзор уже добавленных действий, и настройки кнопки

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


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

    Прототип 4.0

     

    Сделано:

    • 1. Предиктивная проверка научилась предотвращать запуск действия если двери еще закрываются или открываются, так же если кнопка включается и выключается.
      2. if (StrEqual(sClass, "prop_dynamic") && IsButtonByUUID(sObjUUID)) => if (IsButtonByUUID(sObjUUID)) по причине бессмысленности анализа класса кнопки.
      3. добавлено действие выставить статус включена кнопке, и такое же для выключения чтобы синхронизировать нужные кнопки, к примеру кнопку для дверей внутри дома, и кнопку с снаружи, это единственный вариант без возникновения бесконечной рекурсии кода

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


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

    Прототип 4.1

    Сделано:

    1. Исправлен дубль статуса ошибки если над предметом выполняется пара одинаковых действий.
    2. Перемещен запрет выполнения действий над кнопками и дверьми, таким образом что в любые действия над ними не могли выполнятся если дверь или кнопка используется или открывается, закрывается.
    3. Удалено выставление 0 яркости, это ломает соседние лампы.
    4. добавляем проверку на нахождение на предмете для дверей, если дверь горизонтальная и ее открыть будет боба для тех кто на ней стоял =D
    5. разрешаю админам настраивать кнопки других игроков.

     

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


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

    Прототип 4.2

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

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


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

    Нужно добавить проверку чтобы хозяин кнопки сходился с хозяином предметов действий, дело в том что если игрок передавал предметы другому игроку есть риск что эта кнопка начнет выполнять действия над чужими предметами. ЛИБО добавить генерацию новых uuid для предметов которые передавались другому игроку. 

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


    Ссылка на комментарий
    Поделиться на других сайтах
    В 13.11.2018 в 08:34, Electr0 сказал:

    Нужно добавить проверку чтобы хозяин кнопки сходился с хозяином предметов действий, дело в том что если игрок передавал предметы другому игроку есть риск что эта кнопка начнет выполнять действия над чужими предметами. ЛИБО добавить генерацию новых uuid для предметов которые передавались другому игроку. 

    нужно что-то другое, ведь есть варианты экзотики на вроде кнопки из автозагрузчика где не прошивается стим ид.

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


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

    Нужно на этапе передачи слота делать смену UUID

    есть проблема с тем что в таком случае, у нас будет проблема как сохранить обновленные значения, перенос то на уровне базы данных происходит.

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


    Ссылка на комментарий
    Поделиться на других сайтах
    18 минут назад, Electr0 сказал:
    1 час назад, Electr0 сказал:

    Нужно на этапе передачи слота делать смену UUID

    есть проблема с тем что в таком случае, у нас будет проблема как сохранить обновленные значения, перенос то на уровне базы данных происходит.

    решил проблему достаточно просто, перед выполнением предиктивной проверки и перед исполнением действий я формирую кеш UUID состоящий из структуры UUID == REF индекс пропа, таким образом я оптимизирую доступ к пропам по UUID, но я ведь зная что у кнопки есть хозяин со стим идом, могу сформировать кеш UUID именно с стимид'ами хозяина кнопки, это я и сделал.

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


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

    Релиз кандидат 1.01:

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

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


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

    Релиз кандидат 1.04:

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

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


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

    Релиз кандидат 1.05:

    • Исправлен найденный вчера баг, когда вводимые значения в виде слова NE прокатывали для числовых инпутов что так-то не АЛЕ.
    • Оптимизирована проверка макс и минимальных пороговых значений числовых инпутов.
    • Добавлен выбор действия ВЫКЛЮЧЕНИЯ после выбора следующих действий: 
      • Заблокировать (Дверь / Кнопку)
      • Разблокировать (Дверь / Кнопку)
      • Открыть дверь
      • Закрыть дверь
      • Выставить статус ВКЛ. (Кнопке)
      • Выставить статус ВЫКЛ. (Кнопке)

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


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

    Добавлены новые кнопки:

    • Кнопка лифта [С длинной трубой]
    • Рубильник [Маленький]
    • Топливный рычаг

     

    20181203234601_1.jpg

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


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

    Заходил тут на днях в портал и вернулся вот с этими кнопками:

    20181206151055_1.jpg

     

    заодно обновил свою ловушку:

    20181206151252_1.jpg

    20181206151301_1.jpg

     

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


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

    Прототип BUTTONS REFRESH 3

     

    Сделано:

    • Создана и протестирована вторая итерация плавного передвижения предметов, вторая версия научилась правильно опускать и поднимать предметы, старая могла только поднимать т.к. работала с только положительными числами, вторая версия умеет двигать во по всем осям в оба направления оных.
    • Меню добавления такого типа передвижения
    • Устранить тряску во время нахождения на предметах которые передвигаются вверх (теперь очень здорово ездить на таком лифте)
    • Пофиксить отсутствие фикса на тряску для ботов.

     

    Надо сделать:

     

    • Устранить проблему сохранения снимков во время движения пропов (дампер снимков должен предсказывать положение предмета в пространстве после операций включения / выключения)
    • Устранить проблему с предиктивной проверкой которая должна при таких действиях делать прогноз на передвигаемый отрезок

     

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

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


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



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

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

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

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

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

    Войти

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

    Войти сейчас

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

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

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

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

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

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

×