Admin gui Changing leaderstats

I’m trying to make a gui that changes/adds players leaderstats.
Local script:

--REMOVE CUZ IM NOT DONE
--SSS and adder is the thing i need to complete
rm = game.ReplicatedStorage.Admin
settin = 1
function onClicked()
	plr = script.Parent.Parent.Parent.Panel.Values.PLAYER.Text
	Set = script.Parent.Parent.Parent.Panel.Values.Set.Text
	Add = script.Parent.Parent.Parent.Panel.Values.Add.Text
	rm:FireServer(plr,settin,Set,Add)
end
script.Parent.MouseButton1Click:connect(onClicked)

Server Script:

rm = game.ReplicatedStorage.Admin
--1 = 2x
--2 = add
--3 = set
local function doit(plr,settin,Set,Add)
	if settin == 1 then
		game.Players[plr].leaderstats["Total XP"].Value = game.Players[plr].leaderstats["Total XP"].Value * 2
	elseif settin == 2 then
		game.Players[plr].leaderstats["Total XP"].Value = game.Players[plr].leaderstats["Total XP"].Value + tonumber(Add)
	elseif settin == 3 then
		game.Players[plr].leaderstats["Total XP"].Value = tonumber(Set)
	else
		print(settin)
	end
end
rm.OnServerEvent:Connect(doit)

It’s saying that “settin” is my user???
Also, I’ve got no clue if the rest of this works.

The first variable in a Server Event is the player that fired it. Therefore, add another variable like “player” or something else before the “plr” variable in the “doit” function. This should solve the problem.

Yep, that worked, thanks I didn’t know that.