Improved tuning, reimplemented /time (use /time -1 to resume time manager)
This commit is contained in:
@@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
var keyBound = false;
|
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 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 = [
|
var carModSlotName = [
|
||||||
@@ -119,6 +121,10 @@ mp.events.add('hideTuningInfo', (unbind) => {
|
|||||||
mp.game.ui.clearHelp(true);
|
mp.game.ui.clearHelp(true);
|
||||||
mp.gui.chat.show(true);
|
mp.gui.chat.show(true);
|
||||||
|
|
||||||
|
if (mp.players.local.vehicle) {
|
||||||
|
mp.players.local.vehicle.setLights(0);
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof mainMenu !== "undefined" && unbind) {
|
if (typeof mainMenu !== "undefined" && unbind) {
|
||||||
mainMenu.Close();
|
mainMenu.Close();
|
||||||
globalData.InTuning = false;
|
globalData.InTuning = false;
|
||||||
@@ -140,6 +146,14 @@ function keyPressHandler() {
|
|||||||
mp.events.callRemote("startPlayerTuning");
|
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.add("showTuningMenu", () => {
|
||||||
mp.events.call("hideTuningInfo" , false);
|
mp.events.call("hideTuningInfo" , false);
|
||||||
mp.gui.chat.show(false);
|
mp.gui.chat.show(false);
|
||||||
@@ -147,6 +161,8 @@ mp.events.add("showTuningMenu", () => {
|
|||||||
var localPlayer = mp.players.local;
|
var localPlayer = mp.players.local;
|
||||||
var localVehicle = localPlayer.vehicle;
|
var localVehicle = localPlayer.vehicle;
|
||||||
|
|
||||||
|
localVehicle.setLights(1);
|
||||||
|
|
||||||
if (typeof mainMenu !== "undefined" && mainMenu.Visible) {
|
if (typeof mainMenu !== "undefined" && mainMenu.Visible) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -231,6 +247,7 @@ mp.events.add("showTuningMenu", () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (modSlot === 22) {
|
if (modSlot === 22) {
|
||||||
|
localVehicle.setLights(2);
|
||||||
var hlColor = localVehicle.getVariable("headlightColor");
|
var hlColor = localVehicle.getVariable("headlightColor");
|
||||||
if (typeof hlColor !== "number" || isNaN(hlColor) || hlColor < 0 || hlColor === 255) {
|
if (typeof hlColor !== "number" || isNaN(hlColor) || hlColor < 0 || hlColor === 255) {
|
||||||
currentMod = -1;
|
currentMod = -1;
|
||||||
@@ -318,6 +335,7 @@ mp.events.add("showTuningMenu", () => {
|
|||||||
|
|
||||||
if (modSlot === 18) return;
|
if (modSlot === 18) return;
|
||||||
else if (modSlot === 22) {
|
else if (modSlot === 22) {
|
||||||
|
localVehicle.setLights(1);
|
||||||
setHeadlightsColor(localVehicle, currentMod);
|
setHeadlightsColor(localVehicle, currentMod);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -329,6 +347,7 @@ mp.events.add("showTuningMenu", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
mainMenu.MenuClose.on(() => {
|
mainMenu.MenuClose.on(() => {
|
||||||
|
localVehicle.setLights(0);
|
||||||
globalData.InTuning = false;
|
globalData.InTuning = false;
|
||||||
mp.events.call("hideTuningInfo", false);
|
mp.events.call("hideTuningInfo", false);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1302,7 +1302,7 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("time", "~m~Benutzung: ~s~/time [Stunde] (Minuten) (Sekunden)")]
|
[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)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -1310,8 +1310,22 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
return;
|
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!";
|
string broadcastMsg = $"Serverzeit wurde auf {hour:D2}:{min:D2}:{sec:D2} gesetzt!";
|
||||||
NAPI.Notification.SendNotificationToAll(broadcastMsg);
|
NAPI.Notification.SendNotificationToAll(broadcastMsg);
|
||||||
|
TimeManager.PauseTimeManager();
|
||||||
NAPI.World.SetTime(hour, min, sec);
|
NAPI.World.SetTime(hour, min, sec);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,22 @@ namespace reallife_gamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
public class TimeManager
|
public class TimeManager
|
||||||
{
|
{
|
||||||
|
private static Timer realTimeTimer;
|
||||||
|
|
||||||
public static void StartTimeManager()
|
public static void StartTimeManager()
|
||||||
{
|
{
|
||||||
Timer t = new Timer(1000);
|
if(realTimeTimer == null)
|
||||||
t.Elapsed += SetTime;
|
{
|
||||||
|
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)
|
private static void SetTime(object sender, ElapsedEventArgs args)
|
||||||
|
|||||||
Reference in New Issue
Block a user