Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1. CurrentWeather = 'EXTRASUNNY'
  2. local lastWeather = CurrentWeather
  3. local baseTime = 0
  4. local timeOffset = 0
  5. local timer = 0
  6. local freezeTime = false
  7. local blackout = false
  8.  
  9. local disable = false
  10.  
  11. RegisterNetEvent('mythic_base:client:Logout')
  12. AddEventHandler('mythic_base:client:Logout', function()
  13. disable = true
  14. end)
  15.  
  16. RegisterNetEvent('mythic_base:client:CharacterSpawned')
  17. AddEventHandler('mythic_base:client:CharacterSpawned', function()
  18. disable = false
  19. TriggerServerEvent('mythic_sync:server:RequestStateSync')
  20. end)
  21.  
  22. RegisterNetEvent('mythic_sync:client:EnableSync')
  23. AddEventHandler('mythic_sync:client:EnableSync', function()
  24. disable = false
  25. TriggerServerEvent('mythic_sync:server:RequestStateSync')
  26. SetRainFxIntensity(-1.0)
  27. end)
  28.  
  29. RegisterNetEvent('mythic_sync:client:DisableSync')
  30. AddEventHandler('mythic_sync:client:DisableSync', function()
  31. disable = true
  32.  
  33. Citizen.CreateThread(function()
  34. while disable do
  35. SetRainFxIntensity(0.0)
  36. SetWeatherTypePersist('EXTRASUNNY')
  37. SetWeatherTypeNow('EXTRASUNNY')
  38. SetWeatherTypeNowPersist('EXTRASUNNY')
  39. NetworkOverrideClockTime(23, 0, 0)
  40. Citizen.Wait(5000)
  41. end
  42. end)
  43. end)
  44.  
  45. RegisterNetEvent('mythic_sync:client:SyncTime')
  46. AddEventHandler('mythic_sync:client:SyncTime', function(base, offset, freeze)
  47. freezeTime = freeze
  48. timeOffset = offset
  49. baseTime = base
  50. end)
  51.  
  52. RegisterNetEvent('mythic_sync:client:SyncWeather')
  53. AddEventHandler('mythic_sync:client:SyncWeather', function(NewWeather, newblackout)
  54. CurrentWeather = NewWeather
  55. blackout = newblackout
  56. end)
  57.  
  58. Citizen.CreateThread(function()
  59. local hour = 0
  60. local minute = 0
  61. while true do
  62. Citizen.Wait(1)
  63. if not disable then
  64. local newBaseTime = baseTime
  65. if GetGameTimer() - 500 > timer then
  66. newBaseTime = newBaseTime + 0.25
  67. timer = GetGameTimer()
  68. end
  69. if freezeTime then
  70. timeOffset = timeOffset + baseTime - newBaseTime
  71. end
  72. baseTime = newBaseTime
  73. hour = math.floor(((baseTime+timeOffset)/60)%24)
  74. minute = math.floor((baseTime+timeOffset)%60)
  75. NetworkOverrideClockTime(hour, minute, 0)
  76. end
  77. end
  78. end)
  79.  
  80. Citizen.CreateThread(function()
  81. while true do
  82. if not disable then
  83. if lastWeather ~= CurrentWeather then
  84. lastWeather = CurrentWeather
  85. SetWeatherTypeOverTime(CurrentWeather, 15.0)
  86. Citizen.Wait(15000)
  87. end
  88. Citizen.Wait(100) -- Wait 0 seconds to prevent crashing.
  89. SetBlackout(blackout)
  90. ClearOverrideWeather()
  91. ClearWeatherTypePersist()
  92. SetWeatherTypePersist(lastWeather)
  93. SetWeatherTypeNow(lastWeather)
  94. SetWeatherTypeNowPersist(lastWeather)
  95. if lastWeather == 'XMAS' then
  96. SetForceVehicleTrails(true)
  97. SetForcePedFootstepsTracks(true)
  98. else
  99. SetForceVehicleTrails(false)
  100. SetForcePedFootstepsTracks(false)
  101. end
  102. else
  103. Citizen.Wait(1000)
  104. end
  105. end
  106. end)
  107.  
  108. Citizen.CreateThread(function()
  109. TriggerEvent('chat:addSuggestion', '/weather', 'Change the weather.', {{ name="weatherType", help="Available types: extrasunny, clear, neutral, smog, foggy, overcast, clouds, clearing, rain, thunder, snow, blizzard, snowlight, xmas & halloween"}})
  110. TriggerEvent('chat:addSuggestion', '/time', 'Change the time.', {{ name="hours", help="A number between 0 - 23"}, { name="minutes", help="A number between 0 - 59"}})
  111. TriggerEvent('chat:addSuggestion', '/freezetw', 'Freeze / unfreeze time or weather.', {{ name="type", help="weather or time"}})
  112. TriggerEvent('chat:addSuggestion', '/blackout', 'Toggle blackout mode.')
  113. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement