ROBLOX — Интерфейс по наведению мыши и кнопка E
Взято за основу данное видео:
Взято за основу данное видео:
Я уже немного рассматривал GUI пользовательского интерфейса. В данном случае пойдёт речь о GUI на объектах — т.е. на предметах пространства. Начнём с нюансов: Если между GUI и игроком есть хоть миллиметр преграды — оно работать не будет. Взаимодействие с GUI предполагается, через LocalScript. Это не значит, что оно не будет работать посредством серверных скриптов,… Читать далее »
Второй вариант придания индивидуальности персонажам. Ну и всей игре тоже. Рассматривать их создание тут не буду. Только как добавить в игру. Blender — как инструмент создания 3D модели нам подойдёт. Допустим мы в нём создали.. шлем. Экспортируем его в формате объекта: File — Export — Wavefront (.obj) В Roblox создаём MeshPart. Который создаст нам обычный,… Читать далее »
Начнём с того, что это и правда всего лишь скины. Описание и заготовки для них находятся на официальной странице: https://developer.roblox.com/en-us/articles/How-to-Make-Shirts-and-Pants-for-Roblox-Characters Первое, что нам надо сделать, это сохранить заготовки: Как можно заметить — форма заготовок идентичная. Разница состоит только в том, на какие части модели применяется данный скин. И ещё — сперва применяется скин штанов, а… Читать далее »
Собственно проблема возникла из-за того, что нет события отрабатывающего получения повреждений. имеющаяся функция HealthChange учитывает только изменение здоровья постфактум. Пришлось придумать собственную реализацию данного события. Как это не странно, но получилось довольно таки компактно. Один модульный скрипт, в котором обсчитывается и нанесённый урон и получаемый. Вот такой небольшой скрипт решает поставленную мной задачу. Теперь, нужно… Читать далее »
Есть три основных элемента интерфейса: окно вида, окно скрипта и.. окно Explorer (он же — Проводник). Вот о последнем и будет речь, т.к. от правильности его использования зависит количество потраченного времени на кодинг. Как видим, тут изначально практически пусто. Но чтобы иметь представление как это работает — запускаем проект. Что же, раскроем по одному уровню… Читать далее »
Совершенно нечаянно (не ожидал вообще) наткнулся на третий вариант монетизации. Не игры как таковой, а аккаунта игродела! Да-да! В этом и весь казус! https://www.roblox.com/develop/premium-payout По ссылке мы видим рекламу того, что если в нашей игре будут ДОЛГО сидеть игроки с оплаченными аккаунтами в Roblox (владельцы подписки, премиум игроки), то мы за это будем получать некоторую… Читать далее »
В других «языках программирования» интерфейсов для игровых движков наблюдал вариацию разрезания картинки, чтобы получалась красивая рамочка обрамления без искажения общего вида. Нашёл картинку для подтверждения. Итак, главная красота состоит в том, что отрезанные углы не подвергаются деформациям, а вот остальные части дублируются или растягиваются. Тут уж от движка зависит. https://devforum.roblox.com/t/how-to-use-slicecenter-robloxs-9-slice-gui-property/18313 https://developer.roblox.com/en-us/api-reference/property/ImageLabel/SliceCenter В качестве примера использую… Читать далее »
Описанные ранее способы монетизации конечно работают. Но вот пришла беда, откуда не ждали! Они «теряются» если персонаж умирает! Или когда игрок жмёт «Reset character». Вот уж действительно — нежданчик. Пришлось пересмотреть подход к сохранению информации о покупки конкретным игроком. Во первых данная информация должна хранится на сервере. Во вторых данная информация должна загружаться после смерти… Читать далее »
В предыдущем посте было описание моего первого мультиплейерного тренажёра. Так вот, нечаянно (ага, конечно) выяснилось, что нужно восстанавливать пространства не только для повтора упражнения, но и когда игрок выходит. И вот тут на помощь пришло срабатывания события PlayerRemoving. По сути своей это всего лишь полная противоположность PlayerAdded. Оно срабатывает когда игрок покидает сервер. Про оба… Читать далее »