C#:
using System.Collections.Generic;
namespace Oxide.Plugins
{
[Info("Kill Messages", "Tryhard", "1.0.0")]
public class KillMessages : RustPlugin
{
protected override void LoadDefaultMessages()
{
lang.RegisterMessages(new Dictionary<string, string>
{
["KillerTeam"] = "{2} just killed <color=#75a9e1>{0}</color> from <color=#A59B83>{1}</color> meters using {3}!",
["VictimTeam"] = "<color=#75a9e1>{2}</color> just killed {0} from <color=#A59B83>{1}</color> meters using {3}!"
}, this);
}
private void OnPlayerDeath(BasePlayer victim, HitInfo hitInfo)
{
if (victim == null || victim.IsNpc || hitInfo == null) return;
var attacker = hitInfo.InitiatorPlayer;
if (attacker == null || attacker.userID == victim.userID) return;
var weapon = attacker.GetActiveItem()?.info.displayName.english;
if (weapon == null) return;
var distance = (int)hitInfo.ProjectileDistance;
if (attacker.currentTeam != 0)
{
foreach (var teamMember in attacker.Team.members)
{
SendMessage(RelationshipManager.FindByID(teamMember), "KillerTeam", victim.displayName, distance, attacker.displayName, weapon);
}
}
else SendMessage(attacker, "KillerTeam", victim.displayName, distance, attacker.displayName, weapon);
if (victim.currentTeam != 0)
{
foreach (var teamMember in victim.Team.members)
{
SendMessage(RelationshipManager.FindByID(teamMember), "VictimTeam", victim.displayName, distance, attacker.displayName, weapon);
}
}
else SendMessage(victim, "VictimTeam", victim.displayName, distance, attacker.displayName, weapon);
}
private void SendMessage(BasePlayer player, string message, params object[] args) =>
player?.ChatMessage(string.Format(lang.GetMessage(message, this, player.UserIDString), args));
}
}