This commit is contained in:
Luke
2021-05-07 02:02:09 +02:00
19 changed files with 299 additions and 65 deletions

View File

@@ -259,7 +259,7 @@ namespace ReallifeGamemode.Server.Commands
}
break;
case "all":
if(!player.HasData("togall"))
if (!player.HasData("togall"))
{
player.SetData("togip", true);
player.SetData("togdeath", true);
@@ -314,6 +314,12 @@ namespace ReallifeGamemode.Server.Commands
player.TriggerEvent("toggleTSupportMode", false);
player.SetData("SAdminduty", false);
ChatService.SendMessage(player, "!{#ee4d2e}** " + "Du befindest dich nicht mehr im T-Support");
if (user.GetData<bool>("adminUnshow") == true)
{
user.SetData("adminUnshow", false);
player.TriggerEvent("toggleAdminUnshowMode", false);
}
}
user.SetBlipAndNametagColor();
}
@@ -351,7 +357,7 @@ namespace ReallifeGamemode.Server.Commands
[Command("o", "~m~Benutzung: ~s~/o [Nachricht]", GreedyArg = true)]
public void CmdAdminO(Player player, string message)
{
if(!player.IsLoggedIn())
if (!player.IsLoggedIn())
{
return;
}
@@ -1784,12 +1790,16 @@ namespace ReallifeGamemode.Server.Commands
[Command("spectate", "~m~Benutzung: ~s~/spectate [NAME/ID]", Alias = "spec")]
public void CmdAdminSpectate(Player player, string targetname = null)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
User user = player.GetUser();
if (!user.IsAdmin(AdminLevel.ADMIN))
{
ChatService.NotAuthorized(player);
return;
}
Player target;
bool currentStatus = player.GetData<bool>("adminUnshow");
if (targetname != null)
{
target = PlayerService.GetPlayerByNameOrId(targetname);
@@ -1798,19 +1808,44 @@ namespace ReallifeGamemode.Server.Commands
ChatService.PlayerNotFound(player);
return;
}
player.TriggerEvent("SERVER:ADMIN_SPECTATE", target);
if (target.Name == player.Name)
{
ChatService.ErrorMessage(player, "Du kannst dich nicht selbst spectaten");
return;
}
if (!currentStatus)
{
currentStatus = !currentStatus;
player.SetData("adminUnshow", currentStatus);
}
player.TriggerEvent("toggleAdminUnshowMode", currentStatus);
player.SetData<Vector3>("specPosition", player.Position);
player.SafeTeleport(target.Position);
NAPI.Task.Run(() =>
{
player.TriggerEvent("SERVER:ADMIN_SPECTATE", target);
}, 100);
}
else
{
currentStatus = !currentStatus;
player.SetData("adminUnshow", currentStatus);
player.TriggerEvent("SERVER:ADMIN_STOP_SPECTATE");
}
player.TriggerEvent("toggleAdminUnshowMode", currentStatus);
player.SafeTeleport(player.GetData<Vector3>("specPosition"));
}
user.SetBlipAndNametagColor();
}
[Command("aunshow", "~m~Benutzung:~s~ /aunshow")]
public void CmdAdminUnshow(Player player)
{
User user = player.GetUser();
if (!user.IsAdmin(AdminLevel.ADMIN))
if (!user.IsAdmin(AdminLevel.HEADADMIN))
{
ChatService.NotAuthorized(player);
return;
@@ -1822,9 +1857,9 @@ namespace ReallifeGamemode.Server.Commands
return;
}
bool currentStatus = user.GetData<bool>("adminUnshow");
bool currentStatus = player.GetData<bool>("adminUnshow");
currentStatus = !currentStatus;
user.SetData("adminUnshow", currentStatus);
player.SetData("adminUnshow", currentStatus);
player.TriggerEvent("toggleAdminUnshowMode", currentStatus);
user.SetBlipAndNametagColor();
@@ -2169,18 +2204,15 @@ namespace ReallifeGamemode.Server.Commands
return;
}
Weather weatherBefore = NAPI.World.GetWeather();
NAPI.World.SetWeather(weather);
Weather weatherAfter = NAPI.World.GetWeather();
Weather weatherBefore = World.WeatherSync.Weather;
World.WeatherSync.SetWeather(weather);
Weather weatherAfter = World.WeatherSync.Weather;
ChatService.SendMessage(player, "~w~Wetter geändert: " + weatherAfter);
if (!weatherBefore.Equals(weatherAfter))
{
ChatService.SendMessage(player, "~w~Wetter geändert: " + NAPI.World.GetWeather());
NAPI.Notification.SendNotificationToAll("Das Wetter wurde von ~g~" + player.Name + " ~s~auf ~g~" + NAPI.World.GetWeather() + "~s~ geändert.", true);
}
else
{
ChatService.SendMessage(player, "~w~Das Wetter konnte nicht geändert werden");
NAPI.Notification.SendNotificationToAll("Das Wetter wurde von ~g~" + player.Name + " ~s~auf ~g~" + weatherAfter + "~s~ geändert.", true);
}
}
@@ -3914,7 +3946,7 @@ namespace ReallifeGamemode.Server.Commands
[RemoteEvent("Noclip")]
public void Noclip(Player player)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
if (!player.GetUser().IsAdmin(AdminLevel.HEADADMIN))
{
return;
}