I have a basic concept of a game where when you touch a coin a remote event fires and you get cash. The problem I am having is I am unable to see what level coin the client touched. To fix this problem I am sending the coins level through a parameter on a remote event. Is this safe? If not what are other ways to go about this?
for _,Coin in pairs(Coins) do
Coin.Touched:Connect(function(hit)
local humanoid = game.Players:GetPlayerFromCharacter(hit.Parent)
if humanoid then
if not db then
db = true
local tag = CollectionService:GetTagged(Coin)
Coin.Transparency = 0
Remotes.CoinTouched:FireServer(tag[2])
wait()
for i = 0,1,0.076923076 do
Coin.Transparency = i
wait()
end
end
wait(1)
Coin.Transparency = 0
db = false
end
end)
end
There’s a tool that will not be named that a lot of exploiters use to intercept remote events and see traffic that is sent through them, as for changing the data as it’s being sent or received, I’m not exactly sure if it can do that, but I wouldn’t put it past the tool if it is possible
Exploiters can read client events from RemoteEvents. They can also send data to the server via those RemoteEvents and just spoof whatever data is being sent by copying and modifying what your scripts send.
This is why its commonly said not to trust the client when you recieve data from it.