Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Roblox Studio Вопрос

Кирилл Кириллович Знаток (312), на голосовании 2 недели назад
Как сделать так чтобы с помощью клика на GUIButton (неважно какую кнопку) в Backpack игрока добавлялся tool из serverstorage
Голосование за лучший ответ
Mansyr Hilmi Мастер (2373) 1 месяц назад
Чтобы при клике на `GUIButton` в Roblox Studio игрок получал инструмент из `ServerStorage`, нужно использовать локальный скрипт для обработки клика и скрипт на сервере для передачи инструмента. Вот шаги, которые нужно выполнить:

1. **Создайте инструмент в `ServerStorage`:**
- Перейдите в `ServerStorage`.
- Создайте новый инструмент, назовите его, например, `MyTool`.

2. **Создайте GUI и кнопку:**
- Перейдите в `StarterGui`.
- Создайте `ScreenGui` и добавьте в него `TextButton`.

3. **Добавьте локальный скрипт к кнопке:**
- Внутри `TextButton` добавьте локальный скрипт (LocalScript).
- Напишите следующий код:

```lua
local button = script.Parent
local player = game.Players.LocalPlayer

button.MouseButton1Click:Connect(function()
game.ReplicatedStorage.GiveTool:FireServer()
end)
```

4. **Создайте RemoteEvent:**
- Перейдите в `ReplicatedStorage`.
- Создайте `RemoteEvent` и назовите его `GiveTool`.

5. **Добавьте скрипт на сервер:**
- В `ServerScriptService` создайте новый скрипт.
- Напишите следующий код:

```lua
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerStorage = game:GetService("ServerStorage")
local GiveTool = ReplicatedStorage:WaitForChild("GiveTool")

GiveTool.OnServerEvent:Connect(function(player)
local tool = ServerStorage:FindFirstChild("MyTool")
if tool then
local clonedTool = tool:Clone()
clonedTool.Parent = player.Backpack
end
end)
```

Теперь, когда игрок нажимает на кнопку, инструмент из `ServerStorage` будет добавлен в его `Backpack`. Не забудьте проверить, что все названия совпадают и нет опечаток.
Похожие вопросы