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) => { mp.events.add("updateDutyMedics", (count) => {
if (count === true) dutyMedics = count;
{
dutyMedics++;
}
else
{
dutyMedics--;
}
}); });

View File

@@ -838,7 +838,7 @@ namespace reallife_gamemode.Server.Commands
return; 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."); player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug.");
return; return;
@@ -856,6 +856,26 @@ namespace reallife_gamemode.Server.Commands
VehicleManager.DeleteVehicle(playerVeh); 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]")] [Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")]
public void CmdAdminColor(Client player, int color1, int color2) 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)")] [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) if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
{ {
ChatService.NotAuthorized(player); ChatService.NotAuthorized(player);
return; 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) foreach (var managedClient in peopleInRange)
{ {
if (!managedClient.IsLoggedIn()) return; 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; if (!managedClient.HasData("isDead") || managedClient.GetData("isDead") == false) continue;
playerRevided++;
managedClient.TriggerEvent("onPlayerRevived"); managedClient.TriggerEvent("onPlayerRevived");
managedClient.SendNotification("Du wurdest von Admin ~y~" + player.Name + "~s~ wiederbelebt.");
managedClient.SetData("isDead", false); managedClient.SetData("isDead", false);
managedClient.SendNotification(toPlayerNotification);
managedClient.SendChatMessage(toPlayerChat);
NAPI.Player.SpawnPlayer(managedClient, managedClient.Position); NAPI.Player.SpawnPlayer(managedClient, managedClient.Position);
managedClient.Health = 100; managedClient.Health = 100;
} }
player.SendChatMessage("~b~Du hast " + playerRevided + " Spieler wiederbelebt.");
} }
[Command("rsetarmor", "~m~Benutzung: ~s~/rsetarmor [Radius] (Armor)")] [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."); player.SendNotification("Du bist nun ~g~im Dienst.");
if (player.GetUser().FactionId == 2) //Fire Department 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) switch (factionId)
{ {