Ваш скрипт имеет несколько ошибок и недочетов. Давайте исправим их и добавим недостающие части:
itemPath содержит строку, которая не используется для поиска в ReplicatedStorage. Вам нужно использовать прямой путь к объекту в ReplicatedStorage.
Добавим проверку на существование предмета в ReplicatedStorage.
Проверим правильное использование UserInputService и его подключения.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
-- Указываем правильный путь к предмету
local itemPath = ReplicatedStorage:WaitForChild("Item")
-- Функция, которая выполняется при нажатии клавиши
local function onKeyPress(input, gameProcessedEvent)
-- Проверяем, что клавиша "G" была нажата и событие не было обработано игрой
if input.KeyCode == Enum.KeyCode.G and not gameProcessedEvent then
local player = Players.LocalPlayer
-- Проверяем, существует ли игрок и его рюкзак
if player and player:FindFirstChild("Backpack") then
-- Проверяем, существует ли предмет в ReplicatedStorage
if itemPath then
local itemClone = itemPath:Clone()
itemClone.Parent = player.Backpack
else
warn("Item not found in ReplicatedStorage")
end
end
end
end
-- Подключаем функцию к событию нажатия клавиши
UserInputService.InputBegan:Connect(onKeyPress)