public static void Chat_OnCommand(CommandEventArgs e) { Mobile caller = e.Mobile; ChatSystem system = null; string message = ""; foreach (Item item in World.Items.Values.ToList()) { if (item is ChatSystem) { system = item as ChatSystem; } } if (system == null) { system = new ChatSystem(); } if (e.Length >= 1) { foreach (string str in e.Arguments) { message += str + " "; } if (!system.m_Players.ContainsKey(caller)) { caller.SendAsciiMessage("Usage: [chat"); return; } else { foreach (Mobile m in system.m_Players.Keys.ToList()) { m.SendAsciiMessage(0x49, String.Format("[{0}{1}]: {2}", (caller.AccessLevel > AccessLevel.Player ? "@" : ""), caller.Name, message)); } } } else { if (system.m_Players.ContainsKey(caller)) { caller.SendAsciiMessage("Usage: [chat <message>"); return; } else { if (caller.HasGump(typeof(ChatGump))) { caller.CloseGump(typeof(ChatGump)); } system.AddPlayer(caller); } } }
public static void Squelch_OnCommand(CommandEventArgs e) { Mobile caller = e.Mobile; ChatSystem system = null; foreach (Item item in World.Items.Values.ToList()) { if (item is ChatSystem) { system = item as ChatSystem; } } caller.Target = new GetMobile(system); }
public GetMobile(ChatSystem chat) : base(15, false, TargetFlags.None) { m_System = chat; }
public ChatGump(Mobile from, ChatSystem system) : base(50, 100) { m_Caller = from; m_System = system; this.Closable = true; this.Disposable = true; this.Dragable = true; this.Resizable = false; AddBackground(0, 0, 190, 355, 9200); AddButton(16, 269, 4005, 4007, 1, GumpButtonType.Reply, 0); AddLabel(40, 11, 0, @"UO: Origins Chat"); string players = ""; List <Mobile> toRemove = new List <Mobile>(); foreach (Mobile m in m_System.m_Players.Keys.ToList()) { if (m.Deleted || m == null) { toRemove.Add(m); continue; } bool visible = true; m_System.m_Players.TryGetValue(m, out visible); if (visible) { players += String.Format("{1} <BR>", players, (m == null ? "" : (m.AccessLevel > AccessLevel.Player ? "@" + m.Name : m.Name))); } else if (from.AccessLevel > AccessLevel.Player) { players += String.Format("{1} <BR>", players, (m == null ? "" : "#" + m.Name)); } } foreach (Mobile m in toRemove) { m_System.m_Players.Remove(m); } AddHtml(10, 50, 163, 188, players, (bool)true, (bool)true); AddLabel(10, 30, 0, @"Players Available"); AddLabel(14, 244, 0, @"Type [chat <msg> to talk"); bool isvisible = true; m_System.m_Players.TryGetValue(from, out isvisible); AddLabel(54, 270, 0, (isvisible ? @"Hide Name" : @"Show Name")); AddLabel(56, 298, 0, @"Quit Chat"); PlayerMobile pm = from as PlayerMobile; AddHtml(48, 325, 126, 18, @"<basefont color=black size=5>Receive on Login</basefont>", false, false); AddCheck(16, 320, 2152, 2154, (pm != null ? pm.ShowChat : true), 0); AddButton(16, 296, 4017, 4019, 0, GumpButtonType.Reply, 0); }