light mode fix

This commit is contained in:
hydrant
2020-05-05 19:35:13 +02:00
parent 1b140a6119
commit 3618f2074e
3 changed files with 18 additions and 12 deletions

View File

@@ -10,12 +10,16 @@ export default function (globalData: IGlobalData): void {
var localPlayer: PlayerMp = mp.players.local; var localPlayer: PlayerMp = mp.players.local;
mp.events.add('SERVER:Login_ShowBrowser', (registered) => { var disableLightMode: boolean = false;
mp.events.add('SERVER:Login_ShowBrowser', (registered, disableLight) => {
mp.gui.cursor.show(true, true); mp.gui.cursor.show(true, true);
mp.gui.chat.show(false); mp.gui.chat.show(false);
mp.game.ui.displayHud(false); mp.game.ui.displayHud(false);
mp.game.ui.displayRadar(false); mp.game.ui.displayRadar(false);
disableLightMode = disableLight;
var url = registered ? "package://assets/html/login/login.html" : "package://assets/html/login/register.html"; var url = registered ? "package://assets/html/login/login.html" : "package://assets/html/login/register.html";
loginBrowser = mp.browsers.new(url); loginBrowser = mp.browsers.new(url);
@@ -31,15 +35,7 @@ export default function (globalData: IGlobalData): void {
mp.events.add('CEF:Login_RequestPlayerName', () => { mp.events.add('CEF:Login_RequestPlayerName', () => {
if (loginBrowser) { if (loginBrowser) {
// 5:30 - 21:00 if (disableLightMode) {
var time = mp.game.time.getLocalTime(0, 0, 0, 0, 0, 0);
var date: Date = new Date(time.year, time.month, time.day, time.hour, time.minute, time.second);
var from: Date = new Date(time.year, time.month, time.day, 5, 30, 0);
var to: Date = new Date(time.year, time.month, time.day, 21, 0, 0);
mp.gui.chat.push(JSON.stringify(time));
if (!(date > from && date < to)) { // in Zeitspanne um Light-Modus auszumachen
loginBrowser.execute("disableLightMode();"); loginBrowser.execute("disableLightMode();");
} }

View File

@@ -3,6 +3,7 @@ using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database; using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
@@ -18,6 +19,9 @@ namespace ReallifeGamemode.Server.Events
{ {
class Connect : Script class Connect : Script
{ {
private readonly TimeSpan LightModeTimeFrom = new TimeSpan(5, 30, 0);
private readonly TimeSpan LightModeTimeTo = new TimeSpan(21, 00, 0);
[ServerEvent(Event.PlayerConnected)] [ServerEvent(Event.PlayerConnected)]
public void OnPlayerConnected(Player player) public void OnPlayerConnected(Player player)
{ {
@@ -53,10 +57,12 @@ namespace ReallifeGamemode.Server.Events
player.TriggerEvent("CLIENT:PlaySound", "music/login", "mp3", 20); player.TriggerEvent("CLIENT:PlaySound", "music/login", "mp3", 20);
}, delayTime: 1000); }, delayTime: 1000);
player.TriggerEvent("SERVER:Login_ShowBrowser", registered); TimeSpan currentTime = TimeManager.CurrentTime;
bool disableLightMode = currentTime > LightModeTimeFrom && currentTime < LightModeTimeTo;
player.TriggerEvent("SERVER:Login_ShowBrowser", registered, disableLightMode);
string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID: " + player.Handle.Value + "] (" + player.Address + ")"; string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID: " + player.Handle.Value + "] (" + player.Address + ")";
ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN); ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN);
} }
private bool IsPlayerBanned(Player player) private bool IsPlayerBanned(Player player)

View File

@@ -10,6 +10,8 @@ namespace ReallifeGamemode.Server.Managers
{ {
private static Timer realTimeTimer; private static Timer realTimeTimer;
public static TimeSpan CurrentTime { get; private set; }
public static void StartTimeManager() public static void StartTimeManager()
{ {
if (realTimeTimer == null) if (realTimeTimer == null)
@@ -24,11 +26,13 @@ namespace ReallifeGamemode.Server.Managers
public static void PauseTimeManager() public static void PauseTimeManager()
{ {
realTimeTimer.Stop(); realTimeTimer.Stop();
CurrentTime = DateTime.Now.TimeOfDay;
} }
private static void SetTime(object sender, ElapsedEventArgs args) private static void SetTime(object sender, ElapsedEventArgs args)
{ {
DateTime now = DateTime.Now; DateTime now = DateTime.Now;
CurrentTime = now.TimeOfDay;
NAPI.World.SetTime(now.Hour, now.Minute, now.Second); NAPI.World.SetTime(now.Hour, now.Minute, now.Second);
} }
} }