diff --git a/scripts/client/core.js b/scripts/client/core.js index 3997e9a8..2fb68155 100644 --- a/scripts/client/core.js +++ b/scripts/client/core.js @@ -109,6 +109,7 @@ let localPlayerMoneyInterval = null; let currencyString = "${AMOUNT}"; let mapChangeWarning = false; +let mapChangeToNight = false; let cruiseControlEnabled = false; let cruiseControlSpeed = 0.0; diff --git a/scripts/client/event.js b/scripts/client/event.js index 10ab468f..d38cc572 100644 --- a/scripts/client/event.js +++ b/scripts/client/event.js @@ -162,6 +162,7 @@ function onDrawnHUD(event) { processCustomHUDRendering(); processCameraFadeRendering(); processJobLocationIndicatorRendering(); + processMapChangeWarning(); } // =========================================================================== diff --git a/scripts/client/netevents.js b/scripts/client/netevents.js index 2eba3781..5cfd6021 100644 --- a/scripts/client/netevents.js +++ b/scripts/client/netevents.js @@ -110,7 +110,7 @@ function addAllNetworkHandlers() { addNetworkEventHandler("v.rp.changePassword", showChangePasswordGUI); addNetworkEventHandler("v.rp.showLocaleChooser", showLocaleChooserGUI); addNetworkEventHandler("v.rp.guiColour", setGUIColours); - addNetworkEventHandler("v.rp.mapChangeWarning", setMapChangeWarningState); + addNetworkEventHandler("v.rp.mapChangingSoon", setMapChangeWarningState); // 2D Rendering addNetworkEventHandler("v.rp.set2DRendering", set2DRendering); @@ -473,8 +473,9 @@ function receiveCurrencyStringFromServer(newCurrencyString) { // =========================================================================== -function setMapChangeWarningState(state) { +function setMapChangeWarningState(state, changeToNight) { mapChangeWarning = state; + mapChangeToNight = changeToNight; } // =========================================================================== diff --git a/scripts/client/utilities.js b/scripts/client/utilities.js index 175479bb..15dbc5e0 100644 --- a/scripts/client/utilities.js +++ b/scripts/client/utilities.js @@ -609,4 +609,16 @@ function fixOffScreenPosition(position, margin = toVector2(0.0, 0.0)) { } return position; -} \ No newline at end of file +} + +// =========================================================================== + +function processMapChangeWarning() { + if (mapChangeWarning == false) { + return false; + } + + smallGameMessageFonts["AuroraBdCnBT"].render(`Map is changing to ${(mapChangeToNight) ? "night" : "day"} soon!`, [0, game.height - 90], game.width, 0.5, 0.0, smallGameMessageFonts["AuroraBdCnBT"].size, getColourByName("yellow"), true, true, false, true); +} + +// =========================================================================== \ No newline at end of file diff --git a/scripts/server/timers.js b/scripts/server/timers.js index 637ff928..7976afa7 100644 --- a/scripts/server/timers.js +++ b/scripts/server/timers.js @@ -245,17 +245,16 @@ function checkServerGameTime() { if (getGame() == V_GAME_MAFIA_ONE) { if (getGameConfig().mainWorldScene[getGame()] == "FREERIDE") { - if (isServerGoingToChangeMapsSoon(getServerConfig().hour, getServerConfig().minute)) { - sendMapChangeWarningToPlayer(null, true); - } + //if (isServerGoingToChangeMapsSoon(getServerConfig().hour, getServerConfig().minute)) { + // sendMapChangeWarningToPlayer(null, true); + //} if (isNightTime(getServerConfig().hour)) { logToConsole(LOG_INFO | LOG_WARN, `[V.RP.Timers] Changing server map to night`); messageDiscordEventChannel("🌙 Changing server map to night"); getGameConfig().mainWorldScene[getGame()] = "FREERIDENOC"; if (!serverStarting) { - removeAllPlayersFromProperties(); - removeAllPlayersFromVehicles(); + kickAllClients(); saveServerDataToDatabase(); despawnAllServerElements(); } @@ -267,17 +266,16 @@ function checkServerGameTime() { } } } else if (getGameConfig().mainWorldScene[getGame()] == "FREERIDENOC") { - if (isServerGoingToChangeMapsSoon(getServerConfig().hour, getServerConfig().minute)) { - sendMapChangeWarningToPlayer(null, true); - } + //if (isServerGoingToChangeMapsSoon(getServerConfig().hour, getServerConfig().minute)) { + // sendMapChangeWarningToPlayer(null, true); + //} if (!isNightTime(getServerConfig().hour)) { logToConsole(LOG_INFO | LOG_WARN, `[V.RP.Timers] Changing server map to day`); messageDiscordEventChannel("🌞 Changing server map to day"); getGameConfig().mainWorldScene[getGame()] = "FREERIDE"; if (!serverStarting) { - removeAllPlayersFromProperties(); - removeAllPlayersFromVehicles(); + kickAllClients(); saveServerDataToDatabase(); despawnAllServerElements(); } diff --git a/scripts/shared/utilities.js b/scripts/shared/utilities.js index 4da0d25f..2c4d5f17 100644 --- a/scripts/shared/utilities.js +++ b/scripts/shared/utilities.js @@ -7,6 +7,14 @@ // TYPE: Shared (JavaScript) // =========================================================================== +let dayHourStart = 6; +let dayMinuteStart = 0; +let dayMinuteWarningStart = 5; + +let nightHourStart = 18; +let nightMinuteStart = 0; +let nightMinuteWarningStart = 5; + let emojiNumbers = ["➊", "➋", "➌", "➍", "➎", "➏", "➐", "➑", "➒"]; //let emojiNumbers = ["①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨"]; //let emojiNumbers = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣"]; @@ -3244,11 +3252,11 @@ function isNightTime(hour) { function isServerGoingToChangeMapsSoon(hour, minute) { if (server.mapName == "FREERIDENOC") { - if (hour == 6 && minute >= 30) { - return true + if (hour == dayHourStart && minute < (dayMinuteStart - dayMinuteWarningStart)) { + return true; } } else if (server.mapName == "FREERIDE") { - if (hour == 18 && minute >= 30) { + if (hour == dayHourStart && minute < (nightMinuteStart - nightMinuteWarningStart)) { return true; } }