将当前时间添加到播放的总时间

时间:2014-08-18 18:12:58

标签: time lua

我有一个数据库,其总游戏时间以秒为单位。我想从数据库中获取这些秒,以秒为单位添加当前会话播放时间,然后更新数据库。 这应该每5秒发生一次。我已经这样做了,但是因为我currentSession + totalTimePlayedDB它一直在反复添加当前会话的完整持续时间 ...有什么想法吗?

local currentPlayTime = player:TimeConnected()
print(math.Round(currentPlayTime))
local playerValues = MySQLite.queryValue([[SELECT time FROM chiz_time WHERE sid=']].. player:SteamID() ..[[']], function(time)
    if time == "" then 
        time = math.Round(currentPlayTime)

        else
            time = math.Round(time + time - currentPlayTime )
    end

    MySQLite.query([[UPDATE chiz_time SET time = ']].. time ..[[' WHERE sid=']].. player:SteamID() ..[[']])     
end)

1 个答案:

答案 0 :(得分:1)

  

currentSession + totalTimePlayedDB它会不断添加当前的完整持续时间

您只需要计算上次保存时间的差值。

在你的初始代码中:

lastSaveTime = 0

在保存例程中:

totalTimePlayedDB = totalTimePlayedDB + currentSession - lastSaveTime
if (totalTimePlayedDB is written to the database successfully) then
   lastSaveTime = currentSession
end