9.82M

27. Захват флага Детали и публикация

1.

2023
Название программы
Roblox
Тема занятия
Захват флага:
Детали и публикация

2.

2023
План
занятия
Roblox
Введение
Практика
Возрождение
Практика
Броня
Практика
Детали и публикация
Домашнее задание
Итоги
Изображение от Storyset на Freepik.com

3.

2023
Python
Проверяем
домашнее задание
1. Как выглядит аптечка, которую
ты создал дома?
2. Как работает механика восстановления
здоровья у аптечки?
3. В какой объект интерфейса ты добавил
картинку победы?
4. Что в выполнении домашнего задания
тебе показалось самым сложным?

4.

2023
Roblox
Введение
На этом уроке ты создашь механику
возрождения игрока в зависимости
от статуса его местоположения.
Создашь модель брони, сделаешь из нее
аксессуар и напишешь для нее скрипт.
Добавишь на карту оружие из шутера
и опубликуешь игру.
Изображение от Storyset на Freepik.com

5.

2023
Практика
Возрождение
Roblox

6.

2023
Roblox
Мы у финишной прямой
У нас уже есть готовые механики
захвата флага, лобби и таймер,
определения победителя.
Но пока что, если персонаж каким-либо
образом умрет, он заспавнится на любом
из четырех спавнов, которые есть
у нас на карте.
Пришло время
это исправить.
Он может появиться в лобби команды
противника или, хуже, на базе, захватив
флаг без особых усилий.
Чтобы это сделать мы будем обращаться
к параметру игрока, который отвечает
за парт, который его респавнит.
Изображение от Storyset на Freepik.com

7.

2023
Roblox
Практика
Этот параметр называется RespawnLocation.
Его можно задать только с помощью скриптов
и при нескольких условиях:
Теперь, когда мы знаем больше об этом
параметре, давай зададим его в скриптах.
Парт относится к классу SpawnLocation;
Находится внутри Workspace;
Цвет команды спавн-парта совпадает
с цветом команды игрока, либо является
нейтральным.
Изображение от Storyset на Freepik.com

8.

2023
Roblox
Для начала нам понадобится
скрипт TeamsServer, так как в нем мы
перемещаем игроков в лобби после выбора
команды и, пока они находятся в лобби,
спавн-парт должен быть там.
Внутри функции, которая запускается
при получении информации с клиента,
самой последней строчкой напиши следующее:
8
player.RespawnLocation = spawnpart
Изображение от Storyset на Freepik.com

9.

2023
Roblox
Полностью этот скрипт выглядит так:
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.

2023
Roblox
Готово!
Теперь, когда игрок подключится
и выберет команду, он будет
возрождаться только на спавн-парте
своей команды в лобби.

11.

2023
Roblox
Практика
Теперь такие же действия нам нужно
проделать в скрипте таймера 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.

2023
Roblox
А механика
респавна готова!
Теперь никто не сможет
возродиться там, где
ему не положено!
Изображение от Storyset на Freepik.com

14.

2023
Практика
Броня
Roblox

15.

2023
Roblox
Практика
Мы уже пробовали создавать
различные дополнительные
механики, свойственные шутеру.
Но еще ни разу не пробовали
создавать аксессуары, которые
повышают характеристики игрока.
Сейчас именно этим мы и займемся.
Изображение от Storyset на Freepik.com

16.

2023
Roblox
Практика
Для начала нам необходимо
создать саму модель брони.
Чтобы упростить задачу и сопоставить
размеры – поставим на карту NPC.
Для этого во вкладке Avatar нажми
на RigBuilder и выбери любой риг из списка.
Изображение от Storyset на Freepik.com

17.

2023
Практика
Теперь, используя стандартные парты
Roblox Studio, создай модель брони,
как бы примеряя ее на выставленного NPC.
Roblox

18.

2023
Практика
Измени ее цвет и материал.
Roblox

19.

2023
Roblox
Практика
Выдели все парты брони
и объедини их с помощью
инструмента Union.
Переименуй получившийся
Union в «Handle».
Теперь добавь в Workspace
аксессуар Accessory.

20.

2023
Roblox
Практика
Accessory – класс объектов, который
представляет собой любой аксессуар,
вне зависимости от его типа.
Дочерний объект
традиционно называется Handle.
Переименуй Accessory в «Armor»
и перемести в него Handle.
Изображение от Storyset на Freepik.com

21.

2023
Roblox
Практика
В целом, можно считать, что аксессуар готов,
однако, при попытке его надеть мы столкнемся
с двумя проблемами: при прикосновении
к аксессуару, он не наденется на персонажа,
для этого необходимо написать скрипт, а попав
в модель персонажа, наденется неправильно.
Примерно как Tool, если мы
не редактируем его хват.
Изображение от Storyset на Freepik.com

22.

2023
Roblox
Практика
Чтобы исправить «хват» брони,
нам также понадобится плагин.
Этот плагин называется
Accessory Grip Editor.
Найди его в Toolbox и установи.
В целом, можно считать, что аксессуар готов,
однако, при попытке его надеть мы столкнемся
с двумя проблемами: при прикосновении
к аксессуару, он не наденется на персонажа,
для этого необходимо написать скрипт, а попав
в модель персонажа, наденется неправильно.
Примерно как Tool, если мы
не редактируем его хват.
Изображение от Storyset на Freepik.com

23.

2023
С помощью этого плагина можно
настраивать хват объектов как класса
Tool, так и класса Accessory.
Выдели в Explorer аксессуар Armor
и примени к нему плагин.
Roblox
На карте появится NPC
с броней, вокруг которого будут
отображаться элементы настройки
расположения аксессуара.

24.

2023
С помощью цветных сфер объект
можно вращать, с помощью сфер
коричневого цвета – перемещать.
Roblox

25.

2023
Roblox
Практика
После настройки хвата аксессуара
пришло время программировать
характеристики брони.
Так как Accessory не поднимается
персонажем, когда он до него дотрагивается,
нам придется прописать это в скрипте.
В Handle аксессуара добавь
серверный скрипт Script
и переименуй его в «Armor».
Изображение от Storyset на Freepik.com

26.

2023
Roblox
Открой скрипт 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.

2023
Roblox
Теперь броню
можно скопировать
и разбросать по карте.
Изображение от Storyset на Freepik.com

28.

2023
Практика
Детали
и публикация
Roblox

29.

2023
Roblox
Практика
Все механики готовы, давно
протестированы и работают исправно.
Но, кажется, чего-то не хватает.
Так как мы уже делали оружие
и гранаты в предыдущей игре,
ты можешь скопировать их из шутера
и перенести на эту карту.
Добавь оружие в стартовый пакет
и разбросай их по карте.
Сделай игру интереснее и веселее!
Оружия!
Про такое нельзя забывать!

30.

2023
Практика
Roblox

31.

2023
А теперь пришло время
публиковать карту!
Сделай скриншоты карты и перейди
в настройки игры Game Settings.
Roblox
Настрой количество игроков
во вкладке Places. Важно, чтобы их
количество было кратно двум (2, 4, 6, 8 и т.д.).

32.

2023
Roblox
Практика
Заполни всю информацию
об игре во вкладке Basic Info.
И сделай игру публичной
во вкладке Permissions.

33.

2023
Roblox
Готово!
Теперь твой прекрасный
Захват Флага будет
радовать игроков своим
геймплеем и визуалом!
Изображение от Storyset на Freepik.com

34.

2023
Домашнее
задание
Roblox
1. Броня
Создай несколько видов брони
и раскидай их по карте.
2. Приключение
Подумай, какие механики характерны
для игры в жанре приключение.
3. Формат
Отправь наставнику файл
карты в формате .rblx.
Изображение от Storyset на Freepik.com

35.

2023
Roblox
Итоги
1
За что отвечает параметр
RespawnLocation?
3
Зачем добавлять оружие
в стартовый пакет?
2
Что такое Accessory и чем этот
класс отличается от Tool?
4
Что из того, что ты сегодня сделал,
тебе показалось самым интересным?
English     Русский Правила