public PlayerEditorForm(Player TargetPlayer, bool Editable) { InitializeComponent(); Text = TargetPlayer.Name + (Editable ? "" : $" ({MainForm.CurrentLanguage["NonEditable"]})"); BackColor = Color.FromArgb(45, 45, 48); var CloseButton = new PictureBox(); CloseButton.MouseEnter += (s, e) => CloseButton.BackColor = ButtonHoverColor; CloseButton.MouseLeave += (s, e) => CloseButton.BackColor = ButtonNormalColor; CloseButton.Click += (s, e) => Dispose(); CloseButton.Bounds = new Rectangle(this.Width - 32, -1, 32, 32); using (Stream st = Assembly.GetExecutingAssembly().GetManifestResourceStream("QTRHacker.NewDimension.Res.Image.close.png")) CloseButton.Image = Image.FromStream(st); this.Controls.Add(CloseButton); Tabs = new MTabControl(); Tabs.bColor = Color.FromArgb(70, 70, 70); Tabs.tColor = Color.FromArgb(90, 90, 90); Tabs.Bounds = new Rectangle(0, 31, 1005, 360); Tabs.Controls.Add(new PlayerEditor(HackContext.GameContext, this, TargetPlayer, Editable) { BackColor = Tabs.bColor }); Tabs.Controls.Add(new InvEditor(HackContext.GameContext, this, TargetPlayer, Editable) { BackColor = Tabs.bColor }); Tabs.Controls.Add(new ArmorEditor(HackContext.GameContext, this, TargetPlayer, Editable) { BackColor = Tabs.bColor }); this.Controls.Add(Tabs); }
public WikiForm() { InitializeComponent(); MainTab = new MTabControl(); MainTab.bColor = Color.DarkGray; MainTab.tColor = Color.Gray; ItemsTabPage = new ItemsTabPage() { Text = "Items" }; MainTab.TabPages.Add(ItemsTabPage); MainTab.Size = ClientSize; Controls.Add(MainTab); }
public PlayerEditorForm() { InitializeComponent(); Tabs = new MTabControl(); Tabs.bColor = Color.FromArgb(175, 215, 230); Tabs.tColor = Color.CadetBlue; Tabs.Bounds = new Rectangle(0, 0, 1005, 360); Tabs.Controls.Add(new PlayerEditor(MainForm.Context, this) { BackColor = Color.FromArgb(205, 255, 230) }); Tabs.Controls.Add(new InvEditor(MainForm.Context, this) { BackColor = Color.FromArgb(205, 255, 230) }); Tabs.Controls.Add(new ArmorEditor(MainForm.Context, this) { BackColor = Color.FromArgb(205, 255, 230) }); this.Controls.Add(Tabs); }
public ItemsTabPage() { if (!ItemData.Initialized) { using (var s = Assembly.GetExecutingAssembly().GetManifestResourceStream("QTRHacker.NewDimension.Res.Game.WikiRes.zip")) { using (ZipArchive z = new ZipArchive(s)) { using (var u = new StreamReader(z.GetEntry("ItemInfo.json").Open())) { var Items = JArray.Parse(u.ReadToEnd()); ItemData.InitializeFromJson(Items); } using (var u = new StreamReader(z.GetEntry("ItemName_cn.json").Open())) Items_cn = JArray.Parse(u.ReadToEnd()); using (var u = new StreamReader(z.GetEntry("RecipeInfo.json").Open())) { var Recipes = JArray.Parse(u.ReadToEnd()); RecipeData.InitializeFromJson(Recipes); } using (var u = new StreamReader(z.GetEntry("ItemDescriptions.json").Open())) ItemDescriptions = JArray.Parse(u.ReadToEnd()); } GC.Collect(); } } this.BackColor = Color.LightGray; this.BorderStyle = BorderStyle.None; ItemListView = new ListView(); ItemListView.Bounds = new Rectangle(5, 5, 450, 440); ItemListView.FullRowSelect = true; ItemListView.MultiSelect = false; ItemListView.HideSelection = false; ItemListView.View = View.Details; ItemListView.Columns.Add(MainForm.CurrentLanguage["Index"], 50); ItemListView.Columns.Add(MainForm.CurrentLanguage["Rare"], 50); ItemListView.Columns.Add(MainForm.CurrentLanguage["EnglishName"], 125); ItemListView.Columns.Add(MainForm.CurrentLanguage["ChineseName"], 125); ItemListView.Columns.Add(MainForm.CurrentLanguage["Type"], 70); ItemListView.MouseDoubleClick += (s, e) => { int id = Convert.ToInt32(ItemListView.SelectedItems[0].Text.ToString()); var player = HackContext.GameContext.MyPlayer; int num = Functions.GameObjects.Item.NewItem(HackContext.GameContext, player.X, player.Y, 0, 0, id, ItemData.Data[id].MaxStack, false, 0, true); Functions.GameObjects.NetMessage.SendData(HackContext.GameContext, 21, -1, -1, 0, num, 0, 0, 0, 0, 0, 0); }; ContextMenuStrip strip = ItemListView.ContextMenuStrip = new ContextMenuStrip(); strip.Items.Add(MainForm.CurrentLanguage["AddToInvMax"]).Click += (s, e) => { int id = Convert.ToInt32(ItemListView.SelectedItems[0].Text.ToString()); var player = HackContext.GameContext.MyPlayer; int num = Functions.GameObjects.Item.NewItem(HackContext.GameContext, player.X, player.Y, 0, 0, id, ItemData.Data[id].MaxStack, false, 0, true); Functions.GameObjects.NetMessage.SendData(HackContext.GameContext, 21, -1, -1, 0, num, 0, 0, 0, 0, 0, 0); }; strip.Items.Add(MainForm.CurrentLanguage["AddToInvOne"]).Click += (s, e) => { int id = Convert.ToInt32(ItemListView.SelectedItems[0].Text.ToString()); var player = HackContext.GameContext.MyPlayer; int num = Functions.GameObjects.Item.NewItem(HackContext.GameContext, player.X, player.Y, 0, 0, id, 1, false, 0, true); Functions.GameObjects.NetMessage.SendData(HackContext.GameContext, 21, -1, -1, 0, num, 0, 0, 0, 0, 0, 0); }; strip.Items.Add(MainForm.CurrentLanguage["ShowRecipeTree"]).Click += (s, e) => { int id = Convert.ToInt32(ItemListView.SelectedItems[0].Text.ToString()); RecipeTreeForm.ShowTree(id); }; ItemListView.SelectedIndexChanged += ItemListView_SelectedIndexChanged; ItemInfoPage = new ItemInfoSubPage(); ItemInfoPage.OnRequireItemDoubleClick += RequireItems_MouseDoubleClick; ItemInfoPage.OnRecipeToItemDoubleClick += RecipeToItems_MouseDoubleClick; AccInfoPage = new AccInfoSubPage(); SearcherPage = new ItemSearcherSubPage(); SearcherPage.BlockCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.WallCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.HeadCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.BodyCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.LegCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.AccessoryCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.MeleeCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.RangedCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.MagicCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.SummonCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.BuffCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.ConsumableCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.OthersCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.KeyWordTextBox.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { e.Handled = true; KeyWord = SearcherPage.KeyWordTextBox.Text; RefreshItems(); } }; SearcherPage.SearchButton.Click += (s, e) => { KeyWord = SearcherPage.KeyWordTextBox.Text; RefreshItems(); }; SearcherPage.ResetButton.Click += (s, e) => { KeyWord = ""; SearcherPage.KeyWordTextBox.Text = ""; RefreshItems(); }; InfoTabs = new MTabControl(); InfoTabs.TColor = Color.FromArgb(160, 160, 200); InfoTabs.Bounds = new Rectangle(460, 5, 270, 440); InfoTabs.Controls.Add(ItemInfoPage); InfoTabs.Controls.Add(AccInfoPage); InfoTabs.Controls.Add(SearcherPage); Controls.Add(ItemListView); Controls.Add(InfoTabs); }
public ItemInfoSubPage() : base(MainForm.CurrentLanguage["ItemInfo"]) { ItemIconInfoView = new InfoView(new PictureBox() { SizeMode = PictureBoxSizeMode.CenterImage }, InfoView.TipDock.Top); ItemIconInfoView.Text = MainForm.CurrentLanguage["Icon"]; ItemIconInfoView.Bounds = new Rectangle(5, 5, 80, 80); ItemIconInfoView.Tip.BackColor = ItemsColor; ItemNameInfoView = new InfoView(new TextBox() { TextAlign = HorizontalAlignment.Right }, InfoView.TipDock.Left, false); ItemNameInfoView.Text = MainForm.CurrentLanguage["Name"]; ItemNameInfoView.Tip.BackColor = ItemsColor; ItemNameInfoView.Bounds = new Rectangle(0, 0, 170, 20); ItemTypeInfoView = new InfoView(new TextBox() { TextAlign = HorizontalAlignment.Right }, InfoView.TipDock.Left, false); ItemTypeInfoView.Text = MainForm.CurrentLanguage["Type"]; ItemTypeInfoView.Tip.BackColor = ItemsColor; ItemTypeInfoView.Bounds = new Rectangle(0, 20, 170, 20); ItemRareInfoView = new InfoView(new TextBox() { TextAlign = HorizontalAlignment.Right }, InfoView.TipDock.Left, false); ItemRareInfoView.Text = MainForm.CurrentLanguage["Rare"]; ItemRareInfoView.Tip.BackColor = ItemsColor; ItemRareInfoView.Bounds = new Rectangle(0, 40, 170, 20); InfoView ItemDetailInfoView = new InfoView(new Panel() { BorderStyle = BorderStyle.None }, InfoView.TipDock.Top); Panel ItemDetailInfoViewContent = (ItemDetailInfoView.View as Panel); ItemDetailInfoViewContent.Controls.Add(ItemNameInfoView); ItemDetailInfoViewContent.Controls.Add(ItemTypeInfoView); ItemDetailInfoViewContent.Controls.Add(ItemRareInfoView); ItemDetailInfoView.Text = MainForm.CurrentLanguage["Details"]; ItemDetailInfoView.Tip.BackColor = ItemsColor; ItemDetailInfoView.Bounds = new Rectangle(90, 5, 170, 80); ItemDescriptionInfoView = new InfoView(new TextBox() { Multiline = true }, InfoView.TipDock.Left); ItemDescriptionInfoView.Text = MainForm.CurrentLanguage["Description"]; ItemDescriptionInfoView.Tip.BackColor = ItemsColor; ItemDescriptionInfoView.Bounds = new Rectangle(5, 90, 255, 80); RequireItems = new MTabControl(); RequireItems.TColor = ItemsColor; ItemRecipeFromInfoView = new InfoView(RequireItems, InfoView.TipDock.Top); ItemRecipeFromInfoView.Text = MainForm.CurrentLanguage["Recipe"] + "(From)"; ItemRecipeFromInfoView.Tip.BackColor = ItemsColor; ItemRecipeFromInfoView.Bounds = new Rectangle(5, 175, 255, 100); RecipeToItems = new ListBox() { BorderStyle = BorderStyle.None }; RecipeToItems.MouseDoubleClick += (s, e) => { OnRecipeToItemDoubleClick(s, e); }; ItemRecipeToInfoView = new InfoView(RecipeToItems, InfoView.TipDock.Top); ItemRecipeToInfoView.Text = MainForm.CurrentLanguage["Recipe"] + "(To)"; ItemRecipeToInfoView.Tip.BackColor = ItemsColor; ItemRecipeToInfoView.Bounds = new Rectangle(5, 280, 255, 100); ItemValueInfoView = new InfoView(new TextBox() { TextAlign = HorizontalAlignment.Center }, InfoView.TipDock.Left); ItemValueInfoView.Text = MainForm.CurrentLanguage["Rare"]; ItemValueInfoView.Tip.BackColor = ItemsColor; ItemValueInfoView.Bounds = new Rectangle(5, 385, 255, 20); Controls.Add(ItemIconInfoView); Controls.Add(ItemDetailInfoView); Controls.Add(ItemDescriptionInfoView); Controls.Add(ItemRecipeFromInfoView); Controls.Add(ItemRecipeToInfoView); Controls.Add(ItemValueInfoView); }
public MainForm() { if (new StartForm().ShowDialog(this) != DialogResult.OK) { Environment.Exit(0); } Module = new ModuleInfo(MnBPath, ModuleName, LanguageName); /*foreach (var t in F_SimpleTriggers.SimpleTriggers) * { * System.Diagnostics.Debug.WriteLine(t.Interval); * foreach (var s in t.Block.Statements) * { * System.Diagnostics.Debug.WriteLine("\t" + s.Opcode); * } * }*/ InitializeComponent(); cms = new MenuStrip() { BackColor = Color.FromArgb(37, 37, 38), ForeColor = Color.White, RenderMode = ToolStripRenderMode.System, Renderer = new MenuStripRender() }; ToolStripMenuItem FileMenuItem = new ToolStripMenuItem("文件") { ForeColor = Color.White, }; AddMenuItem(FileMenuItem, "保存Module", null); AddMenuItem(FileMenuItem, "退出", null, (s, e) => Environment.Exit(0)); cms.Items.Add(FileMenuItem); Controls.Add(cms); Panel tabPanel = new Panel() { Location = new Point(0, cms.Height), Size = new Size(ClientSize.Width, ClientSize.Height - cms.Height) }; mainTabControl = new MTabControl() { Location = new Point(0, 0), Dock = DockStyle.Fill, }; mainTabControl.SelectedIndexChanged += MainTabControl_SelectedIndexChanged; Page_Item = new ItemPage(); mainTabControl.Controls.Add(Page_Item); Page_Troop = new TabPage("兵种") { BackColor = Color.FromArgb(30, 30, 36), }; mainTabControl.Controls.Add(Page_Troop); tabPanel.Controls.Add(mainTabControl); Controls.Add(tabPanel); }
public NPCTabPage() { if (NPCName_en == null) { using (var s = Assembly.GetExecutingAssembly().GetManifestResourceStream("QTRHacker.NewDimension.Res.Game.WikiRes.zip")) { using (ZipArchive z = new ZipArchive(s)) { using (var u = new StreamReader(z.GetEntry("NPCName_en.json").Open())) NPCName_en = JArray.Parse(u.ReadToEnd()); using (var u = new StreamReader(z.GetEntry("NPCName_cn.json").Open())) NPCName_cn = JArray.Parse(u.ReadToEnd()); using (var u = new StreamReader(z.GetEntry("NPCInfo.json").Open())) NPCInfo = JArray.Parse(u.ReadToEnd()); } GC.Collect(); } } this.BackColor = Color.LightGray; this.BorderStyle = BorderStyle.None; NPCListView = new ListView(); NPCListView.Bounds = new Rectangle(5, 5, 450, 440); NPCListView.FullRowSelect = true; NPCListView.MultiSelect = false; NPCListView.HideSelection = false; NPCListView.View = View.Details; NPCListView.Columns.Add(MainForm.CurrentLanguage["Index"], 50); NPCListView.Columns.Add(MainForm.CurrentLanguage["EnglishName"], 180); NPCListView.Columns.Add(MainForm.CurrentLanguage["ChineseName"], 180); NPCListView.MouseDoubleClick += (s, e) => { int id = Convert.ToInt32(NPCListView.SelectedItems[0].Text.ToString()); var player = HackContext.GameContext.MyPlayer; QTRHacker.Functions.GameObjects.NPC.NewNPC(HackContext.GameContext, (int)player.X, (int)player.Y, id); }; NPCListView.SelectedIndexChanged += ItemListView_SelectedIndexChanged; NPCInfoPage = new NPCInfoSubPage(); SearcherPage = new NPCSearcherSubPage(); SearcherPage.TownNPCCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.BossCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.FriendlyCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.OthersCheckBox.CheckedChanged += Filter_CheckedChanged; SearcherPage.KeyWordTextBox.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { e.Handled = true; KeyWord = SearcherPage.KeyWordTextBox.Text; RefreshNPCs(); } }; SearcherPage.SearchButton.Click += (s, e) => { KeyWord = SearcherPage.KeyWordTextBox.Text; RefreshNPCs(); }; SearcherPage.ResetButton.Click += (s, e) => { KeyWord = ""; SearcherPage.KeyWordTextBox.Text = ""; RefreshNPCs(); }; InfoTabs = new MTabControl(); InfoTabs.TColor = NPCColor; InfoTabs.Bounds = new Rectangle(460, 5, 270, 440); InfoTabs.Controls.Add(NPCInfoPage); InfoTabs.Controls.Add(SearcherPage); Controls.Add(NPCListView); Controls.Add(InfoTabs); }