Timer isn't working.

I found this timer which gives people extra scrap metal for golden forge but it doesn’t work for my server. Can somebody tell me what is wrong? also, I am using ULX

timer.Create( "gsmem", 180, 0, function()
    for k, v in pairs(GF.GetPlayers()) do
        if v:IsDonator() or v:IsSuperAdmin() then
            v:GiveScrapMetal(20, "Thanks for donating, you receive 20 scrap metal every 3 minutes")
            v:GiveScrapMetal(5, "Thanks for playing, you recieve 5 crap metal every 3 minutes!")

is GF.GetPlayers() a valid function? If not, replace it with player.GetAll() if you want it to give scrap metal to every player.

are the groups for ULX?