Problem with stand values

  1. What do you want to achieve? Keep it simple and clear!
    I want to make a stand value so it saves, I made the player have an IntValue in their player folder
  2. What is the issue? Include screenshots / videos if possible!
    Well, Whenever the IntValue changes to another number its supposed to do something else and clone a script to the player’s char. But the problem is: It doesnt do that.
    It keeps doing the value 1 function for some reason, How do i fix this??
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    Well i tried changing some stuff but it gave me the same result!

Also i made it print something to know which fired but it kept firing the same one

game.ReplicatedStorage.GiveStand.OnServerEvent:Connect(function(plr)
	local char = plr.Character
	local data = plr:WaitForChild("StandData")
	if data.Value == 1 then
		print("Standless")
	elseif data.Value == 2 then
		local scriptclone = workspace.Scripts.TW:Clone()
		scriptclone.Parent = char
	elseif data.Value == 3 then
		local gescript = workspace.Scripts.GE:Clone()
		gescript.Parent = char
	end
end)

This is the script im using, It fires every time someone uses an arrow or spawn in.