我有一个数据库,其总游戏时间以秒为单位。我想从数据库中获取这些秒,以秒为单位添加当前会话播放时间,然后更新数据库。
这应该每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)
答案 0 :(得分:1)
我
currentSession
+totalTimePlayedDB
它会不断添加当前的完整持续时间
您只需要计算上次保存时间的差值。
在你的初始代码中:
lastSaveTime = 0
在保存例程中:
totalTimePlayedDB = totalTimePlayedDB + currentSession - lastSaveTime
if (totalTimePlayedDB is written to the database successfully) then
lastSaveTime = currentSession
end