public void RenderMessageManagement_Message_Remove() { AddPage(5); AddHtml(190, 60, 500, 25, "Choose the message you would like to remove", false, false); RoomAttendantRumor[] rumors = m_Roomattendant.Rumors; for (int i = 0; i < rumors.Length; ++i) { RoomAttendantRumor rumor = rumors[i]; AddHtml(100, 70 + (i * 120), 50, 20, "Message", false, false); AddHtml(100, 90 + (i * 120), 450, 40, rumor == null ? "No current message" : rumor.Message, true, false); AddHtml(100, 130 + (i * 120), 50, 20, "Keyword", false, false); AddHtml(100, 150 + (i * 120), 450, 40, rumor == null ? "None" : rumor.Keyword, true, false); AddButton(60, 90 + (i * 120), 4005, 4007, GetButtonID(2, i), GumpButtonType.Reply, 0); } AddButton(338, 437, 4014, 4016, 0, GumpButtonType.Page, 2); AddHtml(290, 440, 35, 40, "Back", false, false); AddItem(580, 46, 4030); }
public static void Serialize(GenericWriter writer, RoomAttendantRumor rumor) { if (rumor == null) { writer.Write(false); } else { writer.Write(true); writer.Write(rumor.m_Message); writer.Write(rumor.m_Keyword); } }
public void EndChangeKeyword(Mobile from, int index, string text) { if (index < 0 || index >= m_Rumors.Length) { return; } if (m_Rumors[index] == null) { m_Rumors[index] = new RoomAttendantRumor(null, text); } else { m_Rumors[index].Keyword = text; } PrivateOverheadMessage(MessageType.Regular, 0x3B2, false, "I'll pass on the message.", from.NetState); }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int)1); // version; writer.Write((Item)m_House); writer.Write((Mobile)m_Owner); writer.WriteEncodedInt((int)m_Rumors.Length); for (int i = 0; i < m_Rumors.Length; ++i) { RoomAttendantRumor.Serialize(writer, m_Rumors[i]); } writer.Write((string)m_TipMessage); }
public void EndChangeRumor(Mobile from, int index, string text) { if (index < 0 || index >= m_Rumors.Length) { return; } if (m_Rumors[index] == null) { m_Rumors[index] = new RoomAttendantRumor(text, null); } else { m_Rumors[index].Message = text; } from.Prompt = new ChangeARumorKeywordPrompt(this, index); PrivateOverheadMessage(MessageType.Regular, 0x3B2, false, "What keyword should a guest say to me to get this news?", from.NetState); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { House = (BaseHouse)reader.ReadItem(); goto case 0; } case 0: { m_Owner = reader.ReadMobile(); m_Rumors = new RoomAttendantRumor[reader.ReadEncodedInt()]; for (int i = 0; i < m_Rumors.Length; ++i) { m_Rumors[i] = RoomAttendantRumor.Deserialize(reader); } m_TipMessage = reader.ReadString(); break; } } if (version < 1) { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(UpgradeFromVersion0)); } }
public override void OnSpeech(SpeechEventArgs e) { Mobile from = e.Mobile; Container bank = from.FindBankNoCreate(); object command = RoomAttendantCommands.None; if (e.Speech.Length > "vendor ".Length && e.Speech.Substring(0, "vendor ".Length).ToLower() == "vendor ") { command = s_Keywords[e.Speech.Substring("vendor ".Length)]; } else if (e.Speech.Length > Name.Length + 1 && e.Speech.Substring(0, Name.Length + 1).ToLower() == Name.ToLower() + ' ') { command = s_Keywords[e.Speech.Substring(Name.Length + 1)]; } else if (e.Speech.Length > "attendant ".Length && e.Speech.Substring(0, "attendant ".Length).ToLower() == "attendant ") { command = s_Keywords[e.Speech.Substring("attendant ".Length)]; } switch ((command == null ? (int)RoomAttendantCommands.None : (int)command)) { case (int)RoomAttendantCommands.Room: { if ((from.Backpack == null || from.Backpack.GetAmount(typeof(Gold)) < 30) && (bank == null || Banker.Withdraw(from, 30))) //bank.GetAmount( typeof( Gold ) ) < 30 ) ) { SayTo(from, "Thou dost not have enough gold, not even in thy bank account."); // Thou dost not have enough gold, not even in thy bank account. } else { SayTo(from, "I need thirty gold for the carrier pigeon rental."); from.Target = new RoomTarget(this); } break; } case (int)RoomAttendantCommands.Help: { SayTo(from, "For a fee I can rent a carrier pigeon for you to call your squire with from their room."); break; } default: { base.OnSpeech(e); if (!e.Handled && InRange(e.Mobile, 3)) { if (m_NewsTimer == null && e.HasKeyword(0x30)) // *news* { TownCrierEntry tce = GlobalTownCrierEntryList.Instance.GetRandomEntry(); if (tce == null) { PublicOverheadMessage(MessageType.Regular, 0x3B2, 1005643); // I have no news at this time. } else { m_NewsTimer = Timer.DelayCall(TimeSpan.FromSeconds(1.0), TimeSpan.FromSeconds(3.0), new TimerStateCallback(ShoutNews_Callback), new object[] { tce, 0 }); PublicOverheadMessage(MessageType.Regular, 0x3B2, 502978); // Some of the latest news! } } for (int i = 0; i < m_Rumors.Length; ++i) { RoomAttendantRumor rumor = m_Rumors[i]; if (rumor == null) { continue; } string keyword = rumor.Keyword; if (keyword == null || (keyword = keyword.Trim()).Length == 0) { continue; } if (Insensitive.Equals(keyword, e.Speech)) { string message = rumor.Message; if (message == null || (message = message.Trim()).Length == 0) { continue; } PublicOverheadMessage(MessageType.Regular, 0x3B2, false, message); } } } break; } } }
public void EndChangeKeyword( Mobile from, int index, string text ) { if ( index < 0 || index >= m_Rumors.Length ) return; if ( m_Rumors[index] == null ) m_Rumors[index] = new RoomAttendantRumor( null, text ); else m_Rumors[index].Keyword = text; PrivateOverheadMessage( MessageType.Regular, 0x3B2, false, "I'll pass on the message.", from.NetState ); }
public void EndChangeRumor( Mobile from, int index, string text ) { if ( index < 0 || index >= m_Rumors.Length ) return; if ( m_Rumors[index] == null ) m_Rumors[index] = new RoomAttendantRumor( text, null ); else m_Rumors[index].Message = text; from.Prompt = new ChangeARumorKeywordPrompt( this, index ); PrivateOverheadMessage( MessageType.Regular, 0x3B2, false, "What keyword should a guest say to me to get this news?", from.NetState ); }
public static void Serialize( GenericWriter writer, RoomAttendantRumor rumor ) { if ( rumor == null ) { writer.Write( false ); } else { writer.Write( true ); writer.Write( rumor.m_Message ); writer.Write( rumor.m_Keyword ); } }