Help with client based item collection

Hello, I want to make a collection system but I want it so that clients has their own sets of items to collect, example: a player can collect an item but it wouldn’t be gone for other players. If I make the player spawn the item then there would be no validation, how would I make it so that the server can validate if the item exists? or other way to go around this?

Have the item on the server, when the player touches it, the part gets destroyed on their client, and they are unable to get it again. (check on server if player has the item)

I have thought about that but the thing is I will have a lot of items and putting it in the server will cause much lag, I plan on having the client a Zone system where items will only spawn if theyre in certain Zones

You can probably do that from the server as well. I’m suggesting this because I’m more concerned about the anticheat on your game since many survival games have exploiters. If you make the objects on the client, it is likely an exploiter could make an “autocollect” system.

How would you do it on the server? And yes I’m asking ways to get around this because of exploits

A ton of parts won’t cause lag if they are anchored.

You can have the .Touched connection on the server that checks if the client already has the iten or not. (This could be stored in a variable, boolvalue, attribute…)

Then you give the item to the player.

If you are worried about .Touched causing lag, you could try proximity prompts (e circle feature)

The removal of the object on the client is purely aesthetic then.

1 Like