Проект пригодницької гри. Частина 1.



Налаштування таблиці лідерів

Щоразу, коли гравця додають до досвіду, його потрібно буде додати до таблиці лідерів разом із кодом для відстеження індивідуальної статистики.

У провіднику в розділі ServerScriptService створіть новий сценарій під назвою PlayerSetup. У цьому скрипті видаліть рядок Hello World і напишіть описовий коментар.

Повний сценарій PlayerSetup

local Players = game:GetService("Players")

-- Creates a leaderboard that shows player variables
local function onPlayerJoin(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local items = Instance.new("IntValue")
items.Name = "Items"
items.Value = 0
items.Parent = leaderstats
local spaces = Instance.new("IntValue")
spaces.Name = "Spaces"
spaces.Value = 2
spaces.Parent = leaderstats
end

-- Run onPlayerJoin when the PlayerAdded event fires
Players.PlayerAdded:Connect(onPlayerJoin)

Після створення таблиці лідерів гравцям потрібно щось збирати. Для цього вам потрібно створити тривимірний предмет, який гравці зможуть знайти у світі.

При бажанні скачайте кришталеву частину за цим посиланням. Щоб додати його, клацніть правою кнопкою миші на робочій області та виберіть «Вставити з файлу».

Якщо ви використовуєте власну частину, згрупуйте всі частини в модель . Один із способів зробити це — вибрати всі елементи, клацнути правою кнопкою миші на частині та вибрати «Групувати» . Це створює модель, яка організовує ваші частини.

Переконайтеся, що всі частини закріплені.

Щоб елементи не можна було зібрати, поки вони зникають, створіть BoolValue під назвою CanHarvest, щоб відстежувати його статус.

У властивостях CanHarvest поставте прапорець у полі «Значення». Якщо поставити прапорець у полі значення, логічне значення стає істинним, тобто гравці можуть збирати предмет.

Додавання інструменту

Щоб гравці могли використовувати початковий інструмент, завантажте та помістіть його в StarterPack.

Завантажте інструмент натиснувши на посилання.

У Провіднику в розділі Робоча область клацніть правою кнопкою миші на StarterPack. Потім виберіть «Вставити з файлу».

Виберіть завантажений файл starterTool.rbxm.

Перевірте свій проект.

Якщо інструмент потрапляє на об’єкт, який можна здобувати, і у гравця достатньо місця в сумці, кількість предметів гравця зростає на 1 у таблиці лідерів. Після збирання предмета він зникає на кілька секунд і стає неможливим для збору на кілька секунд, перш ніж знову з’являється. Це заохочує гравців досліджувати, щоб знайти більше предметів, а не просто натискати той самий предмет.

На цьому етапі додайте сценарій до інструменту. Цей сценарій обробляє те, що відбувається, коли інструмент торкається об’єкта, що збирається.

У StarterPack у розділі StarterTool додайте новий сценарій під назвою ToolScript.

Повний ToolScript

local tool = script.Parent
local toolPart = tool.Handle

local backpack = tool.Parent
local player = backpack.Parent

local playerStats = player:FindFirstChild("leaderstats")
local playerItems = playerStats:FindFirstChild("Items")
local playerSpaces = playerStats:FindFirstChild("Spaces")

local function onTouch(partTouched)
local canHarvest = partTouched:FindFirstChild("CanHarvest")
if canHarvest then
print("Found an item")
if canHarvest.Value == true and playerItems.Value < playerSpaces.Value then
playerItems.Value += 1
canHarvest.Value = false
-- Reset partTouched, the harvested item
partTouched.Transparency = 1
partTouched.CanCollide = false
task.wait(10)
-- Make the harvested item reappear and usable again
canHarvest.Value = true
partTouched.Transparency = 0
partTouched.CanCollide = true
end
end
end
toolPart.Touched:Connect(onTouch)