Error:
19:21:08.240 - ServerScriptService.Shop:4: attempt to index local 'price' (a number value)
Local:
local plr = game.Players.LocalPlayer
local price = script.Parent.Price
script.Parent.Item.Changed:Connect(function()
script.Parent.Parent.Info.Item.Text = script.Parent.Item.Value
script.Parent.Parent.Info.Price.Text = "Price: "..script.Parent.Price.Value
end)
script.Parent.Parent.Info.TextButton.MouseButton1Click:Connect(function()
if plr.leaderstats.Money.Value >= script.Parent.Price.Value then
local func = game.ReplicatedStorage.BuyRequest:InvokeServer(price.Value)
if func == "Bought" then
script.Parent.Parent.Info.TextButton.Text = "Bought!"
end
else
script.Parent.Parent.Info.TextButton.Text = "Lamo, Not Enough Money"
end
end)
Server:
game.ReplicatedStorage.BuyRequest.OnServerInvoke =function(plr, price)
local money = game.Players:FindFirstChild(plr.Name).leaderstats.Money
money.Value = money.Value-price.Value
return "Bought"
end
Im trying to send the player and a number value through a remote function.

2 comments
Your remotes are VERY insecure. You should be checking if they have enough money on the server.
Additionally, why are you doing game.Players:FindFirstChild(plr.Name) when the player object is literally being handed to you?