From 7b886ea2515f49b86693f4a319ae88da6fe32e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AD=B1=E5=82=91?= Date: Sun, 27 Nov 2022 15:29:56 +0800 Subject: [PATCH] Detach all pages of the main form --- .../Forms/FormMain.Designer.cs | 1472 ------- Source/GrasscutterTools/Forms/FormMain.cs | 884 +---- .../Forms/FormMain.en-us.resx | 525 --- Source/GrasscutterTools/Forms/FormMain.resx | 3499 +---------------- .../Forms/FormMain.ru-ru.resx | 765 +--- .../Forms/FormMain.zh-TW.resx | 331 +- .../GrasscutterTools/GrasscutterTools.csproj | 126 + Source/GrasscutterTools/Pages/BasePage.cs | 21 +- .../Pages/PageAbout.Designer.cs | 77 + Source/GrasscutterTools/Pages/PageAbout.cs | 41 + .../Pages/PageAbout.en-US.resx | 133 + Source/GrasscutterTools/Pages/PageAbout.resx | 238 ++ .../Pages/PageAbout.ru-RU.resx | 138 + .../Pages/PageAbout.zh-TW.resx | 133 + .../Pages/PageAvatar.Designer.cs | 434 ++ Source/GrasscutterTools/Pages/PageAvatar.cs | 206 + .../Pages/PageAvatar.en-US.resx | 235 ++ Source/GrasscutterTools/Pages/PageAvatar.resx | 966 +++++ .../Pages/PageAvatar.ru-RU.resx | 280 ++ .../Pages/PageAvatar.zh-TW.resx | 165 + .../Pages/PageCustomCommands.cs | 21 +- .../Pages/PageGiveArtifact.cs | 21 +- .../Pages/PageGiveItem.Designer.cs | 203 + Source/GrasscutterTools/Pages/PageGiveItem.cs | 190 + .../Pages/PageGiveItem.en-US.resx | 166 + .../GrasscutterTools/Pages/PageGiveItem.resx | 508 +++ .../Pages/PageGiveItem.ru-RU.resx | 193 + .../Pages/PageGiveItem.zh-TW.resx | 140 + .../GrasscutterTools/Pages/PageGiveWeapon.cs | 21 +- Source/GrasscutterTools/Pages/PageHome.cs | 21 +- .../Pages/PageMail.Designer.cs | 369 ++ Source/GrasscutterTools/Pages/PageMail.cs | 291 ++ .../Pages/PageMail.en-US.resx | 193 + Source/GrasscutterTools/Pages/PageMail.resx | 1038 +++++ .../Pages/PageMail.ru-RU.resx | 256 ++ .../Pages/PageMail.zh-TW.resx | 147 + .../Pages/PageManagement.Designer.cs | 308 ++ .../GrasscutterTools/Pages/PageManagement.cs | 102 + .../Pages/PageManagement.en-US.resx | 208 + .../Pages/PageManagement.resx | 732 ++++ .../Pages/PageManagement.ru-RU.resx | 268 ++ .../Pages/PageManagement.zh-TW.resx | 147 + .../GrasscutterTools/Pages/PageOpenCommand.cs | 21 +- .../Pages/PageQuest.Designer.cs | 140 + Source/GrasscutterTools/Pages/PageQuest.cs | 77 + .../Pages/PageQuest.en-US.resx | 154 + Source/GrasscutterTools/Pages/PageQuest.resx | 395 ++ .../Pages/PageQuest.ru-RU.resx | 154 + .../Pages/PageQuest.zh-TW.resx | 144 + .../Pages/PageScene.Designer.cs | 246 ++ Source/GrasscutterTools/Pages/PageScene.cs | 147 + .../Pages/PageScene.en-US.resx | 176 + Source/GrasscutterTools/Pages/PageScene.resx | 606 +++ .../Pages/PageScene.ru-RU.resx | 200 + .../Pages/PageScene.zh-TW.resx | 148 + Source/GrasscutterTools/Pages/PageSpawn.cs | 21 +- 56 files changed, 11408 insertions(+), 7433 deletions(-) create mode 100644 Source/GrasscutterTools/Pages/PageAbout.Designer.cs create mode 100644 Source/GrasscutterTools/Pages/PageAbout.cs create mode 100644 Source/GrasscutterTools/Pages/PageAbout.en-US.resx create mode 100644 Source/GrasscutterTools/Pages/PageAbout.resx create mode 100644 Source/GrasscutterTools/Pages/PageAbout.ru-RU.resx create mode 100644 Source/GrasscutterTools/Pages/PageAbout.zh-TW.resx create mode 100644 Source/GrasscutterTools/Pages/PageAvatar.Designer.cs create mode 100644 Source/GrasscutterTools/Pages/PageAvatar.cs create mode 100644 Source/GrasscutterTools/Pages/PageAvatar.en-US.resx create mode 100644 Source/GrasscutterTools/Pages/PageAvatar.resx create mode 100644 Source/GrasscutterTools/Pages/PageAvatar.ru-RU.resx create mode 100644 Source/GrasscutterTools/Pages/PageAvatar.zh-TW.resx create mode 100644 Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs create mode 100644 Source/GrasscutterTools/Pages/PageGiveItem.cs create mode 100644 Source/GrasscutterTools/Pages/PageGiveItem.en-US.resx create mode 100644 Source/GrasscutterTools/Pages/PageGiveItem.resx create mode 100644 Source/GrasscutterTools/Pages/PageGiveItem.ru-RU.resx create mode 100644 Source/GrasscutterTools/Pages/PageGiveItem.zh-TW.resx create mode 100644 Source/GrasscutterTools/Pages/PageMail.Designer.cs create mode 100644 Source/GrasscutterTools/Pages/PageMail.cs create mode 100644 Source/GrasscutterTools/Pages/PageMail.en-US.resx create mode 100644 Source/GrasscutterTools/Pages/PageMail.resx create mode 100644 Source/GrasscutterTools/Pages/PageMail.ru-RU.resx create mode 100644 Source/GrasscutterTools/Pages/PageMail.zh-TW.resx create mode 100644 Source/GrasscutterTools/Pages/PageManagement.Designer.cs create mode 100644 Source/GrasscutterTools/Pages/PageManagement.cs create mode 100644 Source/GrasscutterTools/Pages/PageManagement.en-US.resx create mode 100644 Source/GrasscutterTools/Pages/PageManagement.resx create mode 100644 Source/GrasscutterTools/Pages/PageManagement.ru-RU.resx create mode 100644 Source/GrasscutterTools/Pages/PageManagement.zh-TW.resx create mode 100644 Source/GrasscutterTools/Pages/PageQuest.Designer.cs create mode 100644 Source/GrasscutterTools/Pages/PageQuest.cs create mode 100644 Source/GrasscutterTools/Pages/PageQuest.en-US.resx create mode 100644 Source/GrasscutterTools/Pages/PageQuest.resx create mode 100644 Source/GrasscutterTools/Pages/PageQuest.ru-RU.resx create mode 100644 Source/GrasscutterTools/Pages/PageQuest.zh-TW.resx create mode 100644 Source/GrasscutterTools/Pages/PageScene.Designer.cs create mode 100644 Source/GrasscutterTools/Pages/PageScene.cs create mode 100644 Source/GrasscutterTools/Pages/PageScene.en-US.resx create mode 100644 Source/GrasscutterTools/Pages/PageScene.resx create mode 100644 Source/GrasscutterTools/Pages/PageScene.ru-RU.resx create mode 100644 Source/GrasscutterTools/Pages/PageScene.zh-TW.resx diff --git a/Source/GrasscutterTools/Forms/FormMain.Designer.cs b/Source/GrasscutterTools/Forms/FormMain.Designer.cs index 304c056..63cc11b 100644 --- a/Source/GrasscutterTools/Forms/FormMain.Designer.cs +++ b/Source/GrasscutterTools/Forms/FormMain.Designer.cs @@ -37,184 +37,21 @@ namespace GrasscutterTools.Forms this.BtnInvokeOpenCommand = new System.Windows.Forms.Button(); this.TPRemoteCall = new System.Windows.Forms.TabPage(); this.TPAbout = new System.Windows.Forms.TabPage(); - this.GrasscutterToolsSupport = new System.Windows.Forms.PictureBox(); - this.LnkGithub = new System.Windows.Forms.LinkLabel(); - this.LblSupportDescription = new System.Windows.Forms.Label(); this.TPManage = new System.Windows.Forms.TabPage(); - this.GrpBanPlayer = new System.Windows.Forms.GroupBox(); - this.DTPBanEndTime = new System.Windows.Forms.DateTimePicker(); - this.BtnUnban = new System.Windows.Forms.Button(); - this.BtnBan = new System.Windows.Forms.Button(); - this.NUDBanUID = new System.Windows.Forms.NumericUpDown(); - this.LblBanUID = new System.Windows.Forms.Label(); - this.GrpAccount = new System.Windows.Forms.GroupBox(); - this.ChkAccountSetUid = new System.Windows.Forms.CheckBox(); - this.NUDAccountUid = new System.Windows.Forms.NumericUpDown(); - this.BtnDeleteAccount = new System.Windows.Forms.Button(); - this.BtnCreateAccount = new System.Windows.Forms.Button(); - this.LblAccountUserName = new System.Windows.Forms.Label(); - this.TxtAccountUserName = new System.Windows.Forms.TextBox(); - this.GrpPermission = new System.Windows.Forms.GroupBox(); - this.CmbPerm = new System.Windows.Forms.ComboBox(); - this.NUDPermUID = new System.Windows.Forms.NumericUpDown(); - this.BtnPermClear = new System.Windows.Forms.Button(); - this.BtmPermRemove = new System.Windows.Forms.Button(); - this.BtnPermList = new System.Windows.Forms.Button(); - this.BtnPermAdd = new System.Windows.Forms.Button(); - this.LblPerm = new System.Windows.Forms.Label(); - this.LblPermUID = new System.Windows.Forms.Label(); this.TPScene = new System.Windows.Forms.TabPage(); - this.RbListDungeons = new System.Windows.Forms.RadioButton(); - this.RbListScene = new System.Windows.Forms.RadioButton(); - this.TxtSceneFilter = new System.Windows.Forms.TextBox(); - this.ChkIncludeSceneId = new System.Windows.Forms.CheckBox(); - this.LblTpZ = new System.Windows.Forms.Label(); - this.LblTpY = new System.Windows.Forms.Label(); - this.BtnTeleport = new System.Windows.Forms.Button(); - this.LblTpX = new System.Windows.Forms.Label(); - this.NUDTpZ = new System.Windows.Forms.NumericUpDown(); - this.NUDTpY = new System.Windows.Forms.NumericUpDown(); - this.NUDTpX = new System.Windows.Forms.NumericUpDown(); - this.CmbClimateType = new System.Windows.Forms.ComboBox(); - this.LblClimateType = new System.Windows.Forms.Label(); - this.LblSceneDescription = new System.Windows.Forms.Label(); - this.ListScenes = new System.Windows.Forms.ListBox(); - this.LblTp = new System.Windows.Forms.Label(); this.TPItem = new System.Windows.Forms.TabPage(); - this.LblClearGiveItemLogs = new System.Windows.Forms.Label(); - this.BtnSaveGiveItemLog = new System.Windows.Forms.Button(); - this.BtnRemoveGiveItemLog = new System.Windows.Forms.Button(); - this.GrpGiveItemRecord = new System.Windows.Forms.GroupBox(); - this.ListGiveItemLogs = new System.Windows.Forms.ListBox(); - this.ChkDrop = new System.Windows.Forms.CheckBox(); - this.TxtGameItemFilter = new System.Windows.Forms.TextBox(); - this.ListGameItems = new System.Windows.Forms.ListBox(); - this.LblGameItemAmount = new System.Windows.Forms.Label(); - this.LblGameItemLevel = new System.Windows.Forms.Label(); - this.NUDGameItemAmout = new System.Windows.Forms.NumericUpDown(); - this.NUDGameItemLevel = new System.Windows.Forms.NumericUpDown(); - this.LblGiveCommandDescription = new System.Windows.Forms.Label(); this.TPWeapon = new System.Windows.Forms.TabPage(); this.TPAvatar = new System.Windows.Forms.TabPage(); - this.GrpSetConstellation = new System.Windows.Forms.GroupBox(); - this.LnkSetAllConst = new System.Windows.Forms.LinkLabel(); - this.LnkSetConst = new System.Windows.Forms.LinkLabel(); - this.NUDSetConstellation = new System.Windows.Forms.NumericUpDown(); - this.GrpSetStats = new System.Windows.Forms.GroupBox(); - this.BtnUnlockStat = new System.Windows.Forms.Button(); - this.BtnLockStat = new System.Windows.Forms.Button(); - this.LblStatTip = new System.Windows.Forms.Label(); - this.LblStatPercent = new System.Windows.Forms.Label(); - this.NUDStat = new System.Windows.Forms.NumericUpDown(); - this.CmbStat = new System.Windows.Forms.ComboBox(); - this.GrpTalentLevel = new System.Windows.Forms.GroupBox(); - this.LnkTalentAll = new System.Windows.Forms.LinkLabel(); - this.LnkTalentE = new System.Windows.Forms.LinkLabel(); - this.LnkTalentQ = new System.Windows.Forms.LinkLabel(); - this.LnkTalentNormalATK = new System.Windows.Forms.LinkLabel(); - this.NUDTalentLevel = new System.Windows.Forms.NumericUpDown(); - this.GrpGiveAvatar = new System.Windows.Forms.GroupBox(); - this.CmbSwitchElement = new System.Windows.Forms.ComboBox(); - this.LnkSwitchElement = new System.Windows.Forms.LinkLabel(); - this.CmbAvatar = new System.Windows.Forms.ComboBox(); - this.LblAvatarSkillLevelTip = new System.Windows.Forms.Label(); - this.NUDAvatarLevel = new System.Windows.Forms.NumericUpDown(); - this.BtnGiveAllChar = new System.Windows.Forms.Button(); - this.LblAvatarLevel = new System.Windows.Forms.Label(); - this.LblAvatarSkillLevelLabel = new System.Windows.Forms.Label(); - this.LblAvatar = new System.Windows.Forms.Label(); - this.LblAvatarConstellation = new System.Windows.Forms.Label(); - this.NUDAvatarConstellation = new System.Windows.Forms.NumericUpDown(); - this.NUDAvatarSkillLevel = new System.Windows.Forms.NumericUpDown(); this.TPSpawn = new System.Windows.Forms.TabPage(); this.TPQuest = new System.Windows.Forms.TabPage(); - this.GrpQuestFilters = new System.Windows.Forms.GroupBox(); - this.ChkQuestFilterTEST = new System.Windows.Forms.CheckBox(); - this.ChkQuestFilterUNRELEASED = new System.Windows.Forms.CheckBox(); - this.ChkQuestFilterHIDDEN = new System.Windows.Forms.CheckBox(); - this.BtnFinishQuest = new System.Windows.Forms.Button(); - this.BtnAddQuest = new System.Windows.Forms.Button(); - this.LblQuestDescription = new System.Windows.Forms.Label(); - this.TxtQuestFilter = new System.Windows.Forms.TextBox(); - this.ListQuest = new System.Windows.Forms.ListBox(); this.TPArtifact = new System.Windows.Forms.TabPage(); this.TPCustom = new System.Windows.Forms.TabPage(); this.TPHome = new System.Windows.Forms.TabPage(); this.TCMain = new System.Windows.Forms.TabControl(); this.TPMail = new System.Windows.Forms.TabPage(); - this.LblClearMailContent = new System.Windows.Forms.Label(); - this.BtnAddMailItem = new System.Windows.Forms.Button(); - this.BtnDeleteMailItem = new System.Windows.Forms.Button(); - this.TCMailRight = new System.Windows.Forms.TabControl(); - this.TPMailSelectableItemList = new System.Windows.Forms.TabPage(); - this.ListMailSelectableItems = new System.Windows.Forms.ListBox(); - this.TxtMailSelectableItemFilter = new System.Windows.Forms.TextBox(); - this.PanelMailItemArgs = new System.Windows.Forms.Panel(); - this.NUDMailItemLevel = new System.Windows.Forms.NumericUpDown(); - this.NUDMailItemCount = new System.Windows.Forms.NumericUpDown(); - this.LblMailItemCount = new System.Windows.Forms.Label(); - this.LblMailItemLevel = new System.Windows.Forms.Label(); - this.TPMailList = new System.Windows.Forms.TabPage(); - this.ListMailList = new System.Windows.Forms.ListBox(); - this.PanelMailListControls = new System.Windows.Forms.Panel(); - this.BtnClearMail = new System.Windows.Forms.Button(); - this.BtnRemoveMail = new System.Windows.Forms.Button(); - this.BtnSendMail = new System.Windows.Forms.Button(); - this.ListMailItems = new System.Windows.Forms.ListBox(); - this.LblMailItemsLabel = new System.Windows.Forms.Label(); - this.NUDMailRecipient = new System.Windows.Forms.NumericUpDown(); - this.RbMailSendToPlayer = new System.Windows.Forms.RadioButton(); - this.RbMailSendToAll = new System.Windows.Forms.RadioButton(); - this.LblMailRecipientLabel = new System.Windows.Forms.Label(); - this.TxtMailContent = new System.Windows.Forms.TextBox(); - this.LblMailContentLabel = new System.Windows.Forms.Label(); - this.TxtMailTitle = new System.Windows.Forms.TextBox(); - this.LblMailTitleLabel = new System.Windows.Forms.Label(); - this.TxtMailSender = new System.Windows.Forms.TextBox(); - this.LblMailSenderLabel = new System.Windows.Forms.Label(); this.MenuSpawnEntityFilter = new System.Windows.Forms.ContextMenuStrip(this.components); - this.TxtBanReason = new GrasscutterTools.Controls.TextBoxXP(); this.GrpCommand.SuspendLayout(); - this.TPAbout.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsSupport)).BeginInit(); - this.TPManage.SuspendLayout(); - this.GrpBanPlayer.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBanUID)).BeginInit(); - this.GrpAccount.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAccountUid)).BeginInit(); - this.GrpPermission.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDPermUID)).BeginInit(); - this.TPScene.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpZ)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpY)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpX)).BeginInit(); - this.TPItem.SuspendLayout(); - this.GrpGiveItemRecord.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).BeginInit(); - this.TPAvatar.SuspendLayout(); - this.GrpSetConstellation.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSetConstellation)).BeginInit(); - this.GrpSetStats.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDStat)).BeginInit(); - this.GrpTalentLevel.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTalentLevel)).BeginInit(); - this.GrpGiveAvatar.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarLevel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarConstellation)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarSkillLevel)).BeginInit(); - this.TPQuest.SuspendLayout(); - this.GrpQuestFilters.SuspendLayout(); this.TCMain.SuspendLayout(); - this.TPMail.SuspendLayout(); - this.TCMailRight.SuspendLayout(); - this.TPMailSelectableItemList.SuspendLayout(); - this.PanelMailItemArgs.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemLevel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemCount)).BeginInit(); - this.TPMailList.SuspendLayout(); - this.PanelMailListControls.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDMailRecipient)).BeginInit(); this.SuspendLayout(); // // CmbCommand @@ -263,531 +100,28 @@ namespace GrasscutterTools.Forms // // TPAbout // - this.TPAbout.Controls.Add(this.GrasscutterToolsSupport); - this.TPAbout.Controls.Add(this.LnkGithub); - this.TPAbout.Controls.Add(this.LblSupportDescription); resources.ApplyResources(this.TPAbout, "TPAbout"); this.TPAbout.Name = "TPAbout"; this.TPAbout.UseVisualStyleBackColor = true; // - // GrasscutterToolsSupport - // - resources.ApplyResources(this.GrasscutterToolsSupport, "GrasscutterToolsSupport"); - this.GrasscutterToolsSupport.Image = global::GrasscutterTools.Properties.Resources.ImgSupport; - this.GrasscutterToolsSupport.Name = "GrasscutterToolsSupport"; - this.GrasscutterToolsSupport.TabStop = false; - // - // LnkGithub - // - resources.ApplyResources(this.LnkGithub, "LnkGithub"); - this.LnkGithub.Name = "LnkGithub"; - this.LnkGithub.TabStop = true; - this.LnkGithub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkGithub_LinkClicked); - // - // LblSupportDescription - // - resources.ApplyResources(this.LblSupportDescription, "LblSupportDescription"); - this.LblSupportDescription.Name = "LblSupportDescription"; - // // TPManage // - this.TPManage.Controls.Add(this.GrpBanPlayer); - this.TPManage.Controls.Add(this.GrpAccount); - this.TPManage.Controls.Add(this.GrpPermission); resources.ApplyResources(this.TPManage, "TPManage"); this.TPManage.Name = "TPManage"; this.TPManage.UseVisualStyleBackColor = true; // - // GrpBanPlayer - // - resources.ApplyResources(this.GrpBanPlayer, "GrpBanPlayer"); - this.GrpBanPlayer.Controls.Add(this.DTPBanEndTime); - this.GrpBanPlayer.Controls.Add(this.BtnUnban); - this.GrpBanPlayer.Controls.Add(this.BtnBan); - this.GrpBanPlayer.Controls.Add(this.TxtBanReason); - this.GrpBanPlayer.Controls.Add(this.NUDBanUID); - this.GrpBanPlayer.Controls.Add(this.LblBanUID); - this.GrpBanPlayer.Name = "GrpBanPlayer"; - this.GrpBanPlayer.TabStop = false; - // - // DTPBanEndTime - // - this.DTPBanEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Short; - resources.ApplyResources(this.DTPBanEndTime, "DTPBanEndTime"); - this.DTPBanEndTime.MaxDate = new System.DateTime(2034, 12, 31, 0, 0, 0, 0); - this.DTPBanEndTime.MinDate = new System.DateTime(2022, 6, 28, 0, 0, 0, 0); - this.DTPBanEndTime.Name = "DTPBanEndTime"; - this.DTPBanEndTime.Value = new System.DateTime(2025, 12, 31, 0, 0, 0, 0); - // - // BtnUnban - // - resources.ApplyResources(this.BtnUnban, "BtnUnban"); - this.BtnUnban.Name = "BtnUnban"; - this.BtnUnban.UseVisualStyleBackColor = true; - this.BtnUnban.Click += new System.EventHandler(this.BtnUnban_Click); - // - // BtnBan - // - resources.ApplyResources(this.BtnBan, "BtnBan"); - this.BtnBan.Name = "BtnBan"; - this.BtnBan.UseVisualStyleBackColor = true; - this.BtnBan.Click += new System.EventHandler(this.BtnBan_Click); - // - // NUDBanUID - // - resources.ApplyResources(this.NUDBanUID, "NUDBanUID"); - this.NUDBanUID.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDBanUID.Name = "NUDBanUID"; - this.NUDBanUID.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // LblBanUID - // - resources.ApplyResources(this.LblBanUID, "LblBanUID"); - this.LblBanUID.Name = "LblBanUID"; - // - // GrpAccount - // - resources.ApplyResources(this.GrpAccount, "GrpAccount"); - this.GrpAccount.Controls.Add(this.ChkAccountSetUid); - this.GrpAccount.Controls.Add(this.NUDAccountUid); - this.GrpAccount.Controls.Add(this.BtnDeleteAccount); - this.GrpAccount.Controls.Add(this.BtnCreateAccount); - this.GrpAccount.Controls.Add(this.LblAccountUserName); - this.GrpAccount.Controls.Add(this.TxtAccountUserName); - this.GrpAccount.Name = "GrpAccount"; - this.GrpAccount.TabStop = false; - // - // ChkAccountSetUid - // - resources.ApplyResources(this.ChkAccountSetUid, "ChkAccountSetUid"); - this.ChkAccountSetUid.Name = "ChkAccountSetUid"; - this.ChkAccountSetUid.UseVisualStyleBackColor = true; - // - // NUDAccountUid - // - resources.ApplyResources(this.NUDAccountUid, "NUDAccountUid"); - this.NUDAccountUid.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDAccountUid.Name = "NUDAccountUid"; - this.NUDAccountUid.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // BtnDeleteAccount - // - resources.ApplyResources(this.BtnDeleteAccount, "BtnDeleteAccount"); - this.BtnDeleteAccount.Name = "BtnDeleteAccount"; - this.BtnDeleteAccount.Tag = "delete"; - this.BtnDeleteAccount.UseVisualStyleBackColor = true; - this.BtnDeleteAccount.Click += new System.EventHandler(this.AccountButtonClicked); - // - // BtnCreateAccount - // - resources.ApplyResources(this.BtnCreateAccount, "BtnCreateAccount"); - this.BtnCreateAccount.Name = "BtnCreateAccount"; - this.BtnCreateAccount.Tag = "create"; - this.BtnCreateAccount.UseVisualStyleBackColor = true; - this.BtnCreateAccount.Click += new System.EventHandler(this.AccountButtonClicked); - // - // LblAccountUserName - // - resources.ApplyResources(this.LblAccountUserName, "LblAccountUserName"); - this.LblAccountUserName.Name = "LblAccountUserName"; - // - // TxtAccountUserName - // - resources.ApplyResources(this.TxtAccountUserName, "TxtAccountUserName"); - this.TxtAccountUserName.Name = "TxtAccountUserName"; - // - // GrpPermission - // - resources.ApplyResources(this.GrpPermission, "GrpPermission"); - this.GrpPermission.Controls.Add(this.CmbPerm); - this.GrpPermission.Controls.Add(this.NUDPermUID); - this.GrpPermission.Controls.Add(this.BtnPermClear); - this.GrpPermission.Controls.Add(this.BtmPermRemove); - this.GrpPermission.Controls.Add(this.BtnPermList); - this.GrpPermission.Controls.Add(this.BtnPermAdd); - this.GrpPermission.Controls.Add(this.LblPerm); - this.GrpPermission.Controls.Add(this.LblPermUID); - this.GrpPermission.Name = "GrpPermission"; - this.GrpPermission.TabStop = false; - // - // CmbPerm - // - this.CmbPerm.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CmbPerm.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CmbPerm.FormattingEnabled = true; - resources.ApplyResources(this.CmbPerm, "CmbPerm"); - this.CmbPerm.Name = "CmbPerm"; - // - // NUDPermUID - // - resources.ApplyResources(this.NUDPermUID, "NUDPermUID"); - this.NUDPermUID.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDPermUID.Name = "NUDPermUID"; - this.NUDPermUID.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // BtnPermClear - // - resources.ApplyResources(this.BtnPermClear, "BtnPermClear"); - this.BtnPermClear.Name = "BtnPermClear"; - this.BtnPermClear.Tag = "clear"; - this.BtnPermClear.UseVisualStyleBackColor = true; - this.BtnPermClear.Click += new System.EventHandler(this.BtnPermClick); - // - // BtmPermRemove - // - resources.ApplyResources(this.BtmPermRemove, "BtmPermRemove"); - this.BtmPermRemove.Name = "BtmPermRemove"; - this.BtmPermRemove.Tag = "remove"; - this.BtmPermRemove.UseVisualStyleBackColor = true; - this.BtmPermRemove.Click += new System.EventHandler(this.BtnPermClick); - // - // BtnPermList - // - resources.ApplyResources(this.BtnPermList, "BtnPermList"); - this.BtnPermList.Name = "BtnPermList"; - this.BtnPermList.Tag = "list"; - this.BtnPermList.UseVisualStyleBackColor = true; - this.BtnPermList.Click += new System.EventHandler(this.BtnPermClick); - // - // BtnPermAdd - // - resources.ApplyResources(this.BtnPermAdd, "BtnPermAdd"); - this.BtnPermAdd.Name = "BtnPermAdd"; - this.BtnPermAdd.Tag = "add"; - this.BtnPermAdd.UseVisualStyleBackColor = true; - this.BtnPermAdd.Click += new System.EventHandler(this.BtnPermClick); - // - // LblPerm - // - resources.ApplyResources(this.LblPerm, "LblPerm"); - this.LblPerm.Name = "LblPerm"; - // - // LblPermUID - // - resources.ApplyResources(this.LblPermUID, "LblPermUID"); - this.LblPermUID.Name = "LblPermUID"; - // // TPScene // - this.TPScene.Controls.Add(this.RbListDungeons); - this.TPScene.Controls.Add(this.RbListScene); - this.TPScene.Controls.Add(this.TxtSceneFilter); - this.TPScene.Controls.Add(this.ChkIncludeSceneId); - this.TPScene.Controls.Add(this.LblTpZ); - this.TPScene.Controls.Add(this.LblTpY); - this.TPScene.Controls.Add(this.BtnTeleport); - this.TPScene.Controls.Add(this.LblTpX); - this.TPScene.Controls.Add(this.NUDTpZ); - this.TPScene.Controls.Add(this.NUDTpY); - this.TPScene.Controls.Add(this.NUDTpX); - this.TPScene.Controls.Add(this.CmbClimateType); - this.TPScene.Controls.Add(this.LblClimateType); - this.TPScene.Controls.Add(this.LblSceneDescription); - this.TPScene.Controls.Add(this.ListScenes); - this.TPScene.Controls.Add(this.LblTp); resources.ApplyResources(this.TPScene, "TPScene"); this.TPScene.Name = "TPScene"; this.TPScene.UseVisualStyleBackColor = true; // - // RbListDungeons - // - resources.ApplyResources(this.RbListDungeons, "RbListDungeons"); - this.RbListDungeons.Name = "RbListDungeons"; - this.RbListDungeons.UseVisualStyleBackColor = true; - this.RbListDungeons.CheckedChanged += new System.EventHandler(this.RbListDungeons_CheckedChanged); - // - // RbListScene - // - resources.ApplyResources(this.RbListScene, "RbListScene"); - this.RbListScene.Checked = true; - this.RbListScene.Name = "RbListScene"; - this.RbListScene.TabStop = true; - this.RbListScene.UseVisualStyleBackColor = true; - this.RbListScene.CheckedChanged += new System.EventHandler(this.RbListScene_CheckedChanged); - // - // TxtSceneFilter - // - resources.ApplyResources(this.TxtSceneFilter, "TxtSceneFilter"); - this.TxtSceneFilter.Name = "TxtSceneFilter"; - this.TxtSceneFilter.TextChanged += new System.EventHandler(this.TxtSceneFilter_TextChanged); - // - // ChkIncludeSceneId - // - resources.ApplyResources(this.ChkIncludeSceneId, "ChkIncludeSceneId"); - this.ChkIncludeSceneId.Name = "ChkIncludeSceneId"; - this.ChkIncludeSceneId.UseVisualStyleBackColor = true; - // - // LblTpZ - // - resources.ApplyResources(this.LblTpZ, "LblTpZ"); - this.LblTpZ.Name = "LblTpZ"; - // - // LblTpY - // - resources.ApplyResources(this.LblTpY, "LblTpY"); - this.LblTpY.Name = "LblTpY"; - // - // BtnTeleport - // - resources.ApplyResources(this.BtnTeleport, "BtnTeleport"); - this.BtnTeleport.Name = "BtnTeleport"; - this.BtnTeleport.UseVisualStyleBackColor = true; - this.BtnTeleport.Click += new System.EventHandler(this.BtnTeleport_Click); - // - // LblTpX - // - resources.ApplyResources(this.LblTpX, "LblTpX"); - this.LblTpX.Name = "LblTpX"; - // - // NUDTpZ - // - resources.ApplyResources(this.NUDTpZ, "NUDTpZ"); - this.NUDTpZ.Increment = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDTpZ.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDTpZ.Minimum = new decimal(new int[] { - -2147483648, - 0, - 0, - -2147483648}); - this.NUDTpZ.Name = "NUDTpZ"; - // - // NUDTpY - // - resources.ApplyResources(this.NUDTpY, "NUDTpY"); - this.NUDTpY.Increment = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDTpY.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDTpY.Minimum = new decimal(new int[] { - -2147483648, - 0, - 0, - -2147483648}); - this.NUDTpY.Name = "NUDTpY"; - this.NUDTpY.Value = new decimal(new int[] { - 300, - 0, - 0, - 0}); - // - // NUDTpX - // - resources.ApplyResources(this.NUDTpX, "NUDTpX"); - this.NUDTpX.Increment = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDTpX.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDTpX.Minimum = new decimal(new int[] { - -2147483648, - 0, - 0, - -2147483648}); - this.NUDTpX.Name = "NUDTpX"; - // - // CmbClimateType - // - resources.ApplyResources(this.CmbClimateType, "CmbClimateType"); - this.CmbClimateType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbClimateType.FormattingEnabled = true; - this.CmbClimateType.Name = "CmbClimateType"; - this.CmbClimateType.SelectedIndexChanged += new System.EventHandler(this.CmbClimateType_SelectedIndexChanged); - // - // LblClimateType - // - resources.ApplyResources(this.LblClimateType, "LblClimateType"); - this.LblClimateType.Name = "LblClimateType"; - // - // LblSceneDescription - // - resources.ApplyResources(this.LblSceneDescription, "LblSceneDescription"); - this.LblSceneDescription.Name = "LblSceneDescription"; - // - // ListScenes - // - resources.ApplyResources(this.ListScenes, "ListScenes"); - this.ListScenes.FormattingEnabled = true; - this.ListScenes.Name = "ListScenes"; - this.ListScenes.SelectedIndexChanged += new System.EventHandler(this.ListScenes_SelectedIndexChanged); - // - // LblTp - // - resources.ApplyResources(this.LblTp, "LblTp"); - this.LblTp.Name = "LblTp"; - // // TPItem // - this.TPItem.Controls.Add(this.LblClearGiveItemLogs); - this.TPItem.Controls.Add(this.BtnSaveGiveItemLog); - this.TPItem.Controls.Add(this.BtnRemoveGiveItemLog); - this.TPItem.Controls.Add(this.GrpGiveItemRecord); - this.TPItem.Controls.Add(this.ChkDrop); - this.TPItem.Controls.Add(this.TxtGameItemFilter); - this.TPItem.Controls.Add(this.ListGameItems); - this.TPItem.Controls.Add(this.LblGameItemAmount); - this.TPItem.Controls.Add(this.LblGameItemLevel); - this.TPItem.Controls.Add(this.NUDGameItemAmout); - this.TPItem.Controls.Add(this.NUDGameItemLevel); - this.TPItem.Controls.Add(this.LblGiveCommandDescription); resources.ApplyResources(this.TPItem, "TPItem"); this.TPItem.Name = "TPItem"; this.TPItem.UseVisualStyleBackColor = true; // - // LblClearGiveItemLogs - // - resources.ApplyResources(this.LblClearGiveItemLogs, "LblClearGiveItemLogs"); - this.LblClearGiveItemLogs.Cursor = System.Windows.Forms.Cursors.Hand; - this.LblClearGiveItemLogs.Name = "LblClearGiveItemLogs"; - this.LblClearGiveItemLogs.Click += new System.EventHandler(this.LblClearGiveItemLogs_Click); - // - // BtnSaveGiveItemLog - // - resources.ApplyResources(this.BtnSaveGiveItemLog, "BtnSaveGiveItemLog"); - this.BtnSaveGiveItemLog.Name = "BtnSaveGiveItemLog"; - this.BtnSaveGiveItemLog.UseVisualStyleBackColor = true; - this.BtnSaveGiveItemLog.Click += new System.EventHandler(this.BtnSaveGiveItemLog_Click); - // - // BtnRemoveGiveItemLog - // - resources.ApplyResources(this.BtnRemoveGiveItemLog, "BtnRemoveGiveItemLog"); - this.BtnRemoveGiveItemLog.Name = "BtnRemoveGiveItemLog"; - this.BtnRemoveGiveItemLog.UseVisualStyleBackColor = true; - this.BtnRemoveGiveItemLog.Click += new System.EventHandler(this.BtnRemoveGiveItemLog_Click); - // - // GrpGiveItemRecord - // - resources.ApplyResources(this.GrpGiveItemRecord, "GrpGiveItemRecord"); - this.GrpGiveItemRecord.Controls.Add(this.ListGiveItemLogs); - this.GrpGiveItemRecord.Name = "GrpGiveItemRecord"; - this.GrpGiveItemRecord.TabStop = false; - // - // ListGiveItemLogs - // - resources.ApplyResources(this.ListGiveItemLogs, "ListGiveItemLogs"); - this.ListGiveItemLogs.FormattingEnabled = true; - this.ListGiveItemLogs.Name = "ListGiveItemLogs"; - this.ListGiveItemLogs.SelectedIndexChanged += new System.EventHandler(this.ListGiveItemLogs_SelectedIndexChanged); - // - // ChkDrop - // - resources.ApplyResources(this.ChkDrop, "ChkDrop"); - this.ChkDrop.Name = "ChkDrop"; - this.ChkDrop.UseVisualStyleBackColor = true; - this.ChkDrop.CheckedChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // TxtGameItemFilter - // - resources.ApplyResources(this.TxtGameItemFilter, "TxtGameItemFilter"); - this.TxtGameItemFilter.Name = "TxtGameItemFilter"; - this.TxtGameItemFilter.TextChanged += new System.EventHandler(this.TxtGameItemFilter_TextChanged); - // - // ListGameItems - // - resources.ApplyResources(this.ListGameItems, "ListGameItems"); - this.ListGameItems.FormattingEnabled = true; - this.ListGameItems.Name = "ListGameItems"; - this.ListGameItems.SelectedIndexChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // LblGameItemAmount - // - resources.ApplyResources(this.LblGameItemAmount, "LblGameItemAmount"); - this.LblGameItemAmount.Name = "LblGameItemAmount"; - // - // LblGameItemLevel - // - resources.ApplyResources(this.LblGameItemLevel, "LblGameItemLevel"); - this.LblGameItemLevel.Name = "LblGameItemLevel"; - // - // NUDGameItemAmout - // - resources.ApplyResources(this.NUDGameItemAmout, "NUDGameItemAmout"); - this.NUDGameItemAmout.Maximum = new decimal(new int[] { - 1000000, - 0, - 0, - 0}); - this.NUDGameItemAmout.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemAmout.Name = "NUDGameItemAmout"; - this.NUDGameItemAmout.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemAmout.ValueChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // NUDGameItemLevel - // - resources.ApplyResources(this.NUDGameItemLevel, "NUDGameItemLevel"); - this.NUDGameItemLevel.Maximum = new decimal(new int[] { - 21, - 0, - 0, - 0}); - this.NUDGameItemLevel.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemLevel.Name = "NUDGameItemLevel"; - this.NUDGameItemLevel.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemLevel.ValueChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // LblGiveCommandDescription - // - resources.ApplyResources(this.LblGiveCommandDescription, "LblGiveCommandDescription"); - this.LblGiveCommandDescription.Name = "LblGiveCommandDescription"; - // // TPWeapon // resources.ApplyResources(this.TPWeapon, "TPWeapon"); @@ -796,314 +130,10 @@ namespace GrasscutterTools.Forms // // TPAvatar // - this.TPAvatar.Controls.Add(this.GrpSetConstellation); - this.TPAvatar.Controls.Add(this.GrpSetStats); - this.TPAvatar.Controls.Add(this.GrpTalentLevel); - this.TPAvatar.Controls.Add(this.GrpGiveAvatar); resources.ApplyResources(this.TPAvatar, "TPAvatar"); this.TPAvatar.Name = "TPAvatar"; this.TPAvatar.UseVisualStyleBackColor = true; // - // GrpSetConstellation - // - resources.ApplyResources(this.GrpSetConstellation, "GrpSetConstellation"); - this.GrpSetConstellation.Controls.Add(this.LnkSetAllConst); - this.GrpSetConstellation.Controls.Add(this.LnkSetConst); - this.GrpSetConstellation.Controls.Add(this.NUDSetConstellation); - this.GrpSetConstellation.Name = "GrpSetConstellation"; - this.GrpSetConstellation.TabStop = false; - // - // LnkSetAllConst - // - resources.ApplyResources(this.LnkSetAllConst, "LnkSetAllConst"); - this.LnkSetAllConst.Name = "LnkSetAllConst"; - this.LnkSetAllConst.TabStop = true; - this.LnkSetAllConst.Tag = ""; - this.LnkSetAllConst.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetConst_LinkClicked); - // - // LnkSetConst - // - resources.ApplyResources(this.LnkSetConst, "LnkSetConst"); - this.LnkSetConst.Name = "LnkSetConst"; - this.LnkSetConst.TabStop = true; - this.LnkSetConst.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetConst_LinkClicked); - // - // NUDSetConstellation - // - resources.ApplyResources(this.NUDSetConstellation, "NUDSetConstellation"); - this.NUDSetConstellation.Maximum = new decimal(new int[] { - 6, - 0, - 0, - 0}); - this.NUDSetConstellation.Minimum = new decimal(new int[] { - 1, - 0, - 0, - -2147483648}); - this.NUDSetConstellation.Name = "NUDSetConstellation"; - this.NUDSetConstellation.Value = new decimal(new int[] { - 6, - 0, - 0, - 0}); - // - // GrpSetStats - // - resources.ApplyResources(this.GrpSetStats, "GrpSetStats"); - this.GrpSetStats.Controls.Add(this.BtnUnlockStat); - this.GrpSetStats.Controls.Add(this.BtnLockStat); - this.GrpSetStats.Controls.Add(this.LblStatTip); - this.GrpSetStats.Controls.Add(this.LblStatPercent); - this.GrpSetStats.Controls.Add(this.NUDStat); - this.GrpSetStats.Controls.Add(this.CmbStat); - this.GrpSetStats.Name = "GrpSetStats"; - this.GrpSetStats.TabStop = false; - // - // BtnUnlockStat - // - resources.ApplyResources(this.BtnUnlockStat, "BtnUnlockStat"); - this.BtnUnlockStat.Name = "BtnUnlockStat"; - this.BtnUnlockStat.UseVisualStyleBackColor = true; - this.BtnUnlockStat.Click += new System.EventHandler(this.BtnUnlockStat_Click); - // - // BtnLockStat - // - resources.ApplyResources(this.BtnLockStat, "BtnLockStat"); - this.BtnLockStat.Name = "BtnLockStat"; - this.BtnLockStat.UseVisualStyleBackColor = true; - this.BtnLockStat.Click += new System.EventHandler(this.BtnLockStat_Click); - // - // LblStatTip - // - this.LblStatTip.AutoEllipsis = true; - this.LblStatTip.ForeColor = System.Drawing.SystemColors.GrayText; - resources.ApplyResources(this.LblStatTip, "LblStatTip"); - this.LblStatTip.Name = "LblStatTip"; - // - // LblStatPercent - // - resources.ApplyResources(this.LblStatPercent, "LblStatPercent"); - this.LblStatPercent.Name = "LblStatPercent"; - // - // NUDStat - // - resources.ApplyResources(this.NUDStat, "NUDStat"); - this.NUDStat.Maximum = new decimal(new int[] { - 100000000, - 0, - 0, - 0}); - this.NUDStat.Name = "NUDStat"; - this.NUDStat.Value = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDStat.ValueChanged += new System.EventHandler(this.SetStatsInputChanged); - // - // CmbStat - // - this.CmbStat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbStat.FormattingEnabled = true; - resources.ApplyResources(this.CmbStat, "CmbStat"); - this.CmbStat.Name = "CmbStat"; - this.CmbStat.SelectedIndexChanged += new System.EventHandler(this.SetStatsInputChanged); - // - // GrpTalentLevel - // - resources.ApplyResources(this.GrpTalentLevel, "GrpTalentLevel"); - this.GrpTalentLevel.Controls.Add(this.LnkTalentAll); - this.GrpTalentLevel.Controls.Add(this.LnkTalentE); - this.GrpTalentLevel.Controls.Add(this.LnkTalentQ); - this.GrpTalentLevel.Controls.Add(this.LnkTalentNormalATK); - this.GrpTalentLevel.Controls.Add(this.NUDTalentLevel); - this.GrpTalentLevel.Name = "GrpTalentLevel"; - this.GrpTalentLevel.TabStop = false; - // - // LnkTalentAll - // - resources.ApplyResources(this.LnkTalentAll, "LnkTalentAll"); - this.LnkTalentAll.Name = "LnkTalentAll"; - this.LnkTalentAll.TabStop = true; - this.LnkTalentAll.Tag = "all"; - this.LnkTalentAll.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); - // - // LnkTalentE - // - resources.ApplyResources(this.LnkTalentE, "LnkTalentE"); - this.LnkTalentE.Name = "LnkTalentE"; - this.LnkTalentE.TabStop = true; - this.LnkTalentE.Tag = "e"; - this.LnkTalentE.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); - // - // LnkTalentQ - // - resources.ApplyResources(this.LnkTalentQ, "LnkTalentQ"); - this.LnkTalentQ.Name = "LnkTalentQ"; - this.LnkTalentQ.TabStop = true; - this.LnkTalentQ.Tag = "q"; - this.LnkTalentQ.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); - // - // LnkTalentNormalATK - // - resources.ApplyResources(this.LnkTalentNormalATK, "LnkTalentNormalATK"); - this.LnkTalentNormalATK.Name = "LnkTalentNormalATK"; - this.LnkTalentNormalATK.TabStop = true; - this.LnkTalentNormalATK.Tag = "n"; - this.LnkTalentNormalATK.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); - // - // NUDTalentLevel - // - resources.ApplyResources(this.NUDTalentLevel, "NUDTalentLevel"); - this.NUDTalentLevel.Maximum = new decimal(new int[] { - 16, - 0, - 0, - 0}); - this.NUDTalentLevel.Name = "NUDTalentLevel"; - this.NUDTalentLevel.Value = new decimal(new int[] { - 10, - 0, - 0, - 0}); - // - // GrpGiveAvatar - // - resources.ApplyResources(this.GrpGiveAvatar, "GrpGiveAvatar"); - this.GrpGiveAvatar.Controls.Add(this.CmbSwitchElement); - this.GrpGiveAvatar.Controls.Add(this.LnkSwitchElement); - this.GrpGiveAvatar.Controls.Add(this.CmbAvatar); - this.GrpGiveAvatar.Controls.Add(this.LblAvatarSkillLevelTip); - this.GrpGiveAvatar.Controls.Add(this.NUDAvatarLevel); - this.GrpGiveAvatar.Controls.Add(this.BtnGiveAllChar); - this.GrpGiveAvatar.Controls.Add(this.LblAvatarLevel); - this.GrpGiveAvatar.Controls.Add(this.LblAvatarSkillLevelLabel); - this.GrpGiveAvatar.Controls.Add(this.LblAvatar); - this.GrpGiveAvatar.Controls.Add(this.LblAvatarConstellation); - this.GrpGiveAvatar.Controls.Add(this.NUDAvatarConstellation); - this.GrpGiveAvatar.Controls.Add(this.NUDAvatarSkillLevel); - this.GrpGiveAvatar.Name = "GrpGiveAvatar"; - this.GrpGiveAvatar.TabStop = false; - // - // CmbSwitchElement - // - this.CmbSwitchElement.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbSwitchElement.FormattingEnabled = true; - this.CmbSwitchElement.Items.AddRange(new object[] { - resources.GetString("CmbSwitchElement.Items"), - resources.GetString("CmbSwitchElement.Items1"), - resources.GetString("CmbSwitchElement.Items2"), - resources.GetString("CmbSwitchElement.Items3"), - resources.GetString("CmbSwitchElement.Items4"), - resources.GetString("CmbSwitchElement.Items5"), - resources.GetString("CmbSwitchElement.Items6"), - resources.GetString("CmbSwitchElement.Items7")}); - resources.ApplyResources(this.CmbSwitchElement, "CmbSwitchElement"); - this.CmbSwitchElement.Name = "CmbSwitchElement"; - this.CmbSwitchElement.SelectedIndexChanged += new System.EventHandler(this.CmbSwitchElement_SelectedIndexChanged); - // - // LnkSwitchElement - // - resources.ApplyResources(this.LnkSwitchElement, "LnkSwitchElement"); - this.LnkSwitchElement.Name = "LnkSwitchElement"; - this.LnkSwitchElement.TabStop = true; - this.LnkSwitchElement.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSwitchElement_LinkClicked); - // - // CmbAvatar - // - this.CmbAvatar.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbAvatar.FormattingEnabled = true; - resources.ApplyResources(this.CmbAvatar, "CmbAvatar"); - this.CmbAvatar.Name = "CmbAvatar"; - this.CmbAvatar.SelectedIndexChanged += new System.EventHandler(this.CmbAvatar_SelectedIndexChanged); - // - // LblAvatarSkillLevelTip - // - resources.ApplyResources(this.LblAvatarSkillLevelTip, "LblAvatarSkillLevelTip"); - this.LblAvatarSkillLevelTip.ForeColor = System.Drawing.SystemColors.GrayText; - this.LblAvatarSkillLevelTip.Name = "LblAvatarSkillLevelTip"; - // - // NUDAvatarLevel - // - resources.ApplyResources(this.NUDAvatarLevel, "NUDAvatarLevel"); - this.NUDAvatarLevel.Maximum = new decimal(new int[] { - 90, - 0, - 0, - 0}); - this.NUDAvatarLevel.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDAvatarLevel.Name = "NUDAvatarLevel"; - this.NUDAvatarLevel.Value = new decimal(new int[] { - 90, - 0, - 0, - 0}); - this.NUDAvatarLevel.ValueChanged += new System.EventHandler(this.NUDAvatarLevel_ValueChanged); - // - // BtnGiveAllChar - // - resources.ApplyResources(this.BtnGiveAllChar, "BtnGiveAllChar"); - this.BtnGiveAllChar.Name = "BtnGiveAllChar"; - this.BtnGiveAllChar.UseVisualStyleBackColor = true; - this.BtnGiveAllChar.Click += new System.EventHandler(this.BtnGiveAllChar_Click); - // - // LblAvatarLevel - // - resources.ApplyResources(this.LblAvatarLevel, "LblAvatarLevel"); - this.LblAvatarLevel.Name = "LblAvatarLevel"; - // - // LblAvatarSkillLevelLabel - // - resources.ApplyResources(this.LblAvatarSkillLevelLabel, "LblAvatarSkillLevelLabel"); - this.LblAvatarSkillLevelLabel.Name = "LblAvatarSkillLevelLabel"; - // - // LblAvatar - // - resources.ApplyResources(this.LblAvatar, "LblAvatar"); - this.LblAvatar.Name = "LblAvatar"; - // - // LblAvatarConstellation - // - resources.ApplyResources(this.LblAvatarConstellation, "LblAvatarConstellation"); - this.LblAvatarConstellation.Name = "LblAvatarConstellation"; - // - // NUDAvatarConstellation - // - resources.ApplyResources(this.NUDAvatarConstellation, "NUDAvatarConstellation"); - this.NUDAvatarConstellation.Maximum = new decimal(new int[] { - 6, - 0, - 0, - 0}); - this.NUDAvatarConstellation.Name = "NUDAvatarConstellation"; - this.NUDAvatarConstellation.Value = new decimal(new int[] { - 6, - 0, - 0, - 0}); - this.NUDAvatarConstellation.ValueChanged += new System.EventHandler(this.NUDAvatarConstellation_ValueChanged); - // - // NUDAvatarSkillLevel - // - resources.ApplyResources(this.NUDAvatarSkillLevel, "NUDAvatarSkillLevel"); - this.NUDAvatarSkillLevel.Maximum = new decimal(new int[] { - 16, - 0, - 0, - 0}); - this.NUDAvatarSkillLevel.Name = "NUDAvatarSkillLevel"; - this.NUDAvatarSkillLevel.Value = new decimal(new int[] { - 10, - 0, - 0, - 0}); - this.NUDAvatarSkillLevel.ValueChanged += new System.EventHandler(this.NUDAvatarConstellation_ValueChanged); - // // TPSpawn // resources.ApplyResources(this.TPSpawn, "TPSpawn"); @@ -1112,82 +142,10 @@ namespace GrasscutterTools.Forms // // TPQuest // - this.TPQuest.Controls.Add(this.GrpQuestFilters); - this.TPQuest.Controls.Add(this.BtnFinishQuest); - this.TPQuest.Controls.Add(this.BtnAddQuest); - this.TPQuest.Controls.Add(this.LblQuestDescription); - this.TPQuest.Controls.Add(this.TxtQuestFilter); - this.TPQuest.Controls.Add(this.ListQuest); resources.ApplyResources(this.TPQuest, "TPQuest"); this.TPQuest.Name = "TPQuest"; this.TPQuest.UseVisualStyleBackColor = true; // - // GrpQuestFilters - // - resources.ApplyResources(this.GrpQuestFilters, "GrpQuestFilters"); - this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterTEST); - this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterUNRELEASED); - this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterHIDDEN); - this.GrpQuestFilters.Name = "GrpQuestFilters"; - this.GrpQuestFilters.TabStop = false; - // - // ChkQuestFilterTEST - // - resources.ApplyResources(this.ChkQuestFilterTEST, "ChkQuestFilterTEST"); - this.ChkQuestFilterTEST.Name = "ChkQuestFilterTEST"; - this.ChkQuestFilterTEST.Tag = "(test)"; - this.ChkQuestFilterTEST.UseVisualStyleBackColor = true; - this.ChkQuestFilterTEST.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); - // - // ChkQuestFilterUNRELEASED - // - resources.ApplyResources(this.ChkQuestFilterUNRELEASED, "ChkQuestFilterUNRELEASED"); - this.ChkQuestFilterUNRELEASED.Name = "ChkQuestFilterUNRELEASED"; - this.ChkQuestFilterUNRELEASED.Tag = "$UNRELEASED"; - this.ChkQuestFilterUNRELEASED.UseVisualStyleBackColor = true; - this.ChkQuestFilterUNRELEASED.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); - // - // ChkQuestFilterHIDDEN - // - resources.ApplyResources(this.ChkQuestFilterHIDDEN, "ChkQuestFilterHIDDEN"); - this.ChkQuestFilterHIDDEN.Name = "ChkQuestFilterHIDDEN"; - this.ChkQuestFilterHIDDEN.Tag = "$HIDDEN"; - this.ChkQuestFilterHIDDEN.UseVisualStyleBackColor = true; - this.ChkQuestFilterHIDDEN.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); - // - // BtnFinishQuest - // - resources.ApplyResources(this.BtnFinishQuest, "BtnFinishQuest"); - this.BtnFinishQuest.Name = "BtnFinishQuest"; - this.BtnFinishQuest.Tag = "finish"; - this.BtnFinishQuest.UseVisualStyleBackColor = true; - this.BtnFinishQuest.Click += new System.EventHandler(this.QuestButsClicked); - // - // BtnAddQuest - // - resources.ApplyResources(this.BtnAddQuest, "BtnAddQuest"); - this.BtnAddQuest.Name = "BtnAddQuest"; - this.BtnAddQuest.Tag = "add"; - this.BtnAddQuest.UseVisualStyleBackColor = true; - this.BtnAddQuest.Click += new System.EventHandler(this.QuestButsClicked); - // - // LblQuestDescription - // - resources.ApplyResources(this.LblQuestDescription, "LblQuestDescription"); - this.LblQuestDescription.Name = "LblQuestDescription"; - // - // TxtQuestFilter - // - resources.ApplyResources(this.TxtQuestFilter, "TxtQuestFilter"); - this.TxtQuestFilter.Name = "TxtQuestFilter"; - this.TxtQuestFilter.TextChanged += new System.EventHandler(this.QuestFilterChanged); - // - // ListQuest - // - resources.ApplyResources(this.ListQuest, "ListQuest"); - this.ListQuest.FormattingEnabled = true; - this.ListQuest.Name = "ListQuest"; - // // TPArtifact // resources.ApplyResources(this.TPArtifact, "TPArtifact"); @@ -1227,267 +185,15 @@ namespace GrasscutterTools.Forms // // TPMail // - this.TPMail.Controls.Add(this.LblClearMailContent); - this.TPMail.Controls.Add(this.BtnAddMailItem); - this.TPMail.Controls.Add(this.BtnDeleteMailItem); - this.TPMail.Controls.Add(this.TCMailRight); - this.TPMail.Controls.Add(this.BtnSendMail); - this.TPMail.Controls.Add(this.ListMailItems); - this.TPMail.Controls.Add(this.LblMailItemsLabel); - this.TPMail.Controls.Add(this.NUDMailRecipient); - this.TPMail.Controls.Add(this.RbMailSendToPlayer); - this.TPMail.Controls.Add(this.RbMailSendToAll); - this.TPMail.Controls.Add(this.LblMailRecipientLabel); - this.TPMail.Controls.Add(this.TxtMailContent); - this.TPMail.Controls.Add(this.LblMailContentLabel); - this.TPMail.Controls.Add(this.TxtMailTitle); - this.TPMail.Controls.Add(this.LblMailTitleLabel); - this.TPMail.Controls.Add(this.TxtMailSender); - this.TPMail.Controls.Add(this.LblMailSenderLabel); resources.ApplyResources(this.TPMail, "TPMail"); this.TPMail.Name = "TPMail"; this.TPMail.UseVisualStyleBackColor = true; // - // LblClearMailContent - // - resources.ApplyResources(this.LblClearMailContent, "LblClearMailContent"); - this.LblClearMailContent.Cursor = System.Windows.Forms.Cursors.Hand; - this.LblClearMailContent.Name = "LblClearMailContent"; - this.LblClearMailContent.Click += new System.EventHandler(this.LblClearMailContent_Click); - // - // BtnAddMailItem - // - resources.ApplyResources(this.BtnAddMailItem, "BtnAddMailItem"); - this.BtnAddMailItem.Name = "BtnAddMailItem"; - this.BtnAddMailItem.UseVisualStyleBackColor = true; - this.BtnAddMailItem.Click += new System.EventHandler(this.BtnAddMailItem_Click); - // - // BtnDeleteMailItem - // - resources.ApplyResources(this.BtnDeleteMailItem, "BtnDeleteMailItem"); - this.BtnDeleteMailItem.Name = "BtnDeleteMailItem"; - this.BtnDeleteMailItem.UseVisualStyleBackColor = true; - this.BtnDeleteMailItem.Click += new System.EventHandler(this.BtnDeleteMailItem_Click); - // - // TCMailRight - // - resources.ApplyResources(this.TCMailRight, "TCMailRight"); - this.TCMailRight.Controls.Add(this.TPMailSelectableItemList); - this.TCMailRight.Controls.Add(this.TPMailList); - this.TCMailRight.Name = "TCMailRight"; - this.TCMailRight.SelectedIndex = 0; - // - // TPMailSelectableItemList - // - this.TPMailSelectableItemList.Controls.Add(this.ListMailSelectableItems); - this.TPMailSelectableItemList.Controls.Add(this.TxtMailSelectableItemFilter); - this.TPMailSelectableItemList.Controls.Add(this.PanelMailItemArgs); - resources.ApplyResources(this.TPMailSelectableItemList, "TPMailSelectableItemList"); - this.TPMailSelectableItemList.Name = "TPMailSelectableItemList"; - this.TPMailSelectableItemList.UseVisualStyleBackColor = true; - // - // ListMailSelectableItems - // - resources.ApplyResources(this.ListMailSelectableItems, "ListMailSelectableItems"); - this.ListMailSelectableItems.FormattingEnabled = true; - this.ListMailSelectableItems.Name = "ListMailSelectableItems"; - // - // TxtMailSelectableItemFilter - // - resources.ApplyResources(this.TxtMailSelectableItemFilter, "TxtMailSelectableItemFilter"); - this.TxtMailSelectableItemFilter.Name = "TxtMailSelectableItemFilter"; - this.TxtMailSelectableItemFilter.TextChanged += new System.EventHandler(this.TxtMailSelectableItemFilter_TextChanged); - // - // PanelMailItemArgs - // - this.PanelMailItemArgs.Controls.Add(this.NUDMailItemLevel); - this.PanelMailItemArgs.Controls.Add(this.NUDMailItemCount); - this.PanelMailItemArgs.Controls.Add(this.LblMailItemCount); - this.PanelMailItemArgs.Controls.Add(this.LblMailItemLevel); - resources.ApplyResources(this.PanelMailItemArgs, "PanelMailItemArgs"); - this.PanelMailItemArgs.Name = "PanelMailItemArgs"; - // - // NUDMailItemLevel - // - resources.ApplyResources(this.NUDMailItemLevel, "NUDMailItemLevel"); - this.NUDMailItemLevel.Maximum = new decimal(new int[] { - 90, - 0, - 0, - 0}); - this.NUDMailItemLevel.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDMailItemLevel.Name = "NUDMailItemLevel"; - this.NUDMailItemLevel.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - // - // NUDMailItemCount - // - resources.ApplyResources(this.NUDMailItemCount, "NUDMailItemCount"); - this.NUDMailItemCount.Maximum = new decimal(new int[] { - 1000000, - 0, - 0, - 0}); - this.NUDMailItemCount.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDMailItemCount.Name = "NUDMailItemCount"; - this.NUDMailItemCount.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - // - // LblMailItemCount - // - resources.ApplyResources(this.LblMailItemCount, "LblMailItemCount"); - this.LblMailItemCount.Name = "LblMailItemCount"; - // - // LblMailItemLevel - // - resources.ApplyResources(this.LblMailItemLevel, "LblMailItemLevel"); - this.LblMailItemLevel.Name = "LblMailItemLevel"; - // - // TPMailList - // - this.TPMailList.Controls.Add(this.ListMailList); - this.TPMailList.Controls.Add(this.PanelMailListControls); - resources.ApplyResources(this.TPMailList, "TPMailList"); - this.TPMailList.Name = "TPMailList"; - this.TPMailList.UseVisualStyleBackColor = true; - // - // ListMailList - // - resources.ApplyResources(this.ListMailList, "ListMailList"); - this.ListMailList.FormattingEnabled = true; - this.ListMailList.Name = "ListMailList"; - this.ListMailList.SelectedIndexChanged += new System.EventHandler(this.ListMailList_SelectedIndexChanged); - // - // PanelMailListControls - // - this.PanelMailListControls.Controls.Add(this.BtnClearMail); - this.PanelMailListControls.Controls.Add(this.BtnRemoveMail); - resources.ApplyResources(this.PanelMailListControls, "PanelMailListControls"); - this.PanelMailListControls.Name = "PanelMailListControls"; - // - // BtnClearMail - // - resources.ApplyResources(this.BtnClearMail, "BtnClearMail"); - this.BtnClearMail.Name = "BtnClearMail"; - this.BtnClearMail.UseVisualStyleBackColor = true; - this.BtnClearMail.Click += new System.EventHandler(this.BtnClearMail_Click); - // - // BtnRemoveMail - // - resources.ApplyResources(this.BtnRemoveMail, "BtnRemoveMail"); - this.BtnRemoveMail.Name = "BtnRemoveMail"; - this.BtnRemoveMail.UseVisualStyleBackColor = true; - this.BtnRemoveMail.Click += new System.EventHandler(this.BtnRemoveMail_Click); - // - // BtnSendMail - // - resources.ApplyResources(this.BtnSendMail, "BtnSendMail"); - this.BtnSendMail.Name = "BtnSendMail"; - this.BtnSendMail.UseVisualStyleBackColor = true; - this.BtnSendMail.Click += new System.EventHandler(this.BtnSendMail_Click); - // - // ListMailItems - // - resources.ApplyResources(this.ListMailItems, "ListMailItems"); - this.ListMailItems.FormattingEnabled = true; - this.ListMailItems.Name = "ListMailItems"; - // - // LblMailItemsLabel - // - resources.ApplyResources(this.LblMailItemsLabel, "LblMailItemsLabel"); - this.LblMailItemsLabel.Name = "LblMailItemsLabel"; - // - // NUDMailRecipient - // - resources.ApplyResources(this.NUDMailRecipient, "NUDMailRecipient"); - this.NUDMailRecipient.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDMailRecipient.Name = "NUDMailRecipient"; - this.NUDMailRecipient.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // RbMailSendToPlayer - // - resources.ApplyResources(this.RbMailSendToPlayer, "RbMailSendToPlayer"); - this.RbMailSendToPlayer.Name = "RbMailSendToPlayer"; - this.RbMailSendToPlayer.UseVisualStyleBackColor = true; - // - // RbMailSendToAll - // - resources.ApplyResources(this.RbMailSendToAll, "RbMailSendToAll"); - this.RbMailSendToAll.Checked = true; - this.RbMailSendToAll.Name = "RbMailSendToAll"; - this.RbMailSendToAll.TabStop = true; - this.RbMailSendToAll.UseVisualStyleBackColor = true; - // - // LblMailRecipientLabel - // - resources.ApplyResources(this.LblMailRecipientLabel, "LblMailRecipientLabel"); - this.LblMailRecipientLabel.Name = "LblMailRecipientLabel"; - // - // TxtMailContent - // - resources.ApplyResources(this.TxtMailContent, "TxtMailContent"); - this.TxtMailContent.Name = "TxtMailContent"; - // - // LblMailContentLabel - // - resources.ApplyResources(this.LblMailContentLabel, "LblMailContentLabel"); - this.LblMailContentLabel.Name = "LblMailContentLabel"; - // - // TxtMailTitle - // - resources.ApplyResources(this.TxtMailTitle, "TxtMailTitle"); - this.TxtMailTitle.Name = "TxtMailTitle"; - // - // LblMailTitleLabel - // - resources.ApplyResources(this.LblMailTitleLabel, "LblMailTitleLabel"); - this.LblMailTitleLabel.Name = "LblMailTitleLabel"; - // - // TxtMailSender - // - resources.ApplyResources(this.TxtMailSender, "TxtMailSender"); - this.TxtMailSender.Name = "TxtMailSender"; - // - // LblMailSenderLabel - // - resources.ApplyResources(this.LblMailSenderLabel, "LblMailSenderLabel"); - this.LblMailSenderLabel.Name = "LblMailSenderLabel"; - // // MenuSpawnEntityFilter // this.MenuSpawnEntityFilter.Name = "MenuSpawnEntityFilter"; resources.ApplyResources(this.MenuSpawnEntityFilter, "MenuSpawnEntityFilter"); // - // TxtBanReason - // - this.TxtBanReason.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - resources.ApplyResources(this.TxtBanReason, "TxtBanReason"); - this.TxtBanReason.Maximum = 0F; - this.TxtBanReason.Minimum = 0F; - this.TxtBanReason.Name = "TxtBanReason"; - // // FormMain // resources.ApplyResources(this, "$this"); @@ -1501,61 +207,7 @@ namespace GrasscutterTools.Forms this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FormMain_KeyDown); this.GrpCommand.ResumeLayout(false); this.GrpCommand.PerformLayout(); - this.TPAbout.ResumeLayout(false); - this.TPAbout.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsSupport)).EndInit(); - this.TPManage.ResumeLayout(false); - this.GrpBanPlayer.ResumeLayout(false); - this.GrpBanPlayer.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBanUID)).EndInit(); - this.GrpAccount.ResumeLayout(false); - this.GrpAccount.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAccountUid)).EndInit(); - this.GrpPermission.ResumeLayout(false); - this.GrpPermission.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDPermUID)).EndInit(); - this.TPScene.ResumeLayout(false); - this.TPScene.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpZ)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpY)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpX)).EndInit(); - this.TPItem.ResumeLayout(false); - this.TPItem.PerformLayout(); - this.GrpGiveItemRecord.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).EndInit(); - this.TPAvatar.ResumeLayout(false); - this.GrpSetConstellation.ResumeLayout(false); - this.GrpSetConstellation.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSetConstellation)).EndInit(); - this.GrpSetStats.ResumeLayout(false); - this.GrpSetStats.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDStat)).EndInit(); - this.GrpTalentLevel.ResumeLayout(false); - this.GrpTalentLevel.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTalentLevel)).EndInit(); - this.GrpGiveAvatar.ResumeLayout(false); - this.GrpGiveAvatar.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarLevel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarConstellation)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarSkillLevel)).EndInit(); - this.TPQuest.ResumeLayout(false); - this.TPQuest.PerformLayout(); - this.GrpQuestFilters.ResumeLayout(false); - this.GrpQuestFilters.PerformLayout(); this.TCMain.ResumeLayout(false); - this.TPMail.ResumeLayout(false); - this.TPMail.PerformLayout(); - this.TCMailRight.ResumeLayout(false); - this.TPMailSelectableItemList.ResumeLayout(false); - this.TPMailSelectableItemList.PerformLayout(); - this.PanelMailItemArgs.ResumeLayout(false); - this.PanelMailItemArgs.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemLevel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemCount)).EndInit(); - this.TPMailList.ResumeLayout(false); - this.PanelMailListControls.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.NUDMailRecipient)).EndInit(); this.ResumeLayout(false); } @@ -1569,142 +221,18 @@ namespace GrasscutterTools.Forms private System.Windows.Forms.Button BtnInvokeOpenCommand; private System.Windows.Forms.TabPage TPRemoteCall; private System.Windows.Forms.TabPage TPAbout; - private System.Windows.Forms.PictureBox GrasscutterToolsSupport; - private System.Windows.Forms.LinkLabel LnkGithub; - private System.Windows.Forms.Label LblSupportDescription; private System.Windows.Forms.TabPage TPManage; - private System.Windows.Forms.GroupBox GrpBanPlayer; - private System.Windows.Forms.DateTimePicker DTPBanEndTime; - private System.Windows.Forms.Button BtnUnban; - private System.Windows.Forms.Button BtnBan; - private Controls.TextBoxXP TxtBanReason; - private System.Windows.Forms.NumericUpDown NUDBanUID; - private System.Windows.Forms.Label LblBanUID; - private System.Windows.Forms.GroupBox GrpAccount; - private System.Windows.Forms.CheckBox ChkAccountSetUid; - private System.Windows.Forms.NumericUpDown NUDAccountUid; - private System.Windows.Forms.Button BtnDeleteAccount; - private System.Windows.Forms.Button BtnCreateAccount; - private System.Windows.Forms.Label LblAccountUserName; - private System.Windows.Forms.TextBox TxtAccountUserName; - private System.Windows.Forms.GroupBox GrpPermission; - private System.Windows.Forms.ComboBox CmbPerm; - private System.Windows.Forms.NumericUpDown NUDPermUID; - private System.Windows.Forms.Button BtmPermRemove; - private System.Windows.Forms.Button BtnPermAdd; - private System.Windows.Forms.Label LblPerm; - private System.Windows.Forms.Label LblPermUID; private System.Windows.Forms.TabPage TPScene; - private System.Windows.Forms.TextBox TxtSceneFilter; - private System.Windows.Forms.CheckBox ChkIncludeSceneId; - private System.Windows.Forms.Label LblTp; - private System.Windows.Forms.Label LblTpZ; - private System.Windows.Forms.Label LblTpY; - private System.Windows.Forms.Button BtnTeleport; - private System.Windows.Forms.Label LblTpX; - private System.Windows.Forms.NumericUpDown NUDTpZ; - private System.Windows.Forms.NumericUpDown NUDTpY; - private System.Windows.Forms.NumericUpDown NUDTpX; - private System.Windows.Forms.ComboBox CmbClimateType; - private System.Windows.Forms.Label LblClimateType; - private System.Windows.Forms.Label LblSceneDescription; - private System.Windows.Forms.ListBox ListScenes; private System.Windows.Forms.TabPage TPItem; - private System.Windows.Forms.Button BtnSaveGiveItemLog; - private System.Windows.Forms.Button BtnRemoveGiveItemLog; - private System.Windows.Forms.GroupBox GrpGiveItemRecord; - private System.Windows.Forms.ListBox ListGiveItemLogs; - private System.Windows.Forms.CheckBox ChkDrop; - private System.Windows.Forms.TextBox TxtGameItemFilter; - private System.Windows.Forms.ListBox ListGameItems; - private System.Windows.Forms.Label LblGameItemAmount; - private System.Windows.Forms.Label LblGameItemLevel; - private System.Windows.Forms.NumericUpDown NUDGameItemAmout; - private System.Windows.Forms.NumericUpDown NUDGameItemLevel; - private System.Windows.Forms.Label LblGiveCommandDescription; private System.Windows.Forms.TabPage TPWeapon; private System.Windows.Forms.TabPage TPAvatar; - private System.Windows.Forms.Label LblAvatar; - private System.Windows.Forms.Label LblAvatarLevel; - private System.Windows.Forms.NumericUpDown NUDAvatarLevel; - private System.Windows.Forms.ComboBox CmbAvatar; private System.Windows.Forms.TabPage TPSpawn; private System.Windows.Forms.TabPage TPQuest; - private System.Windows.Forms.GroupBox GrpQuestFilters; - private System.Windows.Forms.CheckBox ChkQuestFilterTEST; - private System.Windows.Forms.CheckBox ChkQuestFilterUNRELEASED; - private System.Windows.Forms.CheckBox ChkQuestFilterHIDDEN; - private System.Windows.Forms.Button BtnFinishQuest; - private System.Windows.Forms.Button BtnAddQuest; - private System.Windows.Forms.Label LblQuestDescription; - private System.Windows.Forms.TextBox TxtQuestFilter; - private System.Windows.Forms.ListBox ListQuest; private System.Windows.Forms.TabPage TPArtifact; private System.Windows.Forms.TabPage TPCustom; private System.Windows.Forms.TabPage TPHome; private System.Windows.Forms.TabControl TCMain; - private System.Windows.Forms.Label LblClearGiveItemLogs; - private System.Windows.Forms.Label LblAvatarConstellation; - private System.Windows.Forms.NumericUpDown NUDAvatarConstellation; - private System.Windows.Forms.Button BtnGiveAllChar; - private System.Windows.Forms.Button BtnPermClear; - private System.Windows.Forms.Button BtnPermList; - private System.Windows.Forms.NumericUpDown NUDAvatarSkillLevel; - private System.Windows.Forms.Label LblAvatarSkillLevelLabel; - private System.Windows.Forms.Label LblAvatarSkillLevelTip; private System.Windows.Forms.TabPage TPMail; - private System.Windows.Forms.TextBox TxtMailContent; - private System.Windows.Forms.Label LblMailContentLabel; - private System.Windows.Forms.TextBox TxtMailTitle; - private System.Windows.Forms.Label LblMailTitleLabel; - private System.Windows.Forms.TextBox TxtMailSender; - private System.Windows.Forms.Label LblMailSenderLabel; - private System.Windows.Forms.ListBox ListMailItems; - private System.Windows.Forms.Label LblMailItemsLabel; - private System.Windows.Forms.NumericUpDown NUDMailRecipient; - private System.Windows.Forms.RadioButton RbMailSendToPlayer; - private System.Windows.Forms.RadioButton RbMailSendToAll; - private System.Windows.Forms.Label LblMailRecipientLabel; - private System.Windows.Forms.Button BtnSendMail; - private System.Windows.Forms.TextBox TxtMailSelectableItemFilter; - private System.Windows.Forms.ListBox ListMailSelectableItems; - private System.Windows.Forms.NumericUpDown NUDMailItemLevel; - private System.Windows.Forms.Label LblMailItemLevel; - private System.Windows.Forms.NumericUpDown NUDMailItemCount; - private System.Windows.Forms.Label LblMailItemCount; - private System.Windows.Forms.TabControl TCMailRight; - private System.Windows.Forms.TabPage TPMailSelectableItemList; - private System.Windows.Forms.TabPage TPMailList; - private System.Windows.Forms.ListBox ListMailList; - private System.Windows.Forms.Button BtnClearMail; - private System.Windows.Forms.Button BtnRemoveMail; - private System.Windows.Forms.Button BtnAddMailItem; - private System.Windows.Forms.Button BtnDeleteMailItem; - private System.Windows.Forms.Label LblClearMailContent; - private System.Windows.Forms.GroupBox GrpSetStats; - private System.Windows.Forms.Button BtnUnlockStat; - private System.Windows.Forms.Button BtnLockStat; - private System.Windows.Forms.Label LblStatTip; - private System.Windows.Forms.Label LblStatPercent; - private System.Windows.Forms.NumericUpDown NUDStat; - private System.Windows.Forms.ComboBox CmbStat; - private System.Windows.Forms.GroupBox GrpTalentLevel; - private System.Windows.Forms.LinkLabel LnkTalentAll; - private System.Windows.Forms.LinkLabel LnkTalentE; - private System.Windows.Forms.LinkLabel LnkTalentQ; - private System.Windows.Forms.LinkLabel LnkTalentNormalATK; - private System.Windows.Forms.NumericUpDown NUDTalentLevel; - private System.Windows.Forms.GroupBox GrpGiveAvatar; - private System.Windows.Forms.Panel PanelMailItemArgs; - private System.Windows.Forms.Panel PanelMailListControls; - private System.Windows.Forms.GroupBox GrpSetConstellation; - private System.Windows.Forms.LinkLabel LnkSetAllConst; - private System.Windows.Forms.LinkLabel LnkSetConst; - private System.Windows.Forms.NumericUpDown NUDSetConstellation; private System.Windows.Forms.ContextMenuStrip MenuSpawnEntityFilter; - private System.Windows.Forms.ComboBox CmbSwitchElement; - private System.Windows.Forms.LinkLabel LnkSwitchElement; - private System.Windows.Forms.RadioButton RbListDungeons; - private System.Windows.Forms.RadioButton RbListScene; } } diff --git a/Source/GrasscutterTools/Forms/FormMain.cs b/Source/GrasscutterTools/Forms/FormMain.cs index 430638f..1cb7424 100644 --- a/Source/GrasscutterTools/Forms/FormMain.cs +++ b/Source/GrasscutterTools/Forms/FormMain.cs @@ -14,28 +14,22 @@ * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . - * + * **/ + using System; using System.Collections.Generic; using System.Drawing; -using System.IO; using System.Linq; using System.Text; -using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows.Forms; -using GrasscutterTools.DispatchServer; using GrasscutterTools.Game; -using GrasscutterTools.Game.Mail; -using GrasscutterTools.GOOD; using GrasscutterTools.OpenCommand; using GrasscutterTools.Properties; using GrasscutterTools.Utils; -using Newtonsoft.Json; - namespace GrasscutterTools.Forms { public partial class FormMain : Form @@ -72,15 +66,15 @@ namespace GrasscutterTools.Forms //LoadCustomCommands(); //InitArtifactList(); - InitGameItemList(); + //InitGameItemList(); //InitWeapons(); - InitAvatars(); + //InitAvatars(); //InitEntityList(); - InitScenes(); - InitStatList(); - InitPermList(); - InitQuestList(); - InitMailPage(); + //InitScenes(); + //InitStatList(); + //InitPermList(); + //InitQuestList(); + //InitMailPage(); //ChangeTPArtifact(); } @@ -108,7 +102,6 @@ namespace GrasscutterTools.Forms SaveSettings(); } - /// /// 应用版本 /// @@ -136,7 +129,7 @@ namespace GrasscutterTools.Forms //InitHomeSettings(); // 初始化获取物品记录 - InitGiveItemRecord(); + //InitGiveItemRecord(); // 初始化生成记录 //InitSpawnRecord(); @@ -145,7 +138,7 @@ namespace GrasscutterTools.Forms //InitOpenCommand(); // 初始化邮件列表 - InitMailList(); + //InitMailList(); } catch (Exception ex) { @@ -176,7 +169,7 @@ namespace GrasscutterTools.Forms //SaveOpenCommand(); // 保存邮件设置 - SaveMailSettings(); + //SaveMailSettings(); // 保存默认设置 Settings.Default.Save(); @@ -187,813 +180,13 @@ namespace GrasscutterTools.Forms } } - #endregion - 初始化 Init - - /// /// 命令版本 /// private CommandVersion CommandVersion => Common.CommandVersion; - - #region - 物品 Items - - - /// - /// 初始化游戏物品列表 - /// - private void InitGameItemList() - { - ListGameItems.Items.Clear(); - ListGameItems.Items.AddRange(GameData.Items.Lines); - } - - /// - /// 物品列表过滤器文本改变时触发 - /// - private void TxtGameItemFilter_TextChanged(object sender, EventArgs e) - { - UIUtil.ListBoxFilter(ListGameItems, GameData.Items.Lines, TxtGameItemFilter.Text); - } - - /// - /// 生成获取物品命令 - /// - /// 是否生成成功 - private bool GenGiveItemCommand() - { - var name = ListGameItems.SelectedItem as string; - if (!string.IsNullOrEmpty(name)) - { - var id = ItemMap.ToId(name); - - if (ChkDrop.Checked) - { - NUDGameItemLevel.Enabled = false; - SetCommand("/drop", $"{id} {NUDGameItemAmout.Value}"); - } - else - { - NUDGameItemLevel.Enabled = true; - if (CommandVersion.Check(CommandVersion.V1_2_2)) - SetCommand("/give", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}"); - else - SetCommand("/give", $"{id} {NUDGameItemAmout.Value} {NUDGameItemLevel.Value}"); - } - return true; - } - return false; - } - - /// - /// 获取物品输入改变时触发 - /// - private void GiveItemsInputChanged(object sender, EventArgs e) - { - GenGiveItemCommand(); - } - - #region -- 物品记录 -- - - /// - /// 获取物品记录文件路径 - /// - private readonly string GiveItemCommandsRecordPath = Path.Combine(Application.LocalUserAppDataPath, "GiveItemCommands.txt"); - - /// - /// 获取物品记录 - /// - private List GiveItemCommands; - - /// - /// 初始化获取物品记录 - /// - private void InitGiveItemRecord() - { - if (File.Exists(GiveItemCommandsRecordPath)) - { - GiveItemCommands = GetCommands(File.ReadAllText(GiveItemCommandsRecordPath)); - ListGiveItemLogs.Items.AddRange(GiveItemCommands.Select(c => c.Name).ToArray()); - } - else - { - GiveItemCommands = new List(); - } - } - - /// - /// 保存获取物品记录 - /// - private void SaveGiveItemRecord() - { - File.WriteAllText(GiveItemCommandsRecordPath, GetCommandsText(GiveItemCommands)); - } - - /// - /// 获取物品记录列表选中项改变时触发 - /// - private void ListGiveItemLogs_SelectedIndexChanged(object sender, EventArgs e) - { - if (ListGiveItemLogs.SelectedIndex >= 0) - { - BtnRemoveGiveItemLog.Enabled = true; - SetCommand(GiveItemCommands[ListGiveItemLogs.SelectedIndex].Command); - } - else - { - BtnRemoveGiveItemLog.Enabled = false; - } - } - - /// - /// 点击保存记录按钮时触发 - /// - private void BtnSaveGiveItemLog_Click(object sender, EventArgs e) - { - if (GenGiveItemCommand()) - { - var cmd = new GameCommand($"{ListGameItems.SelectedItem} x{NUDGameItemAmout.Value}", CmbCommand.Text); - GiveItemCommands.Add(cmd); - ListGiveItemLogs.Items.Add(cmd.Name); - SaveGiveItemRecord(); - } - } - - /// - /// 点击移除获取物品记录时触发 - /// - private void BtnRemoveGiveItemLog_Click(object sender, EventArgs e) - { - if (ListGiveItemLogs.SelectedIndex >= 0) - { - GiveItemCommands.RemoveAt(ListGiveItemLogs.SelectedIndex); - ListGiveItemLogs.Items.RemoveAt(ListGiveItemLogs.SelectedIndex); - SaveGiveItemRecord(); - } - } - - /// - /// 点击清空获取物品记录时触发 - /// - private void LblClearGiveItemLogs_Click(object sender, EventArgs e) - { - if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - GiveItemCommands.Clear(); - ListGiveItemLogs.Items.Clear(); - SaveGiveItemRecord(); - } - } - - #endregion -- 物品记录 -- - - #endregion - 物品 Items - - - #region - 角色 Avatars - - - #region -- 获取角色 -- - - /// - /// 初始化角色列表 - /// - private void InitAvatars() - { - CmbAvatar.Items.Clear(); - CmbAvatar.Items.AddRange(GameData.Avatars.Names); - } - - /// - /// 角色下拉框选中项改变时触发 - /// - /// - /// - private void CmbAvatar_SelectedIndexChanged(object sender, EventArgs e) - { - // TODO: Load Avatar Image - AvatarInputChanged(); - } - - /// - /// 角色等级输入框数值改变时触发 - /// - private void NUDAvatarLevel_ValueChanged(object sender, EventArgs e) - { - AvatarInputChanged(); - } - - /// - /// 角色命座输入框数值改变时触发 - /// - private void NUDAvatarConstellation_ValueChanged(object sender, EventArgs e) - { - AvatarInputChanged(); - } - - /// - /// 角色页面输入改变时触发 - /// - private void AvatarInputChanged() - { - if (CmbAvatar.SelectedIndex >= 0) - GenAvatar((int)NUDAvatarLevel.Value, (int)NUDAvatarConstellation.Value, (int)NUDAvatarSkillLevel.Value); - } - - /// - /// 获取角色命令 - /// - /// 等级 - private void GenAvatar(int level, int constellation, int skillLevel) - { - if (CommandVersion.Check(CommandVersion.V1_4_1)) - { - int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex]; - SetCommand("/give", $"{avatarId} lv{level} c{constellation} sl{skillLevel}"); - } - else if (CommandVersion.Check(CommandVersion.V1_2_2)) - { - int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex]; - SetCommand("/give", $"{avatarId} lv{level} c{constellation}"); - } - else - { - int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex] - 1000 + 10000000; - SetCommand("/givechar", $"{avatarId} {level}"); - } - } - - /// - /// 点击获取所有角色按钮时触发 - /// - /// - /// - private void BtnGiveAllChar_Click(object sender, EventArgs e) - { - var level = NUDAvatarLevel.Value; - var constellation = NUDAvatarConstellation.Value; - var skillLevel = NUDAvatarSkillLevel.Value; - if (CommandVersion.Check(CommandVersion.V1_4_1)) - SetCommand("/give avatars", $"lv{level} c{constellation} sl{skillLevel}"); - else - SetCommand("/give avatars", $"lv{level} c{constellation}"); - } - - #endregion - - #region -- 切换主角元素 -- - - /// - /// 点击切换主角元素链接标签时触发 - /// - private void LnkSwitchElement_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - UIUtil.OpenURL("https://github.com/Penelopeep/SwitchElementTraveller"); - } - - /// - /// 元素参数 - /// - private readonly string[] Elements = { "white", "fire", "water", "wind", "ice", "rock", "electro", "grass" }; - - /// - /// 切换元素下拉框选中项改变时触发 - /// - private void CmbSwitchElement_SelectedIndexChanged(object sender, EventArgs e) - { - if (CmbSwitchElement.SelectedIndex == -1 || CmbSwitchElement.SelectedIndex >= Elements.Length) return; - SetCommand("/se", Elements[CmbSwitchElement.SelectedIndex]); - } - #endregion - - #region -- 设置角色属性 -- - - /// - /// 初始化数据列表 - /// - private void InitStatList() - { - LblStatTip.Text = ""; - SetStatsCommand.InitStats(); - CmbStat.Items.Clear(); - CmbStat.Items.AddRange(SetStatsCommand.Stats.Select(s => s.Name).ToArray()); - } - - /// - /// 数据页面输入改变时触发 - /// - private void SetStatsInputChanged(object sender, EventArgs e) - { - if (CmbStat.SelectedIndex < 0) - return; - else - BtnLockStat.Enabled = BtnUnlockStat.Enabled = true; - - var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; - LblStatPercent.Visible = stat.Percent; - LblStatTip.Text = stat.Tip; - - SetCommand("/setstats", $"{stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}"); - } - - /// - /// 点击锁定按钮时触发 - /// - private void BtnLockStat_Click(object sender, EventArgs e) - { - var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; - SetCommand("/setstats", $"lock {stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}"); - } - - /// - /// 点击解锁按钮时触发 - /// - private void BtnUnlockStat_Click(object sender, EventArgs e) - { - var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; - SetCommand("/setstats", $"unlock {stat.ArgName}"); - } - - #endregion - - #region -- 设置技能等级 -- - - /// - /// 点击设置技能按钮时触发 - /// - private void LnkSetTalentClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}"); - } - - #endregion - - #region -- 设置命座 -- - - /// - /// 设置命座链接标签点击时触发 - /// - private void LnkSetConst_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - if (NUDSetConstellation.Value >= 0) - SetCommand("/setConst", $"{NUDSetConstellation.Value}" + (sender == LnkSetAllConst ? " all" : string.Empty)); - else - SetCommand("/resetConst", (sender == LnkSetAllConst ? "all" : string.Empty)); - } - - #endregion - - #endregion - 角色 Avatars - - - #region - 场景 Scenes - - - private string[] _scenes; - private string[] Scenes - { - get => _scenes; - set - { - if (_scenes == value) - return; - _scenes = value; - ListScenes.Items.Clear(); - ListScenes.Items.AddRange(value); - } - } - - /// - /// 初始化场景列表 - /// - private void InitScenes() - { - Scenes = GameData.Scenes.Lines; - CmbClimateType.Items.Clear(); - CmbClimateType.Items.AddRange(Resources.ClimateType.Split(',')); - } - - /// - /// 选中场景时触发 - /// - private void RbListScene_CheckedChanged(object sender, EventArgs e) - { - if (RbListScene.Checked) - Scenes = GameData.Scenes.Lines; - } - - /// - /// 选中秘境时触发 - /// - private void RbListDungeons_CheckedChanged(object sender, EventArgs e) - { - if (RbListDungeons.Checked) - Scenes = GameData.Dungeons.Lines; - } - - /// - /// 场景列表过滤器输入项改变时触发 - /// - private void TxtSceneFilter_TextChanged(object sender, EventArgs e) - { - UIUtil.ListBoxFilter(ListScenes, Scenes, TxtSceneFilter.Text); - } - - /// - /// 场景列表选中项改变时触发 - /// - private void ListScenes_SelectedIndexChanged(object sender, EventArgs e) - { - if (ListScenes.SelectedIndex < 0) - { - ChkIncludeSceneId.Enabled = false; - return; - } - ChkIncludeSceneId.Enabled = true; - - // 可以直接弃用 scene 命令 - var name = ListScenes.SelectedItem as string; - var id = ItemMap.ToId(name); - if (RbListScene.Checked) - { - if (CommandVersion.Check(CommandVersion.V1_2_2)) - { - SetCommand("/scene", id.ToString()); - } - else - { - SetCommand("/tp ~ ~ ~", id.ToString()); - } - } - else if (RbListDungeons.Checked) - { - SetCommand("/dungeon", id.ToString()); - } - } - - /// - /// 气候类型列表 - /// - static readonly string[] climateTypes = { "none", "sunny", "cloudy", "rain", "thunderstorm", "snow", "mist" }; - - /// - /// 气候类型下拉框选中项改变时触发 - /// - private void CmbClimateType_SelectedIndexChanged(object sender, EventArgs e) - { - if (CmbClimateType.SelectedIndex < 0) - return; - if (CommandVersion.Check(CommandVersion.V1_2_2)) - SetCommand("/weather", CmbClimateType.SelectedIndex < climateTypes.Length ? climateTypes[CmbClimateType.SelectedIndex] : "none"); - else - SetCommand("/weather", $"0 {CmbClimateType.SelectedIndex}"); - } - - /// - /// 点击传送按钮时触发 - /// - private void BtnTeleport_Click(object sender, EventArgs e) - { - string args = $"{NUDTpX.Value} {NUDTpY.Value} {NUDTpZ.Value}"; - if (ChkIncludeSceneId.Checked && RbListScene.Checked && ListScenes.SelectedIndex != -1) - args += $" {GameData.Scenes.Ids[ListScenes.SelectedIndex]}"; - SetCommand("/tp", args); - } - - #endregion - 场景 Scenes - - - #region - 管理 Management - - - /// - /// 初始化权限列表 - /// - private void InitPermList() - { - CmbPerm.Items.Clear(); - CmbPerm.Items.AddRange(Resources.Permissions.Split('\n').Select(l => l.Trim()).ToArray()); - } - - /// - /// 点击授权按钮时触发 - /// - private void BtnPermClick(object sender, EventArgs e) - { - var uid = NUDPermUID.Value; - var perm = CmbPerm.Text.Trim(); - var act = (sender as Button).Tag.ToString(); - if (act == "list" || act == "clear") - { - SetCommand($"/permission {act} @{uid}"); - } - else - { - if (string.IsNullOrEmpty(perm)) - { - MessageBox.Show(Resources.PermissionCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - SetCommand($"/permission {act} @{uid} {perm}"); - } - } - - /// - /// 账号相关按钮点击时触发,Tag包含子命令 - /// - private void AccountButtonClicked(object sender, EventArgs e) - { - var username = TxtAccountUserName.Text.Trim(); - if (string.IsNullOrEmpty(username)) - { - MessageBox.Show(Resources.UsernameCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - SetCommand($"/account {(sender as Button).Tag} {username} {(ChkAccountSetUid.Checked ? NUDAccountUid.Value.ToString() : "")}"); - } - - /// - /// 点击封禁按钮时触发 - /// - private void BtnBan_Click(object sender, EventArgs e) - { - var uid = NUDBanUID.Value; - var endTime = DTPBanEndTime.Value; - var command = $"/ban @{uid} {new DateTimeOffset(endTime).ToUnixTimeSeconds()}"; - var reaseon = Regex.Replace(TxtBanReason.Text.Trim(), @"\s+", "-"); - if (!string.IsNullOrEmpty(reaseon)) - command += $" {reaseon}"; - SetCommand(command); - } - - /// - /// 点击解封按钮时触发 - /// - private void BtnUnban_Click(object sender, EventArgs e) - { - SetCommand($"/unban @{NUDBanUID.Value}"); - } - - #endregion - 管理 Management - - - #region - 邮件 Mail - - - /// - /// 初始化邮件页面 - /// - private void InitMailPage() - { - TxtMailSender.Text = Settings.Default.DefaultMailSender; - LoadMailSelectableItems(); - } - - /// - /// 保存邮件设置 - /// - private void SaveMailSettings() - { - Settings.Default.DefaultMailSender = TxtMailSender.Text; - } - - /// - /// 点击清空邮件内容时触发 - /// - private void LblClearMailContent_Click(object sender, EventArgs e) - { - TxtMailContent.Clear(); - } - - /// - /// 点击发送邮件时触发 - /// - private void BtnSendMail_Click(object sender, EventArgs e) - { - var mail = new Mail - { - Title = TxtMailTitle.Text.Trim(), - Sender = TxtMailSender.Text.Trim(), - Content = TxtMailContent.Text.Trim(), - Recipient = RbMailSendToAll.Checked ? 0 : (int)NUDMailRecipient.Value, - ItemList = new List(MailItems), - SendTime = DateTime.Now, - }; - - if (mail.Title == "" || mail.Sender == "" || mail.Content == "") - { - MessageBox.Show(Resources.EmptyInputTip, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - if (mail.SendToAll) - { - MessageBox.Show(Resources.MailSendToAllWarning, Resources.Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning); - } - - var cmd = $"/sendMail {(mail.SendToAll ? "all" : mail.Recipient.ToString())} |" + - $"/sendMail {mail.Title} |" + - $"/sendMail {mail.Content.Replace("\r", "\\r").Replace("\n", "\\n")} |" + - $"/sendMail {mail.Sender} |"; - foreach (var item in mail.ItemList) - cmd += $"/sendMail {item.ItemId} {item.ItemCount} {item.ItemLevel} |"; - cmd += "/sendMail finish"; - - SetCommand(cmd); - AddMailToList(mail); - } - - /// - /// 展示邮件 - /// - /// - private void ShowMail(Mail mail) - { - TxtMailTitle.Text = mail.Title; - TxtMailSender.Text = mail.Sender; - TxtMailContent.Text = mail.Content; - NUDMailRecipient.Value = mail.Recipient; - RbMailSendToAll.Checked = mail.SendToAll; - RbMailSendToPlayer.Checked = !mail.SendToAll; - ShowMailItems(mail.ItemList); - } - - - #region -- 邮件附件列表 Mail items -- - - /// - /// 当前邮件附件列表 - /// - private readonly List MailItems = new List(); - - /// - /// 展示邮件附件列表 - /// - /// - private void ShowMailItems(List items) - { - MailItems.Clear(); - MailItems.AddRange(items); - ListMailItems.BeginUpdate(); - ListMailItems.Items.Clear(); - ListMailItems.Items.AddRange(items.Select(it => it.ToString()).ToArray()); - ListMailItems.EndUpdate(); - } - - /// - /// 点击添加邮件附件项时触发 - /// - private void BtnAddMailItem_Click(object sender, EventArgs e) - { - if (ListMailSelectableItems.SelectedIndex == -1) - return; - var item = ListMailSelectableItems.SelectedItem as string; - var itemId = ItemMap.ToId(item); - var mailItem = new MailItem - { - ItemId = itemId, - ItemCount = (int)NUDMailItemCount.Value, - ItemLevel = (int)NUDMailItemLevel.Value, - }; - MailItems.Add(mailItem); - ListMailItems.Items.Add(mailItem.ToString()); - } - - /// - /// 点击删除邮件附件项时触发 - /// - private void BtnDeleteMailItem_Click(object sender, EventArgs e) - { - if (ListMailItems.SelectedIndex == -1) return; - - MailItems.RemoveAt(ListMailItems.SelectedIndex); - ListMailItems.Items.RemoveAt(ListMailItems.SelectedIndex); - } - - #endregion - - #region -- 邮件附件可选列表 Mail item selectable list -- - - private string[] MailSelectableItems; - - /// - /// 加载附件可选项列表 - /// - private void LoadMailSelectableItems() - { - MailSelectableItems = new string[GameData.Items.Count + GameData.Weapons.Count + GameData.Artifacts.Count]; - int i = 0; - GameData.Items.Lines.CopyTo(MailSelectableItems, i); i += GameData.Items.Count; - GameData.Weapons.Lines.CopyTo(MailSelectableItems, i); i += GameData.Weapons.Count; - GameData.Artifacts.Lines.CopyTo(MailSelectableItems, i); i += GameData.Artifacts.Count; - - Array.Sort(MailSelectableItems, (a, b) => ItemMap.ToId(a) - ItemMap.ToId(b)); - - ListMailSelectableItems.Items.Clear(); - ListMailSelectableItems.Items.AddRange(MailSelectableItems); - } - - /// - /// 邮件页面物品列表过滤器文本改变时触发 - /// - private void TxtMailSelectableItemFilter_TextChanged(object sender, EventArgs e) - { - UIUtil.ListBoxFilter(ListMailSelectableItems, MailSelectableItems, TxtMailSelectableItemFilter.Text); - } - - #endregion - - #region -- 邮件列表 Mail list -- - - /// - /// 获取物品记录文件路径 - /// - private readonly string MailListPath = Path.Combine(Application.LocalUserAppDataPath, "MailList.json"); - - /// - /// 邮件列表 - /// - private List MailList = new List(); - - /// - /// 初始化邮件列表 - /// - private void InitMailList() - { - if (File.Exists(MailListPath)) - { - MailList = JsonConvert.DeserializeObject>(File.ReadAllText(MailListPath)); - ListMailList.Items.AddRange(MailList.Select(it => it.ToString()).ToArray()); - } - else - { - MailList = new List(); - } - } - - /// - /// 保存邮件列表 - /// - private void SaveMailList() - { - File.WriteAllText(MailListPath, JsonConvert.SerializeObject(MailList)); - } - - /// - /// 添加邮件到列表 - /// - /// 邮件 - private void AddMailToList(Mail mail) - { - MailList.Add(mail); - ListMailList.Items.Add(mail.ToString()); - SaveMailList(); - } - - /// - /// 邮件列表选中项改变时发生 - /// - private void ListMailList_SelectedIndexChanged(object sender, EventArgs e) - { - if (ListMailList.SelectedIndex == -1) return; - // 显示选中邮件 - var mail = MailList[ListMailList.SelectedIndex]; - ShowMail(mail); - } - - /// - /// 点击删除邮件按钮时触发 - /// - private void BtnRemoveMail_Click(object sender, EventArgs e) - { - if (ListMailList.SelectedIndex == -1) return; - MailList.RemoveAt(ListMailList.SelectedIndex); - ListMailList.Items.RemoveAt(ListMailList.SelectedIndex); - SaveMailList(); - } - - /// - /// 点击清空邮件列表按钮时触发 - /// - private void BtnClearMail_Click(object sender, EventArgs e) - { - if (MailList.Count == 0) return; - if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - ListMailList.Items.Clear(); - MailList.Clear(); - SaveMailList(); - } - } - - #endregion - - #endregion - - #region - 关于 About - - - /// - /// 点击Github链接时触发 - /// - private void LnkGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - UIUtil.OpenURL("https://github.com/jie65535/GrasscutterCommandGenerator"); - } - - #endregion - 关于 About - - #region - 命令 Command - /// @@ -1044,7 +237,7 @@ namespace GrasscutterTools.Forms //if (ChkIncludeUID.Checked) // SetCommand($"{command} @{NUDUid.Value} {args.Trim()}"); //else - SetCommand($"{command} {args.Trim()}"); + SetCommand($"{command} {args.Trim()}"); } /// @@ -1276,58 +469,9 @@ namespace GrasscutterTools.Forms #endregion - 命令记录 Command Logs - - /// /// 开放命令接口 /// private OpenCommandAPI OC => Common.OC; - - - #region - 任务 Quests - - - /// - /// 初始化任务列表 - /// - private void InitQuestList() - { - QuestFilterChanged(null, EventArgs.Empty); - } - - /// - /// 任务列表过滤器文本改变时触发 - /// - private void QuestFilterChanged(object sender, EventArgs e) - { - ListQuest.BeginUpdate(); - ListQuest.Items.Clear(); - ListQuest.Items.AddRange(GameData.Quests.Lines.Where(l => - { - if (!ChkQuestFilterHIDDEN.Checked && l.Contains((string)ChkQuestFilterHIDDEN.Tag)) - return false; - if (!ChkQuestFilterUNRELEASED.Checked && l.Contains((string)ChkQuestFilterUNRELEASED.Tag)) - return false; - if (!ChkQuestFilterTEST.Checked && l.Contains((string)ChkQuestFilterTEST.Tag)) - return false; - if (!string.IsNullOrEmpty(TxtQuestFilter.Text)) - return l.Contains(TxtQuestFilter.Text); - return true; - }).ToArray()); - ListQuest.EndUpdate(); - } - - /// - /// 任务相关按钮点击时触发(Tag带子命令) - /// - private void QuestButsClicked(object sender, EventArgs e) - { - if (ListQuest.SelectedIndex == -1) - return; - var item = ListQuest.SelectedItem as string; - var id = ItemMap.ToId(item); - SetCommand("/quest", $"{(sender as Button).Tag} {id}"); - } - - #endregion - 任务 Quests - - } -} +} \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormMain.en-us.resx b/Source/GrasscutterTools/Forms/FormMain.en-us.resx index 2bd44df..084b9d2 100644 --- a/Source/GrasscutterTools/Forms/FormMain.en-us.resx +++ b/Source/GrasscutterTools/Forms/FormMain.en-us.resx @@ -150,99 +150,6 @@ or there is a new feature request, you can file an issue on Github. About - - Unban - - - Ban - - - Reason - - - 30, 25 - - - 30, 17 - - - UID - - - Ban - - - 49, 21 - - - UID - - - 270, 23 - - - 130, 23 - - - Delete - - - Create - - - 6, 25 - - - 67, 17 - - - Username - - - 79, 22 - - - 127, 23 - - - Account - - - 262, 21 - - - 138, 25 - - - Clear - - - Delete - - - List - - - Add - - - 44, 17 - - - Perms - - - 30, 25 - - - 30, 17 - - - UID - - - Permissions - Manage @@ -336,363 +243,15 @@ In the command, you can use ~ to indicate the current position, and ~N to indica Scene - - 50, 17 - - - X Clear - - - √ Record - - - × Delete - - - Records - - - 278, 217 - - - 57, 21 - - - Drop - - - 53, 17 - - - Amount - - - 171, 218 - - - 37, 17 - - - Level - - - 65, 216 - - - 209, 216 - - - 118, 17 - - - Give item to player - Items Weapons - - 43, 17 - - - Set all - - - 71, 17 - - - Set current - - - Constellation - - - Unlock - - - Lock - - - Tip - - - Stats - - - 146, 24 - - - 22, 17 - - - All - - - 283, 24 - - - 15, 17 - - - E - - - 259, 24 - - - 18, 17 - - - Q - - - 178, 24 - - - 75, 17 - - - NormalATK - - - 96, 23 - - - Talent Level - - - White - - - Fire - - - Water - - - Wind - - - Ice - - - Rock - - - Electro - - - Grass - - - 90, 17 - - - SwitchElement - - - Give All Char - - - 37, 17 - - - Level - - - 61, 17 - - - Skill level - - - 45, 17 - - - Avatar - - - 44, 17 - - - Const. - Avatar - - 78, 25 - - - 144, 17 - - - v Require GC > v1.3.1 v - - - 98, 17 - - - HP 0 for infinite - - - 55, 17 - - - Defense - - - 44, 17 - - - Attack - - - 24, 17 - - - HP - - - 53, 17 - - - Max HP - - - Pos: x: y: z: - - - 197, 27 - - - 37, 17 - - - Level - - - 53, 17 - - - Amount - - - Spawn args - - - 121, 17 - - - Meet the real Thor! - - - 326, 17 - - - This plugin can use Gadget to replace character attack - - - 46, 17 - - - Plugin: - - - 26, 17 - - - Off - - - 25, 17 - - - On - - - Reload config - - - Clear all gadgets - - - Replace Skill - - - AttackModifier - - - 238, 17 - - - Rot: x: y: z: - - - 50, 17 - - - Spread - - - 42, 17 - - - Count - - - 46, 17 - - - Height - - - 47, 17 - - - Radius - - - Attack Infuse - - - Reload config - - - Clear - - - Reset - - - 46, 17 - - - Plugin: - - - AttackInfused - - - Entities - - - √ Record - - - × Delete - - - 50, 17 - - - X Clear - - - Spawn Records - Spawn @@ -740,90 +299,6 @@ Therefore, the quest can be added and finished, but not necessarily work. Home - - + Add - - - - Delete - - - 171, 4 - - - 47, 4 - - - 3, 6 - - - 45, 17 - - - Count: - - - 123, 6 - - - 40, 17 - - - Level: - - - 84, 4 - - - × Clear - - - 3, 4 - - - - Delete - - - Send - - - 43, 17 - - - Items: - - - 61, 21 - - - Player - - - 40, 21 - - - All - - - Send to: - - - 56, 17 - - - Content: - - - 35, 17 - - - Title: - - - 52, 17 - - - Sender: - Mail diff --git a/Source/GrasscutterTools/Forms/FormMain.resx b/Source/GrasscutterTools/Forms/FormMain.resx index 8291ae8..5ea4e53 100644 --- a/Source/GrasscutterTools/Forms/FormMain.resx +++ b/Source/GrasscutterTools/Forms/FormMain.resx @@ -265,13 +265,13 @@ 2 - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 14 @@ -291,117 +291,14 @@ 1 - - Bottom, Right - - - NoControl - - - 506, 97 - - - 280, 280 - - - 140, 140 - - - Zoom - - - 5 - - - GrasscutterToolsSupport - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAbout - - - 0 - - - Bottom, Left - - - True - - - NoControl - - - 16, 220 - - - 46, 17 - - - 1 - - - Github - - - LnkGithub - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAbout - - - 1 - - - True - - - NoControl - - - 16, 23 - - - 334, 136 - - - 0 - - - 割草机工具箱 - -这是一个免费且开源的项目 -如果觉得这对你很有帮助,可以为我点一个免费的Star -如果愿意请我喝一杯奶茶,那就更好了 : ) -指令生成有问题,或者有新的功能请求,都可以来Github提出 - -欢迎加入内测Q群: 457427536 (需要回答正确答案) - - - LblSupportDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAbout - - - 2 - - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 13 @@ -421,614 +318,14 @@ 12 - - None - - - 154, 22 - - - 90, 23 - - - 2 - - - DTPBanEndTime - - - System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBanPlayer - - - 0 - - - NoControl - - - 473, 22 - - - 60, 23 - - - 5 - - - 解封 - - - BtnUnban - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBanPlayer - - - 1 - - - NoControl - - - 407, 22 - - - 60, 23 - - - 4 - - - 封号 - - - BtnBan - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBanPlayer - - - 2 - - - 250, 22 - - - 150, 23 - - - 3 - - - 封禁理由 - - - TxtBanReason - - - GrasscutterTools.Controls.TextBoxXP, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 - - - GrpBanPlayer - - - 3 - - - 66, 22 - - - 82, 23 - - - 1 - - - NUDBanUID - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBanPlayer - - - 4 - - - True - - - NoControl - - - 6, 25 - - - 54, 17 - - - 0 - - - 目标UID - - - LblBanUID - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBanPlayer - - - 5 - - - 56, 154 - - - 540, 60 - - - 2 - - - 封禁管理 - - - GrpBanPlayer - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPManage - - - 0 - - - None - - - True - - - NoControl - - - 215, 23 - - - 73, 21 - - - 2 - - - 指定UID - - - ChkAccountSetUid - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 0 - - - 294, 22 - - - 106, 23 - - - 3 - - - NUDAccountUid - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 1 - - - NoControl - - - 473, 22 - - - 60, 23 - - - 5 - - - - 删除 - - - BtnDeleteAccount - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 2 - - - NoControl - - - 407, 22 - - - 60, 23 - - - 4 - - - + 创建 - - - BtnCreateAccount - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 3 - - - True - - - NoControl - - - 16, 25 - - - 44, 17 - - - 0 - - - 用户名 - - - LblAccountUserName - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 4 - - - 66, 22 - - - 140, 23 - - - 1 - - - test - - - TxtAccountUserName - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 5 - - - 56, 2 - - - 540, 60 - - - 0 - - - 账号管理 - - - GrpAccount - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPManage - - - 1 - - - None - - - 250, 21 - - - 150, 25 - - - 3 - - - CmbPerm - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 0 - - - 66, 22 - - - 140, 23 - - - 1 - - - NUDPermUID - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 1 - - - NoControl - - - 473, 51 - - - 60, 23 - - - 7 - - - x 清空 - - - BtnPermClear - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 2 - - - NoControl - - - 473, 22 - - - 60, 23 - - - 5 - - - - 移除 - - - BtmPermRemove - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 3 - - - NoControl - - - 407, 51 - - - 60, 23 - - - 6 - - - 列出 - - - BtnPermList - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 4 - - - NoControl - - - 407, 22 - - - 60, 23 - - - 4 - - - + 添加 - - - BtnPermAdd - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 5 - - - True - - - NoControl - - - 212, 25 - - - 32, 17 - - - 2 - - - 权限 - - - LblPerm - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 6 - - - True - - - NoControl - - - 6, 25 - - - 54, 17 - - - 0 - - - 目标UID - - - LblPermUID - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 7 - - - 56, 68 - - - 540, 80 - - - 1 - - - 权限管理 - - - GrpPermission - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPManage - - - 2 - - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 12 @@ -1048,484 +345,14 @@ 8 - - True - - - NoControl - - - 290, 7 - - - 50, 21 - - - 2 - - - 秘境 - - - RbListDungeons - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 0 - - - True - - - NoControl - - - 234, 7 - - - 50, 21 - - - 1 - - - 场景 - - - RbListScene - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 1 - - - Top, Left, Right - - - 346, 5 - - - 300, 23 - - - 13 - - - TxtSceneFilter - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 2 - - - Bottom, Left - - - True - - - False - - - NoControl - - - 90, 190 - - - 76, 21 - - - 12 - - - 含场景ID - - - ChkIncludeSceneId - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 3 - - - Bottom, Left - - - True - - - NoControl - - - 218, 161 - - - 14, 17 - - - 9 - - - z - - - LblTpZ - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 4 - - - Bottom, Left - - - True - - - NoControl - - - 112, 161 - - - 14, 17 - - - 8 - - - y - - - LblTpY - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 5 - - - Bottom, Left - - - NoControl - - - 9, 188 - - - 75, 23 - - - 11 - - - 传送 - - - BtnTeleport - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 6 - - - Bottom, Left - - - True - - - NoControl - - - 6, 161 - - - 14, 17 - - - 6 - - - x - - - LblTpX - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 7 - - - Bottom, Left - - - 238, 159 - - - 80, 23 - - - 10 - - - NUDTpZ - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 8 - - - Bottom, Left - - - 132, 159 - - - 80, 23 - - - 9 - - - NUDTpY - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 9 - - - Bottom, Left - - - 26, 159 - - - 80, 23 - - - 7 - - - NUDTpX - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 10 - - - Bottom, Left - - - 68, 69 - - - 121, 25 - - - 4 - - - CmbClimateType - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 11 - - - Bottom, Left - - - True - - - NoControl - - - 6, 72 - - - 56, 17 - - - 3 - - - 设置天气 - - - LblClimateType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 12 - - - True - - - NoControl - - - 6, 6 - - - 56, 17 - - - 0 - - - 场景控制 - - - LblSceneDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 13 - - - Top, Bottom, Left, Right - - - 17 - - - 346, 31 - - - 300, 208 - - - 14 - - - ListScenes - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 14 - - - Bottom, Left - - - True - - - NoControl - - - 6, 105 - - - 296, 51 - - - 5 - - - 坐标传送 -提示:游戏内可以通过小地图的'鱼钩'标记来快捷传送 -命令中可以用~表示当前位置,~100表示相对当前100 - - - LblTp - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 15 - - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 9 @@ -1545,379 +372,6 @@ 11 - - Bottom, Left - - - True - - - NoControl - - - 262, 181 - - - 44, 17 - - - 4 - - - X 清空 - - - LblClearGiveItemLogs - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 0 - - - NoControl - - - 265, 48 - - - 75, 23 - - - 2 - - - √ 记录 - - - BtnSaveGiveItemLog - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 1 - - - False - - - NoControl - - - 265, 77 - - - 75, 23 - - - 3 - - - × 删除 - - - BtnRemoveGiveItemLog - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 2 - - - Top, Bottom, Left - - - Fill - - - 17 - - - 3, 19 - - - 243, 128 - - - 6 - - - ListGiveItemLogs - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveItemRecord - - - 0 - - - 10, 48 - - - 249, 150 - - - 1 - - - 物品记录本 - - - GrpGiveItemRecord - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 3 - - - Bottom, Left - - - True - - - NoControl - - - 255, 205 - - - 51, 21 - - - 9 - - - 掉落 - - - ChkDrop - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 4 - - - Top, Left, Right - - - 346, 5 - - - 300, 23 - - - 10 - - - TxtGameItemFilter - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 5 - - - Top, Bottom, Left, Right - - - 17 - - - 346, 31 - - - 300, 157 - - - 11 - - - ListGameItems - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 6 - - - Bottom, Left - - - True - - - NoControl - - - 6, 206 - - - 32, 17 - - - 5 - - - 数量 - - - LblGameItemAmount - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 7 - - - Bottom, Left - - - True - - - NoControl - - - 150, 206 - - - 32, 17 - - - 7 - - - 等级 - - - LblGameItemLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 8 - - - Bottom, Left - - - 44, 204 - - - 100, 23 - - - 6 - - - NUDGameItemAmout - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 9 - - - Bottom, Left - - - 188, 204 - - - 50, 23 - - - 8 - - - NUDGameItemLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 10 - - - True - - - NoControl - - - 6, 6 - - - 236, 34 - - - 0 - - - 给玩家指定物品 -说明:可选择直接给到背包或者掉落到世界 - - - LblGiveCommandDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 11 - 4, 26 @@ -1946,7 +400,7 @@ 5 - 4, 22 + 4, 26 0, 0, 0, 0 @@ -1955,7 +409,7 @@ 3, 3, 3, 3 - 652, 249 + 652, 245 3 @@ -1975,845 +429,14 @@ 7 - - None - - - True - - - NoControl - - - 198, 24 - - - 80, 17 - - - 2 - - - 设置所有角色 - - - LnkSetAllConst - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetConstellation - - - 0 - - - True - - - NoControl - - - 112, 24 - - - 80, 17 - - - 1 - - - 设置当前角色 - - - LnkSetConst - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetConstellation - - - 1 - - - 44, 22 - - - 62, 23 - - - 0 - - - NUDSetConstellation - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetConstellation - - - 2 - - - 288, 172 - - - 332, 55 - - - 3 - - - 设置命座 - - - GrpSetConstellation - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 0 - - - None - - - False - - - NoControl - - - 174, 67 - - - 125, 23 - - - 5 - - - 解锁 - - - BtnUnlockStat - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetStats - - - 0 - - - False - - - NoControl - - - 43, 67 - - - 125, 23 - - - 4 - - - 锁定 - - - BtnLockStat - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetStats - - - 1 - - - NoControl - - - 40, 16 - - - 286, 17 - - - 0 - - - 提示 - - - LblStatTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetStats - - - 2 - - - True - - - NoControl - - - 283, 39 - - - 19, 17 - - - 3 - - - % - - - False - - - LblStatPercent - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetStats - - - 3 - - - 207, 37 - - - 70, 23 - - - 2 - - - NUDStat - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetStats - - - 4 - - - 43, 36 - - - 158, 25 - - - 1 - - - CmbStat - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetStats - - - 5 - - - 288, 9 - - - 332, 96 - - - 1 - - - 角色属性 - - - GrpSetStats - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 1 - - - None - - - True - - - NoControl - - - 112, 24 - - - 32, 17 - - - 1 - - - 全部 - - - LnkTalentAll - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpTalentLevel - - - 0 - - - True - - - NoControl - - - 260, 24 - - - 39, 17 - - - 4 - - - E技能 - - - LnkTalentE - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpTalentLevel - - - 1 - - - True - - - NoControl - - - 212, 24 - - - 42, 17 - - - 3 - - - Q技能 - - - LnkTalentQ - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpTalentLevel - - - 2 - - - True - - - NoControl - - - 150, 24 - - - 56, 17 - - - 2 - - - 普通攻击 - - - LnkTalentNormalATK - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpTalentLevel - - - 3 - - - 44, 22 - - - 62, 23 - - - 0 - - - NUDTalentLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpTalentLevel - - - 4 - - - 288, 111 - - - 332, 55 - - - 2 - - - 技能等级 - - - GrpTalentLevel - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 2 - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - 112, 187 - - - 87, 25 - - - 11 - - - CmbSwitchElement - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 0 - - - True - - - NoControl - - - 16, 191 - - - 80, 17 - - - 10 - - - 切换主角元素 - - - LnkSwitchElement - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 1 - - - 89, 22 - - - 110, 25 - - - 1 - - - CmbAvatar - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 2 - - - True - - - NoControl - - - 201, 113 - - - 46, 17 - - - 8 - - - *v1.4.1 - - - LblAvatarSkillLevelTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 3 - - - 89, 53 - - - 110, 23 - - - 3 - - - NUDAvatarLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 4 - - - Microsoft YaHei UI, 10pt - - - NoControl - - - 49, 140 - - - 150, 30 - - - 9 - - - 一键获得所有角色 - - - BtnGiveAllChar - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 5 - - - True - - - NoControl - - - 27, 55 - - - 32, 17 - - - 2 - - - 等级 - - - LblAvatarLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 6 - - - True - - - NoControl - - - 27, 113 - - - 56, 17 - - - 6 - - - 技能等级 - - - LblAvatarSkillLevelLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 7 - - - True - - - NoControl - - - 27, 25 - - - 32, 17 - - - 0 - - - 角色 - - - LblAvatar - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 8 - - - True - - - NoControl - - - 27, 84 - - - 32, 17 - - - 4 - - - 命座 - - - LblAvatarConstellation - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 9 - - - 89, 82 - - - 110, 23 - - - 5 - - - NUDAvatarConstellation - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 10 - - - 89, 111 - - - 110, 23 - - - 7 - - - NUDAvatarSkillLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveAvatar - - - 11 - - - 32, 9 - - - 250, 218 - - - 0 - - - 获取角色 - - - GrpGiveAvatar - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 3 - - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 5 @@ -2860,274 +483,14 @@ 4 - - Bottom, Left - - - True - - - NoControl - - - 26, 82 - - - 75, 21 - - - 2 - - - 测试任务 - - - ChkQuestFilterTEST - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpQuestFilters - - - 0 - - - True - - - NoControl - - - 26, 55 - - - 99, 21 - - - 1 - - - 未发布的任务 - - - ChkQuestFilterUNRELEASED - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpQuestFilters - - - 1 - - - True - - - NoControl - - - 26, 28 - - - 87, 21 - - - 0 - - - 隐藏的任务 - - - ChkQuestFilterHIDDEN - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpQuestFilters - - - 2 - - - 202, 109 - - - 150, 130 - - - 3 - - - 列表过滤 - - - GrpQuestFilters - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPQuest - - - 0 - - - Bottom, Left - - - NoControl - - - 102, 216 - - - 90, 23 - - - 2 - - - 完成任务 - - - BtnFinishQuest - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPQuest - - - 1 - - - Bottom, Left - - - NoControl - - - 6, 216 - - - 90, 23 - - - 1 - - - 添加任务 - - - BtnAddQuest - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPQuest - - - 2 - - - Top, Bottom, Left - - - NoControl - - - 6, 6 - - - 346, 100 - - - 0 - - - 添加或完成任务 -提示:许多任务需要服务端脚本支持 -因此任务可以接,可以完成,但是不一定可以做 - - - LblQuestDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPQuest - - - 3 - - - Top, Left, Right - - - 358, 5 - - - 288, 23 - - - 4 - - - TxtQuestFilter - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPQuest - - - 4 - - - Top, Bottom, Left, Right - - - 17 - - - 358, 31 - - - 288, 208 - - - 5 - - - ListQuest - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPQuest - - - 5 - - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 15 @@ -3148,13 +511,13 @@ 10 - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 2 @@ -3175,13 +538,13 @@ 3 - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 1 @@ -3231,833 +594,14 @@ Top, Bottom, Left, Right - - True - - - NoControl - - - 387, 92 - - - 16, 17 - - - 12 - - - X - - - LblClearMailContent - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 0 - - - Bottom, Left - - - NoControl - - - 329, 151 - - - 75, 23 - - - 12 - - - + 添加 - - - BtnAddMailItem - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 1 - - - Bottom, Left - - - NoControl - - - 329, 180 - - - 75, 23 - - - 13 - - - - 删除 - - - BtnDeleteMailItem - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 2 - - - Top, Bottom, Left, Right - - - Fill - - - 17 - - - 3, 26 - - - 0, 0, 0, 0 - - - 222, 141 - - - 1 - - - ListMailSelectableItems - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMailSelectableItemList - - - 0 - - - Top - - - 3, 3 - - - 222, 23 - - - 0 - - - TxtMailSelectableItemFilter - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMailSelectableItemList - - - 1 - - - 171, 5 - - - 50, 23 - - - 3 - - - NUDMailItemLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - PanelMailItemArgs - - - 0 - - - 47, 5 - - - 60, 23 - - - 1 - - - NUDMailItemCount - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - PanelMailItemArgs - - - 1 - - - True - - - NoControl - - - -3, 7 - - - 44, 17 - - - 0 - - - 数量: - - - LblMailItemCount - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - PanelMailItemArgs - - - 2 - - - True - - - NoControl - - - 123, 7 - - - 44, 17 - - - 2 - - - 等级: - - - LblMailItemLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - PanelMailItemArgs - - - 3 - - - Bottom - - - 3, 167 - - - 222, 30 - - - 2 - - - PanelMailItemArgs - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMailSelectableItemList - - - 2 - - - 4, 26 - - - 3, 3, 3, 3 - - - 228, 200 - - - 0 - - - 物品列表 - - - TPMailSelectableItemList - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMailRight - - - 0 - - - Top, Bottom, Left, Right - - - 17 - - - 0, 0 - - - 0, 0, 0, 0 - - - 228, 157 - - - 0 - - - ListMailList - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMailList - - - 0 - - - NoControl - - - 84, 3 - - - 75, 23 - - - 1 - - - × 清空 - - - BtnClearMail - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - PanelMailListControls - - - 0 - - - NoControl - - - 3, 3 - - - 75, 23 - - - 0 - - - - 删除 - - - BtnRemoveMail - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - PanelMailListControls - - - 1 - - - Bottom - - - 3, 173 - - - 222, 28 - - - 1 - - - PanelMailListControls - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMailList - - - 1 - - - 4, 22 - - - 3, 3, 3, 3 - - - 228, 204 - - - 1 - - - 邮件列表 - - - TPMailList - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMailRight - - - 1 - - - 410, 8 - - - 236, 230 - - - 15 - - - TCMailRight - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 3 - - - Bottom, Left - - - NoControl - - - 329, 206 - - - 75, 32 - - - 14 - - - 发送 - - - BtnSendMail - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 4 - - - Bottom, Left - - - 17 - - - 73, 151 - - - 250, 89 - - - 11 - - - ListMailItems - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 5 - - - Bottom, Left - - - True - - - NoControl - - - 6, 154 - - - 44, 17 - - - 10 - - - 附件: - - - LblMailItemsLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 6 - - - 283, 35 - - - 121, 23 - - - 5 - - - NUDMailRecipient - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 7 - - - True - - - NoControl - - - 227, 35 - - - 50, 21 - - - 4 - - - 玩家 - - - RbMailSendToPlayer - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 8 - - - True - - - NoControl - - - 78, 35 - - - 62, 21 - - - 3 - - - 所有人 - - - RbMailSendToAll - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 9 - - - True - - - NoControl - - - 6, 37 - - - 56, 17 - - - 2 - - - 收件人: - - - LblMailRecipientLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 10 - - - Top, Bottom, Left - - - 73, 93 - - - True - - - Vertical - - - 331, 52 - - - 9 - - - TxtMailContent - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 11 - - - True - - - NoControl - - - 6, 96 - - - 44, 17 - - - 8 - - - 内容: - - - LblMailContentLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 12 - - - 73, 64 - - - 331, 23 - - - 7 - - - TxtMailTitle - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 13 - - - True - - - NoControl - - - 6, 67 - - - 44, 17 - - - 6 - - - 标题: - - - LblMailTitleLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 14 - - - 73, 6 - - - 331, 23 - - - 1 - - - TxtMailSender - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 15 - - - True - - - NoControl - - - 6, 9 - - - 56, 17 - - - 0 - - - 发件人: - - - LblMailSenderLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPMail - - - 16 - - 4, 22 + 4, 26 3, 3, 3, 3 - 652, 249 + 652, 245 16 @@ -4125,9 +669,6 @@ Microsoft YaHei UI, 9pt - - NoControl - 3, 4, 3, 4 diff --git a/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx b/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx index 7b145a8..4eb8ef7 100644 --- a/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx +++ b/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx @@ -142,21 +142,18 @@ Авто - - Команды - [Ctrl] Запуск и замена - [Shift] Добавить - [Alt] Только запустить - [|] Разделитель - 120, 23 Выполнить (F5) + + Команды - [Ctrl] Запуск и замена - [Shift] Добавить - [Alt] Только запустить - [|] Разделитель + OpenCommand - - Справка - 552, 170 @@ -173,162 +170,12 @@ Спасибо: Dhar_Jinxed + + Справка + Аккаунты - - Управление банами - - - 453, 22 - - - 80, 23 - - - Разбанить - - - 367, 22 - - - 80, 23 - - - Забанить - - - 111, 23 - - - Причина - - - 42, 22 - - - 106, 23 - - - 30, 17 - - - UID - - - Управление аккаунтом - - - 49, 21 - - - UID - - - 270, 23 - - - 463, 21 - - - 70, 23 - - - Удалить - - - 387, 21 - - - 70, 23 - - - Создать - - - 6, 25 - - - 81, 17 - - - Имя игрока - - - 93, 22 - - - 113, 23 - - - Управление правами - - - 212, 21 - - - 149, 25 - - - 42, 23 - - - 106, 23 - - - 454, 48 - - - 80, 23 - - - Очистить - - - 453, 21 - - - 80, 23 - - - Удалить - - - 353, 48 - - - 95, 23 - - - Список прав - - - 367, 21 - - - 80, 23 - - - Добавить - - - 160, 25 - - - 46, 17 - - - Права - - - 30, 17 - - - UID - - - Сцена - 243, 7 @@ -419,462 +266,21 @@ Подсказка: вы можете быстро телепортироваться через отметку «рыболовный крючок» на миникарте в игре. В команде вы можете использовать ~, чтобы указать текущую позицию, и ~N, чтобы указать смещение на N относительно текущей позиции + + Сцена + Предметы - - 76, 17 - - - X Очистить - - - 260, 48 - - - 80, 23 - - - √ Сохр. - - - 260, 77 - - - 80, 23 - - - × Удалить - - - 244, 162 - - - Список предметов - - - 238, 140 - - - 278, 217 - - - 60, 21 - - - Дроп - - - 51, 17 - - - Кол-во - - - 143, 218 - - - 60, 17 - - - Уровень - - - 63, 216 - - - 73, 23 - - - 209, 215 - - - 137, 17 - - - Дать предмет игроку - Оружие Персонаж - - Установить созвездие - - - 178, 24 - - - 28, 17 - - - все - - - 60, 17 - - - текущий - - - Статистика - - - 140, 23 - - - Разморозить статы - - - Заморозить статы - - - Подсказка - - - Уровень таланта - - - 144, 24 - - - 28, 17 - - - все - - - 309, 24 - - - 15, 17 - - - E - - - 285, 24 - - - 18, 17 - - - Q - - - 178, 24 - - - 101, 17 - - - Обычная атака - - - 94, 23 - - - Выдать персонажа - - - Без элемента - - - Пиро - - - Гидро - - - Анемо - - - Крио - - - Гео - - - Электро - - - Дендро - - - 90, 17 - - - SwitchElement - - - 111, 16 - - - 114, 25 - - - 160, 124 - - - 111, 47 - - - 114, 23 - - - 25, 151 - - - 200, 30 - - - Дать всех персонажей - - - 36, 49 - - - 60, 17 - - - Уровень - - - 36, 102 - - - 110, 17 - - - Уровень таланта - - - 36, 19 - - - 71, 17 - - - Персонаж - - - 36, 78 - - - 72, 17 - - - Созвездия - - - 111, 76 - - - 114, 23 - - - 39, 122 - - - 114, 23 - Спавн - - Спавн - - - 149, 17 - - - Требуется GC >= v1.3.1 - - - 157, 17 - - - HP 0 для бесконечности - - - 53, 17 - - - Защита - - - 42, 17 - - - Атака - - - 24, 17 - - - HP - - - 63, 17 - - - Макс. HP - - - 238, 17 - - - Поз x: y: z: - - - 26, 17 - - - Ур. - - - 34, 17 - - - Кол. - - - Изменение атаки - - - 190, 17 - - - Встречайте настоящего Тора! - - - 213, 17 - - - Атаки можно заменить гаджетом - - - 52, 17 - - - Плагин - - - 194, 3 - - - 41, 17 - - - выкл. - - - 32, 17 - - - вкл. - - - Перезагрузить - - - Очистить гаджеты - - - Замена навыков - - - Элем. инфузия - - - 241, 17 - - - Повер. x: y: z: - - - 154, 78 - - - 74, 17 - - - Распростр. - - - 51, 17 - - - Кол-во - - - 51, 17 - - - Высота - - - 49, 17 - - - Радиус - - - Создать инфузию - - - Перезагрузка - - - Очистить - - - Сбросить - - - 52, 17 - - - Плагин - - - Список объектов - - - Записи спавнов - - - 80, 23 - - - √ Сохр. - - - 89, 3 - - - 80, 23 - - - × Удалить - - - 175, 6 - - - 76, 17 - - - X Очистить - - - Квест - - - Фильтр списка - 52, 21 @@ -893,6 +299,9 @@ Скрытый + + Фильтр списка + Завершить @@ -904,6 +313,9 @@ Внимание: для многих квестов требуются скрипты таковых на стороне сервера. Поэтому квест может быть добавлен или отозван через консоль, но завершён игроком - вряд ли. + + Квест + Артефакт @@ -916,151 +328,4 @@ Почта - - 304, 155 - - - 100, 23 - - - + Добавить - - - 304, 184 - - - 100, 23 - - - - Удалить - - - Предметы - - - 172, 3 - - - 49, 3 - - - 1, 5 - - - 51, 17 - - - Кол-во - - - 114, 6 - - - 60, 17 - - - Уровень - - - Список рассылки - - - 114, 5 - - - 100, 23 - - - × Очистить - - - 8, 5 - - - 100, 23 - - - - Удалить - - - 304, 213 - - - 100, 29 - - - Отправить - - - 102, 155 - - - 196, 89 - - - 74, 17 - - - Вложение: - - - 213, 34 - - - 64, 21 - - - Игрок - - - 102, 34 - - - 47, 21 - - - Все - - - 81, 17 - - - Получатель: - - - 102, 93 - - - 302, 56 - - - 89, 17 - - - Содержание: - - - 102, 64 - - - 302, 23 - - - 70, 17 - - - Название: - - - 102, 6 - - - 302, 23 - - - 90, 17 - - - Отправитель: - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx b/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx index 172d562..dd9c2a0 100644 --- a/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx +++ b/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx @@ -129,16 +129,10 @@ 命令 - [Ctrl] 自動執行 - [Shift] 拼接命令 - [Alt] 僅執行 - [|] 分割多條命令 - - - 4, 22 - - - 652, 249 - 遠程 + 334, 102 @@ -150,48 +144,9 @@ 如果願意請我喝一杯奶茶,那就更好了 : ) 指令生成有問題,或者有新的功能請求,都可以來Github提出 - - 4, 22 - - - 652, 249 - 關於 - - 封號 - - - 目標UID - - - - 刪除 - - - + 創建 - - - 用戶名 - - - 賬號管理 - - - 權限 - - - 目標UID - - - 權限管理 - - - 4, 22 - - - 652, 249 - 祕境 @@ -218,220 +173,9 @@ 提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送 命令中可以用~表示當前位置,~N 表示相對當前N - - 4, 22 - - - 652, 249 - 場景 - - √ 記錄 - - - × 刪除 - - - 物品記錄本 - - - 數量 - - - 等級 - - - 給玩家指定物品 -說明:可選擇直接給到背包或者掉落到世界 - - - 4, 22 - - - 652, 249 - - - 4, 22 - - - 652, 249 - - - 設置所有角色 - - - 設置當前角色 - - - 設置命座 - - - 解鎖 - - - 鎖定 - - - 角色屬性 - - - 普通攻擊 - - - 技能等級 - - - - - - - - - 切換主角元素 - - - 一鍵獲得所有角色 - - - 等級 - - - 技能等級 - - - 4, 22 - - - 652, 249 - - - 以下參數至少要求 GC v1.3.1 - - - 血量為 0 表示無限 - - - 防禦力: - - - 攻擊力: - - - 32, 17 - - - 等級 - - - 32, 17 - - - 數量 - - - 4, 22 - - - 338, 199 - - - 生成參數 - - - 見識一下真正的雷神吧! - - - 這個插件可以使用 Gadget 替換角色攻擊 - - - - - - - - - 重載配置 - - - 清空實體!! - - - 替換技能 - - - 4, 22 - - - 338, 199 - - - 攻擊修改參數 - - - 旋轉: x: y: z: - - - 擴散: - - - 數量: - - - 範圍: - - - 攻擊注入 - - - 重載配置 - - - 清空實體 - - - 338, 191 - - - 攻擊注入參數 - - - 346, 221 - - - 274, 163 - - - 4, 22 - - - 280, 199 - - - 實體列表 - - - 274, 156 - - - √ 記錄 - - - × 刪除 - - - 3, 159 - - - 280, 191 - - - 生成記錄本 - - - 288, 221 - 測試任務 @@ -455,92 +199,19 @@ 提示:許多任務需要服務端腳本支持 囙此任務可以接,可以完成,但是不一定可以做 - - 4, 22 - - - 652, 249 - 任務 - - 4, 22 - - - 652, 249 - 聖遺物 - - 4, 22 - - - 652, 249 - 自定義 主頁 - - - 刪除 - - - 171, 4 - - - 47, 4 - - - -3, 6 - - - 數量: - - - 123, 6 - - - 等級: - - - - 刪除 - - - 3, 173 - - - 4, 22 - - - 228, 204 - - - 發送 - - - 內容: - - - 標題: - - - 發件人: - - - 4, 22 - - - 652, 249 - 郵件 - - - NoControl - \ No newline at end of file diff --git a/Source/GrasscutterTools/GrasscutterTools.csproj b/Source/GrasscutterTools/GrasscutterTools.csproj index 449a70e..682e89a 100644 --- a/Source/GrasscutterTools/GrasscutterTools.csproj +++ b/Source/GrasscutterTools/GrasscutterTools.csproj @@ -163,6 +163,18 @@ UserControl + + UserControl + + + PageAbout.cs + + + UserControl + + + PageAvatar.cs + UserControl @@ -175,6 +187,12 @@ PageGiveArtifact.cs + + UserControl + + + PageGiveItem.cs + UserControl @@ -187,12 +205,36 @@ PageHome.cs + + UserControl + + + PageMail.cs + + + UserControl + + + PageManagement.cs + UserControl PageOpenCommand.cs + + UserControl + + + PageQuest.cs + + + UserControl + + + PageScene.cs + UserControl @@ -300,6 +342,30 @@ FormTextMapBrowser.cs + + PageAbout.cs + + + PageAbout.cs + + + PageAbout.cs + + + PageAbout.cs + + + PageAvatar.cs + + + PageAvatar.cs + + + PageAvatar.cs + + + PageAvatar.cs + PageCustomCommands.cs @@ -324,6 +390,18 @@ PageGiveArtifact.cs + + PageGiveItem.cs + + + PageGiveItem.cs + + + PageGiveItem.cs + + + PageGiveItem.cs + PageGiveWeapon.cs @@ -348,6 +426,30 @@ PageHome.cs + + PageMail.cs + + + PageMail.cs + + + PageMail.cs + + + PageMail.cs + + + PageManagement.cs + + + PageManagement.cs + + + PageManagement.cs + + + PageManagement.cs + PageOpenCommand.cs @@ -360,6 +462,30 @@ PageOpenCommand.cs + + PageQuest.cs + + + PageQuest.cs + + + PageQuest.cs + + + PageQuest.cs + + + PageScene.cs + + + PageScene.cs + + + PageScene.cs + + + PageScene.cs + PageSpawn.cs diff --git a/Source/GrasscutterTools/Pages/BasePage.cs b/Source/GrasscutterTools/Pages/BasePage.cs index 681df51..1ef7ba7 100644 --- a/Source/GrasscutterTools/Pages/BasePage.cs +++ b/Source/GrasscutterTools/Pages/BasePage.cs @@ -1,4 +1,23 @@ -using System; +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; using System.Drawing; using System.Threading.Tasks; using System.Windows.Forms; diff --git a/Source/GrasscutterTools/Pages/PageAbout.Designer.cs b/Source/GrasscutterTools/Pages/PageAbout.Designer.cs new file mode 100644 index 0000000..b723389 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAbout.Designer.cs @@ -0,0 +1,77 @@ +namespace GrasscutterTools.Pages +{ + partial class PageAbout + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageAbout)); + this.GrasscutterToolsSupport = new System.Windows.Forms.PictureBox(); + this.LnkGithub = new System.Windows.Forms.LinkLabel(); + this.LblSupportDescription = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsSupport)).BeginInit(); + this.SuspendLayout(); + // + // GrasscutterToolsSupport + // + resources.ApplyResources(this.GrasscutterToolsSupport, "GrasscutterToolsSupport"); + this.GrasscutterToolsSupport.Image = global::GrasscutterTools.Properties.Resources.ImgSupport; + this.GrasscutterToolsSupport.Name = "GrasscutterToolsSupport"; + this.GrasscutterToolsSupport.TabStop = false; + // + // LnkGithub + // + resources.ApplyResources(this.LnkGithub, "LnkGithub"); + this.LnkGithub.Name = "LnkGithub"; + this.LnkGithub.TabStop = true; + this.LnkGithub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkGithub_LinkClicked); + // + // LblSupportDescription + // + resources.ApplyResources(this.LblSupportDescription, "LblSupportDescription"); + this.LblSupportDescription.Name = "LblSupportDescription"; + // + // PageAbout + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.GrasscutterToolsSupport); + this.Controls.Add(this.LnkGithub); + this.Controls.Add(this.LblSupportDescription); + this.Name = "PageAbout"; + ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsSupport)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox GrasscutterToolsSupport; + private System.Windows.Forms.LinkLabel LnkGithub; + private System.Windows.Forms.Label LblSupportDescription; + } +} diff --git a/Source/GrasscutterTools/Pages/PageAbout.cs b/Source/GrasscutterTools/Pages/PageAbout.cs new file mode 100644 index 0000000..be4543f --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAbout.cs @@ -0,0 +1,41 @@ +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System.Windows.Forms; + +using GrasscutterTools.Utils; + +namespace GrasscutterTools.Pages +{ + internal partial class PageAbout : BasePage + { + public PageAbout() + { + InitializeComponent(); + } + + /// + /// 点击Github链接时触发 + /// + private void LnkGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + UIUtil.OpenURL("https://github.com/jie65535/GrasscutterCommandGenerator"); + } + } +} \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAbout.en-US.resx b/Source/GrasscutterTools/Pages/PageAbout.en-US.resx new file mode 100644 index 0000000..a503bee --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAbout.en-US.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 387, 102 + + + Grasscutter Tools + +This is a free and open source project. +If you think this is helpful to you, you can give me a free Star. +If there is a problem with the command generation, +or there is a new feature request, you can file an issue on Github. + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAbout.resx b/Source/GrasscutterTools/Pages/PageAbout.resx new file mode 100644 index 0000000..466ea6e --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAbout.resx @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Bottom, Right + + + NoControl + + + + 498, 86 + + + 280, 280 + + + 140, 140 + + + Zoom + + + + 8 + + + GrasscutterToolsSupport + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + Bottom, Left + + + True + + + NoControl + + + 8, 209 + + + 46, 17 + + + 1 + + + Github + + + LnkGithub + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + NoControl + + + 8, 12 + + + 334, 136 + + + 0 + + + 割草机工具箱 + +这是一个免费且开源的项目 +如果觉得这对你很有帮助,可以为我点一个免费的Star +如果愿意请我喝一杯奶茶,那就更好了 : ) +指令生成有问题,或者有新的功能请求,都可以来Github提出 + +欢迎加入内测Q群: 457427536 (需要回答正确答案) + + + LblSupportDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + 7, 17 + + + PageAbout + + + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAbout.ru-RU.resx b/Source/GrasscutterTools/Pages/PageAbout.ru-RU.resx new file mode 100644 index 0000000..ac2778b --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAbout.ru-RU.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 552, 187 + + + Grasscutter Tools - основной перевод Юрий Дворецкий (с исправлениями от EgorBron) + +Это бесплатный проект с открытым исходным кодом. +Если вы считаете, что это полезно для вас, + вы можете дать мне звезду на Github. +Если возникла проблема с генерацией команды или + есть запрос на новую функцию, + вы можете написать в Issues на Github. + + Спасибо: Dhar_Jinxed + + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAbout.zh-TW.resx b/Source/GrasscutterTools/Pages/PageAbout.zh-TW.resx new file mode 100644 index 0000000..fc898be --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAbout.zh-TW.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 334, 102 + + + 割草機工具箱 + +這是一個免費且開源的項目 +如果覺得這對你很有幫助,可以為我點一個免費的Star +如果願意請我喝一杯奶茶,那就更好了 : ) +指令生成有問題,或者有新的功能請求,都可以來Github提出 + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAvatar.Designer.cs b/Source/GrasscutterTools/Pages/PageAvatar.Designer.cs new file mode 100644 index 0000000..80ccdc8 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAvatar.Designer.cs @@ -0,0 +1,434 @@ +namespace GrasscutterTools.Pages +{ + partial class PageAvatar + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageAvatar)); + this.GrpSetConstellation = new System.Windows.Forms.GroupBox(); + this.LnkSetAllConst = new System.Windows.Forms.LinkLabel(); + this.LnkSetConst = new System.Windows.Forms.LinkLabel(); + this.NUDSetConstellation = new System.Windows.Forms.NumericUpDown(); + this.GrpSetStats = new System.Windows.Forms.GroupBox(); + this.BtnUnlockStat = new System.Windows.Forms.Button(); + this.BtnLockStat = new System.Windows.Forms.Button(); + this.LblStatTip = new System.Windows.Forms.Label(); + this.LblStatPercent = new System.Windows.Forms.Label(); + this.NUDStat = new System.Windows.Forms.NumericUpDown(); + this.CmbStat = new System.Windows.Forms.ComboBox(); + this.GrpTalentLevel = new System.Windows.Forms.GroupBox(); + this.LnkTalentAll = new System.Windows.Forms.LinkLabel(); + this.LnkTalentE = new System.Windows.Forms.LinkLabel(); + this.LnkTalentQ = new System.Windows.Forms.LinkLabel(); + this.LnkTalentNormalATK = new System.Windows.Forms.LinkLabel(); + this.NUDTalentLevel = new System.Windows.Forms.NumericUpDown(); + this.GrpGiveAvatar = new System.Windows.Forms.GroupBox(); + this.CmbSwitchElement = new System.Windows.Forms.ComboBox(); + this.LnkSwitchElement = new System.Windows.Forms.LinkLabel(); + this.CmbAvatar = new System.Windows.Forms.ComboBox(); + this.LblAvatarSkillLevelTip = new System.Windows.Forms.Label(); + this.NUDAvatarLevel = new System.Windows.Forms.NumericUpDown(); + this.BtnGiveAllChar = new System.Windows.Forms.Button(); + this.LblAvatarLevel = new System.Windows.Forms.Label(); + this.LblAvatarSkillLevelLabel = new System.Windows.Forms.Label(); + this.LblAvatar = new System.Windows.Forms.Label(); + this.LblAvatarConstellation = new System.Windows.Forms.Label(); + this.NUDAvatarConstellation = new System.Windows.Forms.NumericUpDown(); + this.NUDAvatarSkillLevel = new System.Windows.Forms.NumericUpDown(); + this.GrpSetConstellation.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDSetConstellation)).BeginInit(); + this.GrpSetStats.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDStat)).BeginInit(); + this.GrpTalentLevel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDTalentLevel)).BeginInit(); + this.GrpGiveAvatar.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarLevel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarConstellation)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarSkillLevel)).BeginInit(); + this.SuspendLayout(); + // + // GrpSetConstellation + // + resources.ApplyResources(this.GrpSetConstellation, "GrpSetConstellation"); + this.GrpSetConstellation.Controls.Add(this.LnkSetAllConst); + this.GrpSetConstellation.Controls.Add(this.LnkSetConst); + this.GrpSetConstellation.Controls.Add(this.NUDSetConstellation); + this.GrpSetConstellation.Name = "GrpSetConstellation"; + this.GrpSetConstellation.TabStop = false; + // + // LnkSetAllConst + // + resources.ApplyResources(this.LnkSetAllConst, "LnkSetAllConst"); + this.LnkSetAllConst.Name = "LnkSetAllConst"; + this.LnkSetAllConst.TabStop = true; + this.LnkSetAllConst.Tag = ""; + this.LnkSetAllConst.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetConst_LinkClicked); + // + // LnkSetConst + // + resources.ApplyResources(this.LnkSetConst, "LnkSetConst"); + this.LnkSetConst.Name = "LnkSetConst"; + this.LnkSetConst.TabStop = true; + this.LnkSetConst.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetConst_LinkClicked); + // + // NUDSetConstellation + // + resources.ApplyResources(this.NUDSetConstellation, "NUDSetConstellation"); + this.NUDSetConstellation.Maximum = new decimal(new int[] { + 6, + 0, + 0, + 0}); + this.NUDSetConstellation.Minimum = new decimal(new int[] { + 1, + 0, + 0, + -2147483648}); + this.NUDSetConstellation.Name = "NUDSetConstellation"; + this.NUDSetConstellation.Value = new decimal(new int[] { + 6, + 0, + 0, + 0}); + // + // GrpSetStats + // + resources.ApplyResources(this.GrpSetStats, "GrpSetStats"); + this.GrpSetStats.Controls.Add(this.BtnUnlockStat); + this.GrpSetStats.Controls.Add(this.BtnLockStat); + this.GrpSetStats.Controls.Add(this.LblStatTip); + this.GrpSetStats.Controls.Add(this.LblStatPercent); + this.GrpSetStats.Controls.Add(this.NUDStat); + this.GrpSetStats.Controls.Add(this.CmbStat); + this.GrpSetStats.Name = "GrpSetStats"; + this.GrpSetStats.TabStop = false; + // + // BtnUnlockStat + // + resources.ApplyResources(this.BtnUnlockStat, "BtnUnlockStat"); + this.BtnUnlockStat.Name = "BtnUnlockStat"; + this.BtnUnlockStat.UseVisualStyleBackColor = true; + this.BtnUnlockStat.Click += new System.EventHandler(this.BtnUnlockStat_Click); + // + // BtnLockStat + // + resources.ApplyResources(this.BtnLockStat, "BtnLockStat"); + this.BtnLockStat.Name = "BtnLockStat"; + this.BtnLockStat.UseVisualStyleBackColor = true; + this.BtnLockStat.Click += new System.EventHandler(this.BtnLockStat_Click); + // + // LblStatTip + // + this.LblStatTip.AutoEllipsis = true; + this.LblStatTip.ForeColor = System.Drawing.SystemColors.GrayText; + resources.ApplyResources(this.LblStatTip, "LblStatTip"); + this.LblStatTip.Name = "LblStatTip"; + // + // LblStatPercent + // + resources.ApplyResources(this.LblStatPercent, "LblStatPercent"); + this.LblStatPercent.Name = "LblStatPercent"; + // + // NUDStat + // + resources.ApplyResources(this.NUDStat, "NUDStat"); + this.NUDStat.Maximum = new decimal(new int[] { + 100000000, + 0, + 0, + 0}); + this.NUDStat.Name = "NUDStat"; + this.NUDStat.Value = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.NUDStat.ValueChanged += new System.EventHandler(this.SetStatsInputChanged); + // + // CmbStat + // + this.CmbStat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CmbStat.FormattingEnabled = true; + resources.ApplyResources(this.CmbStat, "CmbStat"); + this.CmbStat.Name = "CmbStat"; + this.CmbStat.SelectedIndexChanged += new System.EventHandler(this.SetStatsInputChanged); + // + // GrpTalentLevel + // + resources.ApplyResources(this.GrpTalentLevel, "GrpTalentLevel"); + this.GrpTalentLevel.Controls.Add(this.LnkTalentAll); + this.GrpTalentLevel.Controls.Add(this.LnkTalentE); + this.GrpTalentLevel.Controls.Add(this.LnkTalentQ); + this.GrpTalentLevel.Controls.Add(this.LnkTalentNormalATK); + this.GrpTalentLevel.Controls.Add(this.NUDTalentLevel); + this.GrpTalentLevel.Name = "GrpTalentLevel"; + this.GrpTalentLevel.TabStop = false; + // + // LnkTalentAll + // + resources.ApplyResources(this.LnkTalentAll, "LnkTalentAll"); + this.LnkTalentAll.Name = "LnkTalentAll"; + this.LnkTalentAll.TabStop = true; + this.LnkTalentAll.Tag = "all"; + this.LnkTalentAll.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); + // + // LnkTalentE + // + resources.ApplyResources(this.LnkTalentE, "LnkTalentE"); + this.LnkTalentE.Name = "LnkTalentE"; + this.LnkTalentE.TabStop = true; + this.LnkTalentE.Tag = "e"; + this.LnkTalentE.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); + // + // LnkTalentQ + // + resources.ApplyResources(this.LnkTalentQ, "LnkTalentQ"); + this.LnkTalentQ.Name = "LnkTalentQ"; + this.LnkTalentQ.TabStop = true; + this.LnkTalentQ.Tag = "q"; + this.LnkTalentQ.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); + // + // LnkTalentNormalATK + // + resources.ApplyResources(this.LnkTalentNormalATK, "LnkTalentNormalATK"); + this.LnkTalentNormalATK.Name = "LnkTalentNormalATK"; + this.LnkTalentNormalATK.TabStop = true; + this.LnkTalentNormalATK.Tag = "n"; + this.LnkTalentNormalATK.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); + // + // NUDTalentLevel + // + resources.ApplyResources(this.NUDTalentLevel, "NUDTalentLevel"); + this.NUDTalentLevel.Maximum = new decimal(new int[] { + 16, + 0, + 0, + 0}); + this.NUDTalentLevel.Name = "NUDTalentLevel"; + this.NUDTalentLevel.Value = new decimal(new int[] { + 10, + 0, + 0, + 0}); + // + // GrpGiveAvatar + // + resources.ApplyResources(this.GrpGiveAvatar, "GrpGiveAvatar"); + this.GrpGiveAvatar.Controls.Add(this.CmbSwitchElement); + this.GrpGiveAvatar.Controls.Add(this.LnkSwitchElement); + this.GrpGiveAvatar.Controls.Add(this.CmbAvatar); + this.GrpGiveAvatar.Controls.Add(this.LblAvatarSkillLevelTip); + this.GrpGiveAvatar.Controls.Add(this.NUDAvatarLevel); + this.GrpGiveAvatar.Controls.Add(this.BtnGiveAllChar); + this.GrpGiveAvatar.Controls.Add(this.LblAvatarLevel); + this.GrpGiveAvatar.Controls.Add(this.LblAvatarSkillLevelLabel); + this.GrpGiveAvatar.Controls.Add(this.LblAvatar); + this.GrpGiveAvatar.Controls.Add(this.LblAvatarConstellation); + this.GrpGiveAvatar.Controls.Add(this.NUDAvatarConstellation); + this.GrpGiveAvatar.Controls.Add(this.NUDAvatarSkillLevel); + this.GrpGiveAvatar.Name = "GrpGiveAvatar"; + this.GrpGiveAvatar.TabStop = false; + // + // CmbSwitchElement + // + this.CmbSwitchElement.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CmbSwitchElement.FormattingEnabled = true; + this.CmbSwitchElement.Items.AddRange(new object[] { + resources.GetString("CmbSwitchElement.Items"), + resources.GetString("CmbSwitchElement.Items1"), + resources.GetString("CmbSwitchElement.Items2"), + resources.GetString("CmbSwitchElement.Items3"), + resources.GetString("CmbSwitchElement.Items4"), + resources.GetString("CmbSwitchElement.Items5"), + resources.GetString("CmbSwitchElement.Items6"), + resources.GetString("CmbSwitchElement.Items7")}); + resources.ApplyResources(this.CmbSwitchElement, "CmbSwitchElement"); + this.CmbSwitchElement.Name = "CmbSwitchElement"; + this.CmbSwitchElement.SelectedIndexChanged += new System.EventHandler(this.CmbSwitchElement_SelectedIndexChanged); + // + // LnkSwitchElement + // + resources.ApplyResources(this.LnkSwitchElement, "LnkSwitchElement"); + this.LnkSwitchElement.Name = "LnkSwitchElement"; + this.LnkSwitchElement.TabStop = true; + this.LnkSwitchElement.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSwitchElement_LinkClicked); + // + // CmbAvatar + // + this.CmbAvatar.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CmbAvatar.FormattingEnabled = true; + resources.ApplyResources(this.CmbAvatar, "CmbAvatar"); + this.CmbAvatar.Name = "CmbAvatar"; + this.CmbAvatar.SelectedIndexChanged += new System.EventHandler(this.GiveAvatarInputChanged); + // + // LblAvatarSkillLevelTip + // + resources.ApplyResources(this.LblAvatarSkillLevelTip, "LblAvatarSkillLevelTip"); + this.LblAvatarSkillLevelTip.ForeColor = System.Drawing.SystemColors.GrayText; + this.LblAvatarSkillLevelTip.Name = "LblAvatarSkillLevelTip"; + // + // NUDAvatarLevel + // + resources.ApplyResources(this.NUDAvatarLevel, "NUDAvatarLevel"); + this.NUDAvatarLevel.Maximum = new decimal(new int[] { + 90, + 0, + 0, + 0}); + this.NUDAvatarLevel.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUDAvatarLevel.Name = "NUDAvatarLevel"; + this.NUDAvatarLevel.Value = new decimal(new int[] { + 90, + 0, + 0, + 0}); + this.NUDAvatarLevel.ValueChanged += new System.EventHandler(this.GiveAvatarInputChanged); + // + // BtnGiveAllChar + // + resources.ApplyResources(this.BtnGiveAllChar, "BtnGiveAllChar"); + this.BtnGiveAllChar.Name = "BtnGiveAllChar"; + this.BtnGiveAllChar.UseVisualStyleBackColor = true; + this.BtnGiveAllChar.Click += new System.EventHandler(this.BtnGiveAllChar_Click); + // + // LblAvatarLevel + // + resources.ApplyResources(this.LblAvatarLevel, "LblAvatarLevel"); + this.LblAvatarLevel.Name = "LblAvatarLevel"; + // + // LblAvatarSkillLevelLabel + // + resources.ApplyResources(this.LblAvatarSkillLevelLabel, "LblAvatarSkillLevelLabel"); + this.LblAvatarSkillLevelLabel.Name = "LblAvatarSkillLevelLabel"; + // + // LblAvatar + // + resources.ApplyResources(this.LblAvatar, "LblAvatar"); + this.LblAvatar.Name = "LblAvatar"; + // + // LblAvatarConstellation + // + resources.ApplyResources(this.LblAvatarConstellation, "LblAvatarConstellation"); + this.LblAvatarConstellation.Name = "LblAvatarConstellation"; + // + // NUDAvatarConstellation + // + resources.ApplyResources(this.NUDAvatarConstellation, "NUDAvatarConstellation"); + this.NUDAvatarConstellation.Maximum = new decimal(new int[] { + 6, + 0, + 0, + 0}); + this.NUDAvatarConstellation.Name = "NUDAvatarConstellation"; + this.NUDAvatarConstellation.Value = new decimal(new int[] { + 6, + 0, + 0, + 0}); + this.NUDAvatarConstellation.ValueChanged += new System.EventHandler(this.GiveAvatarInputChanged); + // + // NUDAvatarSkillLevel + // + resources.ApplyResources(this.NUDAvatarSkillLevel, "NUDAvatarSkillLevel"); + this.NUDAvatarSkillLevel.Maximum = new decimal(new int[] { + 16, + 0, + 0, + 0}); + this.NUDAvatarSkillLevel.Name = "NUDAvatarSkillLevel"; + this.NUDAvatarSkillLevel.Value = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.NUDAvatarSkillLevel.ValueChanged += new System.EventHandler(this.GiveAvatarInputChanged); + // + // PageAvatar + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.GrpSetConstellation); + this.Controls.Add(this.GrpSetStats); + this.Controls.Add(this.GrpTalentLevel); + this.Controls.Add(this.GrpGiveAvatar); + this.Name = "PageAvatar"; + this.GrpSetConstellation.ResumeLayout(false); + this.GrpSetConstellation.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDSetConstellation)).EndInit(); + this.GrpSetStats.ResumeLayout(false); + this.GrpSetStats.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDStat)).EndInit(); + this.GrpTalentLevel.ResumeLayout(false); + this.GrpTalentLevel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDTalentLevel)).EndInit(); + this.GrpGiveAvatar.ResumeLayout(false); + this.GrpGiveAvatar.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarLevel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarConstellation)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarSkillLevel)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox GrpSetConstellation; + private System.Windows.Forms.LinkLabel LnkSetAllConst; + private System.Windows.Forms.LinkLabel LnkSetConst; + private System.Windows.Forms.NumericUpDown NUDSetConstellation; + private System.Windows.Forms.GroupBox GrpSetStats; + private System.Windows.Forms.Button BtnUnlockStat; + private System.Windows.Forms.Button BtnLockStat; + private System.Windows.Forms.Label LblStatTip; + private System.Windows.Forms.Label LblStatPercent; + private System.Windows.Forms.NumericUpDown NUDStat; + private System.Windows.Forms.ComboBox CmbStat; + private System.Windows.Forms.GroupBox GrpTalentLevel; + private System.Windows.Forms.LinkLabel LnkTalentAll; + private System.Windows.Forms.LinkLabel LnkTalentE; + private System.Windows.Forms.LinkLabel LnkTalentQ; + private System.Windows.Forms.LinkLabel LnkTalentNormalATK; + private System.Windows.Forms.NumericUpDown NUDTalentLevel; + private System.Windows.Forms.GroupBox GrpGiveAvatar; + private System.Windows.Forms.ComboBox CmbSwitchElement; + private System.Windows.Forms.LinkLabel LnkSwitchElement; + private System.Windows.Forms.ComboBox CmbAvatar; + private System.Windows.Forms.Label LblAvatarSkillLevelTip; + private System.Windows.Forms.NumericUpDown NUDAvatarLevel; + private System.Windows.Forms.Button BtnGiveAllChar; + private System.Windows.Forms.Label LblAvatarLevel; + private System.Windows.Forms.Label LblAvatarSkillLevelLabel; + private System.Windows.Forms.Label LblAvatar; + private System.Windows.Forms.Label LblAvatarConstellation; + private System.Windows.Forms.NumericUpDown NUDAvatarConstellation; + private System.Windows.Forms.NumericUpDown NUDAvatarSkillLevel; + } +} diff --git a/Source/GrasscutterTools/Pages/PageAvatar.cs b/Source/GrasscutterTools/Pages/PageAvatar.cs new file mode 100644 index 0000000..e69497f --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAvatar.cs @@ -0,0 +1,206 @@ +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; +using System.Linq; +using System.Windows.Forms; + +using GrasscutterTools.Game; +using GrasscutterTools.Utils; + +namespace GrasscutterTools.Pages +{ + internal partial class PageAvatar : BasePage + { + public PageAvatar() + { + InitializeComponent(); + } + + public override void OnLoad() + { + InitAvatars(); + InitStatList(); + } + + #region -- 获取角色 -- + + /// + /// 初始化角色列表 + /// + private void InitAvatars() + { + CmbAvatar.Items.Clear(); + CmbAvatar.Items.AddRange(GameData.Avatars.Names); + } + + /// + /// 角色页面输入改变时触发 + /// + private void GiveAvatarInputChanged(object sender, EventArgs e) + { + if (CmbAvatar.SelectedIndex >= 0) + GenAvatar((int)NUDAvatarLevel.Value, (int)NUDAvatarConstellation.Value, (int)NUDAvatarSkillLevel.Value); + } + + /// + /// 获取角色命令 + /// + /// 等级 + private void GenAvatar(int level, int constellation, int skillLevel) + { + if (CommandVersion.Check(CommandVersion.V1_4_1)) + { + int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex]; + SetCommand("/give", $"{avatarId} lv{level} c{constellation} sl{skillLevel}"); + } + else if (CommandVersion.Check(CommandVersion.V1_2_2)) + { + int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex]; + SetCommand("/give", $"{avatarId} lv{level} c{constellation}"); + } + else + { + int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex] - 1000 + 10000000; + SetCommand("/givechar", $"{avatarId} {level}"); + } + } + + /// + /// 点击获取所有角色按钮时触发 + /// + /// + /// + private void BtnGiveAllChar_Click(object sender, EventArgs e) + { + var level = NUDAvatarLevel.Value; + var constellation = NUDAvatarConstellation.Value; + var skillLevel = NUDAvatarSkillLevel.Value; + if (CommandVersion.Check(CommandVersion.V1_4_1)) + SetCommand("/give avatars", $"lv{level} c{constellation} sl{skillLevel}"); + else + SetCommand("/give avatars", $"lv{level} c{constellation}"); + } + + #endregion -- 获取角色 -- + + #region -- 切换主角元素 -- + + /// + /// 点击切换主角元素链接标签时触发 + /// + private void LnkSwitchElement_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + UIUtil.OpenURL("https://github.com/Penelopeep/SwitchElementTraveller"); + } + + /// + /// 元素参数 + /// + private readonly string[] Elements = { "white", "fire", "water", "wind", "ice", "rock", "electro", "grass" }; + + /// + /// 切换元素下拉框选中项改变时触发 + /// + private void CmbSwitchElement_SelectedIndexChanged(object sender, EventArgs e) + { + if (CmbSwitchElement.SelectedIndex == -1 || CmbSwitchElement.SelectedIndex >= Elements.Length) return; + SetCommand("/se", Elements[CmbSwitchElement.SelectedIndex]); + } + + #endregion -- 切换主角元素 -- + + #region -- 设置角色属性 -- + + /// + /// 初始化数据列表 + /// + private void InitStatList() + { + LblStatTip.Text = ""; + SetStatsCommand.InitStats(); + CmbStat.Items.Clear(); + CmbStat.Items.AddRange(SetStatsCommand.Stats.Select(s => s.Name).ToArray()); + } + + /// + /// 数据页面输入改变时触发 + /// + private void SetStatsInputChanged(object sender, EventArgs e) + { + if (CmbStat.SelectedIndex < 0) + return; + else + BtnLockStat.Enabled = BtnUnlockStat.Enabled = true; + + var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; + LblStatPercent.Visible = stat.Percent; + LblStatTip.Text = stat.Tip; + + SetCommand("/setstats", $"{stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}"); + } + + /// + /// 点击锁定按钮时触发 + /// + private void BtnLockStat_Click(object sender, EventArgs e) + { + var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; + SetCommand("/setstats", $"lock {stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}"); + } + + /// + /// 点击解锁按钮时触发 + /// + private void BtnUnlockStat_Click(object sender, EventArgs e) + { + var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; + SetCommand("/setstats", $"unlock {stat.ArgName}"); + } + + #endregion -- 设置角色属性 -- + + #region -- 设置技能等级 -- + + /// + /// 点击设置技能按钮时触发 + /// + private void LnkSetTalentClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}"); + } + + #endregion -- 设置技能等级 -- + + #region -- 设置命座 -- + + /// + /// 设置命座链接标签点击时触发 + /// + private void LnkSetConst_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (NUDSetConstellation.Value >= 0) + SetCommand("/setConst", $"{NUDSetConstellation.Value}" + (sender == LnkSetAllConst ? " all" : string.Empty)); + else + SetCommand("/resetConst", (sender == LnkSetAllConst ? "all" : string.Empty)); + } + + #endregion -- 设置命座 -- + } +} \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAvatar.en-US.resx b/Source/GrasscutterTools/Pages/PageAvatar.en-US.resx new file mode 100644 index 0000000..ea8504a --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAvatar.en-US.resx @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 43, 17 + + + Set all + + + 71, 17 + + + Set current + + + Constellation + + + Stats + + + Unlock + + + Lock + + + Tip + + + Talent Level + + + 22, 17 + + + All + + + 15, 17 + + + E + + + 18, 17 + + + Q + + + 52, 17 + + + Normal + + + Give Avatar + + + White + + + Fire + + + Water + + + Wind + + + Ice + + + Rock + + + Electro + + + Grass + + + 90, 17 + + + SwitchElement + + + Give All Char + + + 37, 17 + + + Level + + + 61, 17 + + + Skill level + + + 45, 17 + + + Avatar + + + 44, 17 + + + Const. + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAvatar.resx b/Source/GrasscutterTools/Pages/PageAvatar.resx new file mode 100644 index 0000000..9337564 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAvatar.resx @@ -0,0 +1,966 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + None + + + + True + + + NoControl + + + + 198, 24 + + + 80, 17 + + + 2 + + + 设置所有角色 + + + LnkSetAllConst + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetConstellation + + + 0 + + + True + + + NoControl + + + 112, 24 + + + 80, 17 + + + 1 + + + 设置当前角色 + + + LnkSetConst + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetConstellation + + + 1 + + + 44, 22 + + + 62, 23 + + + 0 + + + NUDSetConstellation + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetConstellation + + + 2 + + + 285, 173 + + + 332, 55 + + + 3 + + + 设置命座 + + + GrpSetConstellation + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + None + + + False + + + NoControl + + + 174, 67 + + + 125, 23 + + + 5 + + + 解锁 + + + BtnUnlockStat + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetStats + + + 0 + + + False + + + NoControl + + + 43, 67 + + + 125, 23 + + + 4 + + + 锁定 + + + BtnLockStat + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetStats + + + 1 + + + NoControl + + + 40, 16 + + + 286, 17 + + + 0 + + + 提示 + + + LblStatTip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetStats + + + 2 + + + True + + + NoControl + + + 283, 39 + + + 19, 17 + + + 3 + + + % + + + False + + + LblStatPercent + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetStats + + + 3 + + + 207, 37 + + + 70, 23 + + + 2 + + + NUDStat + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetStats + + + 4 + + + 43, 36 + + + 158, 25 + + + 1 + + + CmbStat + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpSetStats + + + 5 + + + 285, 10 + + + 332, 96 + + + 1 + + + 角色属性 + + + GrpSetStats + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + None + + + True + + + NoControl + + + 112, 24 + + + 32, 17 + + + 1 + + + 全部 + + + LnkTalentAll + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpTalentLevel + + + 0 + + + True + + + NoControl + + + 260, 24 + + + 39, 17 + + + 4 + + + E技能 + + + LnkTalentE + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpTalentLevel + + + 1 + + + True + + + NoControl + + + 212, 24 + + + 42, 17 + + + 3 + + + Q技能 + + + LnkTalentQ + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpTalentLevel + + + 2 + + + True + + + NoControl + + + 150, 24 + + + 56, 17 + + + 2 + + + 普通攻击 + + + LnkTalentNormalATK + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpTalentLevel + + + 3 + + + 44, 22 + + + 62, 23 + + + 0 + + + NUDTalentLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpTalentLevel + + + 4 + + + 285, 112 + + + 332, 55 + + + 2 + + + 技能等级 + + + GrpTalentLevel + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + None + + + + + + + + + + + + + + + + + + + + + + + + + + + 112, 187 + + + 87, 25 + + + 11 + + + CmbSwitchElement + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 0 + + + True + + + NoControl + + + 16, 191 + + + 80, 17 + + + 10 + + + 切换主角元素 + + + LnkSwitchElement + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 1 + + + 89, 22 + + + 110, 25 + + + 1 + + + CmbAvatar + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 2 + + + True + + + NoControl + + + 201, 113 + + + 46, 17 + + + 8 + + + *v1.4.1 + + + LblAvatarSkillLevelTip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 3 + + + 89, 53 + + + 110, 23 + + + 3 + + + NUDAvatarLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 4 + + + Microsoft YaHei UI, 10pt + + + NoControl + + + 49, 140 + + + 150, 30 + + + 9 + + + 一键获得所有角色 + + + BtnGiveAllChar + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 5 + + + True + + + NoControl + + + 27, 55 + + + 32, 17 + + + 2 + + + 等级 + + + LblAvatarLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 6 + + + True + + + NoControl + + + 27, 113 + + + 56, 17 + + + 6 + + + 技能等级 + + + LblAvatarSkillLevelLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 7 + + + True + + + NoControl + + + 27, 25 + + + 32, 17 + + + 0 + + + 角色 + + + LblAvatar + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 8 + + + True + + + NoControl + + + 27, 84 + + + 32, 17 + + + 4 + + + 命座 + + + LblAvatarConstellation + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 9 + + + 89, 82 + + + 110, 23 + + + 5 + + + NUDAvatarConstellation + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 10 + + + 89, 111 + + + 110, 23 + + + 7 + + + NUDAvatarSkillLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveAvatar + + + 11 + + + 29, 10 + + + 250, 218 + + + 0 + + + 获取角色 + + + GrpGiveAvatar + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + True + + + 7, 17 + + + PageAvatar + + + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAvatar.ru-RU.resx b/Source/GrasscutterTools/Pages/PageAvatar.ru-RU.resx new file mode 100644 index 0000000..39d6c3c --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAvatar.ru-RU.resx @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 178, 24 + + + 28, 17 + + + все + + + 60, 17 + + + текущий + + + Установить созвездие + + + Статистика + + + 140, 23 + + + Разморозить статы + + + Заморозить статы + + + Подсказка + + + Уровень таланта + + + 28, 17 + + + все + + + 281, 24 + + + 15, 17 + + + E + + + 257, 24 + + + 18, 17 + + + Q + + + 101, 17 + + + Обычная атака + + + Выдать персонажа + + + Без элемента + + + Пиро + + + Гидро + + + Анемо + + + Крио + + + Гео + + + Электро + + + Дендро + + + 90, 17 + + + SwitchElement + + + 104, 16 + + + 143, 107 + + + 104, 47 + + + 25, 151 + + + 200, 30 + + + Дать всех персонажей + + + 27, 49 + + + 60, 17 + + + Уровень + + + 27, 107 + + + 110, 17 + + + Уровень таланта + + + 27, 19 + + + 71, 17 + + + Персонаж + + + 27, 78 + + + 72, 17 + + + Созвездия + + + 104, 76 + + + 30, 126 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageAvatar.zh-TW.resx b/Source/GrasscutterTools/Pages/PageAvatar.zh-TW.resx new file mode 100644 index 0000000..6f685f0 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageAvatar.zh-TW.resx @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 設置所有角色 + + + 設置當前角色 + + + 設置命座 + + + 角色屬性 + + + 解鎖 + + + 鎖定 + + + 技能等級 + + + 普通攻擊 + + + 獲取角色 + + + + + + + + + 切換主角元素 + + + 一鍵獲得所有角色 + + + 等級 + + + 技能等級 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageCustomCommands.cs b/Source/GrasscutterTools/Pages/PageCustomCommands.cs index 60a908e..efdda2c 100644 --- a/Source/GrasscutterTools/Pages/PageCustomCommands.cs +++ b/Source/GrasscutterTools/Pages/PageCustomCommands.cs @@ -1,4 +1,23 @@ -using System; +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; using System.IO; using System.Text; using System.Windows.Forms; diff --git a/Source/GrasscutterTools/Pages/PageGiveArtifact.cs b/Source/GrasscutterTools/Pages/PageGiveArtifact.cs index d52477a..e17a148 100644 --- a/Source/GrasscutterTools/Pages/PageGiveArtifact.cs +++ b/Source/GrasscutterTools/Pages/PageGiveArtifact.cs @@ -1,4 +1,23 @@ -using System; +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs b/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs new file mode 100644 index 0000000..44ca154 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs @@ -0,0 +1,203 @@ +namespace GrasscutterTools.Pages +{ + partial class PageGiveItem + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageGiveItem)); + this.LblClearGiveItemLogs = new System.Windows.Forms.Label(); + this.BtnSaveGiveItemLog = new System.Windows.Forms.Button(); + this.BtnRemoveGiveItemLog = new System.Windows.Forms.Button(); + this.GrpGiveItemRecord = new System.Windows.Forms.GroupBox(); + this.ListGiveItemLogs = new System.Windows.Forms.ListBox(); + this.ChkDrop = new System.Windows.Forms.CheckBox(); + this.TxtGameItemFilter = new System.Windows.Forms.TextBox(); + this.ListGameItems = new System.Windows.Forms.ListBox(); + this.LblGameItemAmount = new System.Windows.Forms.Label(); + this.LblGameItemLevel = new System.Windows.Forms.Label(); + this.NUDGameItemAmout = new System.Windows.Forms.NumericUpDown(); + this.NUDGameItemLevel = new System.Windows.Forms.NumericUpDown(); + this.LblGiveCommandDescription = new System.Windows.Forms.Label(); + this.GrpGiveItemRecord.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).BeginInit(); + this.SuspendLayout(); + // + // LblClearGiveItemLogs + // + resources.ApplyResources(this.LblClearGiveItemLogs, "LblClearGiveItemLogs"); + this.LblClearGiveItemLogs.Cursor = System.Windows.Forms.Cursors.Hand; + this.LblClearGiveItemLogs.Name = "LblClearGiveItemLogs"; + this.LblClearGiveItemLogs.Click += new System.EventHandler(this.LblClearGiveItemLogs_Click); + // + // BtnSaveGiveItemLog + // + resources.ApplyResources(this.BtnSaveGiveItemLog, "BtnSaveGiveItemLog"); + this.BtnSaveGiveItemLog.Name = "BtnSaveGiveItemLog"; + this.BtnSaveGiveItemLog.UseVisualStyleBackColor = true; + this.BtnSaveGiveItemLog.Click += new System.EventHandler(this.BtnSaveGiveItemLog_Click); + // + // BtnRemoveGiveItemLog + // + resources.ApplyResources(this.BtnRemoveGiveItemLog, "BtnRemoveGiveItemLog"); + this.BtnRemoveGiveItemLog.Name = "BtnRemoveGiveItemLog"; + this.BtnRemoveGiveItemLog.UseVisualStyleBackColor = true; + this.BtnRemoveGiveItemLog.Click += new System.EventHandler(this.BtnRemoveGiveItemLog_Click); + // + // GrpGiveItemRecord + // + resources.ApplyResources(this.GrpGiveItemRecord, "GrpGiveItemRecord"); + this.GrpGiveItemRecord.Controls.Add(this.ListGiveItemLogs); + this.GrpGiveItemRecord.Name = "GrpGiveItemRecord"; + this.GrpGiveItemRecord.TabStop = false; + // + // ListGiveItemLogs + // + resources.ApplyResources(this.ListGiveItemLogs, "ListGiveItemLogs"); + this.ListGiveItemLogs.FormattingEnabled = true; + this.ListGiveItemLogs.Name = "ListGiveItemLogs"; + this.ListGiveItemLogs.SelectedIndexChanged += new System.EventHandler(this.ListGiveItemLogs_SelectedIndexChanged); + // + // ChkDrop + // + resources.ApplyResources(this.ChkDrop, "ChkDrop"); + this.ChkDrop.Name = "ChkDrop"; + this.ChkDrop.UseVisualStyleBackColor = true; + this.ChkDrop.CheckedChanged += new System.EventHandler(this.GiveItemsInputChanged); + // + // TxtGameItemFilter + // + resources.ApplyResources(this.TxtGameItemFilter, "TxtGameItemFilter"); + this.TxtGameItemFilter.Name = "TxtGameItemFilter"; + this.TxtGameItemFilter.TextChanged += new System.EventHandler(this.TxtGameItemFilter_TextChanged); + // + // ListGameItems + // + resources.ApplyResources(this.ListGameItems, "ListGameItems"); + this.ListGameItems.FormattingEnabled = true; + this.ListGameItems.Name = "ListGameItems"; + this.ListGameItems.SelectedIndexChanged += new System.EventHandler(this.GiveItemsInputChanged); + // + // LblGameItemAmount + // + resources.ApplyResources(this.LblGameItemAmount, "LblGameItemAmount"); + this.LblGameItemAmount.Name = "LblGameItemAmount"; + // + // LblGameItemLevel + // + resources.ApplyResources(this.LblGameItemLevel, "LblGameItemLevel"); + this.LblGameItemLevel.Name = "LblGameItemLevel"; + // + // NUDGameItemAmout + // + resources.ApplyResources(this.NUDGameItemAmout, "NUDGameItemAmout"); + this.NUDGameItemAmout.Maximum = new decimal(new int[] { + 1000000, + 0, + 0, + 0}); + this.NUDGameItemAmout.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUDGameItemAmout.Name = "NUDGameItemAmout"; + this.NUDGameItemAmout.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUDGameItemAmout.ValueChanged += new System.EventHandler(this.GiveItemsInputChanged); + // + // NUDGameItemLevel + // + resources.ApplyResources(this.NUDGameItemLevel, "NUDGameItemLevel"); + this.NUDGameItemLevel.Maximum = new decimal(new int[] { + 21, + 0, + 0, + 0}); + this.NUDGameItemLevel.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUDGameItemLevel.Name = "NUDGameItemLevel"; + this.NUDGameItemLevel.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUDGameItemLevel.ValueChanged += new System.EventHandler(this.GiveItemsInputChanged); + // + // LblGiveCommandDescription + // + resources.ApplyResources(this.LblGiveCommandDescription, "LblGiveCommandDescription"); + this.LblGiveCommandDescription.Name = "LblGiveCommandDescription"; + // + // PageGiveItem + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.LblClearGiveItemLogs); + this.Controls.Add(this.BtnSaveGiveItemLog); + this.Controls.Add(this.BtnRemoveGiveItemLog); + this.Controls.Add(this.GrpGiveItemRecord); + this.Controls.Add(this.ChkDrop); + this.Controls.Add(this.TxtGameItemFilter); + this.Controls.Add(this.ListGameItems); + this.Controls.Add(this.LblGameItemAmount); + this.Controls.Add(this.LblGameItemLevel); + this.Controls.Add(this.NUDGameItemAmout); + this.Controls.Add(this.NUDGameItemLevel); + this.Controls.Add(this.LblGiveCommandDescription); + this.Name = "PageGiveItem"; + this.GrpGiveItemRecord.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label LblClearGiveItemLogs; + private System.Windows.Forms.Button BtnSaveGiveItemLog; + private System.Windows.Forms.Button BtnRemoveGiveItemLog; + private System.Windows.Forms.GroupBox GrpGiveItemRecord; + private System.Windows.Forms.ListBox ListGiveItemLogs; + private System.Windows.Forms.CheckBox ChkDrop; + private System.Windows.Forms.TextBox TxtGameItemFilter; + private System.Windows.Forms.ListBox ListGameItems; + private System.Windows.Forms.Label LblGameItemAmount; + private System.Windows.Forms.Label LblGameItemLevel; + private System.Windows.Forms.NumericUpDown NUDGameItemAmout; + private System.Windows.Forms.NumericUpDown NUDGameItemLevel; + private System.Windows.Forms.Label LblGiveCommandDescription; + } +} diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.cs b/Source/GrasscutterTools/Pages/PageGiveItem.cs new file mode 100644 index 0000000..7606502 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageGiveItem.cs @@ -0,0 +1,190 @@ +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Windows.Forms; +using GrasscutterTools.Game; + +using GrasscutterTools.Properties; + +using GrasscutterTools.Utils; + +namespace GrasscutterTools.Pages +{ + internal partial class PageGiveItem : BasePage + { + public PageGiveItem() + { + InitializeComponent(); + if (DesignMode) return; + + InitGiveItemRecord(); + } + + + /// + /// 初始化游戏物品列表 + /// + public override void OnLoad() + { + ListGameItems.Items.Clear(); + ListGameItems.Items.AddRange(GameData.Items.Lines); + } + + /// + /// 物品列表过滤器文本改变时触发 + /// + private void TxtGameItemFilter_TextChanged(object sender, EventArgs e) + { + UIUtil.ListBoxFilter(ListGameItems, GameData.Items.Lines, TxtGameItemFilter.Text); + } + + /// + /// 生成获取物品命令 + /// + /// 是否生成成功 + private bool GenGiveItemCommand() + { + var name = ListGameItems.SelectedItem as string; + if (!string.IsNullOrEmpty(name)) + { + var id = ItemMap.ToId(name); + + if (ChkDrop.Checked) + { + NUDGameItemLevel.Enabled = false; + SetCommand("/drop", $"{id} {NUDGameItemAmout.Value}"); + } + else + { + NUDGameItemLevel.Enabled = true; + if (CommandVersion.Check(CommandVersion.V1_2_2)) + SetCommand("/give", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}"); + else + SetCommand("/give", $"{id} {NUDGameItemAmout.Value} {NUDGameItemLevel.Value}"); + } + return true; + } + return false; + } + + /// + /// 获取物品输入改变时触发 + /// + private void GiveItemsInputChanged(object sender, EventArgs e) + { + GenGiveItemCommand(); + } + + #region -- 物品记录 -- + + /// + /// 获取物品记录文件路径 + /// + private readonly string GiveItemCommandsRecordPath = Path.Combine(Application.LocalUserAppDataPath, "GiveItemCommands.txt"); + + /// + /// 获取物品记录 + /// + private List GiveItemCommands; + + /// + /// 初始化获取物品记录 + /// + private void InitGiveItemRecord() + { + if (File.Exists(GiveItemCommandsRecordPath)) + { + GiveItemCommands = GameCommand.Parse(File.ReadAllText(GiveItemCommandsRecordPath)); + ListGiveItemLogs.Items.AddRange(GiveItemCommands.Select(c => c.Name).ToArray()); + } + else + { + GiveItemCommands = new List(); + } + } + + /// + /// 保存获取物品记录 + /// + private void SaveGiveItemRecord() + { + File.WriteAllText(GiveItemCommandsRecordPath, GameCommand.ToString(GiveItemCommands)); + } + + /// + /// 获取物品记录列表选中项改变时触发 + /// + private void ListGiveItemLogs_SelectedIndexChanged(object sender, EventArgs e) + { + if (ListGiveItemLogs.SelectedIndex >= 0) + { + BtnRemoveGiveItemLog.Enabled = true; + SetCommand(GiveItemCommands[ListGiveItemLogs.SelectedIndex].Command); + } + else + { + BtnRemoveGiveItemLog.Enabled = false; + } + } + + /// + /// 点击保存记录按钮时触发 + /// + private void BtnSaveGiveItemLog_Click(object sender, EventArgs e) + { + var cmd = new GameCommand($"{ListGameItems.SelectedItem} x{NUDGameItemAmout.Value}", GetCommand()); + GiveItemCommands.Add(cmd); + ListGiveItemLogs.Items.Add(cmd.Name); + SaveGiveItemRecord(); + } + + /// + /// 点击移除获取物品记录时触发 + /// + private void BtnRemoveGiveItemLog_Click(object sender, EventArgs e) + { + if (ListGiveItemLogs.SelectedIndex >= 0) + { + GiveItemCommands.RemoveAt(ListGiveItemLogs.SelectedIndex); + ListGiveItemLogs.Items.RemoveAt(ListGiveItemLogs.SelectedIndex); + SaveGiveItemRecord(); + } + } + + /// + /// 点击清空获取物品记录时触发 + /// + private void LblClearGiveItemLogs_Click(object sender, EventArgs e) + { + if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + GiveItemCommands.Clear(); + ListGiveItemLogs.Items.Clear(); + SaveGiveItemRecord(); + } + } + + #endregion -- 物品记录 -- + + } +} diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.en-US.resx b/Source/GrasscutterTools/Pages/PageGiveItem.en-US.resx new file mode 100644 index 0000000..d9acf4f --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageGiveItem.en-US.resx @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 50, 17 + + + X Clear + + + √ Record + + + × Delete + + + Records + + + 57, 21 + + + Drop + + + 53, 17 + + + Amount + + + 37, 17 + + + Level + + + 66, 213 + + + 79, 23 + + + 118, 17 + + + Give item to player + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.resx b/Source/GrasscutterTools/Pages/PageGiveItem.resx new file mode 100644 index 0000000..f9aa7bd --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageGiveItem.resx @@ -0,0 +1,508 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Bottom, Left + + + + True + + + NoControl + + + + 262, 187 + + + 44, 17 + + + 16 + + + X 清空 + + + LblClearGiveItemLogs + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + NoControl + + + 265, 48 + + + 75, 23 + + + 2 + + + √ 记录 + + + BtnSaveGiveItemLog + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + False + + + NoControl + + + 265, 77 + + + 75, 23 + + + 3 + + + × 删除 + + + BtnRemoveGiveItemLog + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + Top, Bottom, Left + + + Fill + + + 17 + + + 3, 19 + + + 243, 145 + + + 6 + + + ListGiveItemLogs + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpGiveItemRecord + + + 0 + + + 10, 45 + + + 249, 167 + + + 1 + + + 物品记录本 + + + GrpGiveItemRecord + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + Bottom, Left + + + True + + + NoControl + + + 256, 214 + + + 51, 21 + + + 8 + + + 掉落 + + + ChkDrop + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + Top, Left, Right + + + 343, 3 + + + 300, 23 + + + 9 + + + TxtGameItemFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + Top, Bottom, Left, Right + + + 17 + + + 343, 29 + + + 300, 208 + + + 10 + + + ListGameItems + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + Bottom, Left + + + True + + + NoControl + + + 7, 215 + + + 32, 17 + + + 4 + + + 数量 + + + LblGameItemAmount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + Bottom, Left + + + True + + + NoControl + + + 151, 215 + + + 32, 17 + + + 6 + + + 等级 + + + LblGameItemLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + Bottom, Left + + + 45, 213 + + + 100, 23 + + + 5 + + + NUDGameItemAmout + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + Bottom, Left + + + 189, 213 + + + 50, 23 + + + 7 + + + NUDGameItemLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + True + + + NoControl + + + 6, 6 + + + 236, 34 + + + 0 + + + 给玩家指定物品 +说明:可选择直接给到背包或者掉落到世界 + + + LblGiveCommandDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + True + + + 7, 17 + + + PageGiveItem + + + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.ru-RU.resx b/Source/GrasscutterTools/Pages/PageGiveItem.ru-RU.resx new file mode 100644 index 0000000..cbea1b1 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageGiveItem.ru-RU.resx @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 76, 17 + + + X Очистить + + + 259, 48 + + + 80, 23 + + + √ Сохр. + + + 259, 77 + + + 80, 23 + + + × Удалить + + + 246, 159 + + + Список предметов + + + 240, 137 + + + 265, 214 + + + 60, 21 + + + Дроп + + + 51, 17 + + + Кол-во + + + 149, 215 + + + 60, 17 + + + Уровень + + + 60, 213 + + + 81, 23 + + + 209, 213 + + + 137, 17 + + + Дать предмет игроку + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.zh-TW.resx b/Source/GrasscutterTools/Pages/PageGiveItem.zh-TW.resx new file mode 100644 index 0000000..2d78e60 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageGiveItem.zh-TW.resx @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + √ 記錄 + + + × 刪除 + + + 物品記錄本 + + + 數量 + + + 等級 + + + 給玩家指定物品 +說明:可選擇直接給到背包或者掉落到世界 + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageGiveWeapon.cs b/Source/GrasscutterTools/Pages/PageGiveWeapon.cs index 782c646..d9d01fb 100644 --- a/Source/GrasscutterTools/Pages/PageGiveWeapon.cs +++ b/Source/GrasscutterTools/Pages/PageGiveWeapon.cs @@ -1,4 +1,23 @@ -using System; +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; diff --git a/Source/GrasscutterTools/Pages/PageHome.cs b/Source/GrasscutterTools/Pages/PageHome.cs index be08694..fb2f633 100644 --- a/Source/GrasscutterTools/Pages/PageHome.cs +++ b/Source/GrasscutterTools/Pages/PageHome.cs @@ -1,4 +1,23 @@ -using System; +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; using System.Collections.Generic; using System.Linq; using System.Threading; diff --git a/Source/GrasscutterTools/Pages/PageMail.Designer.cs b/Source/GrasscutterTools/Pages/PageMail.Designer.cs new file mode 100644 index 0000000..aeb9ebe --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageMail.Designer.cs @@ -0,0 +1,369 @@ +namespace GrasscutterTools.Pages +{ + partial class PageMail + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageMail)); + this.LblClearMailContent = new System.Windows.Forms.Label(); + this.BtnAddMailItem = new System.Windows.Forms.Button(); + this.BtnDeleteMailItem = new System.Windows.Forms.Button(); + this.TCMailRight = new System.Windows.Forms.TabControl(); + this.TPMailSelectableItemList = new System.Windows.Forms.TabPage(); + this.ListMailSelectableItems = new System.Windows.Forms.ListBox(); + this.TxtMailSelectableItemFilter = new System.Windows.Forms.TextBox(); + this.PanelMailItemArgs = new System.Windows.Forms.Panel(); + this.NUDMailItemLevel = new System.Windows.Forms.NumericUpDown(); + this.NUDMailItemCount = new System.Windows.Forms.NumericUpDown(); + this.LblMailItemCount = new System.Windows.Forms.Label(); + this.LblMailItemLevel = new System.Windows.Forms.Label(); + this.TPMailList = new System.Windows.Forms.TabPage(); + this.ListMailList = new System.Windows.Forms.ListBox(); + this.PanelMailListControls = new System.Windows.Forms.Panel(); + this.BtnClearMail = new System.Windows.Forms.Button(); + this.BtnRemoveMail = new System.Windows.Forms.Button(); + this.BtnSendMail = new System.Windows.Forms.Button(); + this.ListMailItems = new System.Windows.Forms.ListBox(); + this.LblMailItemsLabel = new System.Windows.Forms.Label(); + this.NUDMailRecipient = new System.Windows.Forms.NumericUpDown(); + this.RbMailSendToPlayer = new System.Windows.Forms.RadioButton(); + this.RbMailSendToAll = new System.Windows.Forms.RadioButton(); + this.LblMailRecipientLabel = new System.Windows.Forms.Label(); + this.TxtMailContent = new System.Windows.Forms.TextBox(); + this.LblMailContentLabel = new System.Windows.Forms.Label(); + this.TxtMailTitle = new System.Windows.Forms.TextBox(); + this.LblMailTitleLabel = new System.Windows.Forms.Label(); + this.TxtMailSender = new System.Windows.Forms.TextBox(); + this.LblMailSenderLabel = new System.Windows.Forms.Label(); + this.TCMailRight.SuspendLayout(); + this.TPMailSelectableItemList.SuspendLayout(); + this.PanelMailItemArgs.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemLevel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemCount)).BeginInit(); + this.TPMailList.SuspendLayout(); + this.PanelMailListControls.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDMailRecipient)).BeginInit(); + this.SuspendLayout(); + // + // LblClearMailContent + // + resources.ApplyResources(this.LblClearMailContent, "LblClearMailContent"); + this.LblClearMailContent.Cursor = System.Windows.Forms.Cursors.Hand; + this.LblClearMailContent.Name = "LblClearMailContent"; + this.LblClearMailContent.Click += new System.EventHandler(this.LblClearMailContent_Click); + // + // BtnAddMailItem + // + resources.ApplyResources(this.BtnAddMailItem, "BtnAddMailItem"); + this.BtnAddMailItem.Name = "BtnAddMailItem"; + this.BtnAddMailItem.UseVisualStyleBackColor = true; + this.BtnAddMailItem.Click += new System.EventHandler(this.BtnAddMailItem_Click); + // + // BtnDeleteMailItem + // + resources.ApplyResources(this.BtnDeleteMailItem, "BtnDeleteMailItem"); + this.BtnDeleteMailItem.Name = "BtnDeleteMailItem"; + this.BtnDeleteMailItem.UseVisualStyleBackColor = true; + this.BtnDeleteMailItem.Click += new System.EventHandler(this.BtnDeleteMailItem_Click); + // + // TCMailRight + // + resources.ApplyResources(this.TCMailRight, "TCMailRight"); + this.TCMailRight.Controls.Add(this.TPMailSelectableItemList); + this.TCMailRight.Controls.Add(this.TPMailList); + this.TCMailRight.Name = "TCMailRight"; + this.TCMailRight.SelectedIndex = 0; + // + // TPMailSelectableItemList + // + this.TPMailSelectableItemList.Controls.Add(this.ListMailSelectableItems); + this.TPMailSelectableItemList.Controls.Add(this.TxtMailSelectableItemFilter); + this.TPMailSelectableItemList.Controls.Add(this.PanelMailItemArgs); + resources.ApplyResources(this.TPMailSelectableItemList, "TPMailSelectableItemList"); + this.TPMailSelectableItemList.Name = "TPMailSelectableItemList"; + this.TPMailSelectableItemList.UseVisualStyleBackColor = true; + // + // ListMailSelectableItems + // + resources.ApplyResources(this.ListMailSelectableItems, "ListMailSelectableItems"); + this.ListMailSelectableItems.FormattingEnabled = true; + this.ListMailSelectableItems.Name = "ListMailSelectableItems"; + // + // TxtMailSelectableItemFilter + // + resources.ApplyResources(this.TxtMailSelectableItemFilter, "TxtMailSelectableItemFilter"); + this.TxtMailSelectableItemFilter.Name = "TxtMailSelectableItemFilter"; + this.TxtMailSelectableItemFilter.TextChanged += new System.EventHandler(this.TxtMailSelectableItemFilter_TextChanged); + // + // PanelMailItemArgs + // + this.PanelMailItemArgs.Controls.Add(this.NUDMailItemLevel); + this.PanelMailItemArgs.Controls.Add(this.NUDMailItemCount); + this.PanelMailItemArgs.Controls.Add(this.LblMailItemCount); + this.PanelMailItemArgs.Controls.Add(this.LblMailItemLevel); + resources.ApplyResources(this.PanelMailItemArgs, "PanelMailItemArgs"); + this.PanelMailItemArgs.Name = "PanelMailItemArgs"; + // + // NUDMailItemLevel + // + resources.ApplyResources(this.NUDMailItemLevel, "NUDMailItemLevel"); + this.NUDMailItemLevel.Maximum = new decimal(new int[] { + 90, + 0, + 0, + 0}); + this.NUDMailItemLevel.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUDMailItemLevel.Name = "NUDMailItemLevel"; + this.NUDMailItemLevel.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // NUDMailItemCount + // + resources.ApplyResources(this.NUDMailItemCount, "NUDMailItemCount"); + this.NUDMailItemCount.Maximum = new decimal(new int[] { + 1000000, + 0, + 0, + 0}); + this.NUDMailItemCount.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUDMailItemCount.Name = "NUDMailItemCount"; + this.NUDMailItemCount.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // LblMailItemCount + // + resources.ApplyResources(this.LblMailItemCount, "LblMailItemCount"); + this.LblMailItemCount.Name = "LblMailItemCount"; + // + // LblMailItemLevel + // + resources.ApplyResources(this.LblMailItemLevel, "LblMailItemLevel"); + this.LblMailItemLevel.Name = "LblMailItemLevel"; + // + // TPMailList + // + this.TPMailList.Controls.Add(this.ListMailList); + this.TPMailList.Controls.Add(this.PanelMailListControls); + resources.ApplyResources(this.TPMailList, "TPMailList"); + this.TPMailList.Name = "TPMailList"; + this.TPMailList.UseVisualStyleBackColor = true; + // + // ListMailList + // + resources.ApplyResources(this.ListMailList, "ListMailList"); + this.ListMailList.FormattingEnabled = true; + this.ListMailList.Name = "ListMailList"; + this.ListMailList.SelectedIndexChanged += new System.EventHandler(this.ListMailList_SelectedIndexChanged); + // + // PanelMailListControls + // + this.PanelMailListControls.Controls.Add(this.BtnClearMail); + this.PanelMailListControls.Controls.Add(this.BtnRemoveMail); + resources.ApplyResources(this.PanelMailListControls, "PanelMailListControls"); + this.PanelMailListControls.Name = "PanelMailListControls"; + // + // BtnClearMail + // + resources.ApplyResources(this.BtnClearMail, "BtnClearMail"); + this.BtnClearMail.Name = "BtnClearMail"; + this.BtnClearMail.UseVisualStyleBackColor = true; + this.BtnClearMail.Click += new System.EventHandler(this.BtnClearMail_Click); + // + // BtnRemoveMail + // + resources.ApplyResources(this.BtnRemoveMail, "BtnRemoveMail"); + this.BtnRemoveMail.Name = "BtnRemoveMail"; + this.BtnRemoveMail.UseVisualStyleBackColor = true; + this.BtnRemoveMail.Click += new System.EventHandler(this.BtnRemoveMail_Click); + // + // BtnSendMail + // + resources.ApplyResources(this.BtnSendMail, "BtnSendMail"); + this.BtnSendMail.Name = "BtnSendMail"; + this.BtnSendMail.UseVisualStyleBackColor = true; + this.BtnSendMail.Click += new System.EventHandler(this.BtnSendMail_Click); + // + // ListMailItems + // + resources.ApplyResources(this.ListMailItems, "ListMailItems"); + this.ListMailItems.FormattingEnabled = true; + this.ListMailItems.Name = "ListMailItems"; + // + // LblMailItemsLabel + // + resources.ApplyResources(this.LblMailItemsLabel, "LblMailItemsLabel"); + this.LblMailItemsLabel.Name = "LblMailItemsLabel"; + // + // NUDMailRecipient + // + resources.ApplyResources(this.NUDMailRecipient, "NUDMailRecipient"); + this.NUDMailRecipient.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDMailRecipient.Name = "NUDMailRecipient"; + this.NUDMailRecipient.Value = new decimal(new int[] { + 10001, + 0, + 0, + 0}); + // + // RbMailSendToPlayer + // + resources.ApplyResources(this.RbMailSendToPlayer, "RbMailSendToPlayer"); + this.RbMailSendToPlayer.Name = "RbMailSendToPlayer"; + this.RbMailSendToPlayer.UseVisualStyleBackColor = true; + // + // RbMailSendToAll + // + resources.ApplyResources(this.RbMailSendToAll, "RbMailSendToAll"); + this.RbMailSendToAll.Checked = true; + this.RbMailSendToAll.Name = "RbMailSendToAll"; + this.RbMailSendToAll.TabStop = true; + this.RbMailSendToAll.UseVisualStyleBackColor = true; + // + // LblMailRecipientLabel + // + resources.ApplyResources(this.LblMailRecipientLabel, "LblMailRecipientLabel"); + this.LblMailRecipientLabel.Name = "LblMailRecipientLabel"; + // + // TxtMailContent + // + resources.ApplyResources(this.TxtMailContent, "TxtMailContent"); + this.TxtMailContent.Name = "TxtMailContent"; + // + // LblMailContentLabel + // + resources.ApplyResources(this.LblMailContentLabel, "LblMailContentLabel"); + this.LblMailContentLabel.Name = "LblMailContentLabel"; + // + // TxtMailTitle + // + resources.ApplyResources(this.TxtMailTitle, "TxtMailTitle"); + this.TxtMailTitle.Name = "TxtMailTitle"; + // + // LblMailTitleLabel + // + resources.ApplyResources(this.LblMailTitleLabel, "LblMailTitleLabel"); + this.LblMailTitleLabel.Name = "LblMailTitleLabel"; + // + // TxtMailSender + // + resources.ApplyResources(this.TxtMailSender, "TxtMailSender"); + this.TxtMailSender.Name = "TxtMailSender"; + // + // LblMailSenderLabel + // + resources.ApplyResources(this.LblMailSenderLabel, "LblMailSenderLabel"); + this.LblMailSenderLabel.Name = "LblMailSenderLabel"; + // + // PageMail + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.LblClearMailContent); + this.Controls.Add(this.BtnAddMailItem); + this.Controls.Add(this.BtnDeleteMailItem); + this.Controls.Add(this.TCMailRight); + this.Controls.Add(this.BtnSendMail); + this.Controls.Add(this.ListMailItems); + this.Controls.Add(this.LblMailItemsLabel); + this.Controls.Add(this.NUDMailRecipient); + this.Controls.Add(this.RbMailSendToPlayer); + this.Controls.Add(this.RbMailSendToAll); + this.Controls.Add(this.LblMailRecipientLabel); + this.Controls.Add(this.TxtMailContent); + this.Controls.Add(this.LblMailContentLabel); + this.Controls.Add(this.TxtMailTitle); + this.Controls.Add(this.LblMailTitleLabel); + this.Controls.Add(this.TxtMailSender); + this.Controls.Add(this.LblMailSenderLabel); + this.Name = "PageMail"; + this.TCMailRight.ResumeLayout(false); + this.TPMailSelectableItemList.ResumeLayout(false); + this.TPMailSelectableItemList.PerformLayout(); + this.PanelMailItemArgs.ResumeLayout(false); + this.PanelMailItemArgs.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemLevel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDMailItemCount)).EndInit(); + this.TPMailList.ResumeLayout(false); + this.PanelMailListControls.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.NUDMailRecipient)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label LblClearMailContent; + private System.Windows.Forms.Button BtnAddMailItem; + private System.Windows.Forms.Button BtnDeleteMailItem; + private System.Windows.Forms.TabControl TCMailRight; + private System.Windows.Forms.TabPage TPMailSelectableItemList; + private System.Windows.Forms.ListBox ListMailSelectableItems; + private System.Windows.Forms.TextBox TxtMailSelectableItemFilter; + private System.Windows.Forms.Panel PanelMailItemArgs; + private System.Windows.Forms.NumericUpDown NUDMailItemLevel; + private System.Windows.Forms.NumericUpDown NUDMailItemCount; + private System.Windows.Forms.Label LblMailItemCount; + private System.Windows.Forms.Label LblMailItemLevel; + private System.Windows.Forms.TabPage TPMailList; + private System.Windows.Forms.ListBox ListMailList; + private System.Windows.Forms.Panel PanelMailListControls; + private System.Windows.Forms.Button BtnClearMail; + private System.Windows.Forms.Button BtnRemoveMail; + private System.Windows.Forms.Button BtnSendMail; + private System.Windows.Forms.ListBox ListMailItems; + private System.Windows.Forms.Label LblMailItemsLabel; + private System.Windows.Forms.NumericUpDown NUDMailRecipient; + private System.Windows.Forms.RadioButton RbMailSendToPlayer; + private System.Windows.Forms.RadioButton RbMailSendToAll; + private System.Windows.Forms.Label LblMailRecipientLabel; + private System.Windows.Forms.TextBox TxtMailContent; + private System.Windows.Forms.Label LblMailContentLabel; + private System.Windows.Forms.TextBox TxtMailTitle; + private System.Windows.Forms.Label LblMailTitleLabel; + private System.Windows.Forms.TextBox TxtMailSender; + private System.Windows.Forms.Label LblMailSenderLabel; + } +} diff --git a/Source/GrasscutterTools/Pages/PageMail.cs b/Source/GrasscutterTools/Pages/PageMail.cs new file mode 100644 index 0000000..a9df085 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageMail.cs @@ -0,0 +1,291 @@ +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Windows.Forms; + +using GrasscutterTools.Game; +using GrasscutterTools.Game.Mail; +using GrasscutterTools.Properties; +using GrasscutterTools.Utils; + +using Newtonsoft.Json; + +namespace GrasscutterTools.Pages +{ + internal partial class PageMail : BasePage + { + public PageMail() + { + InitializeComponent(); + if (DesignMode) return; + InitMailList(); + } + + /// + /// 初始化邮件页面 + /// + public override void OnLoad() + { + TxtMailSender.Text = Settings.Default.DefaultMailSender; + LoadMailSelectableItems(); + } + + /// + /// 保存邮件设置 + /// + public override void OnClosed() + { + Settings.Default.DefaultMailSender = TxtMailSender.Text; + } + + /// + /// 点击清空邮件内容时触发 + /// + private void LblClearMailContent_Click(object sender, EventArgs e) + { + TxtMailContent.Clear(); + } + + /// + /// 点击发送邮件时触发 + /// + private void BtnSendMail_Click(object sender, EventArgs e) + { + var mail = new Mail + { + Title = TxtMailTitle.Text.Trim(), + Sender = TxtMailSender.Text.Trim(), + Content = TxtMailContent.Text.Trim(), + Recipient = RbMailSendToAll.Checked ? 0 : (int)NUDMailRecipient.Value, + ItemList = new List(MailItems), + SendTime = DateTime.Now, + }; + + if (mail.Title == "" || mail.Sender == "" || mail.Content == "") + { + MessageBox.Show(Resources.EmptyInputTip, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + if (mail.SendToAll) + { + MessageBox.Show(Resources.MailSendToAllWarning, Resources.Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + + var cmd = $"/sendMail {(mail.SendToAll ? "all" : mail.Recipient.ToString())} |" + + $"/sendMail {mail.Title} |" + + $"/sendMail {mail.Content.Replace("\r", "\\r").Replace("\n", "\\n")} |" + + $"/sendMail {mail.Sender} |"; + foreach (var item in mail.ItemList) + cmd += $"/sendMail {item.ItemId} {item.ItemCount} {item.ItemLevel} |"; + cmd += "/sendMail finish"; + + SetCommand(cmd); + AddMailToList(mail); + } + + /// + /// 展示邮件 + /// + /// + private void ShowMail(Mail mail) + { + TxtMailTitle.Text = mail.Title; + TxtMailSender.Text = mail.Sender; + TxtMailContent.Text = mail.Content; + NUDMailRecipient.Value = mail.Recipient; + RbMailSendToAll.Checked = mail.SendToAll; + RbMailSendToPlayer.Checked = !mail.SendToAll; + ShowMailItems(mail.ItemList); + } + + #region -- 邮件附件列表 Mail items -- + + /// + /// 当前邮件附件列表 + /// + private readonly List MailItems = new List(); + + /// + /// 展示邮件附件列表 + /// + /// + private void ShowMailItems(List items) + { + MailItems.Clear(); + MailItems.AddRange(items); + ListMailItems.BeginUpdate(); + ListMailItems.Items.Clear(); + ListMailItems.Items.AddRange(items.Select(it => it.ToString()).ToArray()); + ListMailItems.EndUpdate(); + } + + /// + /// 点击添加邮件附件项时触发 + /// + private void BtnAddMailItem_Click(object sender, EventArgs e) + { + if (ListMailSelectableItems.SelectedIndex == -1) + return; + var item = ListMailSelectableItems.SelectedItem as string; + var itemId = ItemMap.ToId(item); + var mailItem = new MailItem + { + ItemId = itemId, + ItemCount = (int)NUDMailItemCount.Value, + ItemLevel = (int)NUDMailItemLevel.Value, + }; + MailItems.Add(mailItem); + ListMailItems.Items.Add(mailItem.ToString()); + } + + /// + /// 点击删除邮件附件项时触发 + /// + private void BtnDeleteMailItem_Click(object sender, EventArgs e) + { + if (ListMailItems.SelectedIndex == -1) return; + + MailItems.RemoveAt(ListMailItems.SelectedIndex); + ListMailItems.Items.RemoveAt(ListMailItems.SelectedIndex); + } + + #endregion -- 邮件附件列表 Mail items -- + + #region -- 邮件附件可选列表 Mail item selectable list -- + + private string[] MailSelectableItems; + + /// + /// 加载附件可选项列表 + /// + private void LoadMailSelectableItems() + { + MailSelectableItems = new string[GameData.Items.Count + GameData.Weapons.Count + GameData.Artifacts.Count]; + int i = 0; + GameData.Items.Lines.CopyTo(MailSelectableItems, i); i += GameData.Items.Count; + GameData.Weapons.Lines.CopyTo(MailSelectableItems, i); i += GameData.Weapons.Count; + GameData.Artifacts.Lines.CopyTo(MailSelectableItems, i); i += GameData.Artifacts.Count; + + Array.Sort(MailSelectableItems, (a, b) => ItemMap.ToId(a) - ItemMap.ToId(b)); + + ListMailSelectableItems.Items.Clear(); + ListMailSelectableItems.Items.AddRange(MailSelectableItems); + } + + /// + /// 邮件页面物品列表过滤器文本改变时触发 + /// + private void TxtMailSelectableItemFilter_TextChanged(object sender, EventArgs e) + { + UIUtil.ListBoxFilter(ListMailSelectableItems, MailSelectableItems, TxtMailSelectableItemFilter.Text); + } + + #endregion -- 邮件附件可选列表 Mail item selectable list -- + + #region -- 邮件列表 Mail list -- + + /// + /// 获取物品记录文件路径 + /// + private readonly string MailListPath = Path.Combine(Application.LocalUserAppDataPath, "MailList.json"); + + /// + /// 邮件列表 + /// + private List MailList = new List(); + + /// + /// 初始化邮件列表 + /// + private void InitMailList() + { + if (File.Exists(MailListPath)) + { + MailList = JsonConvert.DeserializeObject>(File.ReadAllText(MailListPath)); + ListMailList.Items.AddRange(MailList.Select(it => it.ToString()).ToArray()); + } + else + { + MailList = new List(); + } + } + + /// + /// 保存邮件列表 + /// + private void SaveMailList() + { + File.WriteAllText(MailListPath, JsonConvert.SerializeObject(MailList)); + } + + /// + /// 添加邮件到列表 + /// + /// 邮件 + private void AddMailToList(Mail mail) + { + MailList.Add(mail); + ListMailList.Items.Add(mail.ToString()); + SaveMailList(); + } + + /// + /// 邮件列表选中项改变时发生 + /// + private void ListMailList_SelectedIndexChanged(object sender, EventArgs e) + { + if (ListMailList.SelectedIndex == -1) return; + // 显示选中邮件 + var mail = MailList[ListMailList.SelectedIndex]; + ShowMail(mail); + } + + /// + /// 点击删除邮件按钮时触发 + /// + private void BtnRemoveMail_Click(object sender, EventArgs e) + { + if (ListMailList.SelectedIndex == -1) return; + MailList.RemoveAt(ListMailList.SelectedIndex); + ListMailList.Items.RemoveAt(ListMailList.SelectedIndex); + SaveMailList(); + } + + /// + /// 点击清空邮件列表按钮时触发 + /// + private void BtnClearMail_Click(object sender, EventArgs e) + { + if (MailList.Count == 0) return; + if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + ListMailList.Items.Clear(); + MailList.Clear(); + SaveMailList(); + } + } + + #endregion -- 邮件列表 Mail list -- + } +} \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageMail.en-US.resx b/Source/GrasscutterTools/Pages/PageMail.en-US.resx new file mode 100644 index 0000000..41ba27c --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageMail.en-US.resx @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Add + + + - Delete + + + Item list + + + + 45, 17 + + + Count: + + + 40, 17 + + + Level: + + + Mail list + + + × Clear + + + - Delete + + + Send + + + 43, 17 + + + Items: + + + 61, 21 + + + Player + + + 40, 21 + + + All + + + Send to: + + + 56, 17 + + + Content: + + + 35, 17 + + + Title: + + + 52, 17 + + + Sender: + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageMail.resx b/Source/GrasscutterTools/Pages/PageMail.resx new file mode 100644 index 0000000..b3ac414 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageMail.resx @@ -0,0 +1,1038 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + True + + + + NoControl + + + + 384, 88 + + + 16, 17 + + + 10 + + + X + + + LblClearMailContent + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + Bottom, Left + + + NoControl + + + 326, 147 + + + 75, 23 + + + 13 + + + + 添加 + + + BtnAddMailItem + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Bottom, Left + + + NoControl + + + 326, 176 + + + 75, 23 + + + 14 + + + - 删除 + + + BtnDeleteMailItem + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + Top, Bottom, Left, Right + + + ListMailSelectableItems + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailSelectableItemList + + + 0 + + + TxtMailSelectableItemFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailSelectableItemList + + + 1 + + + PanelMailItemArgs + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailSelectableItemList + + + 2 + + + 4, 26 + + + 3, 3, 3, 3 + + + 228, 200 + + + 0 + + + 物品列表 + + + TPMailSelectableItemList + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMailRight + + + 0 + + + Fill + + + 17 + + + 3, 3 + + + 0, 0, 0, 0 + + + 222, 166 + + + 0 + + + ListMailList + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailList + + + 0 + + + NoControl + + + 84, 3 + + + 75, 23 + + + 1 + + + × 清空 + + + BtnClearMail + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailListControls + + + 0 + + + NoControl + + + 3, 3 + + + 75, 23 + + + 0 + + + - 删除 + + + BtnRemoveMail + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailListControls + + + 1 + + + Bottom + + + 3, 169 + + + 222, 28 + + + 1 + + + PanelMailListControls + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailList + + + 1 + + + 4, 26 + + + 3, 3, 3, 3 + + + 228, 200 + + + 1 + + + 邮件列表 + + + TPMailList + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMailRight + + + 1 + + + 407, 4 + + + 236, 230 + + + 16 + + + TCMailRight + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + Fill + + + 17 + + + 3, 26 + + + 0, 0, 0, 0 + + + 222, 141 + + + 1 + + + ListMailSelectableItems + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailSelectableItemList + + + 0 + + + Top + + + 3, 3 + + + 222, 23 + + + 0 + + + TxtMailSelectableItemFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailSelectableItemList + + + 1 + + + NUDMailItemLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 0 + + + NUDMailItemCount + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 1 + + + LblMailItemCount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 2 + + + LblMailItemLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 3 + + + Bottom + + + 3, 167 + + + 222, 30 + + + 2 + + + PanelMailItemArgs + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPMailSelectableItemList + + + 2 + + + 171, 5 + + + 50, 23 + + + 3 + + + NUDMailItemLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 0 + + + 47, 5 + + + 60, 23 + + + 1 + + + NUDMailItemCount + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 1 + + + True + + + NoControl + + + -3, 7 + + + 44, 17 + + + 0 + + + 数量: + + + LblMailItemCount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 2 + + + True + + + NoControl + + + 123, 7 + + + 44, 17 + + + 2 + + + 等级: + + + LblMailItemLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PanelMailItemArgs + + + 3 + + + Bottom, Left + + + NoControl + + + 326, 202 + + + 75, 32 + + + 15 + + + 发送 + + + BtnSendMail + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + Bottom, Left + + + 17 + + + 70, 147 + + + 250, 89 + + + 12 + + + ListMailItems + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + Bottom, Left + + + True + + + NoControl + + + 3, 150 + + + 44, 17 + + + 11 + + + 附件: + + + LblMailItemsLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 280, 31 + + + 121, 23 + + + 5 + + + NUDMailRecipient + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + True + + + NoControl + + + 224, 31 + + + 50, 21 + + + 4 + + + 玩家 + + + RbMailSendToPlayer + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + True + + + NoControl + + + 75, 31 + + + 62, 21 + + + 3 + + + 所有人 + + + RbMailSendToAll + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + True + + + NoControl + + + 3, 33 + + + 56, 17 + + + 2 + + + 收件人: + + + LblMailRecipientLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + Top, Bottom, Left + + + 70, 89 + + + True + + + Vertical + + + 331, 52 + + + 9 + + + TxtMailContent + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + True + + + NoControl + + + 3, 92 + + + 44, 17 + + + 8 + + + 内容: + + + LblMailContentLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 12 + + + 70, 60 + + + 331, 23 + + + 7 + + + TxtMailTitle + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 13 + + + True + + + NoControl + + + 3, 63 + + + 44, 17 + + + 6 + + + 标题: + + + LblMailTitleLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 14 + + + 70, 2 + + + 331, 23 + + + 1 + + + TxtMailSender + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 15 + + + True + + + NoControl + + + 3, 5 + + + 56, 17 + + + 0 + + + 发件人: + + + LblMailSenderLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 16 + + + True + + + 7, 17 + + + PageMail + + + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageMail.ru-RU.resx b/Source/GrasscutterTools/Pages/PageMail.ru-RU.resx new file mode 100644 index 0000000..fb7be80 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageMail.ru-RU.resx @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 301, 147 + + + 100, 23 + + + + Добавить + + + 301, 176 + + + 100, 23 + + + - Удалить + + + Предметы + + + 51, 17 + + + Кол-во + + + 113, 7 + + + 60, 17 + + + Уровень + + + Список рассылки + + + 109, 3 + + + 100, 23 + + + × Очистить + + + 100, 23 + + + - Удалить + + + 301, 202 + + + 100, 32 + + + Отправить + + + 99, 147 + + + 196, 89 + + + 74, 17 + + + Вложение: + + + 210, 31 + + + 64, 21 + + + Игрок + + + 99, 31 + + + 47, 21 + + + Все + + + 81, 17 + + + Получатель: + + + 99, 89 + + + 302, 52 + + + 89, 17 + + + Содержание: + + + 99, 60 + + + 302, 23 + + + 70, 17 + + + Название: + + + 99, 2 + + + 302, 23 + + + 90, 17 + + + Отправитель: + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageMail.zh-TW.resx b/Source/GrasscutterTools/Pages/PageMail.zh-TW.resx new file mode 100644 index 0000000..65f08eb --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageMail.zh-TW.resx @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + - 刪除 + + + 數量: + + + 等級: + + + 郵件列表 + + + - 刪除 + + + 發送 + + + 內容: + + + 標題: + + + 發件人: + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageManagement.Designer.cs b/Source/GrasscutterTools/Pages/PageManagement.Designer.cs new file mode 100644 index 0000000..e23b73e --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageManagement.Designer.cs @@ -0,0 +1,308 @@ +namespace GrasscutterTools.Pages +{ + partial class PageManagement + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageManagement)); + this.GrpBanPlayer = new System.Windows.Forms.GroupBox(); + this.TxtBanReason = new System.Windows.Forms.TextBox(); + this.DTPBanEndTime = new System.Windows.Forms.DateTimePicker(); + this.BtnUnban = new System.Windows.Forms.Button(); + this.BtnBan = new System.Windows.Forms.Button(); + this.NUDBanUID = new System.Windows.Forms.NumericUpDown(); + this.LblBanUID = new System.Windows.Forms.Label(); + this.GrpAccount = new System.Windows.Forms.GroupBox(); + this.ChkAccountSetUid = new System.Windows.Forms.CheckBox(); + this.NUDAccountUid = new System.Windows.Forms.NumericUpDown(); + this.BtnDeleteAccount = new System.Windows.Forms.Button(); + this.BtnCreateAccount = new System.Windows.Forms.Button(); + this.LblAccountUserName = new System.Windows.Forms.Label(); + this.TxtAccountUserName = new System.Windows.Forms.TextBox(); + this.GrpPermission = new System.Windows.Forms.GroupBox(); + this.CmbPerm = new System.Windows.Forms.ComboBox(); + this.NUDPermUID = new System.Windows.Forms.NumericUpDown(); + this.BtnPermClear = new System.Windows.Forms.Button(); + this.BtmPermRemove = new System.Windows.Forms.Button(); + this.BtnPermList = new System.Windows.Forms.Button(); + this.BtnPermAdd = new System.Windows.Forms.Button(); + this.LblPerm = new System.Windows.Forms.Label(); + this.LblPermUID = new System.Windows.Forms.Label(); + this.GrpBanPlayer.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDBanUID)).BeginInit(); + this.GrpAccount.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAccountUid)).BeginInit(); + this.GrpPermission.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDPermUID)).BeginInit(); + this.SuspendLayout(); + // + // GrpBanPlayer + // + resources.ApplyResources(this.GrpBanPlayer, "GrpBanPlayer"); + this.GrpBanPlayer.Controls.Add(this.TxtBanReason); + this.GrpBanPlayer.Controls.Add(this.DTPBanEndTime); + this.GrpBanPlayer.Controls.Add(this.BtnUnban); + this.GrpBanPlayer.Controls.Add(this.BtnBan); + this.GrpBanPlayer.Controls.Add(this.NUDBanUID); + this.GrpBanPlayer.Controls.Add(this.LblBanUID); + this.GrpBanPlayer.Name = "GrpBanPlayer"; + this.GrpBanPlayer.TabStop = false; + // + // TxtBanReason + // + resources.ApplyResources(this.TxtBanReason, "TxtBanReason"); + this.TxtBanReason.Name = "TxtBanReason"; + // + // DTPBanEndTime + // + this.DTPBanEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Short; + resources.ApplyResources(this.DTPBanEndTime, "DTPBanEndTime"); + this.DTPBanEndTime.MaxDate = new System.DateTime(2034, 12, 31, 0, 0, 0, 0); + this.DTPBanEndTime.MinDate = new System.DateTime(2022, 6, 28, 0, 0, 0, 0); + this.DTPBanEndTime.Name = "DTPBanEndTime"; + this.DTPBanEndTime.Value = new System.DateTime(2025, 12, 31, 0, 0, 0, 0); + // + // BtnUnban + // + resources.ApplyResources(this.BtnUnban, "BtnUnban"); + this.BtnUnban.Name = "BtnUnban"; + this.BtnUnban.UseVisualStyleBackColor = true; + this.BtnUnban.Click += new System.EventHandler(this.BtnUnban_Click); + // + // BtnBan + // + resources.ApplyResources(this.BtnBan, "BtnBan"); + this.BtnBan.Name = "BtnBan"; + this.BtnBan.UseVisualStyleBackColor = true; + this.BtnBan.Click += new System.EventHandler(this.BtnBan_Click); + // + // NUDBanUID + // + resources.ApplyResources(this.NUDBanUID, "NUDBanUID"); + this.NUDBanUID.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDBanUID.Name = "NUDBanUID"; + this.NUDBanUID.Value = new decimal(new int[] { + 10001, + 0, + 0, + 0}); + // + // LblBanUID + // + resources.ApplyResources(this.LblBanUID, "LblBanUID"); + this.LblBanUID.Name = "LblBanUID"; + // + // GrpAccount + // + resources.ApplyResources(this.GrpAccount, "GrpAccount"); + this.GrpAccount.Controls.Add(this.ChkAccountSetUid); + this.GrpAccount.Controls.Add(this.NUDAccountUid); + this.GrpAccount.Controls.Add(this.BtnDeleteAccount); + this.GrpAccount.Controls.Add(this.BtnCreateAccount); + this.GrpAccount.Controls.Add(this.LblAccountUserName); + this.GrpAccount.Controls.Add(this.TxtAccountUserName); + this.GrpAccount.Name = "GrpAccount"; + this.GrpAccount.TabStop = false; + // + // ChkAccountSetUid + // + resources.ApplyResources(this.ChkAccountSetUid, "ChkAccountSetUid"); + this.ChkAccountSetUid.Name = "ChkAccountSetUid"; + this.ChkAccountSetUid.UseVisualStyleBackColor = true; + // + // NUDAccountUid + // + resources.ApplyResources(this.NUDAccountUid, "NUDAccountUid"); + this.NUDAccountUid.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDAccountUid.Name = "NUDAccountUid"; + this.NUDAccountUid.Value = new decimal(new int[] { + 10001, + 0, + 0, + 0}); + // + // BtnDeleteAccount + // + resources.ApplyResources(this.BtnDeleteAccount, "BtnDeleteAccount"); + this.BtnDeleteAccount.Name = "BtnDeleteAccount"; + this.BtnDeleteAccount.Tag = "delete"; + this.BtnDeleteAccount.UseVisualStyleBackColor = true; + this.BtnDeleteAccount.Click += new System.EventHandler(this.AccountButtonClicked); + // + // BtnCreateAccount + // + resources.ApplyResources(this.BtnCreateAccount, "BtnCreateAccount"); + this.BtnCreateAccount.Name = "BtnCreateAccount"; + this.BtnCreateAccount.Tag = "create"; + this.BtnCreateAccount.UseVisualStyleBackColor = true; + this.BtnCreateAccount.Click += new System.EventHandler(this.AccountButtonClicked); + // + // LblAccountUserName + // + resources.ApplyResources(this.LblAccountUserName, "LblAccountUserName"); + this.LblAccountUserName.Name = "LblAccountUserName"; + // + // TxtAccountUserName + // + resources.ApplyResources(this.TxtAccountUserName, "TxtAccountUserName"); + this.TxtAccountUserName.Name = "TxtAccountUserName"; + // + // GrpPermission + // + resources.ApplyResources(this.GrpPermission, "GrpPermission"); + this.GrpPermission.Controls.Add(this.CmbPerm); + this.GrpPermission.Controls.Add(this.NUDPermUID); + this.GrpPermission.Controls.Add(this.BtnPermClear); + this.GrpPermission.Controls.Add(this.BtmPermRemove); + this.GrpPermission.Controls.Add(this.BtnPermList); + this.GrpPermission.Controls.Add(this.BtnPermAdd); + this.GrpPermission.Controls.Add(this.LblPerm); + this.GrpPermission.Controls.Add(this.LblPermUID); + this.GrpPermission.Name = "GrpPermission"; + this.GrpPermission.TabStop = false; + // + // CmbPerm + // + this.CmbPerm.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CmbPerm.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CmbPerm.FormattingEnabled = true; + resources.ApplyResources(this.CmbPerm, "CmbPerm"); + this.CmbPerm.Name = "CmbPerm"; + // + // NUDPermUID + // + resources.ApplyResources(this.NUDPermUID, "NUDPermUID"); + this.NUDPermUID.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDPermUID.Name = "NUDPermUID"; + this.NUDPermUID.Value = new decimal(new int[] { + 10001, + 0, + 0, + 0}); + // + // BtnPermClear + // + resources.ApplyResources(this.BtnPermClear, "BtnPermClear"); + this.BtnPermClear.Name = "BtnPermClear"; + this.BtnPermClear.Tag = "clear"; + this.BtnPermClear.UseVisualStyleBackColor = true; + this.BtnPermClear.Click += new System.EventHandler(this.BtnPermClick); + // + // BtmPermRemove + // + resources.ApplyResources(this.BtmPermRemove, "BtmPermRemove"); + this.BtmPermRemove.Name = "BtmPermRemove"; + this.BtmPermRemove.Tag = "remove"; + this.BtmPermRemove.UseVisualStyleBackColor = true; + this.BtmPermRemove.Click += new System.EventHandler(this.BtnPermClick); + // + // BtnPermList + // + resources.ApplyResources(this.BtnPermList, "BtnPermList"); + this.BtnPermList.Name = "BtnPermList"; + this.BtnPermList.Tag = "list"; + this.BtnPermList.UseVisualStyleBackColor = true; + this.BtnPermList.Click += new System.EventHandler(this.BtnPermClick); + // + // BtnPermAdd + // + resources.ApplyResources(this.BtnPermAdd, "BtnPermAdd"); + this.BtnPermAdd.Name = "BtnPermAdd"; + this.BtnPermAdd.Tag = "add"; + this.BtnPermAdd.UseVisualStyleBackColor = true; + this.BtnPermAdd.Click += new System.EventHandler(this.BtnPermClick); + // + // LblPerm + // + resources.ApplyResources(this.LblPerm, "LblPerm"); + this.LblPerm.Name = "LblPerm"; + // + // LblPermUID + // + resources.ApplyResources(this.LblPermUID, "LblPermUID"); + this.LblPermUID.Name = "LblPermUID"; + // + // PageManagement + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.GrpBanPlayer); + this.Controls.Add(this.GrpAccount); + this.Controls.Add(this.GrpPermission); + this.Name = "PageManagement"; + this.GrpBanPlayer.ResumeLayout(false); + this.GrpBanPlayer.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDBanUID)).EndInit(); + this.GrpAccount.ResumeLayout(false); + this.GrpAccount.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDAccountUid)).EndInit(); + this.GrpPermission.ResumeLayout(false); + this.GrpPermission.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDPermUID)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox GrpBanPlayer; + private System.Windows.Forms.DateTimePicker DTPBanEndTime; + private System.Windows.Forms.Button BtnUnban; + private System.Windows.Forms.Button BtnBan; + private System.Windows.Forms.NumericUpDown NUDBanUID; + private System.Windows.Forms.Label LblBanUID; + private System.Windows.Forms.GroupBox GrpAccount; + private System.Windows.Forms.CheckBox ChkAccountSetUid; + private System.Windows.Forms.NumericUpDown NUDAccountUid; + private System.Windows.Forms.Button BtnDeleteAccount; + private System.Windows.Forms.Button BtnCreateAccount; + private System.Windows.Forms.Label LblAccountUserName; + private System.Windows.Forms.TextBox TxtAccountUserName; + private System.Windows.Forms.GroupBox GrpPermission; + private System.Windows.Forms.ComboBox CmbPerm; + private System.Windows.Forms.NumericUpDown NUDPermUID; + private System.Windows.Forms.Button BtnPermClear; + private System.Windows.Forms.Button BtmPermRemove; + private System.Windows.Forms.Button BtnPermList; + private System.Windows.Forms.Button BtnPermAdd; + private System.Windows.Forms.Label LblPerm; + private System.Windows.Forms.Label LblPermUID; + private System.Windows.Forms.TextBox TxtBanReason; + } +} diff --git a/Source/GrasscutterTools/Pages/PageManagement.cs b/Source/GrasscutterTools/Pages/PageManagement.cs new file mode 100644 index 0000000..c19806a --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageManagement.cs @@ -0,0 +1,102 @@ +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; +using System.Linq; +using System.Text.RegularExpressions; +using System.Windows.Forms; + +using GrasscutterTools.Properties; + +namespace GrasscutterTools.Pages +{ + internal partial class PageManagement : BasePage + { + public PageManagement() + { + InitializeComponent(); + if (DesignMode) return; + } + + public override void OnLoad() + { + CmbPerm.Items.Clear(); + CmbPerm.Items.AddRange(Resources.Permissions.Split('\n').Select(l => l.Trim()).ToArray()); + } + + /// + /// 点击授权按钮时触发 + /// + private void BtnPermClick(object sender, EventArgs e) + { + var uid = NUDPermUID.Value; + var perm = CmbPerm.Text.Trim(); + var act = (sender as Button).Tag.ToString(); + if (act == "list" || act == "clear") + { + SetCommand($"/permission {act} @{uid}"); + } + else + { + if (string.IsNullOrEmpty(perm)) + { + MessageBox.Show(Resources.PermissionCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + SetCommand($"/permission {act} @{uid} {perm}"); + } + } + + /// + /// 账号相关按钮点击时触发,Tag包含子命令 + /// + private void AccountButtonClicked(object sender, EventArgs e) + { + var username = TxtAccountUserName.Text.Trim(); + if (string.IsNullOrEmpty(username)) + { + MessageBox.Show(Resources.UsernameCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + SetCommand($"/account {(sender as Button).Tag} {username} {(ChkAccountSetUid.Checked ? NUDAccountUid.Value.ToString() : "")}"); + } + + /// + /// 点击封禁按钮时触发 + /// + private void BtnBan_Click(object sender, EventArgs e) + { + var uid = NUDBanUID.Value; + var endTime = DTPBanEndTime.Value; + var command = $"/ban @{uid} {new DateTimeOffset(endTime).ToUnixTimeSeconds()}"; + var reaseon = Regex.Replace(TxtBanReason.Text.Trim(), @"\s+", "-"); + if (!string.IsNullOrEmpty(reaseon)) + command += $" {reaseon}"; + SetCommand(command); + } + + /// + /// 点击解封按钮时触发 + /// + private void BtnUnban_Click(object sender, EventArgs e) + { + SetCommand($"/unban @{NUDBanUID.Value}"); + } + } +} \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageManagement.en-US.resx b/Source/GrasscutterTools/Pages/PageManagement.en-US.resx new file mode 100644 index 0000000..d881474 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageManagement.en-US.resx @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Unban + + + Ban + + + + 54, 22 + + + 94, 23 + + + 18, 25 + + + 30, 17 + + + UID + + + Ban + + + Account + + + 239, 24 + + + 49, 21 + + + UID + + + Delete + + + Create + + + 67, 17 + + + Username + + + 80, 21 + + + Permissions + + + 54, 22 + + + Clear + + + Delete + + + List + + + Add + + + 200, 25 + + + 44, 17 + + + Perms + + + 18, 24 + + + 30, 17 + + + UID + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageManagement.resx b/Source/GrasscutterTools/Pages/PageManagement.resx new file mode 100644 index 0000000..0f5b76e --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageManagement.resx @@ -0,0 +1,732 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + None + + + + 250, 22 + + + 150, 23 + + + + 3 + + + TxtBanReason + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBanPlayer + + + 0 + + + 154, 22 + + + 90, 23 + + + 2 + + + DTPBanEndTime + + + System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBanPlayer + + + 1 + + + NoControl + + + 473, 22 + + + 60, 23 + + + 5 + + + 解封 + + + BtnUnban + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBanPlayer + + + 2 + + + NoControl + + + 407, 22 + + + 60, 23 + + + 4 + + + 封号 + + + BtnBan + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBanPlayer + + + 3 + + + 66, 22 + + + 82, 23 + + + 1 + + + NUDBanUID + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBanPlayer + + + 4 + + + True + + + NoControl + + + 6, 25 + + + 54, 17 + + + 0 + + + 目标UID + + + LblBanUID + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBanPlayer + + + 5 + + + 53, 165 + + + 540, 60 + + + 2 + + + 封禁管理 + + + GrpBanPlayer + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + None + + + True + + + NoControl + + + 215, 23 + + + 73, 21 + + + 2 + + + 指定UID + + + ChkAccountSetUid + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 0 + + + 294, 22 + + + 106, 23 + + + 3 + + + NUDAccountUid + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 1 + + + NoControl + + + 473, 22 + + + 60, 23 + + + 5 + + + - 删除 + + + BtnDeleteAccount + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 2 + + + NoControl + + + 407, 22 + + + 60, 23 + + + 4 + + + + 创建 + + + BtnCreateAccount + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 3 + + + True + + + NoControl + + + 16, 25 + + + 44, 17 + + + 0 + + + 用户名 + + + LblAccountUserName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 4 + + + 66, 22 + + + 140, 23 + + + 1 + + + test + + + TxtAccountUserName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 5 + + + 53, 13 + + + 540, 60 + + + 0 + + + 账号管理 + + + GrpAccount + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + None + + + 250, 21 + + + 150, 25 + + + 3 + + + CmbPerm + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 0 + + + 66, 22 + + + 140, 23 + + + 1 + + + NUDPermUID + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 1 + + + NoControl + + + 473, 51 + + + 60, 23 + + + 7 + + + x 清空 + + + BtnPermClear + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 2 + + + NoControl + + + 473, 22 + + + 60, 23 + + + 5 + + + - 移除 + + + BtmPermRemove + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 3 + + + NoControl + + + 407, 51 + + + 60, 23 + + + 6 + + + 列出 + + + BtnPermList + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 4 + + + NoControl + + + 407, 22 + + + 60, 23 + + + 4 + + + + 添加 + + + BtnPermAdd + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 5 + + + True + + + NoControl + + + 212, 25 + + + 32, 17 + + + 2 + + + 权限 + + + LblPerm + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 6 + + + True + + + NoControl + + + 6, 25 + + + 54, 17 + + + 0 + + + 目标UID + + + LblPermUID + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 7 + + + 53, 79 + + + 540, 80 + + + 1 + + + 权限管理 + + + GrpPermission + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + 7, 17 + + + PageManagement + + + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageManagement.ru-RU.resx b/Source/GrasscutterTools/Pages/PageManagement.ru-RU.resx new file mode 100644 index 0000000..66e0993 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageManagement.ru-RU.resx @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 111, 23 + + + 453, 21 + + + 80, 23 + + + Разбанить + + + 367, 21 + + + 80, 23 + + + Забанить + + + 42, 22 + + + 106, 23 + + + 30, 17 + + + UID + + + Управление банами + + + Управление аккаунтом + + + 220, 24 + + + 49, 21 + + + UID + + + 275, 22 + + + 463, 22 + + + 70, 23 + + + Удалить + + + 387, 22 + + + 70, 23 + + + Создать + + + 81, 17 + + + Имя игрока + + + 103, 22 + + + 111, 23 + + + Управление правами + + + 206, 21 + + + 155, 25 + + + 42, 21 + + + 106, 23 + + + 453, 51 + + + 80, 23 + + + Очистить + + + 453, 22 + + + 80, 23 + + + Удалить + + + 352, 51 + + + 95, 23 + + + Список прав + + + 367, 22 + + + 80, 23 + + + Добавить + + + 154, 24 + + + 46, 17 + + + Права + + + 30, 17 + + + UID + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageManagement.zh-TW.resx b/Source/GrasscutterTools/Pages/PageManagement.zh-TW.resx new file mode 100644 index 0000000..d1b60ec --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageManagement.zh-TW.resx @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 封禁 + + + 目標UID + + + 賬戶管理 + + + - 刪除 + + + + 創建 + + + 用戶名 + + + 權限管理 + + + 權限 + + + 目標UID + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageOpenCommand.cs b/Source/GrasscutterTools/Pages/PageOpenCommand.cs index c2b79bf..ad547e0 100644 --- a/Source/GrasscutterTools/Pages/PageOpenCommand.cs +++ b/Source/GrasscutterTools/Pages/PageOpenCommand.cs @@ -1,4 +1,23 @@ -using System; +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; using System.Collections.Generic; using System.Drawing; using System.IO; diff --git a/Source/GrasscutterTools/Pages/PageQuest.Designer.cs b/Source/GrasscutterTools/Pages/PageQuest.Designer.cs new file mode 100644 index 0000000..e009516 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageQuest.Designer.cs @@ -0,0 +1,140 @@ +namespace GrasscutterTools.Pages +{ + partial class PageQuest + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageQuest)); + this.GrpQuestFilters = new System.Windows.Forms.GroupBox(); + this.ChkQuestFilterTEST = new System.Windows.Forms.CheckBox(); + this.ChkQuestFilterUNRELEASED = new System.Windows.Forms.CheckBox(); + this.ChkQuestFilterHIDDEN = new System.Windows.Forms.CheckBox(); + this.BtnFinishQuest = new System.Windows.Forms.Button(); + this.BtnAddQuest = new System.Windows.Forms.Button(); + this.LblQuestDescription = new System.Windows.Forms.Label(); + this.TxtQuestFilter = new System.Windows.Forms.TextBox(); + this.ListQuest = new System.Windows.Forms.ListBox(); + this.GrpQuestFilters.SuspendLayout(); + this.SuspendLayout(); + // + // GrpQuestFilters + // + resources.ApplyResources(this.GrpQuestFilters, "GrpQuestFilters"); + this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterTEST); + this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterUNRELEASED); + this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterHIDDEN); + this.GrpQuestFilters.Name = "GrpQuestFilters"; + this.GrpQuestFilters.TabStop = false; + // + // ChkQuestFilterTEST + // + resources.ApplyResources(this.ChkQuestFilterTEST, "ChkQuestFilterTEST"); + this.ChkQuestFilterTEST.Name = "ChkQuestFilterTEST"; + this.ChkQuestFilterTEST.Tag = "(test)"; + this.ChkQuestFilterTEST.UseVisualStyleBackColor = true; + this.ChkQuestFilterTEST.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); + // + // ChkQuestFilterUNRELEASED + // + resources.ApplyResources(this.ChkQuestFilterUNRELEASED, "ChkQuestFilterUNRELEASED"); + this.ChkQuestFilterUNRELEASED.Name = "ChkQuestFilterUNRELEASED"; + this.ChkQuestFilterUNRELEASED.Tag = "$UNRELEASED"; + this.ChkQuestFilterUNRELEASED.UseVisualStyleBackColor = true; + this.ChkQuestFilterUNRELEASED.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); + // + // ChkQuestFilterHIDDEN + // + resources.ApplyResources(this.ChkQuestFilterHIDDEN, "ChkQuestFilterHIDDEN"); + this.ChkQuestFilterHIDDEN.Name = "ChkQuestFilterHIDDEN"; + this.ChkQuestFilterHIDDEN.Tag = "$HIDDEN"; + this.ChkQuestFilterHIDDEN.UseVisualStyleBackColor = true; + this.ChkQuestFilterHIDDEN.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); + // + // BtnFinishQuest + // + resources.ApplyResources(this.BtnFinishQuest, "BtnFinishQuest"); + this.BtnFinishQuest.Name = "BtnFinishQuest"; + this.BtnFinishQuest.Tag = "finish"; + this.BtnFinishQuest.UseVisualStyleBackColor = true; + this.BtnFinishQuest.Click += new System.EventHandler(this.QuestButsClicked); + // + // BtnAddQuest + // + resources.ApplyResources(this.BtnAddQuest, "BtnAddQuest"); + this.BtnAddQuest.Name = "BtnAddQuest"; + this.BtnAddQuest.Tag = "add"; + this.BtnAddQuest.UseVisualStyleBackColor = true; + this.BtnAddQuest.Click += new System.EventHandler(this.QuestButsClicked); + // + // LblQuestDescription + // + resources.ApplyResources(this.LblQuestDescription, "LblQuestDescription"); + this.LblQuestDescription.Name = "LblQuestDescription"; + // + // TxtQuestFilter + // + resources.ApplyResources(this.TxtQuestFilter, "TxtQuestFilter"); + this.TxtQuestFilter.Name = "TxtQuestFilter"; + this.TxtQuestFilter.TextChanged += new System.EventHandler(this.QuestFilterChanged); + // + // ListQuest + // + resources.ApplyResources(this.ListQuest, "ListQuest"); + this.ListQuest.FormattingEnabled = true; + this.ListQuest.Name = "ListQuest"; + // + // PageQuest + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.GrpQuestFilters); + this.Controls.Add(this.BtnFinishQuest); + this.Controls.Add(this.BtnAddQuest); + this.Controls.Add(this.LblQuestDescription); + this.Controls.Add(this.TxtQuestFilter); + this.Controls.Add(this.ListQuest); + this.Name = "PageQuest"; + this.GrpQuestFilters.ResumeLayout(false); + this.GrpQuestFilters.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.GroupBox GrpQuestFilters; + private System.Windows.Forms.CheckBox ChkQuestFilterTEST; + private System.Windows.Forms.CheckBox ChkQuestFilterUNRELEASED; + private System.Windows.Forms.CheckBox ChkQuestFilterHIDDEN; + private System.Windows.Forms.Button BtnFinishQuest; + private System.Windows.Forms.Button BtnAddQuest; + private System.Windows.Forms.Label LblQuestDescription; + private System.Windows.Forms.TextBox TxtQuestFilter; + private System.Windows.Forms.ListBox ListQuest; + } +} diff --git a/Source/GrasscutterTools/Pages/PageQuest.cs b/Source/GrasscutterTools/Pages/PageQuest.cs new file mode 100644 index 0000000..c8aa1aa --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageQuest.cs @@ -0,0 +1,77 @@ +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; +using System.Linq; +using System.Windows.Forms; + +using GrasscutterTools.Game; + +namespace GrasscutterTools.Pages +{ + internal partial class PageQuest : BasePage + { + public PageQuest() + { + InitializeComponent(); + } + + /// + /// 初始化任务列表 + /// + public override void OnLoad() + { + QuestFilterChanged(null, EventArgs.Empty); + } + + /// + /// 任务列表过滤器文本改变时触发 + /// + private void QuestFilterChanged(object sender, EventArgs e) + { + ListQuest.BeginUpdate(); + ListQuest.Items.Clear(); + ListQuest.Items.AddRange(GameData.Quests.Lines.Where(l => + { + if (!ChkQuestFilterHIDDEN.Checked && l.Contains((string)ChkQuestFilterHIDDEN.Tag)) + return false; + if (!ChkQuestFilterUNRELEASED.Checked && l.Contains((string)ChkQuestFilterUNRELEASED.Tag)) + return false; + if (!ChkQuestFilterTEST.Checked && l.Contains((string)ChkQuestFilterTEST.Tag)) + return false; + if (!string.IsNullOrEmpty(TxtQuestFilter.Text)) + return l.Contains(TxtQuestFilter.Text); + return true; + }).ToArray()); + ListQuest.EndUpdate(); + } + + /// + /// 任务相关按钮点击时触发(Tag带子命令) + /// + private void QuestButsClicked(object sender, EventArgs e) + { + if (ListQuest.SelectedIndex == -1) + return; + var item = ListQuest.SelectedItem as string; + var id = ItemMap.ToId(item); + SetCommand("/quest", $"{(sender as Button).Tag} {id}"); + } + } +} \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageQuest.en-US.resx b/Source/GrasscutterTools/Pages/PageQuest.en-US.resx new file mode 100644 index 0000000..8a36ee3 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageQuest.en-US.resx @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 51, 21 + + + Test + + + 93, 21 + + + Unreleased + + + 69, 21 + + + Hidden + + + List Filter + + + Finish + + + Add + + + Add or Finish Quest +Tip: Many quest require server-side scripting support +Therefore, the quest can be added and finished, but not necessarily work. + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageQuest.resx b/Source/GrasscutterTools/Pages/PageQuest.resx new file mode 100644 index 0000000..c885b2d --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageQuest.resx @@ -0,0 +1,395 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Bottom, Left + + + + True + + + NoControl + + + + 26, 82 + + + 75, 21 + + + 2 + + + 测试任务 + + + ChkQuestFilterTEST + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpQuestFilters + + + 0 + + + True + + + NoControl + + + 26, 55 + + + 99, 21 + + + 1 + + + 未发布的任务 + + + ChkQuestFilterUNRELEASED + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpQuestFilters + + + 1 + + + True + + + NoControl + + + 26, 28 + + + 87, 21 + + + 0 + + + 隐藏的任务 + + + ChkQuestFilterHIDDEN + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpQuestFilters + + + 2 + + + 199, 106 + + + 150, 130 + + + 3 + + + 列表过滤 + + + GrpQuestFilters + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + Bottom, Left + + + NoControl + + + 99, 213 + + + 90, 23 + + + 5 + + + 完成任务 + + + BtnFinishQuest + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Bottom, Left + + + NoControl + + + 3, 213 + + + 90, 23 + + + 4 + + + 添加任务 + + + BtnAddQuest + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + Top, Bottom, Left + + + NoControl + + + 3, 3 + + + 346, 100 + + + 0 + + + 添加或完成任务 +提示:许多任务需要服务端脚本支持 +因此任务可以接,可以完成,但是不一定可以做 + + + LblQuestDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + Top, Left, Right + + + 355, 2 + + + 288, 23 + + + 1 + + + TxtQuestFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + Top, Bottom, Left, Right + + + 17 + + + 355, 28 + + + 288, 208 + + + 2 + + + ListQuest + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + True + + + 7, 17 + + + PageQuest + + + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageQuest.ru-RU.resx b/Source/GrasscutterTools/Pages/PageQuest.ru-RU.resx new file mode 100644 index 0000000..e95b3c1 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageQuest.ru-RU.resx @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 52, 21 + + + Тест + + + 102, 21 + + + Неизданное + + + 81, 21 + + + Скрытый + + + Фильтр списка + + + Завершить + + + Добавить + + + Добавить или завершить задание. +Внимание: для многих квестов требуются скрипты таковых на стороне сервера. +Поэтому квест может быть добавлен или отозван через консоль, но завершён игроком - вряд ли. + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageQuest.zh-TW.resx b/Source/GrasscutterTools/Pages/PageQuest.zh-TW.resx new file mode 100644 index 0000000..7bbaa78 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageQuest.zh-TW.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 測試任務 + + + 未發佈的任務 + + + 隱藏的任務 + + + 列表過濾 + + + 完成任務 + + + 添加任務 + + + 添加或完成任務 +提示:許多任務需要服務端腳本支持 +囙此任務可以接,可以完成,但是不一定可以做 + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageScene.Designer.cs b/Source/GrasscutterTools/Pages/PageScene.Designer.cs new file mode 100644 index 0000000..87a3abc --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageScene.Designer.cs @@ -0,0 +1,246 @@ +namespace GrasscutterTools.Pages +{ + partial class PageScene + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageScene)); + this.RbListDungeons = new System.Windows.Forms.RadioButton(); + this.RbListScene = new System.Windows.Forms.RadioButton(); + this.TxtSceneFilter = new System.Windows.Forms.TextBox(); + this.ChkIncludeSceneId = new System.Windows.Forms.CheckBox(); + this.LblTpZ = new System.Windows.Forms.Label(); + this.LblTpY = new System.Windows.Forms.Label(); + this.BtnTeleport = new System.Windows.Forms.Button(); + this.LblTpX = new System.Windows.Forms.Label(); + this.NUDTpZ = new System.Windows.Forms.NumericUpDown(); + this.NUDTpY = new System.Windows.Forms.NumericUpDown(); + this.NUDTpX = new System.Windows.Forms.NumericUpDown(); + this.CmbClimateType = new System.Windows.Forms.ComboBox(); + this.LblClimateType = new System.Windows.Forms.Label(); + this.LblSceneDescription = new System.Windows.Forms.Label(); + this.ListScenes = new System.Windows.Forms.ListBox(); + this.LblTp = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.NUDTpZ)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDTpY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDTpX)).BeginInit(); + this.SuspendLayout(); + // + // RbListDungeons + // + resources.ApplyResources(this.RbListDungeons, "RbListDungeons"); + this.RbListDungeons.Name = "RbListDungeons"; + this.RbListDungeons.UseVisualStyleBackColor = true; + this.RbListDungeons.CheckedChanged += new System.EventHandler(this.RbListDungeons_CheckedChanged); + // + // RbListScene + // + resources.ApplyResources(this.RbListScene, "RbListScene"); + this.RbListScene.Checked = true; + this.RbListScene.Name = "RbListScene"; + this.RbListScene.TabStop = true; + this.RbListScene.UseVisualStyleBackColor = true; + this.RbListScene.CheckedChanged += new System.EventHandler(this.RbListScene_CheckedChanged); + // + // TxtSceneFilter + // + resources.ApplyResources(this.TxtSceneFilter, "TxtSceneFilter"); + this.TxtSceneFilter.Name = "TxtSceneFilter"; + this.TxtSceneFilter.TextChanged += new System.EventHandler(this.TxtSceneFilter_TextChanged); + // + // ChkIncludeSceneId + // + resources.ApplyResources(this.ChkIncludeSceneId, "ChkIncludeSceneId"); + this.ChkIncludeSceneId.Name = "ChkIncludeSceneId"; + this.ChkIncludeSceneId.UseVisualStyleBackColor = true; + // + // LblTpZ + // + resources.ApplyResources(this.LblTpZ, "LblTpZ"); + this.LblTpZ.Name = "LblTpZ"; + // + // LblTpY + // + resources.ApplyResources(this.LblTpY, "LblTpY"); + this.LblTpY.Name = "LblTpY"; + // + // BtnTeleport + // + resources.ApplyResources(this.BtnTeleport, "BtnTeleport"); + this.BtnTeleport.Name = "BtnTeleport"; + this.BtnTeleport.UseVisualStyleBackColor = true; + this.BtnTeleport.Click += new System.EventHandler(this.BtnTeleport_Click); + // + // LblTpX + // + resources.ApplyResources(this.LblTpX, "LblTpX"); + this.LblTpX.Name = "LblTpX"; + // + // NUDTpZ + // + resources.ApplyResources(this.NUDTpZ, "NUDTpZ"); + this.NUDTpZ.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.NUDTpZ.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDTpZ.Minimum = new decimal(new int[] { + -2147483648, + 0, + 0, + -2147483648}); + this.NUDTpZ.Name = "NUDTpZ"; + // + // NUDTpY + // + resources.ApplyResources(this.NUDTpY, "NUDTpY"); + this.NUDTpY.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.NUDTpY.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDTpY.Minimum = new decimal(new int[] { + -2147483648, + 0, + 0, + -2147483648}); + this.NUDTpY.Name = "NUDTpY"; + this.NUDTpY.Value = new decimal(new int[] { + 300, + 0, + 0, + 0}); + // + // NUDTpX + // + resources.ApplyResources(this.NUDTpX, "NUDTpX"); + this.NUDTpX.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.NUDTpX.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDTpX.Minimum = new decimal(new int[] { + -2147483648, + 0, + 0, + -2147483648}); + this.NUDTpX.Name = "NUDTpX"; + // + // CmbClimateType + // + resources.ApplyResources(this.CmbClimateType, "CmbClimateType"); + this.CmbClimateType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CmbClimateType.FormattingEnabled = true; + this.CmbClimateType.Name = "CmbClimateType"; + this.CmbClimateType.SelectedIndexChanged += new System.EventHandler(this.CmbClimateType_SelectedIndexChanged); + // + // LblClimateType + // + resources.ApplyResources(this.LblClimateType, "LblClimateType"); + this.LblClimateType.Name = "LblClimateType"; + // + // LblSceneDescription + // + resources.ApplyResources(this.LblSceneDescription, "LblSceneDescription"); + this.LblSceneDescription.Name = "LblSceneDescription"; + // + // ListScenes + // + resources.ApplyResources(this.ListScenes, "ListScenes"); + this.ListScenes.FormattingEnabled = true; + this.ListScenes.Name = "ListScenes"; + this.ListScenes.SelectedIndexChanged += new System.EventHandler(this.ListScenes_SelectedIndexChanged); + // + // LblTp + // + resources.ApplyResources(this.LblTp, "LblTp"); + this.LblTp.Name = "LblTp"; + // + // PageScene + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.RbListDungeons); + this.Controls.Add(this.RbListScene); + this.Controls.Add(this.TxtSceneFilter); + this.Controls.Add(this.ChkIncludeSceneId); + this.Controls.Add(this.LblTpZ); + this.Controls.Add(this.LblTpY); + this.Controls.Add(this.BtnTeleport); + this.Controls.Add(this.LblTpX); + this.Controls.Add(this.NUDTpZ); + this.Controls.Add(this.NUDTpY); + this.Controls.Add(this.NUDTpX); + this.Controls.Add(this.CmbClimateType); + this.Controls.Add(this.LblClimateType); + this.Controls.Add(this.LblSceneDescription); + this.Controls.Add(this.ListScenes); + this.Controls.Add(this.LblTp); + this.Name = "PageScene"; + ((System.ComponentModel.ISupportInitialize)(this.NUDTpZ)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDTpY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUDTpX)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.RadioButton RbListDungeons; + private System.Windows.Forms.RadioButton RbListScene; + private System.Windows.Forms.TextBox TxtSceneFilter; + private System.Windows.Forms.CheckBox ChkIncludeSceneId; + private System.Windows.Forms.Label LblTpZ; + private System.Windows.Forms.Label LblTpY; + private System.Windows.Forms.Button BtnTeleport; + private System.Windows.Forms.Label LblTpX; + private System.Windows.Forms.NumericUpDown NUDTpZ; + private System.Windows.Forms.NumericUpDown NUDTpY; + private System.Windows.Forms.NumericUpDown NUDTpX; + private System.Windows.Forms.ComboBox CmbClimateType; + private System.Windows.Forms.Label LblClimateType; + private System.Windows.Forms.Label LblSceneDescription; + private System.Windows.Forms.ListBox ListScenes; + private System.Windows.Forms.Label LblTp; + } +} diff --git a/Source/GrasscutterTools/Pages/PageScene.cs b/Source/GrasscutterTools/Pages/PageScene.cs new file mode 100644 index 0000000..45bb6ff --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageScene.cs @@ -0,0 +1,147 @@ +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; + +using GrasscutterTools.Game; +using GrasscutterTools.Properties; +using GrasscutterTools.Utils; + +namespace GrasscutterTools.Pages +{ + internal partial class PageScene : BasePage + { + public PageScene() + { + InitializeComponent(); + } + + private string[] _scenes; + + private string[] Scenes + { + get => _scenes; + set + { + if (_scenes == value) + return; + _scenes = value; + ListScenes.Items.Clear(); + ListScenes.Items.AddRange(value); + } + } + + /// + /// 初始化场景列表 + /// + public override void OnLoad() + { + Scenes = GameData.Scenes.Lines; + CmbClimateType.Items.Clear(); + CmbClimateType.Items.AddRange(Resources.ClimateType.Split(',')); + } + + /// + /// 选中场景时触发 + /// + private void RbListScene_CheckedChanged(object sender, EventArgs e) + { + if (RbListScene.Checked) + Scenes = GameData.Scenes.Lines; + } + + /// + /// 选中秘境时触发 + /// + private void RbListDungeons_CheckedChanged(object sender, EventArgs e) + { + if (RbListDungeons.Checked) + Scenes = GameData.Dungeons.Lines; + } + + /// + /// 场景列表过滤器输入项改变时触发 + /// + private void TxtSceneFilter_TextChanged(object sender, EventArgs e) + { + UIUtil.ListBoxFilter(ListScenes, Scenes, TxtSceneFilter.Text); + } + + /// + /// 场景列表选中项改变时触发 + /// + private void ListScenes_SelectedIndexChanged(object sender, EventArgs e) + { + if (ListScenes.SelectedIndex < 0) + { + ChkIncludeSceneId.Enabled = false; + return; + } + ChkIncludeSceneId.Enabled = true; + + // 可以直接弃用 scene 命令 + var name = ListScenes.SelectedItem as string; + var id = ItemMap.ToId(name); + if (RbListScene.Checked) + { + if (CommandVersion.Check(CommandVersion.V1_2_2)) + { + SetCommand("/scene", id.ToString()); + } + else + { + SetCommand("/tp ~ ~ ~", id.ToString()); + } + } + else if (RbListDungeons.Checked) + { + SetCommand("/dungeon", id.ToString()); + } + } + + /// + /// 气候类型列表 + /// + private static readonly string[] climateTypes = { "none", "sunny", "cloudy", "rain", "thunderstorm", "snow", "mist" }; + + /// + /// 气候类型下拉框选中项改变时触发 + /// + private void CmbClimateType_SelectedIndexChanged(object sender, EventArgs e) + { + if (CmbClimateType.SelectedIndex < 0) + return; + if (CommandVersion.Check(CommandVersion.V1_2_2)) + SetCommand("/weather", CmbClimateType.SelectedIndex < climateTypes.Length ? climateTypes[CmbClimateType.SelectedIndex] : "none"); + else + SetCommand("/weather", $"0 {CmbClimateType.SelectedIndex}"); + } + + /// + /// 点击传送按钮时触发 + /// + private void BtnTeleport_Click(object sender, EventArgs e) + { + string args = $"{NUDTpX.Value} {NUDTpY.Value} {NUDTpZ.Value}"; + if (ChkIncludeSceneId.Checked && RbListScene.Checked && ListScenes.SelectedIndex != -1) + args += $" {GameData.Scenes.Ids[ListScenes.SelectedIndex]}"; + SetCommand("/tp", args); + } + } +} \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageScene.en-US.resx b/Source/GrasscutterTools/Pages/PageScene.en-US.resx new file mode 100644 index 0000000..9d71bad --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageScene.en-US.resx @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 252, 32 + + + 85, 21 + + + Dungeons + + + 252, 5 + + + 66, 21 + + + Scenes + + + 122, 21 + + + Include scene Id + + + Teleport + + + 57, 17 + + + Weather + + + 87, 17 + + + Scene control + + + + False + + + 3, 66 + + + 334, 87 + + + Teleporting +Tip: You can quickly teleport through the 'fishing hook' pin on the map in-game. +In the command, you can use ~ to indicate the current position, and ~N to indicate the relative current N + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageScene.resx b/Source/GrasscutterTools/Pages/PageScene.resx new file mode 100644 index 0000000..c4a9cb7 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageScene.resx @@ -0,0 +1,606 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + True + + + + NoControl + + + + 287, 30 + + + 50, 21 + + + 2 + + + 秘境 + + + RbListDungeons + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + NoControl + + + 287, 3 + + + 50, 21 + + + 1 + + + 场景 + + + RbListScene + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Top, Left, Right + + + 343, 2 + + + 300, 23 + + + 14 + + + TxtSceneFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + Bottom, Left + + + True + + + False + + + NoControl + + + 87, 187 + + + 76, 21 + + + 13 + + + 含场景ID + + + ChkIncludeSceneId + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + Bottom, Left + + + True + + + NoControl + + + 215, 158 + + + 14, 17 + + + 10 + + + z + + + LblTpZ + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + Bottom, Left + + + True + + + NoControl + + + 109, 158 + + + 14, 17 + + + 8 + + + y + + + LblTpY + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + Bottom, Left + + + NoControl + + + 6, 185 + + + 75, 23 + + + 12 + + + 传送 + + + BtnTeleport + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + Bottom, Left + + + True + + + NoControl + + + 3, 158 + + + 14, 17 + + + 6 + + + x + + + LblTpX + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + Bottom, Left + + + 235, 156 + + + 80, 23 + + + 11 + + + NUDTpZ + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + Bottom, Left + + + 129, 156 + + + 80, 23 + + + 9 + + + NUDTpY + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + Bottom, Left + + + 23, 156 + + + 80, 23 + + + 7 + + + NUDTpX + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + Bottom, Left + + + 65, 29 + + + 121, 25 + + + 4 + + + CmbClimateType + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + Bottom, Left + + + True + + + NoControl + + + 3, 32 + + + 56, 17 + + + 3 + + + 设置天气 + + + LblClimateType + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 12 + + + True + + + NoControl + + + 3, 3 + + + 56, 17 + + + 0 + + + 场景控制 + + + LblSceneDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 13 + + + Top, Bottom, Left, Right + + + 17 + + + 343, 28 + + + 300, 208 + + + 15 + + + ListScenes + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 14 + + + Bottom, Left + + + True + + + NoControl + + + 3, 102 + + + 296, 51 + + + 5 + + + 坐标传送 +提示:游戏内可以通过小地图的'鱼钩'标记来快捷传送 +命令中可以用~表示当前位置,~100表示相对当前100 + + + + LblTp + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 15 + + + True + + + 7, 17 + + + PageScene + + + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageScene.ru-RU.resx b/Source/GrasscutterTools/Pages/PageScene.ru-RU.resx new file mode 100644 index 0000000..2c09b15 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageScene.ru-RU.resx @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 237, 29 + + + 100, 21 + + + Подземелья + + + 237, 2 + + + 66, 21 + + + Сцены + + + 84, 215 + + + 228, 21 + + + Включить идентификатор сцены + + + 212, 186 + + + 106, 186 + + + 3, 213 + + + Телепорт + + + 0, 186 + + + 232, 184 + + + 126, 184 + + + 20, 184 + + + 52, 17 + + + Погода + + + 142, 17 + + + Управление сценами. + + + + False + + + 3, 57 + + + 334, 124 + + + Телепортация +Подсказка: вы можете быстро телепортироваться через отметку «рыболовный крючок» на миникарте в игре. +В команде вы можете использовать ~, чтобы указать текущую позицию, и ~N, чтобы указать смещение на N относительно текущей позиции + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageScene.zh-TW.resx b/Source/GrasscutterTools/Pages/PageScene.zh-TW.resx new file mode 100644 index 0000000..21f9437 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageScene.zh-TW.resx @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 祕境 + + + 場景 + + + 含場景ID + + + 傳送 + + + 設置天氣 + + + 場景控制 + + + + 290, 51 + + + 座標傳送 +提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送 +命令中可以用~表示當前位置,~N 表示相對當前N + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageSpawn.cs b/Source/GrasscutterTools/Pages/PageSpawn.cs index 6fdec1f..d293786 100644 --- a/Source/GrasscutterTools/Pages/PageSpawn.cs +++ b/Source/GrasscutterTools/Pages/PageSpawn.cs @@ -1,4 +1,23 @@ -using System; +/** + * Grasscutter Tools + * Copyright (C) 2022 jie65535 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + **/ + +using System; using System.Collections.Generic; using System.IO; using System.Linq;