public static void SendDeathMessage(Player.Player from, DeathCause cause) { if (!from.Ship.IsDestroyed) { //universe var rdl = new Rdl(); rdl.AddTRA(0x19198C00, 0xFFFFFFFF); rdl.AddText(from.Name + " died. Type: " + cause); var rdlSystem = new Rdl(); rdlSystem.AddTRA(0x0062FF01, 0xFFFFFFFF); rdlSystem.AddText(from.Name + " died. Type: " + cause); foreach (var player in from.Runner.Playerlist) { if (player.Value.Player.Settings[@"senddeath"] && player.Value.System != from.Ship.System) { SendChatToPlayer(player.Value.Player, rdl); } if (player.Value.Player.Settings[@"sendsystemdeath"] && player.Value.System == from.Ship.System) { SendChatToPlayer(player.Value.Player, rdlSystem); } } } }
public static void SendEcho(Player.Player player, string chat) { var rdl = new Rdl(); rdl.AddTRA(0x05FF3802, 0xFFFFFFFF); rdl.AddText(chat); SendChatToPlayer(player, rdl); }
public static void SendChatToPlayer(Player.Player player, Rdl rdl) { byte[] omsg = { 0x05, 0x01 }; FLMsgType.AddInt32(ref omsg, rdl.GetBytes().Length); FLMsgType.AddArray(ref omsg, rdl.GetBytes()); FLMsgType.AddUInt32(ref omsg, 0); FLMsgType.AddUInt32(ref omsg, 0); player.SendMsgToClient(omsg); }
public static void SendChatToUniverse(Player.Player from, string chat) { var rdl = new Rdl(); rdl.AddTRA(0xFFFFFF00, 0xFFFFFFFF); rdl.AddText(from.Name + ": "); rdl.AddTRA(0x7C7C7C00, 0xFFFFFFFF); rdl.AddText(chat); foreach (var play in from.Runner.Playerlist) { SendChatToPlayer(play.Value.Player, rdl); } }
/// <summary> /// Sends text to everyone in system. /// </summary> /// <param name="from"></param> /// <param name="chat"></param> public static void SendChatToSystem(Player.Player from, string chat) { var rdl = new Rdl(); rdl.AddTRA(0xFFFFFF00, 0xFFFFFFFF); rdl.AddText(from.Name + ": "); rdl.AddTRA(0xFFE95700, 0xFFFFFFFF); rdl.AddText(chat); foreach (var play in @from.Runner.Players.Where(play => play.Value.Ship.System == @from.Ship.System)) { SendChatToPlayer(play.Value, rdl); } }
private static void SendChatToPrivate(Player.Player from, uint to, string chat) { if (from.Runner.Playerlist.ContainsKey(to)) { Player.Player toplayer = from.Runner.Playerlist[to].Player; var rdl = new Rdl(); rdl.AddTRA(0xFFFFFF00, 0xFFFFFFFF); rdl.AddText(from.Name + ": "); rdl.AddTRA(0x19BD3A00, 0xFFFFFFFF); rdl.AddText(chat); SendChatToPlayer(from, rdl); SendChatToPlayer(toplayer, rdl); } }
/// <summary> /// Sends text to everyone in scanrange. /// </summary> /// <param name="from"></param> /// <param name="chat"></param> public static void SendChatToLocal(Player.Player from, string chat) { var rdl = new Rdl(); rdl.AddTRA(0xFFFFFF00, 0xFFFFFFFF); rdl.AddText(from.Name + ": "); rdl.AddTRA(0xFF8F4000, 0xFFFFFFFF); rdl.AddText(chat); var bu = new List <SimObject>(from.Ship.ScanBucket); foreach (var ship in @bu.OfType <Ship.Ship>().Where(ship => ship.player != null && ship.player != from)) { SendChatToPlayer(ship.player, rdl); } SendChatToPlayer(from, rdl); }
public static void SendChatToGroup(Player.Player from, string chat) { if (from.Group == null) { return; } var rdl = new Rdl(); rdl.AddTRA(0xFFFFFF00, 0xFFFFFFFF); rdl.AddText(from.Name + ": "); rdl.AddTRA(0xFF7BFF00, 0xFFFFFFFF); rdl.AddText(chat); foreach (Player.Player toplayer in from.Group.Members) { SendChatToPlayer(toplayer, rdl); } }