the error script (its receiving remote script)t:
game.ReplicatedStorage.Remote.OnServerEvent:Connect(function(falls, item, plr)
print(falls)
print(item)
print(plr)
if game.Players:FindFirstChild(plr).leaderstats["???????"].Value == falls then
game.ReplicatedStorage.items:FindFirstChild(item):Clone().Parent = game.Players:FindFirstChild(plr).Backpack
elseif game.Players:FindFirstChild(plr).leaderstats["???????"].Value > falls then
game.ReplicatedStorage.items:FindFirstChild(item):Clone().Parent = game.Players:FindFirstChild(plr).Backpack
else
plr:Kick("????????: false")
end
end)
now the sending script
script.Parent.MouseButton1Click:Connect(function()
if game.Players.LocalPlayer.leaderstats["???????"].Value == script.Parent.falls.Value then
workspace.alert:Play()
game.ReplicatedStorage.Remote:FireServer(script.Parent.falls.Value,
script.Parent.item.Value, game.Players.LocalPlayer.Name)
elseif game.Players.LocalPlayer.leaderstats["???????"].Value > script.Parent.falls.Value
then
workspace.alert:Play()
game.ReplicatedStorage.Remote:FireServer(script.Parent.falls.Value,
script.Parent.item.Value, game.Players.LocalPlayer.Name)
end
end)
if anyone could help that would be great

3 comments
First of all, you shouldn't trust the client. Second of all, Events in general don't support tuples, so you have to send dictionaries instead. Third of all, the first argument of a OnServerEvent is the player that sent it, so you don't have to specify the player from the client.
I'm not sure about the "not supporting tuples" part, but in my experience, it doesn't work that way.
thanks