Similar presentations:
27. Захват флага Детали и публикация
1.
2023Название программы
Roblox
Тема занятия
Захват флага:
Детали и публикация
2.
2023План
занятия
Roblox
Введение
Практика
Возрождение
Практика
Броня
Практика
Детали и публикация
Домашнее задание
Итоги
Изображение от Storyset на Freepik.com
3.
2023Python
Проверяем
домашнее задание
1. Как выглядит аптечка, которую
ты создал дома?
2. Как работает механика восстановления
здоровья у аптечки?
3. В какой объект интерфейса ты добавил
картинку победы?
4. Что в выполнении домашнего задания
тебе показалось самым сложным?
4.
2023Roblox
Введение
На этом уроке ты создашь механику
возрождения игрока в зависимости
от статуса его местоположения.
Создашь модель брони, сделаешь из нее
аксессуар и напишешь для нее скрипт.
Добавишь на карту оружие из шутера
и опубликуешь игру.
Изображение от Storyset на Freepik.com
5.
2023Практика
Возрождение
Roblox
6.
2023Roblox
Мы у финишной прямой
У нас уже есть готовые механики
захвата флага, лобби и таймер,
определения победителя.
Но пока что, если персонаж каким-либо
образом умрет, он заспавнится на любом
из четырех спавнов, которые есть
у нас на карте.
Пришло время
это исправить.
Он может появиться в лобби команды
противника или, хуже, на базе, захватив
флаг без особых усилий.
Чтобы это сделать мы будем обращаться
к параметру игрока, который отвечает
за парт, который его респавнит.
Изображение от Storyset на Freepik.com
7.
2023Roblox
Практика
Этот параметр называется RespawnLocation.
Его можно задать только с помощью скриптов
и при нескольких условиях:
Теперь, когда мы знаем больше об этом
параметре, давай зададим его в скриптах.
Парт относится к классу SpawnLocation;
Находится внутри Workspace;
Цвет команды спавн-парта совпадает
с цветом команды игрока, либо является
нейтральным.
Изображение от Storyset на Freepik.com
8.
2023Roblox
Для начала нам понадобится
скрипт TeamsServer, так как в нем мы
перемещаем игроков в лобби после выбора
команды и, пока они находятся в лобби,
спавн-парт должен быть там.
Внутри функции, которая запускается
при получении информации с клиента,
самой последней строчкой напиши следующее:
8
player.RespawnLocation = spawnpart
Изображение от Storyset на Freepik.com
9.
2023Roblox
Полностью этот скрипт выглядит так:
1
2
3
4
5
6
7
8
9
local TeamEvent = game.ReplicatedStorage:WaitForChild("TeamEvent")
TeamEvent.OnServerEvent:Connect(function(player, teamName)
local spawnpart = workspace.LobbySpawn:FindFirstChild(teamName)
player.Team = game.Teams:FindFirstChild(teamName)
player.Character:MoveTo(spawnpart.Position)
player.RespawnLocation = spawnpart
end)
10.
2023Roblox
Готово!
Теперь, когда игрок подключится
и выберет команду, он будет
возрождаться только на спавн-парте
своей команды в лобби.
11.
2023Roblox
Практика
Теперь такие же действия нам нужно
проделать в скрипте таймера TimerServer.
Открой этот скрипт.
Внутри функции телепорта внутри
проверки на статус местоположения
игрока напиши строчку:
10
player.RespawnLocation = spawnPart
Изображение от Storyset на Freepik.com
12.
2023Полностью функция Teleport() теперь выглядит так:
1 local function Teleport()
2
3
for _, player in pairs(game.Players:GetChildren()) do
4
local character = player.Character
5
local team = player.Team.Name
6
7
if lobbyBool.Value == true then
8
local spawnPart = workspace.GameSpawn:FindFirstChild(team)
9
character:MoveTo(spawnPart.Position)
10
player.RespawnLocation = spawnPart
11
12
elseif not lobbyBool.Value then
13
local spawnPart = workspace.LobbySpawn:FindFirstChild(team)
14
character:MoveTo(spawnPart.Position)
15
player.RespawnLocation = spawnPart
16
end
17
end
18 end
Roblox
13.
2023Roblox
А механика
респавна готова!
Теперь никто не сможет
возродиться там, где
ему не положено!
Изображение от Storyset на Freepik.com
14.
2023Практика
Броня
Roblox
15.
2023Roblox
Практика
Мы уже пробовали создавать
различные дополнительные
механики, свойственные шутеру.
Но еще ни разу не пробовали
создавать аксессуары, которые
повышают характеристики игрока.
Сейчас именно этим мы и займемся.
Изображение от Storyset на Freepik.com
16.
2023Roblox
Практика
Для начала нам необходимо
создать саму модель брони.
Чтобы упростить задачу и сопоставить
размеры – поставим на карту NPC.
Для этого во вкладке Avatar нажми
на RigBuilder и выбери любой риг из списка.
Изображение от Storyset на Freepik.com
17.
2023Практика
Теперь, используя стандартные парты
Roblox Studio, создай модель брони,
как бы примеряя ее на выставленного NPC.
Roblox
18.
2023Практика
Измени ее цвет и материал.
Roblox
19.
2023Roblox
Практика
Выдели все парты брони
и объедини их с помощью
инструмента Union.
Переименуй получившийся
Union в «Handle».
Теперь добавь в Workspace
аксессуар Accessory.
20.
2023Roblox
Практика
Accessory – класс объектов, который
представляет собой любой аксессуар,
вне зависимости от его типа.
Дочерний объект
традиционно называется Handle.
Переименуй Accessory в «Armor»
и перемести в него Handle.
Изображение от Storyset на Freepik.com
21.
2023Roblox
Практика
В целом, можно считать, что аксессуар готов,
однако, при попытке его надеть мы столкнемся
с двумя проблемами: при прикосновении
к аксессуару, он не наденется на персонажа,
для этого необходимо написать скрипт, а попав
в модель персонажа, наденется неправильно.
Примерно как Tool, если мы
не редактируем его хват.
Изображение от Storyset на Freepik.com
22.
2023Roblox
Практика
Чтобы исправить «хват» брони,
нам также понадобится плагин.
Этот плагин называется
Accessory Grip Editor.
Найди его в Toolbox и установи.
В целом, можно считать, что аксессуар готов,
однако, при попытке его надеть мы столкнемся
с двумя проблемами: при прикосновении
к аксессуару, он не наденется на персонажа,
для этого необходимо написать скрипт, а попав
в модель персонажа, наденется неправильно.
Примерно как Tool, если мы
не редактируем его хват.
Изображение от Storyset на Freepik.com
23.
2023С помощью этого плагина можно
настраивать хват объектов как класса
Tool, так и класса Accessory.
Выдели в Explorer аксессуар Armor
и примени к нему плагин.
Roblox
На карте появится NPC
с броней, вокруг которого будут
отображаться элементы настройки
расположения аксессуара.
24.
2023С помощью цветных сфер объект
можно вращать, с помощью сфер
коричневого цвета – перемещать.
Roblox
25.
2023Roblox
Практика
После настройки хвата аксессуара
пришло время программировать
характеристики брони.
Так как Accessory не поднимается
персонажем, когда он до него дотрагивается,
нам придется прописать это в скрипте.
В Handle аксессуара добавь
серверный скрипт Script
и переименуй его в «Armor».
Изображение от Storyset на Freepik.com
26.
2023Roblox
Открой скрипт Armor и напиши в нем следующее:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
local handle = script.Parent
local armor = handle.Parent
local equipped = false
handle.Touched:Connect(function(otherPart)
local humanoid = otherPart.Parent:FindFirstChildWhichIsA("Humanoid")
if humanoid and not equipped then
equipped = true
humanoid.MaxHealth += 100
humanoid.Health += 100
end
end)
Комментарии
к скрипту
27.
2023Roblox
Теперь броню
можно скопировать
и разбросать по карте.
Изображение от Storyset на Freepik.com
28.
2023Практика
Детали
и публикация
Roblox
29.
2023Roblox
Практика
Все механики готовы, давно
протестированы и работают исправно.
Но, кажется, чего-то не хватает.
Так как мы уже делали оружие
и гранаты в предыдущей игре,
ты можешь скопировать их из шутера
и перенести на эту карту.
Добавь оружие в стартовый пакет
и разбросай их по карте.
Сделай игру интереснее и веселее!
Оружия!
Про такое нельзя забывать!
30.
2023Практика
Roblox
31.
2023А теперь пришло время
публиковать карту!
Сделай скриншоты карты и перейди
в настройки игры Game Settings.
Roblox
Настрой количество игроков
во вкладке Places. Важно, чтобы их
количество было кратно двум (2, 4, 6, 8 и т.д.).
32.
2023Roblox
Практика
Заполни всю информацию
об игре во вкладке Basic Info.
И сделай игру публичной
во вкладке Permissions.
33.
2023Roblox
Готово!
Теперь твой прекрасный
Захват Флага будет
радовать игроков своим
геймплеем и визуалом!
Изображение от Storyset на Freepik.com
34.
2023Домашнее
задание
Roblox
1. Броня
Создай несколько видов брони
и раскидай их по карте.
2. Приключение
Подумай, какие механики характерны
для игры в жанре приключение.
3. Формат
Отправь наставнику файл
карты в формате .rblx.
Изображение от Storyset на Freepik.com
35.
2023Roblox
Итоги
1
За что отвечает параметр
RespawnLocation?
3
Зачем добавлять оружие
в стартовый пакет?
2
Что такое Accessory и чем этот
класс отличается от Tool?
4
Что из того, что ты сегодня сделал,
тебе показалось самым интересным?