Top.Mail.Ru
Ответы

Помощь роблокс студио

хочу сделать выдачу предметы по нажатию кнопки, написал скрипт, но ничего не работает

local Tool = game:GetService('ReplicatedStorage'):WaitForChild('GreenBalloon')
local Players = game:GetService('Players')
local player = Players:GetPlayerFromCharacter()

script.Parent.MouseButton1Click:Connect(function(plr)
if player.Backpack:FindFirstChild( Tool.Name ) or player.Character:FindFirstChild( Tool.Name ) then
return
else
Tool:Clone().Parent = player.Backpack
end
end)

что делать?

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Знаток
5мес

Вот исправленный скрипт для выдачи предмета по нажатию кнопки в Roblox Studio:
local Tool = game:GetService('ReplicatedStorage'):WaitForChild('GreenBalloon')
local Players = game:GetService('Players')

script.Parent.MouseButton1Click:Connect(function()
local player = Players.LocalPlayer -- Получаем локального игрока
if player.Backpack:FindFirstChild( Tool.Name ) or player.Character:FindFirstChild( Tool.Name ) then
return
else
Tool:Clone().Parent = player.Backpack
end
end)
Объяснение изменений:

Получение игрока: В оригинальном коде player не был правильно инициализирован. Я изменила local player = Players:GetPlayerFromCharacter() на local player = Players.LocalPlayer, чтобы получить локального игрока, который нажал на кнопку.

Использование LocalPlayer: LocalPlayer доступен только на клиенте, поэтому этот код должен быть выполнен в локальном скрипте (например, в StarterPlayerScripts или StarterGui).