Filexdoj

server Time resource

Mar 16th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.24 KB | None | 0 0
  1. -- Server
  2. function dataSending()
  3.     local serverTime = getRealTime()
  4.     local serverHours = serverTime.hour
  5.     triggerClientEvent("calculate:difference",source,serverHours)
  6. end
  7. addEventHandler("onPlayerJoin",getRootElement(),dataSending)
  8.  
  9. --Client
  10.  
  11. -- Declaring the variables
  12. local devScreenW, devScreenH = 1280, 800 -- Developer Screen W/H
  13. local ScreenW, ScreenH = guiGetScreenSize()
  14. local newScale = dxGetFontHeight(ScreenW / 15000, "default")
  15. local difference
  16. local dimensions = {
  17.   left = 1100 / devScreenW * ScreenW,
  18.   top = 10 / devScreenH * ScreenH,
  19.   right = 1270 / devScreenW * ScreenW,
  20.   bottom = 26 / devScreenH * ScreenH,
  21.   visible = true
  22. }
  23.  
  24. -- Claculating the difference between local and serverTime
  25. function calculateDifference(serverHour)
  26.   local localTime = getRealTime()
  27.   difference = serverHour - localTime.hour
  28. end
  29. addEvent("calculate:difference", true)
  30. addEventHandler("calculate:difference", getRootElement(), calculateDifference)
  31.  
  32. -- Drawing the clock
  33. function drawTime()
  34.   local localTime = getRealTime()
  35.   local time = string.format("%02d:%02d:%02d", localTime.hour + difference, localTime.minute, localTime.second)
  36.   text = "Real Time : " .. time
  37.   dxDrawText(
  38.     text,
  39.     dimensions["left"] + 1,
  40.     dimensions["top"] + 1,
  41.     dimensions["right"] + 1,
  42.     dimensions["bottom"] + 1,
  43.     tocolor(0, 0, 0, 255),
  44.     newScale,
  45.     "default",
  46.     "center",
  47.     "center",
  48.     false,
  49.     true,
  50.     true,
  51.     false,
  52.     false
  53.   )
  54.   dxDrawText(
  55.     text,
  56.     dimensions["left"],
  57.     dimensions["top"],
  58.     dimensions["right"],
  59.     dimensions["bottom"],
  60.     tocolor(255, 255, 255, 255),
  61.     newScale,
  62.     "default",
  63.     "center",
  64.     "center",
  65.     false,
  66.     true,
  67.     true,
  68.     false,
  69.     false
  70.   )
  71. end
  72. addEventHandler("onClientRender", getRootElement(), drawTime)
  73.  
  74. -- Adding /clock command to remove and readd the clock
  75. function hideOrShow()
  76.   if (dimensions["visible"] == true) then
  77.     removeEventHandler("onClientRender", getRootElement(), drawTime)
  78.     dimensions["visible"] = false
  79.   elseif (dimensions["visible"] == false) then
  80.     addEventHandler("onClientRender", getRootElement(), drawTime)
  81.     dimensions["visible"] = true
  82.   end
  83. end
  84. addCommandHandler("clock", hideOrShow)
Advertisement
Add Comment
Please, Sign In to add comment