Интерфейс
Давайте узнаем, как в Роблокс строить магазин оружия. Для начала создадим интерфейс. Для этого в компоненте StarterGui создаем ScreenGui, называем его "ShopGui" и к нему добавляем Frame. Далее растягиваем его. Это и будет наше окно магазина.



Добавим TextButton к ScreenGui. Это кнопка открытия интерфейса магазина.

local plr = game.Players.LocalPlayer -- записываем игрока
script.Parent.MouseButton1Click:Connect(function() -- при нажатии на кнопку, показываем интерфейс магазина
plr.PlayerGui.ShopGui.Frame.Visible = true
end)



Добавляем оружие
Переходим в ToolBox и выбираем любое понравившееся оружие. Его мы и будем продавать в магазине. Добавлять в Starter Pack не надо. Нужно его перенести в службу ServerStorage, предварительно создав в ней папку с названием "Tools".

Теперь нам нужно создать события. Находим службу ReplicatedStorage, в ней создаем папку с названием "ToolEvents" и к ней добавляем RemoteEvent. Добавляем столько, сколько у вас позиций в магазине. Для удобства, назовем каждое событие следующим образом:

Пишем скрипты
Система денежного оборота
Создадим денежную систему. В службе ServerScriptService добавляем скрипт и называем его "CashStats".
game.Players.PlayerAdded:Connect(function(plr) -- для каждого игрока при заходе в игру сработает следующий скрипт:
local CashStats = Instance.new("Folder", plr) -- создаем папку
CashStats.Name = "CashStats" -- даем название папки
local cash = Instance.new("NumberValue",CashStats) -- создаем переменную внутри папки, которая будет кранить значение денег у игрока
cash.Name = "Cash" -- название переменной
cash.Value = 500 -- начальная сумма
end)

while wait(0.01) do
script.Parent.Text = game.Players.LocalPlayer.CashStats.Cash.Value.." $"
end

Система покупок
В службе ServerScriptService добавляем скрипт и называем его "BuyTools" и пишем:
game.ReplicatedStorage.ToolEvents.**SwordEvent**.OnServerEvent:Connect(function(plr)
if plr.CashStats.Cash.Value >= 100 then -- если у игрока больше заданной суммы, то
plr.CashStats.Cash.Value -= 100 -- вычитаем ее
game.ServerStorage.Tools.Sword:Clone().Parent = plr.Backpack -- добавляем оружие в его инвентарь
end
end)
-- аналогично предыдущему, только другое оружие и сумма
game.ReplicatedStorage.ToolEvents.**PistolEvent**.OnServerEvent:Connect(function(plr)
if plr.CashStats.Cash.Value >= 200 then
plr.CashStats.Cash.Value -= 200
game.ServerStorage.Tools.Pistol:Clone().Parent = plr.Backpack
end
end)

script.Parent.MouseButton1Click:Connect(function()
game.ReplicatedStorage.ToolEvents.**PistolEvent**:FireServer() -- запускаем конкретное событие
end)


Если вы хотите создавать и совершенствовать свои игры в Роблокс Студио, смотрите наши видеоуроки на YouTube. Мы уже рассказали, как сделать гонки, игру Zombie Mod, симулятор копателя, световой меч и многое другое. А если вы хотите поглубже изучить Роблокс, создать большие проекты вместе с наставником, то записывайтесь на курсы в школу “Пиксель”. Будем вместе покорять Роблокс!