Improved tuning, reimplemented /time (use /time -1 to resume time manager)
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
|
||||
var keyBound = false;
|
||||
|
||||
var disableInput = [75, 278, 279, 280, 281, 23, 59, 60, 71, 72, 74];
|
||||
|
||||
var carModTypes = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 22, 25, 27, 28, 33, 34, 35, 38, 39, 40, 41, 42, 43, 44, 46, 48, 69];
|
||||
|
||||
var carModSlotName = [
|
||||
@@ -119,6 +121,10 @@ mp.events.add('hideTuningInfo', (unbind) => {
|
||||
mp.game.ui.clearHelp(true);
|
||||
mp.gui.chat.show(true);
|
||||
|
||||
if (mp.players.local.vehicle) {
|
||||
mp.players.local.vehicle.setLights(0);
|
||||
}
|
||||
|
||||
if (typeof mainMenu !== "undefined" && unbind) {
|
||||
mainMenu.Close();
|
||||
globalData.InTuning = false;
|
||||
@@ -140,6 +146,14 @@ function keyPressHandler() {
|
||||
mp.events.callRemote("startPlayerTuning");
|
||||
}
|
||||
|
||||
mp.events.add("render", () => {
|
||||
if (globalData.InTuning) {
|
||||
disableInput.forEach((input) => {
|
||||
mp.game.controls.disableControlAction(1, input, true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("showTuningMenu", () => {
|
||||
mp.events.call("hideTuningInfo" , false);
|
||||
mp.gui.chat.show(false);
|
||||
@@ -147,6 +161,8 @@ mp.events.add("showTuningMenu", () => {
|
||||
var localPlayer = mp.players.local;
|
||||
var localVehicle = localPlayer.vehicle;
|
||||
|
||||
localVehicle.setLights(1);
|
||||
|
||||
if (typeof mainMenu !== "undefined" && mainMenu.Visible) {
|
||||
return;
|
||||
}
|
||||
@@ -231,6 +247,7 @@ mp.events.add("showTuningMenu", () => {
|
||||
}
|
||||
|
||||
if (modSlot === 22) {
|
||||
localVehicle.setLights(2);
|
||||
var hlColor = localVehicle.getVariable("headlightColor");
|
||||
if (typeof hlColor !== "number" || isNaN(hlColor) || hlColor < 0 || hlColor === 255) {
|
||||
currentMod = -1;
|
||||
@@ -318,6 +335,7 @@ mp.events.add("showTuningMenu", () => {
|
||||
|
||||
if (modSlot === 18) return;
|
||||
else if (modSlot === 22) {
|
||||
localVehicle.setLights(1);
|
||||
setHeadlightsColor(localVehicle, currentMod);
|
||||
return;
|
||||
}
|
||||
@@ -329,6 +347,7 @@ mp.events.add("showTuningMenu", () => {
|
||||
});
|
||||
|
||||
mainMenu.MenuClose.on(() => {
|
||||
localVehicle.setLights(0);
|
||||
globalData.InTuning = false;
|
||||
mp.events.call("hideTuningInfo", false);
|
||||
});
|
||||
|
||||
@@ -1302,7 +1302,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
[Command("time", "~m~Benutzung: ~s~/time [Stunde] (Minuten) (Sekunden)")]
|
||||
public void CmdAdminSetTime(Client player, int hour, int min = 0, int sec = 0)
|
||||
public void CmdAdminTime(Client player, int hour, int min = 0, int sec = 0)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
{
|
||||
@@ -1310,8 +1310,22 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
if(hour > 23 || min > 59 || sec > 59)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Es wurde eine ungültige Zeit eingegeben.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(hour == -1)
|
||||
{
|
||||
player.SendChatMessage("Es wird nun wieder die Echtzeit genutzt.");
|
||||
TimeManager.StartTimeManager();
|
||||
return;
|
||||
}
|
||||
|
||||
string broadcastMsg = $"Serverzeit wurde auf {hour:D2}:{min:D2}:{sec:D2} gesetzt!";
|
||||
NAPI.Notification.SendNotificationToAll(broadcastMsg);
|
||||
TimeManager.PauseTimeManager();
|
||||
NAPI.World.SetTime(hour, min, sec);
|
||||
return;
|
||||
|
||||
|
||||
@@ -8,12 +8,22 @@ namespace reallife_gamemode.Server.Managers
|
||||
{
|
||||
public class TimeManager
|
||||
{
|
||||
private static Timer realTimeTimer;
|
||||
|
||||
public static void StartTimeManager()
|
||||
{
|
||||
Timer t = new Timer(1000);
|
||||
t.Elapsed += SetTime;
|
||||
if(realTimeTimer == null)
|
||||
{
|
||||
realTimeTimer = new Timer(1000);
|
||||
realTimeTimer.Elapsed += SetTime;
|
||||
}
|
||||
|
||||
t.Start();
|
||||
realTimeTimer.Start();
|
||||
}
|
||||
|
||||
public static void PauseTimeManager()
|
||||
{
|
||||
realTimeTimer.Stop();
|
||||
}
|
||||
|
||||
private static void SetTime(object sender, ElapsedEventArgs args)
|
||||
|
||||
Reference in New Issue
Block a user