[IGS] Как сделать команду, выдающую деньги?

Как сделать команду “/dengi”, которая будет выдавать донат валюту за наигранное время 1 раз?
т.е, если игрок прописывает /dengi, но он не наиграл условных 10 часов на сервере, то донат валюту не получит. Как промокод, только команда с проверкой кол-ва наигранного времени.

if not sql.TableExists('igs.freemoney') then
    sql.Query('CREATE TABLE igs.freemoney (steamid VARCHAR(40), date INTEGER)')
end

hook.Add('PlayerSay', 'babosiki', function(ply, text)
    if text ~= '/dengi' then return end
    if ply:GetUTimeTotalTime() < 10*60*60 then
        DarkRP.notify(ply, 1, 5, 'Для получения подарка нужно наиграть 10 часов')
        return ''
    end
    
    if ply.claimedfreemoney then
        DarkRP.notify(ply, 1, 5, 'Ты уже забрал подарок')
        return ''
    else
        local d = sql.Query('SELECT * FROM igs.freemoney WHERE steamid = "'..ply:SteamID()..'"')
        
        if d and d[1] then
            ply.claimedfreemoney = true
            DarkRP.notify(ply, 1, 5, 'Ты уже забрал подарок')
            return ''
        end
        
        sql.Query('INSERT INTO igs.freemoney (steamid, date) VALUES("'..ply:SteamID()..'", '..os.time()..')')
        ply.claimedfreemoney = true
        ply:AddIGSFunds(10)
        DarkRP.notify(ply, 0, 10, 'Ты получил 10р в подарок за игру на сервере!')
        return ''
    end
end)

Выдаёт ошибку при попытке вызвать метод GetUTimeTotalTime()

Установи UTime

пасиба

Как сделать тоже самое, только для сап сборки, без использования UTime?

Я не знаю, как на твоей “сап сборке” идет учет наигранного у игроков времени. Замени функцию из ютайма на аналогичную с сапа и проверь на наличие десяти наигранных часов