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`. Не забудьте проверить, что все названия совпадают и нет опечаток.