Hello, I'm getting this error after attempting to make an Admin GUI that can get and edit values. In this one though, I'm trying to get the values and transfer it to the Admin GUI. But I keep getting error:

ServerScriptService.Script:9: attempt to call field 'GetStat' (a nil value)

  • Script 'Players.TheHige00.PlayerGui.Admin.MainMenu.EditCheckHandler', Line 18 Script 'ServerScriptService.Script', Line 9

Please help me fix, I don't understand what I did wrong.

Module Script in ServerScriptService

function datahandler.GetStats(plrname,stat)
	local value
	if stat == "Exp" then
		local success,errmsg = pcall(function()
			value = experience:GetAsync(plrname)
		end)
		if success then
			if value == nil then
				warn("Hmm... something didn't work. Maybe player not found?")
				return "Player not found"
			elseif value == "" or value == " " then
				warn("Hmm...something didn't work.")
				return "Error"
			else
				return value
			end
		end
	end
end

EditCheckHandler

local function onClickedEdit()
	Ad:InvokeServer(Username.Text,"Exp",EditEXP.Text)
end

local function OnClicked()
	local value = Ad:InvokeServer(GPUS.Text,"Exp",nil)
	EXP.Text = "EXP Stat: "..value
end

Confirm.MouseButton1Down:Connect(onClickedEdit)
ConfirmC.MouseButton1Down:Connect(OnClicked)

GUI Script (localscript)

local datahandler = require(game.ServerStorage.DataHandler)
local function ask(player)
	datahandler.CheckIfFirstTime(player.Name)
	datahandler.EditStats(player.Name,"Exp",100)
end

local function admin(_,user,stat,value)
	if value == nil then
		local a = datahandler.GetStat(user,stat)
		return a
	else
		local b = datahandler.EditStats(user,stat,value)
		return b
	end
end
game.ReplicatedStorage.ClSr.OnServerInvoke = ask
game.ReplicatedStorage.Admin.OnServerInvoke = admin