Merge branch 'develop' of ssh://development.life-of-german.org:451/log-gtav/reallife-gamemode into develop

This commit is contained in:
VegaZ
2018-12-16 00:17:02 +01:00
12 changed files with 432 additions and 203 deletions

View File

@@ -90,13 +90,10 @@ namespace reallife_gamemode.Server.Commands
player.SendChatMessage("Online Teammitglieder:");
List<Client> playerlist = NAPI.Pools.GetAllPlayers();
List<Client> playerlist = NAPI.Pools.GetAllPlayers().FindAll(c => c.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? false).OrderByDescending(c => c.GetUser().AdminLevel).ToList();
foreach (Client currentPlayer in playerlist)
{
if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? false)
{
player.SendChatMessage(currentPlayer.Name);
}
player.SendChatMessage(currentPlayer.GetUser().AdminLevel.GetName() + " | " + currentPlayer.Name);
}
}
@@ -842,7 +839,8 @@ namespace reallife_gamemode.Server.Commands
return;
}
uint uHash = NAPI.Util.GetHashKey(hash);
if(!uint.TryParse(hash, out uint uHash))
uHash = NAPI.Util.GetHashKey(hash);
if(!VehicleManager.IsValidHash(uHash))
{
@@ -873,8 +871,8 @@ namespace reallife_gamemode.Server.Commands
player.Vehicle.Repair();
}
[Command("vdestroy")]
public void CmdAdminVdestroy(Client player)
[Command("vdestroy", "~m~Benutzung: ~s~/vdestroy (ID)")]
public void CmdAdminVdestroy(Client player, int vid = -1)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true)
{
@@ -882,22 +880,35 @@ namespace reallife_gamemode.Server.Commands
return;
}
if (!player.IsInVehicle)
Vehicle targetVeh;
if (vid == -1)
{
player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug.");
return;
if (!player.IsInVehicle)
{
player.SendChatMessage("~m~Benutzung: ~s~/vdestroy (ID)");
return;
}
targetVeh = player.Vehicle;
}
else
{
targetVeh = VehicleManager.GetVehicleFromId(vid);
if(targetVeh == null)
{
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Fahrzeug existiert nicht.");
return;
}
}
Vehicle playerVeh = player.Vehicle;
ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(playerVeh);
ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(targetVeh);
if(veh != null)
{
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Fahrzeug wird von einem Server-System benutzt: ~m~" + veh.GetType().Name);
return;
}
VehicleManager.DeleteVehicle(playerVeh);
VehicleManager.DeleteVehicle(targetVeh);
}
[Command("vlivery", "~m~Benutzung: ~s~/vlivery [Livery]")]
@@ -1297,7 +1308,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)
{
@@ -1305,8 +1316,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;
@@ -2034,6 +2059,18 @@ namespace reallife_gamemode.Server.Commands
BankManager.SetMoney(player, business, amount, "Admin");
}
[Command("showtuningmenu", "~m~Benutzung: ~s~/showtuningmenu")]
public void CmdAdminShowtuningmenu(Client player)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
player.TriggerEvent("showTuningMenu");
}
#endregion
#region ALevel1338

View File

@@ -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)

View File

@@ -47,17 +47,23 @@ namespace reallife_gamemode.Server.Managers
veh.SetSharedData("mod18", false);
veh.SetSharedData("mod22", false);
using (var dbContext = new DatabaseContext())
{
foreach(VehicleMod vMod in dbContext.VehicleMods.ToList().FindAll(vM => vM.ServerVehicleId == sVeh.Id))
{
if(vMod.Slot == 18 || vMod.Slot == 22)
if(vMod.Slot == 18)
{
veh.SetSharedData("mod" + vMod.Slot, true);
}
veh.SetMod(vMod.Slot, vMod.ModId - 1);
else if(vMod.Slot == 22)
{
int color = vMod.ModId - 2;
if (vMod.ModId == 0) color = -1;
if (vMod.ModId == 1) color = 13;
veh.SetSharedData("headlightColor", color);
}
else veh.SetMod(vMod.Slot, vMod.ModId - 1);
}
}
}
@@ -83,13 +89,24 @@ namespace reallife_gamemode.Server.Managers
Vehicle pV = player.Vehicle;
if (index == 0) index--;
if(slot != 18 && slot != 22)
if(slot != 18)
{
pV.SetMod(slot, index - 1);
if(slot == 22)
{
int color = index - 2;
if (index == 0) color = -1;
if (index == 1) color = 13;
pV.SetSharedData("headlightColor", color);
}
else
{
pV.SetMod(slot, index - 1);
}
}
else
{
bool newVal = index == -1 ? false : true;
NAPI.Util.ConsoleOutput("Setting turbo to: " + newVal.ToString());
pV.SetSharedData("mod" + slot, newVal);
NAPI.ClientEvent.TriggerClientEventForAll("vehicleToggleMod", pV, slot, newVal);
}

View File

@@ -11,7 +11,53 @@ namespace reallife_gamemode.Server.Managers
{
private static readonly List<string> _enabledMods = new List<string>()
{
"polamggtr"
"polamggtr",
"impaler3",
"monster4",
"monster5",
"slamvan6",
"issi6",
"cerberus2",
"cerberus3",
"deathbike2",
"dominator6",
"deathbike3",
"impaler4",
"slamvan4",
"slamvan5",
"brutus",
"brutus2",
"brutus3",
"deathbike",
"dominator4",
"dominator5",
"bruiser",
"bruiser2",
"bruiser3",
"rcbandito",
"italigto",
"cerberus",
"impaler2",
"monster3",
"tulip",
"scarab",
"scarab2",
"scarab3",
"issi4",
"issi5",
"clique",
"deveste",
"vamos",
"imperator",
"imperator2",
"imperator3",
"toros",
"deviant",
"schlagen",
"impaler",
"zr380",
"zr3802",
"zr3803"
};
private static Dictionary<int, NetHandle> _serverVehicles = new Dictionary<int, NetHandle>();