Add /freekh, /arevive, Chat on Death, fix DeathAdminMsg

This commit is contained in:
xSprite
2018-10-22 00:16:34 +02:00
parent 78f4919e12
commit d6e3d90127
4 changed files with 64 additions and 5 deletions

View File

@@ -19,7 +19,7 @@ mp.game.gameplay.setFadeOutAfterDeath(false);
mp.events.add("startDeathTimer", () => { mp.events.add("startDeathTimer", () => {
if (isDeath === false) { if (isDeath === false) {
isDeath = true; isDeath = true;
mp.gui.chat.activate(false); //mp.gui.chat.activate(false);
deathDate = new Date(); deathDate = new Date();
respawnTime = Math.floor(deathDate.getTime() / 1000 + 120); respawnTime = Math.floor(deathDate.getTime() / 1000 + 120);
fade = 255 - 120; fade = 255 - 120;

View File

@@ -323,6 +323,29 @@ namespace reallife_gamemode.Server.Commands
player.SendChatMessage("~b~Du hast das Leben von " + target.Name + " auf " + hp + " gesetzt."); player.SendChatMessage("~b~Du hast das Leben von " + target.Name + " auf " + hp + " gesetzt.");
} }
[Command("arevive", "~m~Benutzung: ~s~/arevive [Spieler]")]
public void CmdAdminRevive(Client player, string name)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
return;
}
target.TriggerEvent("onPlayerRevived");
target.SendNotification("Du wurdest von Admin ~y~" + player.Name + "~s~ wiederbelebt.");
target.SetData("isDead", false);
NAPI.Player.SpawnPlayer(target, target.Position);
target.Health = 100;
}
[Command("setarmor", "~m~Benutzung: ~s~/setarmor [Spieler] (Armor)")] [Command("setarmor", "~m~Benutzung: ~s~/setarmor [Spieler] (Armor)")]
public void CmdAdminSetArmor(Client player, string name, int armor = 100) public void CmdAdminSetArmor(Client player, string name, int armor = 100)
{ {
@@ -470,6 +493,29 @@ namespace reallife_gamemode.Server.Commands
player.SendChatMessage("~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf " + hp + " gesetzt."); player.SendChatMessage("~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf " + hp + " gesetzt.");
} }
[Command("rfreekh", "~m~Benutzung: ~s~/freekh (Radius)")]
public void CmdAdminRangeSetHP(Client player, float radius=9999999)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
var peopleInRange = NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player);
foreach (var managedClient in peopleInRange)
{
if (!managedClient.IsLoggedIn()) return;
managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " alle Spieler wiederbelebt");
managedClient.TriggerEvent("onPlayerRevived");
managedClient.SendNotification("Du wurdest von Admin ~y~" + player.Name + "~s~ wiederbelebt.");
managedClient.SetData("isDead", false);
NAPI.Player.SpawnPlayer(managedClient, managedClient.Position);
managedClient.Health = 100;
}
player.SendChatMessage("~b~Du hast "+ peopleInRange.Count + " Spieler wiederbelebt");
}
[Command("rsetarmor", "~m~Benutzung: ~s~/rsetarmor [Radius] (Armor)")] [Command("rsetarmor", "~m~Benutzung: ~s~/rsetarmor [Radius] (Armor)")]
public void CmdAdminRangeSetArmor(Client player, float radius, int Armor = 100) public void CmdAdminRangeSetArmor(Client player, float radius, int Armor = 100)
{ {

View File

@@ -206,7 +206,7 @@ namespace reallife_gamemode.Server.Commands
#endregion #endregion
#region Sanitäter Commands #region Sanitäter Commands
[Command("revive", "~m~Benutzung: ~s~/invite")] [Command("revive", "~m~Benutzung: ~s~/revive")]
public void CmdFactionMedicRevive(Client player) public void CmdFactionMedicRevive(Client player)
{ {
if (player.GetUser()?.FactionId == null || player.GetUser().FactionId != 2) if (player.GetUser()?.FactionId == null || player.GetUser().FactionId != 2)
@@ -214,12 +214,22 @@ namespace reallife_gamemode.Server.Commands
ChatService.NotAuthorized(player); ChatService.NotAuthorized(player);
return; return;
} }
if (player.IsInVehicle)
{
player.SendChatMessage("~r~[FEHLER]~s~ Du kannst in einem Auto nicht wiederbeleben!");
return;
}
var nearPlayers = NAPI.Player.GetPlayersInRadiusOfPlayer(2, player); var nearPlayers = NAPI.Player.GetPlayersInRadiusOfPlayer(2, player);
var deadPlayer = nearPlayers.Where(i => i.GetData("isDead") == true).FirstOrDefault(); var deadPlayer = nearPlayers.Where(i => i.GetData("isDead") == true).FirstOrDefault();
if (player == deadPlayer)
{
player.SendChatMessage("~r~[FEHLER]~s~ Du kannst dich nicht selbst wiederbeleben!");
return;
}
deadPlayer.TriggerEvent("onPlayerRevived"); deadPlayer.TriggerEvent("onPlayerRevived");
deadPlayer.SendNotification("Du wurdest von ~y~" + player.Name + "~s~ wiederbelebt."); deadPlayer.SendNotification("Du wurdest von ~r~" + player.Name + "~s~ wiederbelebt.");
deadPlayer.SetData("isDead", false); deadPlayer.SetData("isDead", false);
NAPI.Player.SpawnPlayer(deadPlayer, deadPlayer.Position); NAPI.Player.SpawnPlayer(deadPlayer, deadPlayer.Position);
deadPlayer.Health = 50; deadPlayer.Health = 50;

View File

@@ -49,8 +49,11 @@ namespace reallife_gamemode.Server.Events
killerPosY = killer.Position.Y; killerPosY = killer.Position.Y;
killerPosZ = killer.Position.Z; killerPosZ = killer.Position.Z;
killerHeading = killer.Heading; killerHeading = killer.Heading;
string message = "~y~[HINWEIS]: " + killer.Name + " hat " + player.Name + " getötet (" + NAPI.Player.GetPlayerCurrentWeapon(killer) + ")"; if(player != killer)
ChatService.BroadcastAdmin(message, AdminLevel.ADMIN); {
string message = "~y~[HINWEIS]: " + killer.Name + " hat " + player.Name + " getötet (" + NAPI.Player.GetPlayerCurrentWeapon(killer) + ")";
ChatService.BroadcastAdmin(message, AdminLevel.ADMIN);
}
} }
using (var userDeath = new DatabaseContext()) using (var userDeath = new DatabaseContext())