Changed duty medic update, added command to change vehicle livery (/vlivery)

This commit is contained in:
hydrant
2018-12-08 15:13:17 +01:00
parent a5269637c3
commit d3f026630a
3 changed files with 44 additions and 23 deletions

View File

@@ -49,14 +49,7 @@ mp.events.add("respawnDeathPlayer", () => {
});
mp.events.add("updateDutyMedics", (count) => {
if (count === true)
{
dutyMedics++;
}
else
{
dutyMedics--;
}
dutyMedics = count;
});

View File

@@ -838,7 +838,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
if (!player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs)
if (!player.IsInVehicle)
{
player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug.");
return;
@@ -856,6 +856,26 @@ namespace reallife_gamemode.Server.Commands
VehicleManager.DeleteVehicle(playerVeh);
}
[Command("vlivery", "~m~Benutzung: ~s~/vlivery [Livery]")]
public void CmdAdminVlivery(Client player, int livery)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
if (!player.IsInVehicle)
{
player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug.");
return;
}
Vehicle playerVeh = player.Vehicle;
playerVeh.Livery = livery;
}
[Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")]
public void CmdAdminColor(Client player, int color1, int color2)
{
@@ -1113,35 +1133,35 @@ namespace reallife_gamemode.Server.Commands
}
[Command("freekh", "~m~Benutzung: ~s~/freekh (Radius)")]
public void CmdAdminFreekh(Client player, float radius = 999999999)
public void CmdAdminFreekh(Client player, float radius = -1)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
var peopleInRange = NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player);
var peopleInRange = radius == -1 ? NAPI.Pools.GetAllPlayers() : NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player);
int playerRevided = 0;
string toPlayerChat = "~b~Admin " + player.Name + " hat alle Spieler wiederbelebt";
string toPlayerNotification = "Du wurdest von Admin ~y~" + player.Name + "~s~ wiederbelebt.";
foreach (var managedClient in peopleInRange)
{
if (!managedClient.IsLoggedIn()) return;
if (radius == 999999999)
{
managedClient.SendChatMessage("~b~Admin " + player.Name + " hat alle Spieler wiederbelebt");
player.SendChatMessage("~b~Du hast " + peopleInRange.Count + " Spieler wiederbelebt");
}
else
{
managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " alle Spieler wiederbelebt");
player.SendChatMessage("~b~Du hast " + peopleInRange.Count + " Spieler wiederbelebt");
}
if (!managedClient.HasData("isDead") || managedClient.GetData("isDead") == false) continue;
playerRevided++;
managedClient.TriggerEvent("onPlayerRevived");
managedClient.SendNotification("Du wurdest von Admin ~y~" + player.Name + "~s~ wiederbelebt.");
managedClient.SetData("isDead", false);
managedClient.SendNotification(toPlayerNotification);
managedClient.SendChatMessage(toPlayerChat);
NAPI.Player.SpawnPlayer(managedClient, managedClient.Position);
managedClient.Health = 100;
}
player.SendChatMessage("~b~Du hast " + playerRevided + " Spieler wiederbelebt.");
}
[Command("rsetarmor", "~m~Benutzung: ~s~/rsetarmor [Radius] (Armor)")]

View File

@@ -51,7 +51,15 @@ namespace reallife_gamemode.Server.Events
player.SendNotification("Du bist nun ~g~im Dienst.");
if (player.GetUser().FactionId == 2) //Fire Department
{
NAPI.ClientEvent.TriggerClientEventForAll("updateDutyMedics", true);
int medicCount = 0;
foreach(Client c in NAPI.Pools.GetAllPlayers())
{
if((c.GetUser()?.GetFaction().Id ?? 0) == 2)
{
medicCount++;
}
}
NAPI.ClientEvent.TriggerClientEventForAll("updateDutyMedics", medicCount);
}
switch (factionId)
{