Как сделать валюту в Роблокс Студио

Пошаговая инструкция по созданию системы валюты в Роблокс Студио. Система валюты будет включать в себя GUI для отображения количества монет у игрока, физические модели монет которые можно подбирать и которые будут спавнится автоматически по заданным координатам, а так же сохранение валюты между сессиями игроков (что бы монеты не терялись при выходе из игры).

Шаг 1: Настройка валюты и сохранения данных

  1. Откройте Roblox Studio и загрузите свою игру.
  2. Перейдите в ServerScriptService:
    • Щелкните правой кнопкой мыши по ServerScriptService и выберите Insert Object > Script.
    • Назовите этот скрипт « CurrencyManager «.
  3. Вставьте следующий код в скрипт:

local DataStoreService = game:GetService("DataStoreService")
local coinsStore = DataStoreService:GetDataStore("PlayerCoins")
-- Функция при подключении игрока
game.Players.PlayerAdded:Connect(function(player)
-- Создаем leaderstats для отображения валюты
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
-- Создаем переменную для хранения валюты
local coins = Instance.new("IntValue")
coins.Name = "Coins"
coins.Value = 0 -- Начальное количество монет
coins.Parent = leaderstats
-- Загружаем сохраненные монеты
local savedCoins = coinsStore:GetAsync(player.UserId)
if savedCoins then
coins.Value = savedCoins
end
end)
-- Сохранение валюты при выходе из игры
game.Players.PlayerRemoving:Connect(function(player)
if player:FindFirstChild("leaderstats") then
local coins = player.leaderstats:FindFirstChild("Coins")
if coins then
coinsStore:SetAsync(player.UserId, coins.Value)
end
end
end)

Как сделать валюту в Роблокс Студио

Шаг 2: Настройка GUI

Как сделать валюту в Роблокс Студио1. Перейдите в StarterGui:

    • Щелкните правой кнопкой мыши и выберите Insert Object > ScreenGui.
    • Назовите его « CoinsGui «.

2. Внутри CoinsGui создайте TextLabel:

    • Size: {0.2, 0}, {0.1, 0}.
    • Position: {0.05, 0}, {0.05, 0}.
    • BackgroundTransparency: 1 (чтобы фон был прозрачным).
    • TextColor3: (255, 215, 0) — золотистый цвет.
    • TextScaled: Включите галочку.

3. Внутри TextLabel добавьте LocalScript и вставьте следующий код:

local player = game.Players.LocalPlayer
local coinsLabel = script.Parent
local function updateCoins()
if player:FindFirstChild("leaderstats") and player.leaderstats:FindFirstChild("Coins") then
coinsLabel.Text = "Coins: " .. player.leaderstats.Coins.Value
end
end
player.leaderstats.Coins:GetPropertyChangedSignal("Value"):Connect(updateCoins)
updateCoins()

LocalScript обновляет текст при изменении количества монет у игрока.

Как сделать валюту в Роблокс Студио

Шаг 3: Создание физической модели монеты

1. В Explorer перейдите в Workspace и добавьте Part:

    • Shape: Cylinder
    • Size: {0.5, 2.5, 3}
    • Material: Metal
    • Color: золотистый
    • Anchored: включить
    • CanCollide: отключите

Как сделать валюту в Роблокс Студио

2. Переименуйте Part в «Coin»
3. Щелкните правой кнопкой мыши по Coin и добавьте Script.
4. Вставьте следующий код:

local coin = script.Parent
local hitbox = coin:FindFirstChild("Hitbox") -- Получаем Hitbox
local debounce = false
-- Функция для обработки касания Hitbox
local function onTouch(hit)
if debounce then return end
debounce = true
-- Проверяем, был ли это игрок
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player and player:FindFirstChild("leaderstats") then
local coins = player.leaderstats:FindFirstChild("Coins")
if coins then
coins.Value = coins.Value + 10 -- Добавляем 10 монет игроку
end
-- Убираем монету после подбора
coin.Anchored = false
coin.CanCollide = false
coin.Transparency = 1
wait(0.1)
coin:Destroy()
end
end
-- Подключаем обработчик касания для Hitbox
if hitbox then
-- Позиционируем Hitbox в центр монеты
hitbox.Position = coin.Position
hitbox.Touched:Connect(onTouch)
end

  • onTouch() вызывается при касании монеты игроком.
  • Игрок получает 10 монет, после чего монета удаляется.

Как сделать валюту в Роблокс Студио

Шаг 4: Спавн монет в игре

  • Переместите созданную монету в ServerStorage
  • В ServerScriptService создайте Script и вставьте следующий код:

local coinTemplate = game.ServerStorage:WaitForChild("Coin")
local spawnPoints = {Vector3.new(10, 5, 0), Vector3.new(-10, 5, 0), Vector3.new(0, 5, 10)}
-- Функция для обработки подбора монеты
local function setupHitbox(hitbox, coin)
local debounce = false
local function onTouch(hit)
if debounce then return end
debounce = true
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player and player:FindFirstChild("leaderstats") then
local coins = player.leaderstats:FindFirstChild("Coins")
if coins then
coins.Value = coins.Value + 10 -- Добавляем 10 монет
end
-- Удаляем монету после подбора
coin.Anchored = false
coin.CanCollide = false
coin.Transparency = 1
wait(0.1)
coin:Destroy()
end
end
hitbox.Touched:Connect(onTouch)
end
-- Функция для спавна монет
local function spawnCoin()
local newCoin = coinTemplate:Clone()
newCoin.Position = spawnPoints[math.random(1, #spawnPoints)] + Vector3.new(0, 2, 0)
newCoin.Anchored = true
newCoin.Parent = workspace
-- Настраиваем Hitbox для новой монеты
local hitbox = newCoin:FindFirstChild("Hitbox")
if hitbox then
setupHitbox(hitbox, newCoin)
end
end
-- Спавн монет каждые 10 секунд
while true do
spawnCoin()
wait(10)
end

  • spawnPoints — это координаты, где будут появляться монеты.
  • Каждые 10 секунд создаётся новая монета.

Шаг 5: Добавление Hitbox

Как сделать валюту в Роблокс Студио1. Откройте ServerStorage и выберите вашу монету ( Coin ).
2. Добавьте Part внутрь монеты и настройте его:

    • Назовите его Hitbox.
    • Size: увеличьте размер так, чтобы он был больше самой монеты (например, {4, 4, 4} ).
    • Transparency: установите в 1 (чтобы он был невидимым).
    • Anchored: включите.
    • CanCollide: отключите.

3. Убедитесь, что Hitbox полностью окружает вашу монету! Для этого временно можете переместить Coin в Workspase и отрегулировать положение Hitbox так, что бы он был чуть больше монеты. После чего снова переместить Coin в ServerStorage.

Как сделать валюту в Роблокс Студио

Тестирование

  1. Нажмите Play в Roblox Studio.
  2. Проверьте, отображается ли GUI с количеством монет.
  3. Подберите монеты, чтобы увидеть, как изменяется ваш баланс.
  4. Убедитесь, что монеты сохраняются после повторного входа в игру.

Как сделать валюту в Роблокс Студио

Видео инструкция