Скрипт для кнопки открытия
local button = script.Parent -- Сама кнопка
local shopFrame = button.Parent:WaitForChild("Frame") -- Ссылка на окно магазина
button.MouseButton1Click:Connect(function()
-- Переключает видимость окна (если открыто — закроет, если закрыто — откроет)
shopFrame.Visible = not shopFrame.Visible
end)
Закрытие
local closeButton = script.Parent
local shopFrame = closeButton.Parent
closeButton.MouseButton1Click:Connect(function()
shopFrame.Visible = false
end)
Для кнопки покупки
local button = script.Parent
local replicatedStorage = game:GetService("ReplicatedStorage")
local event = replicatedStorage:WaitForChild("BuyItemEvent")
button.MouseButton1Click:Connect(function()
-- Отправляем сигнал на сервер, что мы хотим купить "Sword"
event:FireServer("Sword")
end)
Скрипт в ServerScriptService
local replicatedStorage = game:GetService("ReplicatedStorage")
local event = replicatedStorage:WaitForChild("BuyItemEvent")
event.OnServerEvent:Connect(function(player, itemName)
-- Ищем предмет в ReplicatedStorage
local item = replicatedStorage:FindFirstChild(itemName)
if item then
-- Проверяем, нет ли уже такого предмета у игрока (в руках или в рюкзаке)
if not player.Backpack:FindFirstChild(itemName) and not player.Character:FindFirstChild(itemName) then
-- Клонируем предмет и отдаем игроку
local itemClone = item:Clone()
itemClone.Parent = player.Backpack
print(player.Name .. " купил " .. itemName)
else
print("У игрока уже есть этот предмет")
end
end
end)