Math.random keep on giving me the same thing

Generate a random number within the callback you pass to RemoteEvent.OnClientEvent, so that a random object is selected from the array each time - in its current working, only a random object will be selected at the beginning and when the callback executes, the same object would be cloned each time the event fires unless the math.random call at the beginning runs again to produce a different result.

In short: move this line

local chosenPet = rfolder[math.random(1, #rfolder)]

to after this line

game.ReplicatedStorage.RemoteEvent.OnClientEvent:Connect(function()
3 Likes