-
Постов
10 387 -
Зарегистрирован
-
Посещение
-
Победитель дней
417
Весь контент Electr0
-
Полностью переписать информацию о предмете
Electr0 прокомментировал Electr0 запись в °• Mega Survival
Значение Статус изменено на: Тестируется -
Назрело давно, слишком много устаревшего
-
прототип 2.7 Добавлен рендер списка действий, главное требование чтобы можно было выйти на нужную страницу в случае перенастройки кнопки и смены названия предмета над которым производится действие Переключатель:
-
прототип 2.6 добавлено корневое меню настройки кнопки, в котором можно будет сменить тип кнопки, название кнопки и оставлены кнопки под обзор и добавление действий. на текущий момент реализована смена типа кнопки из этого меню. !f => Управление => Настроить Кнопку => Если игрок смотрел на кнопку открывается меню:
-
прототип 2.5: Реализована покупка кнопки Исправлена ошибка в нахождении цены товара, она не была видна т.к. похожий код использовался для персонажей которые стоили стандартную цену.
-
прототип 2.4 автозагручик успешно генерирует UUID для всех предметов и обновляет данные в кеше тоже.
-
прототип 2.4 нужно обеспечить полную уникальность UUID после: админ сохранил предметы в автозагрузчик, но UUID предметов сохраняются те же самые что у этих предметов, тоесть на карте будут клоны из автозагрузчика и из слотов админа это уже не нужно, т.к. я вспомнил что кнопка как платный предмет не имеет права перехода в другой слот методом копирования,а значит нет смысла гонятся за изменившимися UUID, даже если игрок сохранил убегу в другой слот, тут возникает другой момент, ну сохранил он эту убегу в другой слот, кнопка то не сохранилась в новый слот, ей с ними нельзя бежать, но они то теперь на карте из другого слота фактически), а значит у них новые UUID а у нее записаны те UUID которые были у этих предметов до сохранения предметов в другой слот, и тут важно чтобы игрок это понял ) игрок загрузил свой слот из снимка и захотел сохранить, но сохранить в другой слот! игрок хочет сохранить содержимое сохраненное в одном слоте в другой слот на данный момент я еще не придумал как до процесса сохранения давать предметам другие UUID в описанных сверху ситуациях, по причине того что кнопка может оказатся внизу сохранения, а описанные в ней действия над предметами в ней самой, выходит я должен знать новый и старый UUID уже до процесса сохранения. чтобы в кнопке были УЖЕ новые UUID. данный прототип является заключительным в сложной подкапотной рутине, после него можно приступать к написанию прототипа 3, где будет меню под настройку кнопок и покупки кнопок. думаю надо написать функцию которая бы в первом проходе составила бы список какие UUID будут иметь дело в сохранении, попутно делая связки старый UUID => новый UUID, во втором проходе нужно провести обработку содержимого действий кнопок чтобы создать клоны веток в памяти но уже с новыми ид, на третьем этапе тем предметам которым будут нужные новые UUID она будет давать исходя и ранее сгенерированой связи старый = новый ид, а действия уже обработаны
-
прототип 2.3 сохраняет и загружает кнопки в автозагрузчик и из него. сохраняет информацию о кнопках в снимки и позволяет сохранять кнопки из снимков
-
Оптимизация записи данных в строковой массив в загрузчике
Electr0 прокомментировал Electr0 запись в °• Mega Survival
Значение Статус изменено на: Тестируется -
Оптимизация записи данных в строковой массив в загрузчике
Electr0 прокомментировал Electr0 запись в °• Mega Survival
изменения внесены в версию 2.5.9 с кнопками -
Оптимизация записи данных в строковой массив в загрузчике
Electr0 прокомментировал Electr0 запись в °• Mega Survival
Значение Статус изменено на: В обработке -
Оптимизация записи данных в строковой массив в загрузчике
Electr0 прокомментировал Electr0 запись в °• Mega Survival
В библиотеке такой же момент есть. -
В предиктивной проверке в групповых поворотах есть косяк
Electr0 опубликовал запись в °• Mega Survival
if(iChangeAxis == 2) { GetEdictClassname(entity, class, sizeof(class)); if (StrEqual(class, "prop_minigun") || StrEqual(class, "prop_minigun_l4d1")) { continue; } } не выставляет статус ошибки, в итоге она игнорируется, в принципе не критично учитывая отключенные миниганы. -
прототип 2.2 добавлено предсказание позиций предметов после действий для фикса троллинга (как у обычных функций редактирования позиции и углов) добавлена отправку команды на выключение / включение анимации выключателя если не пройдена проверка на позиции предметов на шаг вперед добавлена поддержка поворотов. добавлена поддержка копирования кнопок для root админов серьезные оптимизации в импорте кеша кнопок из MYSQL вместо 49 строк теперь 2 =)
-
прототип 2.1 добавлена поддержка настройки скорости анимации у кнопок, после чего ускорена кнопка в виде щита с автоматом в 3 раза, т.к. была слишком вальяжная добавлена поддержка переключения яркости ламп добавлена поддержка действий для обычных кнопок (Push) добавлено ограничение по дальности от кнопки в 100 юнитов, если игрок находится дальше то операции с кнопками не выполняются.
-
Получена первая версия 2 прототипа, эхей оно научилось раздвигать двери, следующая на очереди задача заставить сие включать и выключать лампы
-
прототип 2: действия сложности: необходим просчет всех действий на шаг вперед для исключения троллинга еще до разрешения на нажатие кнопки, необходимо написать здоровенный свич в который придется копировать функционал поворотов, передвижения по осям предметов и многое другое. для исключения разрыва логики с системой отмены повтора для кнопок будет доступно только передвижение предметов по их собственным осям для исключения проблем при перемещении убег в пространстве или поворотах убег целиком
-
написан прототип кнопок, пока они не умеют ничего кроме как переключатся. Реализация: Сделано полностью на базе prop_dynamic, дополнительный проп func_button не понадобился, а значит лимиты на дополнительные ентити тратится не будут. Типы: Кнопка ( просто кликаем, и она отжимается обратно) Выключатель ( работает как обычный выключатель ) Все кнопки на данный момент поддерживают оба режима, это было сложновато но получилось. Анимации: У кнопок есть полноценные анимации включения / выключения Звуки: У кнопок на текущий момент есть звук тапа по кнопке Сохранение / загрузка: На текущий момент кеш данных кнопок успешно сохраняется и загружается из базы данных, для кнопок типа выключатель сохраняется положение включен / выключен, так например если вы оставили кнопку включенной на момент сохранения то она запомнит статус и когда загрузите слот то и она будет включенной. Модельки: На данный момент их две, стандартный щиток белый и кнопка от лифта, взяты потому что у них есть анимации нажатий и переключений. Скрины: Следующий прототип будет направлен на реализацию действий, а уже после него будет писаться код настройки кнопок игроком через меню, после чего будет скорее затишье потому что очень много нюансов которые предстоит еще устранить, я говорил о них когда раньше отказывался это реализовывать, но это очень интересный в плане возможностей проект, подумать только сколько сценариев использования.
-
Заменить реальное оружие на спавн поинтах муляжами
Electr0 прокомментировал Electr0 запись в °• Mega Survival
отложено, пока что займусь кнопками. -
как уже говорил в посте в другой теме, делать буду через симуляцию, соотв придется делать побочку внутри плагина ради экономии лимитов пропов и затрат на хранение данных о том какой кнопке принадлежит какой func_button, но есть и другие проблемы, нет нормальных кнопок: Есть вот это: выключен. Включен: такой себе вариант, огромный слишком. в игре такие кнопки переключатся анимацией в данном случае ON, OFF и текущую анимацию узнать нельзя.
-
Заменить реальное оружие на спавн поинтах муляжами
Electr0 прокомментировал Electr0 запись в °• Mega Survival
данное предложение выдвинуто в рамках проекта по кнопкам, в связи с тем что плодить ентити func_button на каждую кнопку я не собираюсь в и так сжатых лимитах, будем на нажатиях кнопки USE делать трассер и выяснять куда тогда смотрел игрок если на оружие или кнопку то делаем то-то. По крайней мере после этого изменения будет выработана логика работы с муляжами с которыми может взаимодействовать игрок. -
причин на это две: боты, для них движок создает кеш хватабельных предметов у которого есть лимиты, и допустим если ты заспавнишь 300 аптечек то сервер упадет из-за переполнения этого кеша. физика, у оружия есть физика коллизий с предметами что в некоторых ситуациях провоцирует проблемы с производительностью, движок игры ведь не рассчитывался на то что кто-то будет грузить по 50 пушек в одном месте на бильярдном столе, при загрузке таких построек иногда идет дым который как раз по этой части физика 2, у оружия есть физика нахождения в пространстве, в частности если пострелять по находящейся в врздухе коробке с феерверками она опустится вниз, если заспавнить лазеры в воздухе они упадут вниз, для этих проблем создано много костылей и это не есть хорошо если предметы всеравно не выдают оружие сами.
-
Возможности Описание: Кнопки представляют из себя полностью анимированые переключатели, которые можно настроить на выполнение разных действий над предметами. Применение: Контроль освещения построек, можно как включать выключать, так и менять цвет освещения нажимая на кнопки Создание разных интересных вариантов входных дверей с удаленным управлением через кнопку Создание сложных развлекательных лабиринтов с большим количеством ловушек Много чего можно придумать, ограничение лишь в фантазии Ограничения: Лимит действий на кнопку: 20 Лимит действий над одним предметом в рамках одной кнопки: 10 Типы: Переключатель ( работает как обычный выключатель, действия совершенные при включении, при выключении выполняются в обратной последовательности ) Кнопка ( при нажатии выполняет действия которые нужно делать при включении и отжимается обратно ) Примеры моделей кнопок: Выключено: Включено: Настройки кнопки (!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 тестирование
-
исправлено отсутствие генерации нового UUIDv4 для предмета который скопирован.
-
Оптимизация записи данных в строковой массив в загрузчике
Electr0 прокомментировал Electr0 запись в °• Mega Survival
Значение Статус изменено на: Сделано