From 4835300088658285aee52ff8187bd597a895caa4 Mon Sep 17 00:00:00 2001 From: 0Programmer <60280452+0Programmer@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:54:33 +0100 Subject: [PATCH 1/2] feat(playerBlackOut): Allow toggle server wide or player only blackouts --- client/weather.lua | 9 +++++++++ server/weather.lua | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/client/weather.lua b/client/weather.lua index fdedfbf..d9e2796 100644 --- a/client/weather.lua +++ b/client/weather.lua @@ -84,6 +84,14 @@ AddStateBagChangeHandler('blackOut', 'global', function(_, _, value) SetArtificialLightsStateAffectsVehicles(false) end) +AddStateBagChangeHandler('playerBlackOut', ('player:%s'):format(cache.serverId), function(_, _, value) + if type(value) == 'boolean' then + SetArtificialLightsState(value) + end + + SetArtificialLightsStateAffectsVehicles(false) +end) + CreateThread(function () while not NetworkIsSessionStarted() do -- Possible fix for slow clients Wait(100) @@ -94,6 +102,7 @@ CreateThread(function () setWeather(true) playerState.syncWeather = true + playerState.playerBlackOut = false playerState.playerWeather = 'EXTRASUNNY' -- set blackout to the same state as server has diff --git a/server/weather.lua b/server/weather.lua index 97994ec..0801851 100644 --- a/server/weather.lua +++ b/server/weather.lua @@ -90,6 +90,22 @@ lib.addCommand('blackout', { GlobalState.blackOut = not GlobalState.blackOut end) +lib.addCommand('blackout', { + help = 'Toggle server wide or player only blackout', + restricted = 'group.admin', + params = { + { name = 'target', type = 'playerId', help = 'Target player\'s server id', optional = true }, + } +}, function(source, args) + if not args.target then + GlobalState.blackOut = not GlobalState.blackOut + else + local playerState = Player(args.target) + if not playerState then return end + playerState.state:set('playerBlackOut', not playerState.state?.playerBlackOut, true) + end +end) + -- Scheduled restart -- if useScheduledWeather then AddEventHandler('txAdmin:events:scheduledRestart', function(eventData) From df6368f3d356606a2704ddbb28d351310de470bf Mon Sep 17 00:00:00 2001 From: 0Programmer <60280452+0Programmer@users.noreply.github.com> Date: Thu, 4 Dec 2025 17:22:04 +0100 Subject: [PATCH 2/2] chore: remove old blackout command --- server/weather.lua | 7 ------- 1 file changed, 7 deletions(-) diff --git a/server/weather.lua b/server/weather.lua index 0801851..9de16f5 100644 --- a/server/weather.lua +++ b/server/weather.lua @@ -83,13 +83,6 @@ lib.addCommand('weather', { TriggerClientEvent('Renewed-Weather:client:viewWeatherInfo', source, weatherList) end) -lib.addCommand('blackout', { - help = 'Enable or disable the power blackout', - restricted = 'group.admin', -}, function() - GlobalState.blackOut = not GlobalState.blackOut -end) - lib.addCommand('blackout', { help = 'Toggle server wide or player only blackout', restricted = 'group.admin',