Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

ServerScriptService attempt to call field 'GetStat' (a nil value)?

Asked by 4 years ago

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

Answer this question