Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }