public OKTargetGump(string header, int headerColor, string content, int contentColor, int width, int height, GenericOKCallback callback, MasterRunebook master, InternalRunebook book, int id) : base((640 - width) / 2, (480 - height) / 2) { m_Callback = callback; m_Master = master; m_Book = book; m_Id = id; Closable = false; AddPage(0); AddBackground(0, 0, width, height, 5054); AddImageTiled(10, 10, width - 20, 20, 2624); AddAlphaRegion(10, 10, width - 20, 20); AddHtml(10, 10, width - 20, 20, String.Format("<BASEFONT COLOR=#{0:X6}>{1}</BASEFONT>", headerColor, header), false, false); AddImageTiled(10, 40, width - 20, height - 80, 2624); AddAlphaRegion(10, 40, width - 20, height - 80); AddHtml(10, 40, width - 20, height - 80, String.Format("<BASEFONT COLOR=#{0:X6}>{1}</BASEFONT>", contentColor, content), false, true); AddImageTiled(10, height - 30, width - 20, 20, 2624); AddAlphaRegion(10, height - 30, width - 20, 20); AddButton(10, height - 30, 4005, 4007, 1, GumpButtonType.Reply, 0); AddHtmlLocalized(40, height - 30, 170, 20, 1049717, 32767, false, false); // YES AddButton(10 + ((width - 20) / 2), height - 30, 4005, 4007, 0, GumpButtonType.Reply, 0); AddHtmlLocalized(40 + ((width - 20) / 2), height - 30, 170, 20, 1049718, 32767, false, false); // NO }
public MasterRunebookGump(Mobile owner, MasterRunebook book) : base(150, 60) { m_Book = book; AddPage(0); AddBackground(0, 0, 420, 440, 3500); AddItem(66, 14, 0x2252, m_Book.Hue); AddLabel(110, 14, 0, "Lokai's Master Runebook"); AddItem(260, 14, 0x2252, m_Book.Hue); int count = 0; for (int x = 0; x < 3; x++) { AddPage(1 + x); if (x < 2) AddButton(338, 407, 2471, 2470, 0, GumpButtonType.Page, 2 + x); //Next Button if (x > 0) AddButton(30, 407, 2468, 2467, 0, GumpButtonType.Page, x); // Previous Button int XposB = 15, YposB = 44, XposL = 35, YposL = 41, bk = 16; for (int y = 0; y < 17; y++) { string name = ""; try { name = m_Book.Books[count].Name.Trim(); } catch { } if (name == null || name.Length < 1) name = string.Format("Book #{0}", ((int)(count + 1)).ToString()); AddTextEntry(XposL, YposL, 320, 19, 0, count + 100, name); AddButton(XposB, YposB, 1802, 1802, bk + (17 * x), GumpButtonType.Reply, 0); AddItem(XposB - 13, YposB - 4, 8901, 0x461); YposB += 20; YposL += 20; count++; bk++; } XposB += 130; XposL += 130; YposB = 44; YposL = 41; } }
public InternalRunebookGump(Mobile from, InternalRunebook book, MasterRunebook masterbook, int booknum) : base(150, 200) { m_Book = book; m_MasterBook = masterbook; m_BookNum = booknum; AddBackground(); AddLabel(137, 12, 0, m_Book.Name); AddLabel(312, 32, 0, "Return"); AddButton(288, 34, 2223, 2223, 199, GumpButtonType.Reply, 0); if (booknum > 0) { AddButton(283, 14, 9766, 9767, booknum + 199, GumpButtonType.Reply, 0); AddLabel(303, 12, 0, string.Format("{0}", ((int)(booknum)).ToString())); } if (booknum < 50) { AddButton(407, 14, 9762, 9763, booknum + 201, GumpButtonType.Reply, 0); AddLabel(387, 12, 0, string.Format("{0}", ((int)(booknum + 2)).ToString())); } AddIndex(); for (int page = 0; page < 8; ++page) { AddPage(2 + page); //AddButton(125, 14, 2205, 2205, 0, GumpButtonType.Page, 1 + page); //if (page < 7) // AddButton(393, 14, 2206, 2206, 0, GumpButtonType.Page, 3 + page); for (int half = 0; half < 2; ++half) AddDetails((page * 2) + half, half); } }
public static void RemoveRunebook_Callback(Mobile from, bool okay, MasterRunebook master, InternalRunebook book, int id) { if (okay) { Container pack = from.Backpack; if (pack == null || pack.Deleted) { from.SendMessage("Unable to find a backpack in which to place a new Runebook."); return; } int count = book.Entries.Count; if (count > 0) { if (from.AccessLevel < AccessLevel.GameMaster) { if (from.Backpack.ConsumeTotal(new Type[] { typeof(BlankScroll), typeof(RecallScroll), typeof(GateTravelScroll) }, new int[] { 10, 1, 1 }) >= 0) { from.SendMessage("You do not have the materials needed to create the runebook."); return; } if (from.CheckSkill(SkillName.Inscribe, 100, 120)) { from.SendMessage("You failed to extract the book. Some materials were lost."); return; } } Runebook runebook = new Runebook(book.MaxCharges); for (int x = 0; x < count; x++) { RunebookEntry rbe = new RunebookEntry( ((RunebookEntry)book.Entries[0]).Location, ((RunebookEntry)book.Entries[0]).Map, ((RunebookEntry)book.Entries[0]).Description, ((RunebookEntry)book.Entries[0]).House); runebook.Entries.Add(rbe); book.Entries.RemoveAt(0); } runebook.CurCharges = book.CurCharges; runebook.Name = book.Name; book.Name = string.Format("Book #{0}", ((int)(id + 1)).ToString()); pack.DropItem(runebook); from.SendMessage("Runebook extracted. Some materials were used."); } else { from.SendMessage("You cannot remove an empty Runebook."); } from.CloseGump(typeof(InternalRunebookGump)); from.SendGump(new InternalRunebookGump(from, book, master, id)); } else { from.CloseGump(typeof(InternalRunebookGump)); from.SendGump(new InternalRunebookGump(from, book, master, id)); } }
public InternalTarget(InternalRunebook book, MasterRunebook master, int booknum) : base(3, false, TargetFlags.None) { m_RuneBook = book; m_Master = master; m_Booknum = booknum; }
public DescriptionPrompt(MasterRunebook master, InternalRunebook book, int id) { m_Master = master; m_Book = book; m_Id = id; }
public static void TargetPoint3D_Callback(Mobile from, bool okay, MasterRunebook master, InternalRunebook book, int id) { if (okay) { if (book.Entries.Count < 16) { book.Entries.Add(new RunebookEntry(from.Location, from.Map, "", null)); from.SendMessage("Enter the description for this location."); from.Prompt = new DescriptionPrompt(master, book, id); } else { from.SendLocalizedMessage(502401); // This runebook is full. from.CloseGump(typeof(InternalRunebookGump)); from.SendGump(new InternalRunebookGump(from, book, master, id)); } } else { from.CloseGump(typeof(InternalRunebookGump)); from.SendGump(new InternalRunebookGump(from, book, master, id)); } }