What I'm trying to do here is when a player takes an item that only they can see, a RemoteEvent is fired, and the server script makes the item go into the players backpack, therefore the player has a tool in their backpack on serverside.
Local Script
tweenservice = game:GetService("TweenService") player = game.Players.LocalPlayer local Mouse = player:GetMouse() local Item = nil local pos = nil local transp = nil local MaxDistance = 10 function onKeyPress(inputObject, gameProcessedEvent) if inputObject.KeyCode == Enum.KeyCode.E and Mouse.Target.Parent:FindFirstChild('ItemValue') then Item = Mouse.Target pos = Item.Position transp = Item.Transparency if Item.Parent.ItemValue.Value == true then local magnitude = (Item.Position - player.Character.HumanoidRootPart.Position).magnitude if magnitude <= MaxDistance then if player.PlayerGui:FindFirstChild("Inventory").Frame.SlotFrame.Slot20.ItemNameValue.Value == '' then Item.Parent.ItemValue.Value = false script.Sound:Play() local Info = TweenInfo.new(0.05) local Goal = {} Goal.CFrame = player.Character.HumanoidRootPart.CFrame local Tween = tweenservice:Create(Item,Info,Goal) Tween:Play() if Item:FindFirstChild("Sound") then Item.Sound:Play() else end Item.Position = pos Item.Transparency = transp wait(0.05) game.ReplicatedStorage.ItemToBackpack:FireServer(Item) else Item = nil print("Inventory full.") end end else end end end game:GetService("UserInputService").InputBegan:connect(onKeyPress)
Server Script
game.ReplicatedStorage.ItemToBackpack.OnServerEvent:Connect(function(player, Item) if Item.Parent:FindFirstChild("DroppedItem") then Item.CanCollide = false local ItemClone = game.Lighting[Item.Name]:Clone() ItemClone.Parent = player.Backpack ItemClone.LocalScript.Disabled = false Item.Parent:Destroy() game.ReplicatedStorage.ItemDestroy:FireServer(Item) print(Item.Name .. " Taken") else Item.Parent.ItemValue.Value = true local ItemClone = game.Lighting[Item.Name]:Clone() ItemClone.Parent = player.Backpack ItemClone.LocalScript.Disabled = false print(Item.Name .. " Taken") end end)
I've tried sending the variable "Item" through scripts, but it comes out as "Workspace.ItemToBackpack:2: attempt to index local 'Item' (a nil value)" I'm not that familiar with RemoteEvents and RemoteFunctions, so excuse me for my misunderstanding. Help would be appreciated!