sync fork

This commit is contained in:
Егор Брон 2022-11-09 14:25:14 +03:00
commit d95a22fc53
47 changed files with 5712 additions and 1399 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

View File

@ -16,6 +16,19 @@ Support 简体中文, 繁体中文, English and Русский languages.
> **Warning**: app look may be different rather than on screenshots. It may also contain translation errors and a lack of certain resources. **We're welcome everyone to contribute to their [improvement](/Source/GrasscutterTools/Resources/en-us)**
## Update log
### GrasscutterTools-v1.7.3
![Gadget](Doc/Screenshots-en/6-SpawnEntity.png)
Added [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller) plugins command generation
![AttackInfusedWithItem Gif](Doc/Screenshots/AttackMod.gif)
### GrasscutterTools-v1.7.2
![Shop Editor](Doc/Screenshots-en/17-ShopEditor.png)
### GrasscutterTools-v1.7.1
- Gadgets(CHS Only)
### GrasscutterTools-v1.7.0
![Run Commands](Doc/Screenshots/RunMultipleCommands.png)

View File

@ -15,6 +15,19 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体
> **Warning**: вид приложения может отличаться от скриншотов. Также в нём могут присутствовать ошибки в переводе и отсутсвие некоторых ресурсов. **Мы приглашаем всех сделать вклад в их [улучшение](/Source/GrasscutterTools/Resources/ru-ru)**
## Лог обновлений
### GrasscutterTools-v1.7.3
![Улучшенный спавн](Doc/Screenshots-ru/4-SpawnEntity.png)
Добавлена поддержка генерации команд для плагинов [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller).
![AttackInfusedWithItem Gif](Doc/Screenshots/AttackMod.gif)
### GrasscutterTools-v1.7.2
![Редактор магазина](Doc/Screenshots-ru/17-ShopEditor.png)
### GrasscutterTools-v1.7.1
- Гаджеты (пока что только на китайском)
### GrasscutterTools-v1.7.0
![Запуск нескольких команд](Doc/Screenshots/RunMultipleCommands.png)
@ -47,8 +60,6 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体
![Главная](Doc/Screenshots-ru/0-Home.png)
![Run Command](Doc/Screenshots/RunMultipleCommands.png)
![Скриншот пользовательских команд](Doc/Screenshots-ru/1-CustomCommands.png)
![Скриншот артефактов](Doc/Screenshots-ru/2-CustomArtifact.png)
@ -67,8 +78,6 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体
![Скриншот управления аккаунтом](Doc/Screenshots-ru/11-Manage.png)
![Скриншот Credits](Doc/Screenshots-ru/12-Credits.png)
![Скриншот OpenCommand](Doc/Screenshots-ru/13-Remote.png)
![Редактор баннеров](Doc/Screenshots-ru/14-GachaBannerEditor.png)

View File

@ -17,9 +17,22 @@
## Update log
### GrasscutterTools-v1.7.1
### GrasscutterTools-v1.7.3
![Spawns](Doc/Screenshots/6-SpawnEntity.png)
![Spawn Entity Screenshort](Doc/Screenshots/6-SpawnEntity.png)
![AttackMod](Doc/Screenshots/6.1-AttackMod.png)
![AttackInfuse](Doc/Screenshots/6.2-AttackInfuse.png)
新增[攻击修改](https://github.com/NotThorny/AttackModifier)、[攻击注入](https://github.com/snoobi-seggs/AttackInfusedWithItem)、[切换元素](https://github.com/Penelopeep/SwitchElementTraveller)等插件命令生成
![AttackInfusedWithItem Gif](Doc/Screenshots/AttackMod.gif)
### GrasscutterTools-v1.7.2
![Shop Editor](Doc/Screenshots/17-ShopEditor.png)
### GrasscutterTools-v1.7.1
- 增加了 Gadgets
### GrasscutterTools-v1.7.0

View File

@ -52,6 +52,12 @@
<setting name="ShopJsonPath" serializeAs="String">
<value />
</setting>
<setting name="MainFormLocation" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="MainFormSize" serializeAs="String">
<value>0, 0</value>
</setting>
</GrasscutterTools.Properties.Settings>
</userSettings>
</configuration>

View File

@ -76,6 +76,7 @@ namespace GrasscutterTools.Forms
this.DTPBanEndTime = new System.Windows.Forms.DateTimePicker();
this.BtnUnban = new System.Windows.Forms.Button();
this.BtnBan = new System.Windows.Forms.Button();
this.TxtBanReason = new GrasscutterTools.Controls.TextBoxXP();
this.NUDBanUID = new System.Windows.Forms.NumericUpDown();
this.LblBanUID = new System.Windows.Forms.Label();
this.GrpAccount = new System.Windows.Forms.GroupBox();
@ -153,6 +154,8 @@ namespace GrasscutterTools.Forms
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();
@ -321,7 +324,7 @@ namespace GrasscutterTools.Forms
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.LnkCharacterBuilder = new System.Windows.Forms.LinkLabel();
this.GrpCommand.SuspendLayout();
this.TPRemoteCall.SuspendLayout();
this.GrpServerStatus.SuspendLayout();
@ -766,6 +769,14 @@ namespace GrasscutterTools.Forms
this.BtnBan.UseVisualStyleBackColor = true;
this.BtnBan.Click += new System.EventHandler(this.BtnBan_Click);
//
// 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";
//
// NUDBanUID
//
resources.ApplyResources(this.NUDBanUID, "NUDBanUID");
@ -1494,6 +1505,8 @@ namespace GrasscutterTools.Forms
// 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);
@ -1507,6 +1520,30 @@ namespace GrasscutterTools.Forms
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;
@ -2328,6 +2365,7 @@ namespace GrasscutterTools.Forms
//
// TPArtifact
//
this.TPArtifact.Controls.Add(this.LnkCharacterBuilder);
this.TPArtifact.Controls.Add(this.LblArtifactLevelTip);
this.TPArtifact.Controls.Add(this.BtnAddSubAttr);
this.TPArtifact.Controls.Add(this.LblArtifactName);
@ -2717,18 +2755,18 @@ namespace GrasscutterTools.Forms
//
resources.ApplyResources(this.TCMain, "TCMain");
this.TCMain.Controls.Add(this.TPHome);
this.TCMain.Controls.Add(this.TPRemoteCall);
this.TCMain.Controls.Add(this.TPCustom);
this.TCMain.Controls.Add(this.TPArtifact);
this.TCMain.Controls.Add(this.TPQuest);
this.TCMain.Controls.Add(this.TPSpawn);
this.TCMain.Controls.Add(this.TPItem);
this.TCMain.Controls.Add(this.TPAvatar);
this.TCMain.Controls.Add(this.TPWeapon);
this.TCMain.Controls.Add(this.TPItem);
this.TCMain.Controls.Add(this.TPScene);
this.TCMain.Controls.Add(this.TPManage);
this.TCMain.Controls.Add(this.TPMail);
this.TCMain.Controls.Add(this.TPQuest);
this.TCMain.Controls.Add(this.TPScene);
this.TCMain.Controls.Add(this.TPAbout);
this.TCMain.Controls.Add(this.TPRemoteCall);
this.TCMain.Name = "TCMain";
this.TCMain.SelectedIndex = 0;
//
@ -2987,13 +3025,12 @@ namespace GrasscutterTools.Forms
this.MenuSpawnEntityFilter.Name = "MenuSpawnEntityFilter";
resources.ApplyResources(this.MenuSpawnEntityFilter, "MenuSpawnEntityFilter");
//
// TxtBanReason
// LnkCharacterBuilder
//
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";
resources.ApplyResources(this.LnkCharacterBuilder, "LnkCharacterBuilder");
this.LnkCharacterBuilder.Name = "LnkCharacterBuilder";
this.LnkCharacterBuilder.TabStop = true;
this.LnkCharacterBuilder.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkCharacterBuilder_LinkClicked);
//
// FormMain
//
@ -3427,5 +3464,8 @@ namespace GrasscutterTools.Forms
private System.Windows.Forms.NumericUpDown NUDEntityMaxHp;
private System.Windows.Forms.Label LblEntityMaxHp;
private System.Windows.Forms.Label LblSpawnVersionRequireTip;
private System.Windows.Forms.ComboBox CmbSwitchElement;
private System.Windows.Forms.LinkLabel LnkSwitchElement;
private System.Windows.Forms.LinkLabel LnkCharacterBuilder;
}
}

View File

@ -60,6 +60,9 @@ namespace GrasscutterTools.Forms
#endif
}
/// <summary>
/// 窗体载入时触发(切换语言时会重新载入)
/// </summary>
private void FormMain_Load(object sender, EventArgs e)
{
Text += " - by jie65535 - v" + AppVersion.ToString(3);
@ -85,8 +88,26 @@ namespace GrasscutterTools.Forms
ChangeTPArtifact();
}
/// <summary>
/// 第一次显示窗体时触发
/// </summary>
protected override void OnShown(EventArgs e)
{
// 还原窗体位置
if (Settings.Default.MainFormLocation != default)
Location = Settings.Default.MainFormLocation;
// 还原窗体大小
if (Settings.Default.MainFormSize != default)
Size = Settings.Default.MainFormSize;
base.OnShown(e);
}
/// <summary>
/// 窗口关闭后触发
/// </summary>
private void FormMain_FormClosed(object sender, FormClosedEventArgs e)
{
// 保存当前设置
SaveSettings();
}
@ -112,8 +133,8 @@ namespace GrasscutterTools.Forms
try
{
// 恢复自动复制选项状态
ChkAutoCopy.Checked = Settings.Default.AutoCopy;
ChkAutoCopy.Checked = Settings.Default.AutoCopy;
// 初始化首页设置
InitHomeSettings();
@ -142,7 +163,10 @@ namespace GrasscutterTools.Forms
{
try
{
// 记录界面状态
Settings.Default.AutoCopy = ChkAutoCopy.Checked;
Settings.Default.MainFormLocation = Location;
Settings.Default.MainFormSize = Size;
// 保存自定义命令
SaveCustomCommands();
@ -796,6 +820,14 @@ namespace GrasscutterTools.Forms
LblArtifactLevelTip.Text = $"[{NUDArtifactLevel.Minimum}-{NUDArtifactLevel.Maximum}]";
}
/// <summary>
/// 点击CharacterBuilder链接标签时触发
/// </summary>
private void LnkCharacterBuilder_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenURL("https://github.com/Penelopeep/CharacterBuilder");
}
#endregion - Artifact -
#region - Weapons -
@ -997,6 +1029,8 @@ namespace GrasscutterTools.Forms
#region - Avatars -
#region -- --
/// <summary>
/// 初始化角色列表
/// </summary>
@ -1081,6 +1115,35 @@ namespace GrasscutterTools.Forms
SetCommand("/give avatars", $"lv{level} c{constellation}");
}
#endregion
#region -- --
/// <summary>
/// 点击切换主角元素链接标签时触发
/// </summary>
private void LnkSwitchElement_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenURL("https://github.com/Penelopeep/SwitchElementTraveller");
}
/// <summary>
/// 元素参数
/// </summary>
private readonly string[] Elements = { "white", "fire", "water", "wind", "ice", "rock", "electro", "grass" };
/// <summary>
/// 切换元素下拉框选中项改变时触发
/// </summary>
private void CmbSwitchElement_SelectedIndexChanged(object sender, EventArgs e)
{
if (CmbSwitchElement.SelectedIndex == -1 || CmbSwitchElement.SelectedIndex >= Elements.Length) return;
SetCommand("/se", Elements[CmbSwitchElement.SelectedIndex]);
}
#endregion
#region -- --
/// <summary>
/// 初始化数据列表
/// </summary>
@ -1127,6 +1190,10 @@ namespace GrasscutterTools.Forms
SetCommand("/setstats", $"unlock {stat.ArgName}");
}
#endregion
#region -- --
/// <summary>
/// 点击设置技能按钮时触发
/// </summary>
@ -1135,6 +1202,10 @@ namespace GrasscutterTools.Forms
SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}");
}
#endregion
#region -- --
/// <summary>
/// 设置命座链接标签点击时触发
/// </summary>
@ -1146,6 +1217,8 @@ namespace GrasscutterTools.Forms
SetCommand("/resetConst", (sender == LnkSetAllConst ? "all" : string.Empty));
}
#endregion
#endregion - Avatars -
#region - Spawns -
@ -1180,8 +1253,8 @@ namespace GrasscutterTools.Forms
AddTypes(GameData.Gadgets);
MenuSpawnEntityFilter.ResumeLayout();
// 默认显示所有怪物
SelectedEntityTypeLines = GameData.Monsters.AllLines.ToArray();
// 默认显示所有
SelectedEntityTypeLines = GameData.Monsters.AllLines.Concat(GameData.Gadgets.AllLines).ToArray();
LoadEntityList();
}
@ -1445,7 +1518,7 @@ namespace GrasscutterTools.Forms
/// </summary>
private void OnAttackInfusedCommand(object sender, EventArgs e)
{
SetCommand("/at", (sender as Control).Tag as string);
SetCommand("/snoospawn", (sender as Control).Tag as string);
}
/// <summary>
@ -1474,7 +1547,7 @@ namespace GrasscutterTools.Forms
ConnectArg(NUDAiwiCount);
ConnectArg(NUDAiwiHeight);
ConnectArg(NUDAiwiRadius);
SetCommand("/at", id.ToString() + args);
SetCommand("/snoospawn", id.ToString() + args);
//SetCommand("/at", $"{id} {NUDAiwiRadius.Value} {NUDAiwiHeight.Value} {NUDAiwiCount.Value} {NUDAiwiSpread.Value} {NUDAiwiRotateX.Value} {NUDAiwiRotateY.Value} {NUDAiwiRotateZ.Value}");
}
@ -2425,13 +2498,19 @@ namespace GrasscutterTools.Forms
#endregion - Remote -
#region - GOOD -
#region - GOOD -
/// <summary>
/// 点击GOOD导入存档按钮时触发
/// </summary>
async private void ButtonOpenGOODImport_Click(object sender, EventArgs e)
{
if (OC == null || !OC.CanInvoke)
{
ShowTip(Resources.RequireOpenCommandTip, ButtonOpenGOODImport);
return;
}
OpenFileDialog openFileDialog1 = new OpenFileDialog
{
Filter = "GOOD file (*.GOOD;*.json)|*.GOOD;*.json|All files (*.*)|*.*",

View File

@ -127,14 +127,11 @@
<data name="ChkAutoCopy.Text" xml:space="preserve">
<value>Auto</value>
</data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>Command - [Ctrl] Autorun - [|] Split multiple commands</value>
</data>
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
<value>Run(F5)</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>Remote</value>
<data name="GrpCommand.Text" xml:space="preserve">
<value>Command - [Ctrl] Autorun - [|] Split multiple commands</value>
</data>
<data name="LnkInventoryKamera.Text" xml:space="preserve">
<value>InventoryKamera</value>
@ -154,9 +151,6 @@
<data name="LblHostTip.Text" xml:space="preserve">
<value>Please be sure https:// or http:// is included with the IP address</value>
</data>
<data name="GrpServerStatus.Text" xml:space="preserve">
<value>Server status</value>
</data>
<data name="LnkOpenCommandLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 63</value>
</data>
@ -193,11 +187,8 @@
<data name="LblPlayerCountLabel.Text" xml:space="preserve">
<value>Player count</value>
</data>
<data name="GrpRemoteCommand.Text" xml:space="preserve">
<value>Remote Cell</value>
</data>
<data name="TPPlayerCheck.Text" xml:space="preserve">
<value>Player</value>
<data name="GrpServerStatus.Text" xml:space="preserve">
<value>Server status</value>
</data>
<data name="LnkRCHelp.Size" type="System.Drawing.Size, System.Drawing">
<value>35, 17</value>
@ -217,8 +208,8 @@
<data name="BtnSendVerificationCode.Text" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="TPConsoleCheck.Text" xml:space="preserve">
<value>Console</value>
<data name="TPPlayerCheck.Text" xml:space="preserve">
<value>Player</value>
</data>
<data name="BtnConsoleConnect.Text" xml:space="preserve">
<value>Connect</value>
@ -226,6 +217,12 @@
<data name="LblConsoleTip.Text" xml:space="preserve">
<value>Note that normal commands in the console state must specify the target (set include UID)</value>
</data>
<data name="TPConsoleCheck.Text" xml:space="preserve">
<value>Console</value>
</data>
<data name="GrpRemoteCommand.Text" xml:space="preserve">
<value>Remote Cell</value>
</data>
<data name="TxtHost.Location" type="System.Drawing.Point, System.Drawing">
<value>136, 36</value>
</data>
@ -247,8 +244,8 @@
<data name="LblHost.Text" xml:space="preserve">
<value>Server IP</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>About</value>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>Remote</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>387, 102</value>
@ -261,11 +258,8 @@ 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.</value>
</data>
<data name="TPManage.Text" xml:space="preserve">
<value>Manage</value>
</data>
<data name="GrpBanPlayer.Text" xml:space="preserve">
<value>Ban</value>
<data name="TPAbout.Text" xml:space="preserve">
<value>About</value>
</data>
<data name="BtnUnban.Text" xml:space="preserve">
<value>Unban</value>
@ -285,8 +279,8 @@ or there is a new feature request, you can file an issue on Github.</value>
<data name="LblBanUID.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="GrpAccount.Text" xml:space="preserve">
<value>Account</value>
<data name="GrpBanPlayer.Text" xml:space="preserve">
<value>Ban</value>
</data>
<data name="ChkAccountSetUid.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 21</value>
@ -321,8 +315,8 @@ or there is a new feature request, you can file an issue on Github.</value>
<data name="TxtAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>127, 23</value>
</data>
<data name="GrpPermission.Text" xml:space="preserve">
<value>Permissions</value>
<data name="GrpAccount.Text" xml:space="preserve">
<value>Account</value>
</data>
<data name="CmbPerm.Location" type="System.Drawing.Point, System.Drawing">
<value>262, 21</value>
@ -357,8 +351,11 @@ or there is a new feature request, you can file an issue on Github.</value>
<data name="LblPermUID.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>Scene</value>
<data name="GrpPermission.Text" xml:space="preserve">
<value>Permissions</value>
</data>
<data name="TPManage.Text" xml:space="preserve">
<value>Manage</value>
</data>
<data name="ChkIncludeSceneId.Location" type="System.Drawing.Point, System.Drawing">
<value>91, 213</value>
@ -430,8 +427,8 @@ Tip: Most of the scenes have no effect and cannot be entered.</value>
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</value>
</data>
<data name="TPItem.Text" xml:space="preserve">
<value>Items</value>
<data name="TPScene.Text" xml:space="preserve">
<value>Scene</value>
</data>
<data name="LblClearGiveItemLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
@ -484,8 +481,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
<value>Give item to player</value>
</data>
<data name="TPWeapon.Text" xml:space="preserve">
<value>Weapons</value>
<data name="TPItem.Text" xml:space="preserve">
<value>Items</value>
</data>
<data name="BtnGiveAllWeapons.Text" xml:space="preserve">
<value>Give all Weapons</value>
@ -529,11 +526,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="NUDWeaponLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>147, 216</value>
</data>
<data name="TPAvatar.Text" xml:space="preserve">
<value>Avatar</value>
</data>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>Constellation</value>
<data name="TPWeapon.Text" xml:space="preserve">
<value>Weapons</value>
</data>
<data name="LnkSetAllConst.Size" type="System.Drawing.Size, System.Drawing">
<value>43, 17</value>
@ -547,8 +541,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="LnkSetConst.Text" xml:space="preserve">
<value>Set current</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>Stats</value>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>Constellation</value>
</data>
<data name="BtnUnlockStat.Text" xml:space="preserve">
<value>Unlock</value>
@ -559,8 +553,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="LblStatTip.Text" xml:space="preserve">
<value>Tip</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>Talent Level</value>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>Stats</value>
</data>
<data name="LnkTalentAll.Location" type="System.Drawing.Point, System.Drawing">
<value>146, 24</value>
@ -601,6 +595,39 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="NUDTalentLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>96, 23</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>Talent Level</value>
</data>
<data name="CmbSwitchElement.Items" xml:space="preserve">
<value>White</value>
</data>
<data name="CmbSwitchElement.Items1" xml:space="preserve">
<value>Fire</value>
</data>
<data name="CmbSwitchElement.Items2" xml:space="preserve">
<value>Water</value>
</data>
<data name="CmbSwitchElement.Items3" xml:space="preserve">
<value>Wind</value>
</data>
<data name="CmbSwitchElement.Items4" xml:space="preserve">
<value>Ice</value>
</data>
<data name="CmbSwitchElement.Items5" xml:space="preserve">
<value>Rock</value>
</data>
<data name="CmbSwitchElement.Items6" xml:space="preserve">
<value>Electro</value>
</data>
<data name="CmbSwitchElement.Items7" xml:space="preserve">
<value>Grass</value>
</data>
<data name="LnkSwitchElement.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 17</value>
</data>
<data name="LnkSwitchElement.Text" xml:space="preserve">
<value>SwitchElement</value>
</data>
<data name="BtnGiveAllChar.Text" xml:space="preserve">
<value>Give All Char</value>
</data>
@ -628,38 +655,59 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="LblAvatarConstellation.Text" xml:space="preserve">
<value>Const.</value>
</data>
<data name="TPSpawn.Text" xml:space="preserve">
<value>Spawn</value>
<data name="TPAvatar.Text" xml:space="preserve">
<value>Avatar</value>
</data>
<data name="ChkInfiniteHP.Location" type="System.Drawing.Point, System.Drawing">
<value>202, 217</value>
<data name="NUDEntityAmout.Location" type="System.Drawing.Point, System.Drawing">
<value>78, 25</value>
</data>
<data name="ChkInfiniteHP.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 21</value>
<data name="LblSpawnVersionRequireTip.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 17</value>
</data>
<data name="ChkInfiniteHP.Text" xml:space="preserve">
<value>Infinite HP</value>
<data name="LblSpawnVersionRequireTip.Text" xml:space="preserve">
<value>v Require GC &gt; v1.3.1 v</value>
</data>
<data name="LblClearSpawnLogs.Location" type="System.Drawing.Point, System.Drawing">
<value>181, 190</value>
<data name="LblInfiniteHpTip.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 17</value>
</data>
<data name="LblClearSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
<data name="LblInfiniteHpTip.Text" xml:space="preserve">
<value>HP 0 for infinite</value>
</data>
<data name="LblClearSpawnLogs.Text" xml:space="preserve">
<value>X Clear</value>
<data name="LblEntityDef.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 17</value>
</data>
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
<value>√ Record</value>
<data name="LblEntityDef.Text" xml:space="preserve">
<value>Defense</value>
</data>
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
<value>× Delete</value>
<data name="LblEntityAtk.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
<data name="GrpSpawnRecord.Text" xml:space="preserve">
<value>Records</value>
<data name="LblEntityAtk.Text" xml:space="preserve">
<value>Attack</value>
</data>
<data name="GrpEntityType.Text" xml:space="preserve">
<value>Class</value>
<data name="LblEntityHp.Size" type="System.Drawing.Size, System.Drawing">
<value>24, 17</value>
</data>
<data name="LblEntityHp.Text" xml:space="preserve">
<value>HP</value>
</data>
<data name="LblEntityMaxHp.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
</data>
<data name="LblEntityMaxHp.Text" xml:space="preserve">
<value>Max HP</value>
</data>
<data name="LblEntitySpawnPostion.Text" xml:space="preserve">
<value>Pos: x: y: z:</value>
</data>
<data name="LblEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>197, 27</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>Level</value>
</data>
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
@ -667,26 +715,122 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>Amount</value>
</data>
<data name="LblEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>120, 218</value>
<data name="TPSpawnArgs.Text" xml:space="preserve">
<value>Spawn args</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>20, 17</value>
<data name="LblAMPluginTip.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>Lv</value>
<data name="LblAMPluginTip.Text" xml:space="preserve">
<value>Meet the real Thor!</value>
</data>
<data name="NUDEntityAmout.Location" type="System.Drawing.Point, System.Drawing">
<value>64, 216</value>
<data name="LblAMPluginIntroduction.Size" type="System.Drawing.Size, System.Drawing">
<value>326, 17</value>
</data>
<data name="NUDEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>146, 216</value>
<data name="LblAMPluginIntroduction.Text" xml:space="preserve">
<value>This plugin can use Gadget to replace character attack</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>Quest</value>
<data name="LblAMPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>List Filter</value>
<data name="LblAMPlugin.Text" xml:space="preserve">
<value>Plugin:</value>
</data>
<data name="LnkAMOff.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 17</value>
</data>
<data name="LnkAMOff.Text" xml:space="preserve">
<value>Off</value>
</data>
<data name="LnkAMOn.Size" type="System.Drawing.Size, System.Drawing">
<value>25, 17</value>
</data>
<data name="LnkAMOn.Text" xml:space="preserve">
<value>On</value>
</data>
<data name="BtnAtReload.Text" xml:space="preserve">
<value>Reload config</value>
</data>
<data name="BtnAtClear.Text" xml:space="preserve">
<value>Clear all gadgets</value>
</data>
<data name="GrpAMSkills.Text" xml:space="preserve">
<value>Replace Skill</value>
</data>
<data name="TPAttackModArgs.Text" xml:space="preserve">
<value>AttackModifier</value>
</data>
<data name="LblAiwiRotate.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 17</value>
</data>
<data name="LblAiwiRotate.Text" xml:space="preserve">
<value>Rot: x: y: z:</value>
</data>
<data name="LblAiwiSpread.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="LblAiwiSpread.Text" xml:space="preserve">
<value>Spread</value>
</data>
<data name="LblAiwiCount.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 17</value>
</data>
<data name="LblAiwiCount.Text" xml:space="preserve">
<value>Count</value>
</data>
<data name="LblAiwiHeight.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LblAiwiHeight.Text" xml:space="preserve">
<value>Height</value>
</data>
<data name="LblAiwiRadius.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 17</value>
</data>
<data name="LblAiwiRadius.Text" xml:space="preserve">
<value>Radius</value>
</data>
<data name="BtnAttackInfuse.Text" xml:space="preserve">
<value>Attack Infuse</value>
</data>
<data name="BtnAiwiReload.Text" xml:space="preserve">
<value>Reload config</value>
</data>
<data name="BtnAiwiClear.Text" xml:space="preserve">
<value>Clear</value>
</data>
<data name="BtnAiwiReset.Text" xml:space="preserve">
<value>Reset</value>
</data>
<data name="LblAiwiPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LblAiwiPlugin.Text" xml:space="preserve">
<value>Plugin:</value>
</data>
<data name="TPAttackInfusedArgs.Text" xml:space="preserve">
<value>AttackInfused</value>
</data>
<data name="TPSpawnItems.Text" xml:space="preserve">
<value>Entities</value>
</data>
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
<value>√ Record</value>
</data>
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
<value>× Delete</value>
</data>
<data name="LblClearSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="LblClearSpawnLogs.Text" xml:space="preserve">
<value>X Clear</value>
</data>
<data name="TPSpawnRecords.Text" xml:space="preserve">
<value>Spawn Records</value>
</data>
<data name="TPSpawn.Text" xml:space="preserve">
<value>Spawn</value>
</data>
<data name="ChkQuestFilterTEST.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 21</value>
@ -706,6 +850,9 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
<value>Hidden</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>List Filter</value>
</data>
<data name="BtnFinishQuest.Text" xml:space="preserve">
<value>Finish</value>
</data>
@ -717,8 +864,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
Tip: Many quest require server-side scripting support
Therefore, the quest can be added and finished, but not necessarily work.</value>
</data>
<data name="TPArtifact.Text" xml:space="preserve">
<value>Artifacts</value>
<data name="TPQuest.Text" xml:space="preserve">
<value>Quest</value>
</data>
<data name="BtnAddSubAttr.Text" xml:space="preserve">
<value>+ Add</value>
@ -777,8 +924,8 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="LblArtifactStars.Text" xml:space="preserve">
<value>Stars</value>
</data>
<data name="TPCustom.Text" xml:space="preserve">
<value>Custom</value>
<data name="TPArtifact.Text" xml:space="preserve">
<value>Artifacts</value>
</data>
<data name="BtnExportCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>583, 216</value>
@ -804,9 +951,6 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="LblCustomName.Text" xml:space="preserve">
<value>Tag</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>List</value>
</data>
<data name="LnkResetCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>581, -1</value>
</data>
@ -816,6 +960,9 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="LnkResetCustomCommands.Text" xml:space="preserve">
<value>Restore</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>List</value>
</data>
<data name="BtnRemoveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>443, 216</value>
</data>
@ -837,8 +984,8 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>317, 23</value>
</data>
<data name="TPHome.Text" xml:space="preserve">
<value>Home</value>
<data name="TPCustom.Text" xml:space="preserve">
<value>Custom</value>
</data>
<data name="BtnOpenShopEditor.Text" xml:space="preserve">
<value>Shop Editor</value>
@ -867,9 +1014,6 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="BtnOpenGachaBannerEditor.Text" xml:space="preserve">
<value>Banner Editor</value>
</data>
<data name="GrpSettings.Text" xml:space="preserve">
<value>Settings</value>
</data>
<data name="ChkTopMost.Size" type="System.Drawing.Size, System.Drawing">
<value>109, 21</value>
</data>
@ -882,8 +1026,11 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="ChkIncludeUID.Text" xml:space="preserve">
<value>Include UID</value>
</data>
<data name="TPMail.Text" xml:space="preserve">
<value>Mail</value>
<data name="GrpSettings.Text" xml:space="preserve">
<value>Settings</value>
</data>
<data name="TPHome.Text" xml:space="preserve">
<value>Home</value>
</data>
<data name="BtnAddMailItem.Text" xml:space="preserve">
<value>+ Add</value>
@ -891,9 +1038,6 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
<value>- Delete</value>
</data>
<data name="tabPage1.Text" xml:space="preserve">
<value>Items</value>
</data>
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>171, 4</value>
</data>
@ -918,9 +1062,6 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="LblMailItemLevel.Text" xml:space="preserve">
<value>Level:</value>
</data>
<data name="tabPage2.Text" xml:space="preserve">
<value>Mailbox</value>
</data>
<data name="BtnClearMail.Location" type="System.Drawing.Point, System.Drawing">
<value>84, 4</value>
</data>
@ -975,4 +1116,7 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="LblMailSenderLabel.Text" xml:space="preserve">
<value>Sender:</value>
</data>
<data name="TPMail.Text" xml:space="preserve">
<value>Mail</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -250,6 +250,12 @@
<data name="LblRemotePlayerId.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 15</value>
</data>
<data name="TPPlayerCheck.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPPlayerCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 113</value>
</data>
<data name="TPPlayerCheck.Text" xml:space="preserve">
<value>Игрок</value>
</data>
@ -269,6 +275,9 @@
<value>Обратите внимание, что обычные команды в консоли должны указывать UID цели
(установите галочку галочку "Включить UID" на главной)</value>
</data>
<data name="TPConsoleCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 109</value>
</data>
<data name="TPConsoleCheck.Text" xml:space="preserve">
<value>Консоль</value>
</data>
@ -296,8 +305,14 @@
<data name="LblHost.Text" xml:space="preserve">
<value>Хост</value>
</data>
<data name="TPRemoteCall.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPRemoteCall.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>Подключение к OpenCommand</value>
<value>OpenCommand</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 170</value>
@ -315,6 +330,12 @@
Спасибо: Dhar_Jinxed
</value>
</data>
<data name="TPAbout.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>Справка</value>
</data>
@ -468,6 +489,12 @@
<data name="GrpPermission.Text" xml:space="preserve">
<value>Управление правами</value>
</data>
<data name="TPManage.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPManage.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPManage.Text" xml:space="preserve">
<value>Аккаунты</value>
</data>
@ -544,6 +571,12 @@
Подсказка: вы можете быстро телепортироваться через отметку «рыболовный крючок» на миникарте в игре.
В команде вы можете использовать ~, чтобы указать текущую позицию, и ~N, чтобы указать смещение на N относительно текущей позиции</value>
</data>
<data name="TPScene.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPScene.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>Сцена</value>
</data>
@ -619,6 +652,12 @@
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
<value>Дать предмет игроку</value>
</data>
<data name="TPItem.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPItem.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPItem.Text" xml:space="preserve">
<value>Предметы</value>
</data>
@ -664,6 +703,12 @@
<data name="NUDWeaponLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>151, 216</value>
</data>
<data name="TPWeapon.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPWeapon.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPWeapon.Text" xml:space="preserve">
<value>Оружие</value>
</data>
@ -682,6 +727,9 @@
<data name="LnkSetConst.Text" xml:space="preserve">
<value>текущий</value>
</data>
<data name="GrpSetConstellation.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 172</value>
</data>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>Установить созвездие</value>
</data>
@ -697,6 +745,9 @@
<data name="LblStatTip.Text" xml:space="preserve">
<value>Подсказка</value>
</data>
<data name="GrpSetStats.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 9</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>Статистика</value>
</data>
@ -739,9 +790,46 @@
<data name="NUDTalentLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 23</value>
</data>
<data name="GrpTalentLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 111</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>Уровень таланта</value>
</data>
<data name="CmbSwitchElement.Items" xml:space="preserve">
<value>Никто</value>
</data>
<data name="CmbSwitchElement.Items1" xml:space="preserve">
<value>Огонь</value>
</data>
<data name="CmbSwitchElement.Items2" xml:space="preserve">
<value>Вода</value>
</data>
<data name="CmbSwitchElement.Items3" xml:space="preserve">
<value>Ветер</value>
</data>
<data name="CmbSwitchElement.Items4" xml:space="preserve">
<value>Лед</value>
</data>
<data name="CmbSwitchElement.Items5" xml:space="preserve">
<value>Камень</value>
</data>
<data name="CmbSwitchElement.Items6" xml:space="preserve">
<value>Электро</value>
</data>
<data name="CmbSwitchElement.Items7" xml:space="preserve">
<value>Трава</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LnkSwitchElement.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LnkSwitchElement.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 17</value>
</data>
<data name="LnkSwitchElement.Text" xml:space="preserve">
<value>SwitchElement</value>
</data>
<data name="CmbAvatar.Location" type="System.Drawing.Point, System.Drawing">
<value>111, 16</value>
</data>
@ -749,7 +837,7 @@
<value>114, 25</value>
</data>
<data name="LblAvatarSkillLevelTip.Location" type="System.Drawing.Point, System.Drawing">
<value>160, 129</value>
<value>160, 124</value>
</data>
<data name="NUDAvatarLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>111, 47</value>
@ -758,10 +846,10 @@
<value>114, 23</value>
</data>
<data name="BtnGiveAllChar.Location" type="System.Drawing.Point, System.Drawing">
<value>26, 161</value>
<value>25, 151</value>
</data>
<data name="BtnGiveAllChar.Size" type="System.Drawing.Size, System.Drawing">
<value>199, 33</value>
<value>200, 30</value>
</data>
<data name="BtnGiveAllChar.Text" xml:space="preserve">
<value> Дать всех персонажей</value>
@ -776,7 +864,7 @@
<value>Уровень</value>
</data>
<data name="LblAvatarSkillLevelLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>36, 107</value>
<value>36, 102</value>
</data>
<data name="LblAvatarSkillLevelLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>155, 17</value>
@ -809,37 +897,199 @@
<value>114, 23</value>
</data>
<data name="NUDAvatarSkillLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>39, 127</value>
<value>39, 122</value>
</data>
<data name="NUDAvatarSkillLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 23</value>
</data>
<data name="GrpGiveAvatar.Location" type="System.Drawing.Point, System.Drawing">
<value>32, 9</value>
</data>
<data name="GrpGiveAvatar.Text" xml:space="preserve">
<value>Выдать персонажа</value>
</data>
<data name="TPAvatar.Text" xml:space="preserve">
<value>Персонаж</value>
</data>
<data name="ChkInfiniteHP.Location" type="System.Drawing.Point, System.Drawing">
<value>186, 217</value>
<data name="LblSpawnVersionRequireTip.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 17</value>
</data>
<data name="ChkInfiniteHP.Size" type="System.Drawing.Size, System.Drawing">
<value>128, 21</value>
<data name="LblSpawnVersionRequireTip.Text" xml:space="preserve">
<value>Требуется GC &gt;= v1.3.1</value>
</data>
<data name="ChkInfiniteHP.Text" xml:space="preserve">
<value>Бесконечное HP</value>
<data name="LblInfiniteHpTip.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 17</value>
</data>
<data name="LblClearSpawnLogs.Location" type="System.Drawing.Point, System.Drawing">
<value>170, 192</value>
<data name="LblInfiniteHpTip.Text" xml:space="preserve">
<value>HP 0 для бесконечности</value>
</data>
<data name="LblClearSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 17</value>
<data name="LblEntityDef.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
</data>
<data name="LblClearSpawnLogs.Text" xml:space="preserve">
<value>X Очистить</value>
<data name="LblEntityDef.Text" xml:space="preserve">
<value>Защита</value>
</data>
<data name="BtnSaveSpawnLog.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 189</value>
<data name="LblEntityAtk.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 17</value>
</data>
<data name="LblEntityAtk.Text" xml:space="preserve">
<value>Атака</value>
</data>
<data name="LblEntityHp.Size" type="System.Drawing.Size, System.Drawing">
<value>24, 17</value>
</data>
<data name="LblEntityHp.Text" xml:space="preserve">
<value>HP</value>
</data>
<data name="LblEntityMaxHp.Size" type="System.Drawing.Size, System.Drawing">
<value>63, 17</value>
</data>
<data name="LblEntityMaxHp.Text" xml:space="preserve">
<value>Макс. HP</value>
</data>
<data name="LblEntitySpawnPostion.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 17</value>
</data>
<data name="LblEntitySpawnPostion.Text" xml:space="preserve">
<value>Поз x: y: z:</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>Ур.</value>
</data>
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 17</value>
</data>
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>Кол.</value>
</data>
<data name="TPSpawnArgs.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPSpawnArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 207</value>
</data>
<data name="TPSpawnArgs.Text" xml:space="preserve">
<value>Spawn args</value>
</data>
<data name="LblAMPluginTip.Size" type="System.Drawing.Size, System.Drawing">
<value>190, 17</value>
</data>
<data name="LblAMPluginTip.Text" xml:space="preserve">
<value>Встречайте настоящего Тора!</value>
</data>
<data name="LblAMPluginIntroduction.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 17</value>
</data>
<data name="LblAMPluginIntroduction.Text" xml:space="preserve">
<value>Атаки можно заменить гаджетом</value>
</data>
<data name="LblAMPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 17</value>
</data>
<data name="LblAMPlugin.Text" xml:space="preserve">
<value>Плагин</value>
</data>
<data name="LnkAMOff.Location" type="System.Drawing.Point, System.Drawing">
<value>194, 3</value>
</data>
<data name="LnkAMOff.Size" type="System.Drawing.Size, System.Drawing">
<value>41, 17</value>
</data>
<data name="LnkAMOff.Text" xml:space="preserve">
<value>выкл.</value>
</data>
<data name="LnkAMOn.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LnkAMOn.Text" xml:space="preserve">
<value>вкл.</value>
</data>
<data name="BtnAtReload.Text" xml:space="preserve">
<value>Перезагрузить</value>
</data>
<data name="BtnAtClear.Text" xml:space="preserve">
<value>Очистить гаджеты</value>
</data>
<data name="GrpAMSkills.Text" xml:space="preserve">
<value>Замена навыков</value>
</data>
<data name="TPAttackModArgs.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPAttackModArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 207</value>
</data>
<data name="TPAttackModArgs.Text" xml:space="preserve">
<value>Attack Modifier</value>
</data>
<data name="LblAiwiRotate.Size" type="System.Drawing.Size, System.Drawing">
<value>241, 17</value>
</data>
<data name="LblAiwiRotate.Text" xml:space="preserve">
<value>Повер. x: y: z:</value>
</data>
<data name="LblAiwiSpread.Location" type="System.Drawing.Point, System.Drawing">
<value>154, 78</value>
</data>
<data name="LblAiwiSpread.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 17</value>
</data>
<data name="LblAiwiSpread.Text" xml:space="preserve">
<value>Распростр.</value>
</data>
<data name="LblAiwiCount.Size" type="System.Drawing.Size, System.Drawing">
<value>56, 17</value>
</data>
<data name="LblAiwiCount.Text" xml:space="preserve">
<value>Количе.</value>
</data>
<data name="LblAiwiHeight.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 17</value>
</data>
<data name="LblAiwiHeight.Text" xml:space="preserve">
<value>Высота</value>
</data>
<data name="LblAiwiRadius.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 17</value>
</data>
<data name="LblAiwiRadius.Text" xml:space="preserve">
<value>Радиус</value>
</data>
<data name="BtnAttackInfuse.Text" xml:space="preserve">
<value>инъекция атаки</value>
</data>
<data name="BtnAiwiReload.Text" xml:space="preserve">
<value>config</value>
</data>
<data name="BtnAiwiClear.Text" xml:space="preserve">
<value>Чистый</value>
</data>
<data name="BtnAiwiReset.Text" xml:space="preserve">
<value>Reset</value>
</data>
<data name="LblAiwiPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 17</value>
</data>
<data name="LblAiwiPlugin.Text" xml:space="preserve">
<value>Плагин</value>
</data>
<data name="TPAttackInfusedArgs.Text" xml:space="preserve">
<value>Attack Infuse</value>
</data>
<data name="ListEntity.Size" type="System.Drawing.Size, System.Drawing">
<value>274, 171</value>
</data>
<data name="TPSpawnItems.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPSpawnItems.Size" type="System.Drawing.Size, System.Drawing">
<value>280, 207</value>
</data>
<data name="TPSpawnItems.Text" xml:space="preserve">
<value>Список объектов</value>
</data>
<data name="BtnSaveSpawnLog.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
@ -848,7 +1098,7 @@
<value>√ Сохр.</value>
</data>
<data name="BtnRemoveSpawnLog.Location" type="System.Drawing.Point, System.Drawing">
<value>87, 189</value>
<value>89, 3</value>
</data>
<data name="BtnRemoveSpawnLog.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
@ -856,44 +1106,23 @@
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
<value>× Удалить</value>
</data>
<data name="ListSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>234, 162</value>
<data name="LblClearSpawnLogs.Location" type="System.Drawing.Point, System.Drawing">
<value>175, 6</value>
</data>
<data name="GrpSpawnRecord.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
<data name="LblClearSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 17</value>
</data>
<data name="GrpSpawnRecord.Size" type="System.Drawing.Size, System.Drawing">
<value>240, 184</value>
<data name="LblClearSpawnLogs.Text" xml:space="preserve">
<value>X Очистить</value>
</data>
<data name="GrpSpawnRecord.Text" xml:space="preserve">
<value>Список мобов</value>
<data name="TPSpawnRecords.Text" xml:space="preserve">
<value>Рекорды спавна</value>
</data>
<data name="FLPEntityType.Size" type="System.Drawing.Size, System.Drawing">
<value>97, 183</value>
<data name="TPSpawn.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="GrpEntityType.Location" type="System.Drawing.Point, System.Drawing">
<value>249, 6</value>
</data>
<data name="GrpEntityType.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 205</value>
</data>
<data name="GrpEntityType.Text" xml:space="preserve">
<value>Класс</value>
</data>
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 17</value>
</data>
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>Кол.</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>Ур.</value>
</data>
<data name="NUDEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>129, 216</value>
<data name="TPSpawn.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPSpawn.Text" xml:space="preserve">
<value>Спавн</value>
@ -930,6 +1159,12 @@
Внимание: для многих квестов требуются скрипты таковых на стороне сервера.
Поэтому квест может быть добавлен или отозван через консоль, но завершён игроком - вряд ли.</value>
</data>
<data name="TPQuest.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPQuest.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>Квест</value>
</data>
@ -1005,6 +1240,12 @@
<data name="LblArtifactStars.Text" xml:space="preserve">
<value>Звезды</value>
</data>
<data name="TPArtifact.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPArtifact.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPArtifact.Text" xml:space="preserve">
<value>Артефакт</value>
</data>
@ -1068,9 +1309,18 @@
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>204, 23</value>
</data>
<data name="TPCustom.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPCustom.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPCustom.Text" xml:space="preserve">
<value>Кастомное</value>
</data>
<data name="BtnOpenShopEditor.Location" type="System.Drawing.Point, System.Drawing">
<value>313, 179</value>
</data>
<data name="BtnOpenShopEditor.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 23</value>
</data>
@ -1078,7 +1328,7 @@
<value>Редактор магазина</value>
</data>
<data name="BtnOpenDropEditor.Location" type="System.Drawing.Point, System.Drawing">
<value>459, 216</value>
<value>459, 208</value>
</data>
<data name="BtnOpenDropEditor.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 23</value>
@ -1086,8 +1336,11 @@
<data name="BtnOpenDropEditor.Text" xml:space="preserve">
<value>Редактор дропа</value>
</data>
<data name="LnkNewVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 100</value>
</data>
<data name="LblAbout.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 41</value>
<value>12, 37</value>
</data>
<data name="LblAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>314, 24</value>
@ -1096,7 +1349,7 @@
<value>Желаем приятно провести время!</value>
</data>
<data name="BtnOpenTextMap.Location" type="System.Drawing.Point, System.Drawing">
<value>526, 187</value>
<value>526, 179</value>
</data>
<data name="BtnOpenTextMap.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
@ -1104,12 +1357,18 @@
<data name="BtnOpenTextMap.Text" xml:space="preserve">
<value>Браузер карт</value>
</data>
<data name="BtnOpenGachaBannerEditor.Location" type="System.Drawing.Point, System.Drawing">
<value>313, 208</value>
</data>
<data name="BtnOpenGachaBannerEditor.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 23</value>
</data>
<data name="BtnOpenGachaBannerEditor.Text" xml:space="preserve">
<value>Редактор баннеров</value>
</data>
<data name="GrasscutterToolsIcon.Size" type="System.Drawing.Size, System.Drawing">
<value>333, 196</value>
</data>
<data name="ChkTopMost.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 21</value>
</data>
@ -1122,6 +1381,9 @@
<data name="ChkIncludeUID.Text" xml:space="preserve">
<value>Включить UID</value>
</data>
<data name="GrpSettings.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 120</value>
</data>
<data name="GrpSettings.Text" xml:space="preserve">
<value>Настройки</value>
</data>
@ -1146,6 +1408,9 @@
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
<value>- Удалить</value>
</data>
<data name="ListMailSelectableItems.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 106</value>
</data>
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>172, 3</value>
</data>
@ -1170,9 +1435,6 @@
<data name="LblMailItemLevel.Text" xml:space="preserve">
<value>Уровень</value>
</data>
<data name="tabPage1.Text" xml:space="preserve">
<value>Предметы</value>
</data>
<data name="BtnClearMail.Location" type="System.Drawing.Point, System.Drawing">
<value>114, 5</value>
</data>
@ -1191,8 +1453,14 @@
<data name="BtnRemoveMail.Text" xml:space="preserve">
<value>- Удалить</value>
</data>
<data name="tabPage2.Text" xml:space="preserve">
<value>Почта</value>
<data name="PanelMailListControls.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 177</value>
</data>
<data name="TPMailList.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPMailList.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 208</value>
</data>
<data name="BtnSendMail.Location" type="System.Drawing.Point, System.Drawing">
<value>304, 213</value>
@ -1275,7 +1543,16 @@
<data name="LblMailSenderLabel.Text" xml:space="preserve">
<value>Отправитель:</value>
</data>
<data name="TPMail.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPMail.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPMail.Text" xml:space="preserve">
<value>Почта</value>
</data>
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
</root>

View File

@ -123,14 +123,11 @@
<data name="ChkAutoCopy.Text" xml:space="preserve">
<value>自動</value>
</data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>命令 - [Ctrl] 自動執行 - [|] 分割多條命令</value>
</data>
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
<value>執行(F5)</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>遠程</value>
<data name="GrpCommand.Text" xml:space="preserve">
<value>命令 - [Ctrl] 自動執行 - [|] 分割多條命令</value>
</data>
<data name="LnkInventoryKamera.Text" xml:space="preserve">
<value>存檔掃描開源工具</value>
@ -148,9 +145,6 @@
<data name="LblHostTip.Text" xml:space="preserve">
<value>請確保地址中包含 http:// 或 https://</value>
</data>
<data name="GrpServerStatus.Text" xml:space="preserve">
<value>伺服器狀態</value>
</data>
<data name="LnkOpenCommandLabel.Text" xml:space="preserve">
<value>遠程執行插件</value>
</data>
@ -160,11 +154,8 @@
<data name="LblPlayerCountLabel.Text" xml:space="preserve">
<value>當前玩家數</value>
</data>
<data name="GrpRemoteCommand.Text" xml:space="preserve">
<value>遠程執行</value>
</data>
<data name="TPPlayerCheck.Text" xml:space="preserve">
<value>玩家驗證</value>
<data name="GrpServerStatus.Text" xml:space="preserve">
<value>伺服器狀態</value>
</data>
<data name="LnkRCHelp.Text" xml:space="preserve">
<value>幫助</value>
@ -178,6 +169,15 @@
<data name="BtnSendVerificationCode.Text" xml:space="preserve">
<value>發送驗證碼</value>
</data>
<data name="TPPlayerCheck.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPPlayerCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 113</value>
</data>
<data name="TPPlayerCheck.Text" xml:space="preserve">
<value>玩家驗證</value>
</data>
<data name="BtnConsoleConnect.Text" xml:space="preserve">
<value>連接</value>
</data>
@ -185,14 +185,26 @@
<value>請注意,控制台狀態下普通命令必須指定目標
即設置包含UID</value>
</data>
<data name="TPConsoleCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 109</value>
</data>
<data name="GrpRemoteCommand.Text" xml:space="preserve">
<value>遠程執行</value>
</data>
<data name="BtnQueryServerStatus.Text" xml:space="preserve">
<value>查詢</value>
</data>
<data name="LblHost.Text" xml:space="preserve">
<value>伺服器地址</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>關於</value>
<data name="TPRemoteCall.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPRemoteCall.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>遠程</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>334, 102</value>
@ -205,15 +217,21 @@
如果願意請我喝一杯奶茶,那就更好了 : )
指令生成有問題或者有新的功能請求都可以來Github提出</value>
</data>
<data name="TPAbout.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>關於</value>
</data>
<data name="BtnBan.Text" xml:space="preserve">
<value>封號</value>
</data>
<data name="LblBanUID.Text" xml:space="preserve">
<value>目標UID</value>
</data>
<data name="GrpAccount.Text" xml:space="preserve">
<value>賬號管理</value>
</data>
<data name="BtnDeleteAccount.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
@ -223,8 +241,8 @@
<data name="LblAccountUserName.Text" xml:space="preserve">
<value>用戶名</value>
</data>
<data name="GrpPermission.Text" xml:space="preserve">
<value>權限管理</value>
<data name="GrpAccount.Text" xml:space="preserve">
<value>賬號管理</value>
</data>
<data name="LblPerm.Text" xml:space="preserve">
<value>權限</value>
@ -232,8 +250,14 @@
<data name="LblPermUID.Text" xml:space="preserve">
<value>目標UID</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>場景</value>
<data name="GrpPermission.Text" xml:space="preserve">
<value>權限管理</value>
</data>
<data name="TPManage.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPManage.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="ChkIncludeSceneId.Text" xml:space="preserve">
<value>含場景ID</value>
@ -257,6 +281,15 @@
提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送
命令中可以用~表示當前位置,~N 表示相對當前N</value>
</data>
<data name="TPScene.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPScene.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>場景</value>
</data>
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
<value>√ 記錄</value>
</data>
@ -276,6 +309,12 @@
<value>給玩家指定物品
說明:可選擇直接給到背包或者掉落到世界</value>
</data>
<data name="TPItem.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPItem.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="BtnGiveAllWeapons.Text" xml:space="preserve">
<value>獲得所有武器</value>
</data>
@ -299,8 +338,11 @@
<data name="LblWeaponLevel.Text" xml:space="preserve">
<value>等級</value>
</data>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>設置命座</value>
<data name="TPWeapon.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPWeapon.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="LnkSetAllConst.Text" xml:space="preserve">
<value>設置所有角色</value>
@ -308,8 +350,11 @@
<data name="LnkSetConst.Text" xml:space="preserve">
<value>設置當前角色</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>角色屬性</value>
<data name="GrpSetConstellation.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 174</value>
</data>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>設置命座</value>
</data>
<data name="BtnUnlockStat.Text" xml:space="preserve">
<value>解鎖</value>
@ -317,12 +362,34 @@
<data name="BtnLockStat.Text" xml:space="preserve">
<value>鎖定</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>技能等級</value>
<data name="GrpSetStats.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 11</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>角色屬性</value>
</data>
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
<value>普通攻擊</value>
</data>
<data name="GrpTalentLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 113</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>技能等級</value>
</data>
<data name="CmbSwitchElement.Items" xml:space="preserve">
<value>無</value>
</data>
<data name="CmbSwitchElement.Items3" xml:space="preserve">
<value>風</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LnkSwitchElement.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LnkSwitchElement.Text" xml:space="preserve">
<value>切換主角元素</value>
</data>
<data name="BtnGiveAllChar.Text" xml:space="preserve">
<value>一鍵獲得所有角色</value>
</data>
@ -332,8 +399,107 @@
<data name="LblAvatarSkillLevelLabel.Text" xml:space="preserve">
<value>技能等級</value>
</data>
<data name="ChkInfiniteHP.Text" xml:space="preserve">
<value>無限血</value>
<data name="GrpGiveAvatar.Location" type="System.Drawing.Point, System.Drawing">
<value>32, 11</value>
</data>
<data name="LblSpawnVersionRequireTip.Text" xml:space="preserve">
<value>以下參數至少要求 GC v1.3.1</value>
</data>
<data name="LblInfiniteHpTip.Text" xml:space="preserve">
<value>血量為 0 表示無限</value>
</data>
<data name="LblEntityDef.Text" xml:space="preserve">
<value>防禦力:</value>
</data>
<data name="LblEntityAtk.Text" xml:space="preserve">
<value>攻擊力:</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>等級</value>
</data>
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>數量</value>
</data>
<data name="TPSpawnArgs.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPSpawnArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 207</value>
</data>
<data name="TPSpawnArgs.Text" xml:space="preserve">
<value>生成參數</value>
</data>
<data name="LblAMPluginTip.Text" xml:space="preserve">
<value>見識一下真正的雷神吧!</value>
</data>
<data name="LblAMPluginIntroduction.Text" xml:space="preserve">
<value>這個插件可以使用 Gadget 替換角色攻擊</value>
</data>
<data name="LnkAMOff.Text" xml:space="preserve">
<value>關</value>
</data>
<data name="LnkAMOn.Text" xml:space="preserve">
<value>開</value>
</data>
<data name="BtnAtReload.Text" xml:space="preserve">
<value>重載配置</value>
</data>
<data name="BtnAtClear.Text" xml:space="preserve">
<value>清空實體!!</value>
</data>
<data name="GrpAMSkills.Text" xml:space="preserve">
<value>替換技能</value>
</data>
<data name="TPAttackModArgs.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPAttackModArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 207</value>
</data>
<data name="TPAttackModArgs.Text" xml:space="preserve">
<value>攻擊修改參數</value>
</data>
<data name="LblAiwiRotate.Text" xml:space="preserve">
<value>旋轉: x: y: z:</value>
</data>
<data name="LblAiwiSpread.Text" xml:space="preserve">
<value>擴散:</value>
</data>
<data name="LblAiwiCount.Text" xml:space="preserve">
<value>數量:</value>
</data>
<data name="LblAiwiRadius.Text" xml:space="preserve">
<value>範圍:</value>
</data>
<data name="BtnAttackInfuse.Text" xml:space="preserve">
<value>攻擊注入</value>
</data>
<data name="BtnAiwiReload.Text" xml:space="preserve">
<value>重載配置</value>
</data>
<data name="BtnAiwiClear.Text" xml:space="preserve">
<value>清空實體</value>
</data>
<data name="TPAttackInfusedArgs.Text" xml:space="preserve">
<value>攻擊注入參數</value>
</data>
<data name="ListEntity.Size" type="System.Drawing.Size, System.Drawing">
<value>274, 171</value>
</data>
<data name="TPSpawnItems.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPSpawnItems.Size" type="System.Drawing.Size, System.Drawing">
<value>280, 207</value>
</data>
<data name="TPSpawnItems.Text" xml:space="preserve">
<value>實體列表</value>
</data>
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
<value>√ 記錄</value>
@ -341,23 +507,14 @@
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
<value>× 刪除</value>
</data>
<data name="GrpSpawnRecord.Text" xml:space="preserve">
<data name="TPSpawnRecords.Text" xml:space="preserve">
<value>生成記錄本</value>
</data>
<data name="GrpEntityType.Text" xml:space="preserve">
<value>列表分類</value>
<data name="TPSpawn.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>數量</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>等級</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>任務</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>列表過濾</value>
<data name="TPSpawn.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="ChkQuestFilterTEST.Text" xml:space="preserve">
<value>測試任務</value>
@ -368,6 +525,9 @@
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
<value>隱藏的任務</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>列表過濾</value>
</data>
<data name="BtnFinishQuest.Text" xml:space="preserve">
<value>完成任務</value>
</data>
@ -379,8 +539,14 @@
提示:許多任務需要服務端腳本支持
囙此任務可以接,可以完成,但是不一定可以做</value>
</data>
<data name="TPArtifact.Text" xml:space="preserve">
<value>聖遺物</value>
<data name="TPQuest.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPQuest.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>任務</value>
</data>
<data name="LblArtifactSet.Text" xml:space="preserve">
<value>套裝</value>
@ -397,8 +563,14 @@
<data name="LblArtifactStars.Text" xml:space="preserve">
<value>星級</value>
</data>
<data name="TPCustom.Text" xml:space="preserve">
<value>自定義</value>
<data name="TPArtifact.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPArtifact.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPArtifact.Text" xml:space="preserve">
<value>聖遺物</value>
</data>
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
<value>導出</value>
@ -412,30 +584,63 @@
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
<value>× 刪除</value>
</data>
<data name="TPHome.Text" xml:space="preserve">
<value>主頁</value>
<data name="TPCustom.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPCustom.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPCustom.Text" xml:space="preserve">
<value>自定義</value>
</data>
<data name="BtnOpenShopEditor.Location" type="System.Drawing.Point, System.Drawing">
<value>313, 183</value>
</data>
<data name="BtnOpenShopEditor.Text" xml:space="preserve">
<value>商店編輯器</value>
</data>
<data name="BtnOpenDropEditor.Location" type="System.Drawing.Point, System.Drawing">
<value>525, 212</value>
</data>
<data name="BtnOpenDropEditor.Text" xml:space="preserve">
<value>掉落物編輯器</value>
</data>
<data name="LnkNewVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 104</value>
</data>
<data name="LblAbout.Location" type="System.Drawing.Point, System.Drawing">
<value>88, 34</value>
</data>
<data name="BtnOpenTextMap.Location" type="System.Drawing.Point, System.Drawing">
<value>419, 212</value>
</data>
<data name="BtnOpenTextMap.Text" xml:space="preserve">
<value>文本瀏覽器</value>
</data>
<data name="BtnOpenGachaBannerEditor.Location" type="System.Drawing.Point, System.Drawing">
<value>313, 212</value>
</data>
<data name="BtnOpenGachaBannerEditor.Text" xml:space="preserve">
<value>獎池編輯器</value>
</data>
<data name="GrasscutterToolsIcon.Size" type="System.Drawing.Size, System.Drawing">
<value>333, 200</value>
</data>
<data name="ChkTopMost.Text" xml:space="preserve">
<value>置頂</value>
</data>
<data name="TPMail.Text" xml:space="preserve">
<value>郵件</value>
<data name="GrpSettings.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 124</value>
</data>
<data name="TPHome.Text" xml:space="preserve">
<value>主頁</value>
</data>
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
<data name="ListMailSelectableItems.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 123</value>
</data>
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>171, 4</value>
</data>
@ -454,12 +659,18 @@
<data name="LblMailItemLevel.Text" xml:space="preserve">
<value>等級:</value>
</data>
<data name="tabPage2.Text" xml:space="preserve">
<value>郵件列表</value>
</data>
<data name="BtnRemoveMail.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
<data name="PanelMailListControls.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 177</value>
</data>
<data name="TPMailList.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPMailList.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 208</value>
</data>
<data name="BtnSendMail.Text" xml:space="preserve">
<value>發送</value>
</data>
@ -472,4 +683,13 @@
<data name="LblMailSenderLabel.Text" xml:space="preserve">
<value>發件人:</value>
</data>
<data name="TPMail.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPMail.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPMail.Text" xml:space="preserve">
<value>郵件</value>
</data>
</root>

View File

@ -102,7 +102,7 @@ namespace GrasscutterTools.Forms
var dialog = new OpenFileDialog
{
FileName = "Shop.json",
Filter = "Shop.Json (*.json)|*.json|All files (*.*)|*.*",
Filter = "Shop.json/ShopGoodsExcelConfigData.json (*.json)|*.json|ShopGoodsData.txt (*.txt)|*.txt|All files (*.*)|*.*",
};
var result = dialog.ShowDialog();
if (result == DialogResult.OK)
@ -127,40 +127,101 @@ namespace GrasscutterTools.Forms
/// <param name="path">文件路径</param>
private void LoadShops(string path)
{
try
var name = Path.GetFileName(path);
var content = File.ReadAllText(path);
var funs = new Action<string>[3]
{
// 反序列化
var banners = JsonConvert.DeserializeObject<List<ShopTable>>(File.ReadAllText(path));
Shops = new Dictionary<int, List<ShopInfo>>(banners.Count);
foreach (var item in banners)
Shops.Add(item.ShopType, item.Items);
LoadShopsFromShopJson,
LoadShopsFromShopGoodsExcelConfigData,
LoadShopsFromTsv
};
if (name == "ShopGoodsExcelConfigData.json")
{
funs[0] = LoadShopsFromShopGoodsExcelConfigData;
funs[1] = LoadShopsFromShopJson;
}
catch (Exception ex)
else if (name == "ShopGoodsData.txt")
{
funs[0] = LoadShopsFromTsv;
funs[1] = LoadShopsFromShopJson;
funs[2] = LoadShopsFromShopGoodsExcelConfigData;
}
Exception firstEx = null;
foreach (var fun in funs)
{
try
{
// 当Json解析失败时尝试以tsv方式解析
LoadShopsFromTsv(path);
fun(content);
return;
}
catch
catch (Exception ex)
{
throw ex;
if (firstEx == null)
firstEx = ex;
}
}
throw firstEx;
//{
// try
// {
// // 尝试当作Shop.json解析
// LoadShopsFromShopJson(content);
// }
// catch (Exception ex)
// {
// try
// {
// // 尝试当作ShopGoodsExcelConfigData.json解析
// LoadShopsFromShopGoodsExcelConfigData(path);
// }
// catch
// {
// try
// {
// // 当Json解析失败时尝试以tsv方式解析
// LoadShopsFromTsv(content);
// }
// catch
// {
// throw ex;
// }
// }
// }
//}
}
private void LoadShopsFromShopJson(string content)
{
var banners = JsonConvert.DeserializeObject<List<ShopTable>>(content);
Shops = new Dictionary<int, List<ShopInfo>>(banners.Count);
foreach (var item in banners)
Shops.Add(item.ShopType, item.Items);
}
private void LoadShopsFromShopGoodsExcelConfigData(string content)
{
var banners = JsonConvert.DeserializeObject<List<ShopGoodsData>>(content);
Shops = new Dictionary<int, List<ShopInfo>>();
foreach (var kv in banners.GroupBy(it => it.ShopType))
Shops.Add(kv.Key, kv.Select(it => new ShopInfo(it)).ToList());
}
/// <summary>
/// 从TSV加载商店
/// </summary>
/// <param name="path">文件路径</param>
private void LoadShopsFromTsv(string path)
/// <param name="content">文件内容</param>
private void LoadShopsFromTsv(string content)
{
var lines = File.ReadAllLines(path);
var lines = content.Split('\n');
Shops = new Dictionary<int, List<ShopInfo>>();
for (int i = 1; i < lines.Length; i++)
{
var cells = lines[i].Split('\t');
if (cells.Length < 31) continue;
var goods = new ShopInfo
{
GoodsId = int.Parse(cells[0]),
@ -215,6 +276,13 @@ namespace GrasscutterTools.Forms
return;
}
if (Path.GetFileName(path) != "Shop.json")
{
var ret = MessageBox.Show(Resources.ShopJsonOverrideWarning + '\n' + path, Resources.Warning, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (ret != DialogResult.Yes)
return;
}
// 序列化
var banners = new List<ShopTable>(Shops.Count);
foreach (var shop in Shops)
@ -411,7 +479,7 @@ namespace GrasscutterTools.Forms
MaxLevel = (int)NUDMaxLevel.Value,
BeginTime = (int)new DateTimeOffset(DTPBeginTime.Value).ToUnixTimeSeconds(),
EndTime = (int)new DateTimeOffset(DTPEndTime.Value).ToUnixTimeSeconds(),
RefreshType = CmbRefreshType.SelectedIndex == -1 ? ShopRefreshType.None : (ShopRefreshType)CmbRefreshType.SelectedIndex,
RefreshType = CmbRefreshType.SelectedIndex == -1 ? ShopRefreshType.NONE : (ShopRefreshType)CmbRefreshType.SelectedIndex,
ShopRefreshParam = (int)NUDRefreshParm.Value,
HCoin = (int)NUDCostHcoin.Value,
SCoin = (int)NUDCostScoin.Value,

View File

@ -120,21 +120,18 @@
<data name="GrpShopList.Text" xml:space="preserve">
<value>Shop list</value>
</data>
<data name="GrpGoodsList.Text" xml:space="preserve">
<value>Shop info list</value>
</data>
<data name="BtnClearGoods.Text" xml:space="preserve">
<value>× Clear</value>
</data>
<data name="BtnDeleteGoods.Text" xml:space="preserve">
<value>- Delete</value>
</data>
<data name="GrpGoodsList.Text" xml:space="preserve">
<value>Shop info list</value>
</data>
<data name="GrpItems.Text" xml:space="preserve">
<value>Item list</value>
</data>
<data name="GrpGoodsInfo.Text" xml:space="preserve">
<value>Shop info</value>
</data>
<data name="BtnSaveGoods.Text" xml:space="preserve">
<value>√ Add or Update</value>
</data>
@ -244,6 +241,9 @@
<data name="LnkGenGoodsId.Text" xml:space="preserve">
<value>Generate ID</value>
</data>
<data name="GrpGoodsInfo.Text" xml:space="preserve">
<value>Shop info</value>
</data>
<data name="BtnSave.Text" xml:space="preserve">
<value>Save</value>
</data>

View File

@ -121,12 +121,19 @@
<data name="LblCostItem1Label.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;LblCostItem4Label.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;NUDCostItem1.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblCostScoinLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>45, 269</value>
</data>
<data name="NUDCostItem4.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LblEndTimeLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
<data name="ListShop.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label11.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
@ -134,13 +141,9 @@
<data name="LblGoodsIdLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label18.Location" type="System.Drawing.Point, System.Drawing">
<value>175, 124</value>
</data>
<data name="LblCostMcoinLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;DTPEndTime.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
@ -189,27 +192,36 @@
<data name="GrpItems.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;NUDCostScoin.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="label12.Text" xml:space="preserve">
<value>x</value>
</data>
<data name="&gt;&gt;GrpGoodsList.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="NUDCostHcoin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="LblEndTimeLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>45, 185</value>
<data name="LblRefreshModeLabel.Text" xml:space="preserve">
<value>刷新方式:</value>
</data>
<data name="&gt;&gt;NUDMaxLevel.Name" xml:space="preserve">
<value>NUDMaxLevel</value>
<data name="&gt;&gt;label18.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="LblCostItem3Label.Text" xml:space="preserve">
<value>消耗物品3</value>
</data>
<data name="&gt;&gt;NUDCostItem4Count.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<data name="LblGoodsIdLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>57, 17</value>
</data>
<data name="&gt;&gt;NUDCostItem2.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="NUDBuyLimit.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
</data>
<data name="&gt;&gt;NUDCostHcoin.ZOrder" xml:space="preserve">
<value>14</value>
</data>
@ -219,6 +231,9 @@
<data name="LblCostHcoinLabel.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;NUDCostItem4Count.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;NUDCostItem3Count.ZOrder" xml:space="preserve">
<value>17</value>
</data>
@ -234,9 +249,6 @@
<data name="&gt;&gt;ListShop.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="DTPEndTime.CustomFormat" xml:space="preserve">
<value>yyyy'/'MM'/'dd HH':'mm':'ss</value>
</data>
<data name="NUDMinLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>119, 122</value>
</data>
@ -255,12 +267,6 @@
<data name="NUDCostScoin.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="NUDCostItem2.Location" type="System.Drawing.Point, System.Drawing">
<value>119, 354</value>
</data>
<data name="&gt;&gt;LblEndTimeLabel.Name" xml:space="preserve">
<value>LblEndTimeLabel</value>
</data>
<data name="label12.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
@ -294,9 +300,6 @@
<data name="&gt;&gt;LblEndTimeLabel.ZOrder" xml:space="preserve">
<value>24</value>
</data>
<data name="&gt;&gt;LblCostItem3Label.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="LblCostItem4Label.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -321,6 +324,9 @@
<data name="&gt;&gt;ListItems.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCostHcoinLabel.Text" xml:space="preserve">
<value>消耗原石:</value>
</data>
<data name="NUDCostItem1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
@ -333,9 +339,6 @@
<data name="&gt;&gt;BtnSave.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCostItem1Label.Text" xml:space="preserve">
<value>消耗物品1</value>
</data>
<data name="&gt;&gt;LblCostHcoinLabel.Name" xml:space="preserve">
<value>LblCostHcoinLabel</value>
</data>
@ -357,6 +360,9 @@
<data name="&gt;&gt;LblBeginTimeLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="NUDRefreshParm.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
</data>
<data name="LblCostMcoinLabel.Text" xml:space="preserve">
<value>消耗创世结晶:</value>
</data>
@ -396,6 +402,9 @@
<data name="&gt;&gt;LblRefreshModeLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="LblCostMcoinLabel.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="BtnLoad.Location" type="System.Drawing.Point, System.Drawing">
<value>666, 12</value>
</data>
@ -408,9 +417,6 @@
<data name="&gt;&gt;NUDRefreshParm.Name" xml:space="preserve">
<value>NUDRefreshParm</value>
</data>
<data name="NUDGoodsId.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;NUDCostItem4.Name" xml:space="preserve">
<value>NUDCostItem4</value>
</data>
@ -426,9 +432,6 @@
<data name="NUDMaxLevel.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="LblCostItem4Label.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="LnkGenGoodsId.Text" xml:space="preserve">
<value>生成ID</value>
</data>
@ -438,8 +441,8 @@
<data name="&gt;&gt;NUDCostMcoin.Name" xml:space="preserve">
<value>NUDCostMcoin</value>
</data>
<data name="&gt;&gt;NUDCostItem2Count.ZOrder" xml:space="preserve">
<value>18</value>
<data name="LblGoodsItemLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
<data name="&gt;&gt;GrpItems.Parent" xml:space="preserve">
<value>$this</value>
@ -453,14 +456,8 @@
<data name="NUDCostItem2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="LblGoodsItemLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
<data name="LnkGenGoodsId.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;TxtShopJsonPath.ZOrder" xml:space="preserve">
<value>2</value>
<data name="&gt;&gt;NUDCostItem4.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;BtnSave.Parent" xml:space="preserve">
<value>$this</value>
@ -492,8 +489,8 @@
<data name="LnkGenGoodsId.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label11.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
<data name="&gt;&gt;label14.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;BtnLoad.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -513,9 +510,6 @@
<data name="&gt;&gt;NUDCostHcoin.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;DTPEndTime.ZOrder" xml:space="preserve">
<value>3</value>
</data>
@ -528,6 +522,9 @@
<data name="ListItems.ItemHeight" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>245, 64</value>
</data>
<data name="GrpShopList.Text" xml:space="preserve">
<value>商店列表</value>
</data>
@ -546,8 +543,8 @@
<data name="NUDCostItem3.Location" type="System.Drawing.Point, System.Drawing">
<value>119, 383</value>
</data>
<data name="LblRefreshModeLabel.Text" xml:space="preserve">
<value>刷新方式:</value>
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="TxtGoodsItem.Location" type="System.Drawing.Point, System.Drawing">
<value>95, 61</value>
@ -558,12 +555,12 @@
<data name="NUDRefreshParm.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>x</value>
</data>
<data name="LblGoodsItemLabel.Text" xml:space="preserve">
<value>商品:</value>
</data>
<data name="LblCostHcoinLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblRefreshModeLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
@ -573,24 +570,21 @@
<data name="&gt;&gt;DTPBeginTime.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>245, 64</value>
<data name="&gt;&gt;NUDGoodsId.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCostHcoinLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblGoodsItemLabel.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="NUDGoodsId.Location" type="System.Drawing.Point, System.Drawing">
<value>119, 32</value>
</data>
<data name="LblCostItem2Label.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;NUDRefreshParm.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="label11.Text" xml:space="preserve">
<value>x</value>
</data>
<data name="LblCostItem1Label.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
@ -603,18 +597,12 @@
<data name="label18.Size" type="System.Drawing.Size, System.Drawing">
<value>17, 17</value>
</data>
<data name="&gt;&gt;LblRefreshModeLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="GrpItems.Text" xml:space="preserve">
<value>物品列表</value>
</data>
<data name="NUDMaxLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
</data>
<data name="GrpItems.Location" type="System.Drawing.Point, System.Drawing">
<value>622, 41</value>
</data>
<data name="&gt;&gt;NUDMaxLevel.ZOrder" xml:space="preserve">
<value>6</value>
</data>
@ -642,7 +630,7 @@
<data name="&gt;&gt;LnkGenGoodsId.Name" xml:space="preserve">
<value>LnkGenGoodsId</value>
</data>
<data name="&gt;&gt;label14.Parent" xml:space="preserve">
<data name="&gt;&gt;LblCostHcoinLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="NUDCostItem2.TabIndex" type="System.Int32, mscorlib">
@ -654,6 +642,9 @@
<data name="&gt;&gt;NUDCostItem3Count.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblCostScoinLabel.ZOrder" xml:space="preserve">
<value>31</value>
</data>
<data name="NUDCostScoin.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
</data>
@ -666,6 +657,9 @@
<data name="&gt;&gt;LblGoodsIdLabel.Name" xml:space="preserve">
<value>LblGoodsIdLabel</value>
</data>
<data name="&gt;&gt;ListShop.Parent" xml:space="preserve">
<value>GrpShopList</value>
</data>
<data name="BtnDeleteGoods.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
@ -678,6 +672,9 @@
<data name="&gt;&gt;TxtGoodsItem.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblBuyLevelLabel.ZOrder" xml:space="preserve">
<value>23</value>
</data>
<data name="ListShop.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
@ -696,8 +693,14 @@
<data name="LblCostMcoinLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>21, 298</value>
</data>
<data name="&gt;&gt;label18.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
<data name="&gt;&gt;LblCostItem2Label.ZOrder" xml:space="preserve">
<value>28</value>
</data>
<data name="&gt;&gt;LblGoodsIdLabel.ZOrder" xml:space="preserve">
<value>34</value>
</data>
<data name="DTPEndTime.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="LblBuyLevelLabel.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@ -705,9 +708,6 @@
<data name="TxtShopJsonPath.Size" type="System.Drawing.Size, System.Drawing">
<value>538, 23</value>
</data>
<data name="NUDCostItem3Count.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="BtnDeleteGoods.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
@ -723,11 +723,8 @@
<data name="&gt;&gt;LblBuyLevelLabel.Name" xml:space="preserve">
<value>LblBuyLevelLabel</value>
</data>
<data name="&gt;&gt;NUDCostScoin.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="&gt;&gt;CmbRefreshType.ZOrder" xml:space="preserve">
<value>1</value>
<data name="LblCostItem1Label.Text" xml:space="preserve">
<value>消耗物品1</value>
</data>
<data name="&gt;&gt;GrpGoodsInfo.ZOrder" xml:space="preserve">
<value>4</value>
@ -750,8 +747,8 @@
<data name="&gt;&gt;NUDRefreshParm.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblBuyLevelLabel.ZOrder" xml:space="preserve">
<value>23</value>
<data name="NUDGoodsItemCount.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
</data>
<data name="&gt;&gt;NUDCostItem2Count.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
@ -774,9 +771,6 @@
<data name="LblBuyLevelLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 17</value>
</data>
<data name="&gt;&gt;NUDMinLevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LnkGenGoodsId.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 17</value>
</data>
@ -786,9 +780,6 @@
<data name="&gt;&gt;LblShopPathLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;GrpShopList.Name" xml:space="preserve">
<value>GrpShopList</value>
</data>
<data name="&gt;&gt;BtnLoad.ZOrder" xml:space="preserve">
<value>1</value>
</data>
@ -813,8 +804,11 @@
<data name="&gt;&gt;BtnLoad.Name" xml:space="preserve">
<value>BtnLoad</value>
</data>
<data name="&gt;&gt;LblEndTimeLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;NUDCostItem2Count.ZOrder" xml:space="preserve">
<value>18</value>
</data>
<data name="&gt;&gt;GrpGoodsInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CmbRefreshType.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
@ -834,11 +828,11 @@
<data name="LblRefreshModeLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>45, 211</value>
</data>
<data name="&gt;&gt;LblCostScoinLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
<data name="&gt;&gt;CmbRefreshType.Name" xml:space="preserve">
<value>CmbRefreshType</value>
</data>
<data name="&gt;&gt;NUDCostItem4Count.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="NUDCostItem1Count.Location" type="System.Drawing.Point, System.Drawing">
<value>219, 325</value>
</data>
<data name="&gt;&gt;label13.ZOrder" xml:space="preserve">
<value>36</value>
@ -864,8 +858,8 @@
<data name="&gt;&gt;TxtItemFilter.Name" xml:space="preserve">
<value>TxtItemFilter</value>
</data>
<data name="ListShop.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
<data name="NUDCostItem1Count.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;BtnDeleteGoods.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -897,6 +891,9 @@
<data name="&gt;&gt;LblCostItem1Label.ZOrder" xml:space="preserve">
<value>29</value>
</data>
<data name="&gt;&gt;NUDCostScoin.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="DTPBeginTime.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 23</value>
</data>
@ -909,8 +906,8 @@
<data name="LblCostItem2Label.Text" xml:space="preserve">
<value>消耗物品2</value>
</data>
<data name="LblCostMcoinLabel.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
<data name="&gt;&gt;BtnDeleteGoods.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="ListItems.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 446</value>
@ -921,9 +918,6 @@
<data name="&gt;&gt;NUDCostHcoin.Name" xml:space="preserve">
<value>NUDCostHcoin</value>
</data>
<data name="BtnClearGoods.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="LblGoodsIdLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
@ -951,11 +945,8 @@
<data name="LblShopPathLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 15</value>
</data>
<data name="NUDCostItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="LblGoodsItemLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>45, 64</value>
<data name="&gt;&gt;NUDMaxLevel.Name" xml:space="preserve">
<value>NUDMaxLevel</value>
</data>
<data name="GrpGoodsList.Size" type="System.Drawing.Size, System.Drawing">
<value>250, 302</value>
@ -978,8 +969,8 @@
<data name="NUDRefreshParm.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;label13.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="NUDGoodsId.Location" type="System.Drawing.Point, System.Drawing">
<value>119, 32</value>
</data>
<data name="LblShopPathLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -987,14 +978,14 @@
<data name="&gt;&gt;TxtShopJsonPath.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCostItem3Label.Text" xml:space="preserve">
<value>消耗物品3</value>
<data name="&gt;&gt;NUDMinLevel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;LblCostItem2Label.ZOrder" xml:space="preserve">
<value>28</value>
<data name="&gt;&gt;TxtShopJsonPath.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;TxtGoodsItem.ZOrder" xml:space="preserve">
<value>21</value>
@ -1002,6 +993,9 @@
<data name="LblCostScoinLabel.Text" xml:space="preserve">
<value>消耗摩拉:</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>42</value>
</data>
<data name="CmbRefreshType.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
@ -1017,6 +1011,9 @@
<data name="NUDMinLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
</data>
<data name="NUDCostItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="LblBuyLimitLabel.Text" xml:space="preserve">
<value>限购数量:</value>
</data>
@ -1026,21 +1023,30 @@
<data name="LblCostItem3Label.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 383</value>
</data>
<data name="&gt;&gt;NUDMaxLevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;NUDCostItem4Count.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="NUDCostHcoin.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;label13.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;GrpShopList.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;LblEndTimeLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ListItems.ZOrder" xml:space="preserve">
<value>1</value>
<data name="label11.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="LblEndTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 17</value>
</data>
<data name="&gt;&gt;LblCostScoinLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="NUDCostItem4Count.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
@ -1062,8 +1068,8 @@
<data name="BtnClearGoods.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="&gt;&gt;BtnDeleteGoods.ZOrder" xml:space="preserve">
<value>1</value>
<data name="&gt;&gt;LblBeginTimeLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="NUDCostItem3.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
@ -1071,8 +1077,8 @@
<data name="BtnClearGoods.Text" xml:space="preserve">
<value>× 清空</value>
</data>
<data name="LnkGenGoodsId.Location" type="System.Drawing.Point, System.Drawing">
<value>247, 34</value>
<data name="LnkGenGoodsId.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="BtnClearGoods.Location" type="System.Drawing.Point, System.Drawing">
<value>112, 273</value>
@ -1083,27 +1089,27 @@
<data name="&gt;&gt;NUDMaxLevel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="NUDGoodsItemCount.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>FormShopEditor</value>
</data>
<data name="NUDCostItem4.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
<data name="&gt;&gt;LblRefreshModeLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblGoodsItemLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="DTPBeginTime.CustomFormat" xml:space="preserve">
<value>yyyy'/'MM'/'dd HH':'mm':'ss</value>
<data name="BtnDeleteGoods.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 273</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>42</value>
<data name="&gt;&gt;GrpShopList.Name" xml:space="preserve">
<value>GrpShopList</value>
</data>
<data name="&gt;&gt;DTPEndTime.Name" xml:space="preserve">
<value>DTPEndTime</value>
</data>
<data name="&gt;&gt;LblShopPathLabel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;LblRefreshModeLabel.Name" xml:space="preserve">
<value>LblRefreshModeLabel</value>
</data>
@ -1137,6 +1143,9 @@
<data name="LblCostMcoinLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblGoodsIdLabel.Text" xml:space="preserve">
<value>商品ID</value>
</data>
<data name="TxtGoodsItem.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 23</value>
</data>
@ -1155,8 +1164,8 @@
<data name="&gt;&gt;NUDCostItem3Count.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;NUDCostItem1.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
<data name="LblCostItem4Label.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="NUDBuyLimit.Location" type="System.Drawing.Point, System.Drawing">
<value>119, 90</value>
@ -1179,8 +1188,8 @@
<data name="LblBeginTimeLabel.Text" xml:space="preserve">
<value>上架时间:</value>
</data>
<data name="&gt;&gt;CmbRefreshType.Name" xml:space="preserve">
<value>CmbRefreshType</value>
<data name="TxtItemFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 23</value>
</data>
<data name="&gt;&gt;GrpItems.ZOrder" xml:space="preserve">
<value>5</value>
@ -1197,9 +1206,6 @@
<data name="LblEndTimeLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="TxtItemFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 23</value>
</data>
<data name="ListGoods.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
@ -1227,15 +1233,12 @@
<data name="GrpShopList.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 41</value>
</data>
<data name="NUDCostMcoin.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
<data name="&gt;&gt;LblBuyLevelLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="BtnSave.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="&gt;&gt;LblBeginTimeLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label12.Location" type="System.Drawing.Point, System.Drawing">
<value>207, 357</value>
</data>
@ -1272,20 +1275,17 @@
<data name="&gt;&gt;DTPBeginTime.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;NUDGoodsId.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="BtnClearGoods.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;NUDCostItem3.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
<data name="NUDMaxLevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;BtnSaveGoods.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ListGoods.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>x</value>
<data name="&gt;&gt;LblEndTimeLabel.Name" xml:space="preserve">
<value>LblEndTimeLabel</value>
</data>
<data name="TxtShopJsonPath.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -1293,32 +1293,32 @@
<data name="&gt;&gt;NUDCostItem2.Name" xml:space="preserve">
<value>NUDCostItem2</value>
</data>
<data name="LblCostScoinLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>45, 269</value>
<data name="NUDCostItem3Count.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="&gt;&gt;GrpGoodsInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;ListGoods.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="NUDCostItem2Count.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="LblBeginTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 17</value>
</data>
<data name="LblBuyLevelLabel.Text" xml:space="preserve">
<value>限购等级:</value>
</data>
<data name="BtnDeleteGoods.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 273</value>
</data>
<data name="LblGoodsItemLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="LblCostItem2Label.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="LblGoodsItemLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="NUDGoodsId.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;LblCostHcoinLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
<data name="&gt;&gt;label13.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ListGoods.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -1338,14 +1338,11 @@
<data name="$this.Text" xml:space="preserve">
<value>Shop.json Editor</value>
</data>
<data name="&gt;&gt;NUDCostItem4.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;LblCostMcoinLabel.Name" xml:space="preserve">
<value>LblCostMcoinLabel</value>
</data>
<data name="NUDMaxLevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
<data name="GrpItems.Location" type="System.Drawing.Point, System.Drawing">
<value>622, 41</value>
</data>
<data name="&gt;&gt;NUDCostItem1Count.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -1383,8 +1380,8 @@
<data name="&gt;&gt;LblCostMcoinLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ListShop.Parent" xml:space="preserve">
<value>GrpShopList</value>
<data name="&gt;&gt;CmbRefreshType.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="NUDCostItem1Count.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 23</value>
@ -1392,8 +1389,8 @@
<data name="LblCostItem3Label.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;NUDCostScoin.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
<data name="&gt;&gt;ListItems.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
@ -1401,17 +1398,14 @@
<data name="&gt;&gt;ListShop.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label12.Text" xml:space="preserve">
<value>x</value>
<data name="NUDBuyLimit.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
</data>
<data name="label13.Location" type="System.Drawing.Point, System.Drawing">
<value>207, 386</value>
</data>
<data name="&gt;&gt;NUDCostItem4Count.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="DTPEndTime.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
<data name="NUDCostItem2.Location" type="System.Drawing.Point, System.Drawing">
<value>119, 354</value>
</data>
<data name="NUDBuyLimit.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
@ -1419,17 +1413,17 @@
<data name="&gt;&gt;LblEndTimeLabel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;LblGoodsIdLabel.ZOrder" xml:space="preserve">
<value>34</value>
<data name="label11.Text" xml:space="preserve">
<value>x</value>
</data>
<data name="NUDCostItem1Count.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
<data name="LnkGenGoodsId.Location" type="System.Drawing.Point, System.Drawing">
<value>247, 34</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="LblGoodsIdLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>57, 17</value>
<data name="LblGoodsItemLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>45, 64</value>
</data>
<data name="TxtItemFilter.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -1455,6 +1449,9 @@
<data name="label11.Size" type="System.Drawing.Size, System.Drawing">
<value>14, 17</value>
</data>
<data name="&gt;&gt;LnkGenGoodsId.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="GrpGoodsList.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
@ -1464,16 +1461,13 @@
<data name="&gt;&gt;LnkGenGoodsId.ZOrder" xml:space="preserve">
<value>40</value>
</data>
<data name="&gt;&gt;NUDMinLevel.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;label18.ZOrder" xml:space="preserve">
<value>41</value>
</data>
<data name="&gt;&gt;NUDCostItem2Count.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCostItem2Label.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="LblEndTimeLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
@ -1521,12 +1515,18 @@
<data name="ListShop.Size" type="System.Drawing.Size, System.Drawing">
<value>244, 178</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="BtnSaveGoods.Text" xml:space="preserve">
<value>√ 添加或更新</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>900, 600</value>
</data>
<data name="ListItems.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="DTPBeginTime.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
@ -1548,8 +1548,8 @@
<data name="LblCostItem3Label.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="LblGoodsIdLabel.Text" xml:space="preserve">
<value>商品ID</value>
<data name="&gt;&gt;NUDMinLevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCostItem4Label.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 412</value>
@ -1581,14 +1581,14 @@
<data name="&gt;&gt;LblCostMcoinLabel.ZOrder" xml:space="preserve">
<value>30</value>
</data>
<data name="&gt;&gt;LblCostScoinLabel.ZOrder" xml:space="preserve">
<value>31</value>
<data name="NUDGoodsId.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="GrpItems.Size" type="System.Drawing.Size, System.Drawing">
<value>250, 508</value>
</data>
<data name="LblBeginTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 17</value>
<data name="&gt;&gt;GrpShopList.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblBeginTimeLabel.ZOrder" xml:space="preserve">
<value>25</value>
@ -1602,8 +1602,8 @@
<data name="&gt;&gt;BtnClearGoods.Parent" xml:space="preserve">
<value>GrpGoodsList</value>
</data>
<data name="ListItems.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
<data name="NUDCostMcoin.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
</data>
<data name="label12.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -1611,11 +1611,11 @@
<data name="&gt;&gt;NUDCostItem2.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblShopPathLabel.ZOrder" xml:space="preserve">
<value>3</value>
<data name="&gt;&gt;LblCostItem4Label.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;NUDMaxLevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;NUDCostItem3.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="label18.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
@ -1623,14 +1623,14 @@
<data name="&gt;&gt;NUDBuyLimit.Name" xml:space="preserve">
<value>NUDBuyLimit</value>
</data>
<data name="&gt;&gt;LblBuyLevelLabel.Parent" xml:space="preserve">
<data name="&gt;&gt;LblCostItem3Label.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="NUDRefreshParm.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
<data name="DTPBeginTime.CustomFormat" xml:space="preserve">
<value>yyyy'/'MM'/'dd HH':'mm':'ss</value>
</data>
<data name="LblGoodsIdLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>56, 34</value>
@ -1644,9 +1644,6 @@
<data name="LblCostHcoinLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 17</value>
</data>
<data name="NUDCostItem1Count.Location" type="System.Drawing.Point, System.Drawing">
<value>219, 325</value>
</data>
<data name="&gt;&gt;NUDCostMcoin.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
</data>
@ -1659,8 +1656,8 @@
<data name="&gt;&gt;LblShopPathLabel.Name" xml:space="preserve">
<value>LblShopPathLabel</value>
</data>
<data name="&gt;&gt;LnkGenGoodsId.Parent" xml:space="preserve">
<value>GrpGoodsInfo</value>
<data name="LblCostMcoinLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="NUDCostItem2Count.Location" type="System.Drawing.Point, System.Drawing">
<value>219, 354</value>
@ -1686,12 +1683,15 @@
<data name="BtnDeleteGoods.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="LblCostHcoinLabel.Text" xml:space="preserve">
<value>消耗原石:</value>
<data name="DTPEndTime.CustomFormat" xml:space="preserve">
<value>yyyy'/'MM'/'dd HH':'mm':'ss</value>
</data>
<data name="NUDCostItem3Count.Location" type="System.Drawing.Point, System.Drawing">
<value>219, 383</value>
</data>
<data name="LblEndTimeLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>45, 185</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@ -145,6 +145,18 @@
<data name="BtnSaveGoods.Text" xml:space="preserve">
<value>√ Добавить или обновить</value>
</data>
<data name="CmbRefreshType.Items" xml:space="preserve">
<value>Никто</value>
</data>
<data name="CmbRefreshType.Items1" xml:space="preserve">
<value>Повседневная</value>
</data>
<data name="CmbRefreshType.Items2" xml:space="preserve">
<value>Еженедельно</value>
</data>
<data name="CmbRefreshType.Items3" xml:space="preserve">
<value>Ежемесячно</value>
</data>
<data name="LblRefreshModeLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 211</value>
</data>

View File

@ -120,6 +120,12 @@
<data name="BtnDeleteGoods.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
<data name="CmbRefreshType.Items" xml:space="preserve">
<value>無</value>
</data>
<data name="CmbRefreshType.Items2" xml:space="preserve">
<value>週</value>
</data>
<data name="LblBuyLevelLabel.Text" xml:space="preserve">
<value>限購等級:</value>
</data>

View File

@ -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 <https://www.gnu.org/licenses/>.
*
**/
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace GrasscutterTools.Game.Shop
{
public class ShopGoodsData
{
[JsonProperty("goodsId")]
public int GoodsId { get; set; }
[JsonProperty("shopType")]
public int ShopType { get; set; }
[JsonProperty("itemId")]
public int ItemId { get; set; }
[JsonProperty("itemCount")]
public int ItemCount { get; set; }
[JsonProperty("costScoin")]
public int CostScoin { get; set; }
[JsonProperty("costHcoin")]
public int CostHcoin { get; set; }
[JsonProperty("costMcion")]
public int CostMcion { get; set; }
[JsonProperty("costItems")]
public List<ItemParamData> CostItems { get; set; }
[JsonProperty("minPlayerLevel")]
public int MinPlayerLevel { get; set; }
[JsonProperty("maxPlayerLevel")]
public int MaxPlayerLevel { get; set; }
[JsonProperty("buyLimit")]
public int BuyLimit { get; set; }
[JsonProperty("subTabId")]
public int SubTabId { get; set; }
[JsonProperty("refreshType"), JsonConverter(typeof(StringEnumConverter))]
public ShopRefreshType RefreshType { get; set; }
[JsonProperty("refreshParam")]
public int RefreshParam { get; set; }
[JsonProperty("beginTime")]
public DateTime? BeginTime { get; set; }
[JsonProperty("endTime")]
public DateTime? EndTime { get; set; }
}
}

View File

@ -16,14 +16,44 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
**/
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace GrasscutterTools.Game.Shop
{
public class ShopInfo
{
public ShopInfo()
{
}
public ShopInfo(ShopGoodsData sgd)
{
GoodsId = sgd.GoodsId;
GoodsItem = new ItemParamData(sgd.ItemId, sgd.ItemCount);
SCoin = sgd.CostScoin;
MCoin = sgd.CostMcion;
HCoin = sgd.CostHcoin;
BuyLimit = sgd.BuyLimit;
MinLevel = sgd.MinPlayerLevel;
MaxLevel = sgd.MaxPlayerLevel;
CostItemList = sgd.CostItems.Where(it => it.Id != 0).ToList();
SecondarySheetId = sgd.SubTabId;
RefreshType = sgd.RefreshType;
ShopRefreshParam = sgd.RefreshParam;
if (sgd.BeginTime != null && sgd.EndTime != null)
{
BeginTime = (int)new DateTimeOffset(sgd.BeginTime.Value).ToUnixTimeSeconds();
EndTime = (int)new DateTimeOffset(sgd.EndTime.Value).ToUnixTimeSeconds();
}
}
[JsonProperty("goodsId")]
public int GoodsId { get; set; }
@ -79,7 +109,7 @@ namespace GrasscutterTools.Game.Shop
[JsonProperty("secondarySheetId")]
public int SecondarySheetId { get; set; }
[JsonProperty("refreshType")]
[JsonProperty("refreshType"), JsonConverter(typeof(StringEnumConverter))]
public ShopRefreshType RefreshType { get; set; }
[JsonProperty("shopRefreshParam")]

View File

@ -1,5 +1,21 @@
using Newtonsoft.Json;
/**
* 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 <https://www.gnu.org/licenses/>.
*
**/
namespace GrasscutterTools.Game.Shop
{
/// <summary>
@ -10,25 +26,21 @@ namespace GrasscutterTools.Game.Shop
/// <summary>
/// 不刷新
/// </summary>
[JsonProperty("NONE")]
None,
NONE,
/// <summary>
/// 按天刷新
/// </summary>
[JsonProperty("SHOP_REFRESH_DAILY")]
Daily,
SHOP_REFRESH_DAILY,
/// <summary>
/// 按周刷新
/// </summary>
[JsonProperty("SHOP_REFRESH_WEEKLY")]
Weekly,
SHOP_REFRESH_WEEKLY,
/// <summary>
/// 按月刷新
/// </summary>
[JsonProperty("SHOP_REFRESH_MONTHLY")]
Monthly,
SHOP_REFRESH_MONTHLY,
}
}

View File

@ -141,6 +141,7 @@
<Compile Include="Game\Player\PlayerData.cs" />
<Compile Include="Game\SetStatsCommand.cs" />
<Compile Include="Game\Shop\ItemParamData.cs" />
<Compile Include="Game\Shop\ShopGoodsData.cs" />
<Compile Include="Game\Shop\ShopInfo.cs" />
<Compile Include="Game\Shop\ShopRefreshType.cs" />
<Compile Include="Game\Shop\ShopTable.cs" />

View File

@ -506,7 +506,7 @@ namespace GrasscutterTools.Properties {
///自杀
////kill 0
///全队充能
////spawn 2008 25
////spawn 2008 x25
///查看坐标
////pos
///获取全部物品
@ -528,7 +528,7 @@ namespace GrasscutterTools.Properties {
///清空全部角色命之座(需重登)
////resetconst all
///清空背包
////clear all l [字符串的其余部分被截断]&quot;; 的本地化字符串。
////clear all [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary>
internal static string CustomCommands {
get {
@ -1009,6 +1009,15 @@ namespace GrasscutterTools.Properties {
}
}
/// <summary>
/// 查找类似 仅允许以 Shop.json 格式保存!确定要覆盖当前指定文件吗? 的本地化字符串。
/// </summary>
internal static string ShopJsonOverrideWarning {
get {
return ResourceManager.GetString("ShopJsonOverrideWarning", resourceCulture);
}
}
/// <summary>
/// 查找类似 900:派蒙
///902:礼包商城

View File

@ -282,4 +282,7 @@ Improvement suggestions have been submitted, please use caution to send emails t
<data name="GoodsIDConflictPrompt" xml:space="preserve">
<value>There is a conflict between the current goods ID and the ID in other stores, please replace with another ID or automatically generate an ID</value>
</data>
<data name="ShopJsonOverrideWarning" xml:space="preserve">
<value>Only allowed to save in Shop.json format! Are you sure you want to overwrite the currently specified file?</value>
</data>
</root>

View File

@ -291,4 +291,7 @@
<data name="GoodsIDConflictPrompt" xml:space="preserve">
<value>当前商品ID与其它商店中的ID存在冲突请更换其它ID或自动生成ID</value>
</data>
<data name="ShopJsonOverrideWarning" xml:space="preserve">
<value>仅允许以 Shop.json 格式保存!确定要覆盖当前指定文件吗?</value>
</data>
</root>

View File

@ -270,4 +270,7 @@
<data name="GoodsIDConflictPrompt" xml:space="preserve">
<value>Существует конфликт между текущим идентификатором товара и идентификатором в других магазинах, пожалуйста, замените другим идентификатором или автоматически сгенерируйте идентификатор</value>
</data>
<data name="ShopJsonOverrideWarning" xml:space="preserve">
<value>Разрешено сохранять только в формате Shop.json! Вы уверены, что хотите перезаписать текущий указанный файл?</value>
</data>
</root>

View File

@ -276,4 +276,7 @@
<data name="GoodsIDConflictPrompt" xml:space="preserve">
<value>當前商品ID與其它商店中的ID存在衝突請更換其它ID或自動生成ID</value>
</data>
<data name="ShopJsonOverrideWarning" xml:space="preserve">
<value>僅允許以 Shop.json 格式保存!確定要覆蓋當前指定文件嗎?</value>
</data>
</root>

View File

@ -190,5 +190,29 @@ namespace GrasscutterTools.Properties {
this["ShopJsonPath"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
public global::System.Drawing.Point MainFormLocation {
get {
return ((global::System.Drawing.Point)(this["MainFormLocation"]));
}
set {
this["MainFormLocation"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
public global::System.Drawing.Size MainFormSize {
get {
return ((global::System.Drawing.Size)(this["MainFormSize"]));
}
set {
this["MainFormSize"] = value;
}
}
}
}

View File

@ -44,5 +44,11 @@
<Setting Name="ShopJsonPath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainFormLocation" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="MainFormSize" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -21,7 +21,7 @@ Heal
Suicide
/kill 0
Charge Energy
/spawn 2008 25
/spawn 2008 x25
Where am I?
/pos
Give me ALL!

View File

@ -739,3 +739,24 @@
28040804:[N/A] 1321673065
28040901:[N/A] 3639121545
28040902:[N/A] 3476332937
// Partner
35210101:Gilded Brigade - One-Handed Axe (Forest Book)
35210301:Gilded NPC - 3.2 Garrison Soldier A
35210302:Gilded NPC - 3.2 Garrisoned Soldier B
35210303:Gilded NPC - 3.2 Garrison Soldier C
35210401:Gold Plated NPC - Luxembourg
35210501:NPC - Habachi
35310101:Gilded Brigade ¡¤ Sand Water Purification (Golden Dreamland)
35310301:The Gilded Brigade ¡¤ Thunder in the Daytime (Golden Dreamland)
35210102:Jungle Leopard
36090190:Activity - Friendly Flying Water
36090290:Activity - Friendly Flying Grass
36090390:Activity - Friendly Flying Wind
36090490:Activity - Friendly Spinning Thunder
36090590:Activity - Friendly Spinning Ice
36090690:Event - Friendly Spinning Fire
36090790:Activity - Friendly Stretch Fire
36090890:Activity-Friendly Stretching Wind
36090990:Activity - Friendly Stretch Rock
36091090:Activity - Friendly Stretching Thunder

View File

@ -21,7 +21,7 @@
Самоубийство
/kill 0
Заспавнить шар с элем. энергией
/spawn 2008 25
/spawn 2008 x25
Текущая позиция
/pos
Получить всё

View File

@ -739,3 +739,24 @@
28040804:[N/A] 1321673065
28040901:[N/A] 3639121545
28040902:[N/A] 3476332937
// партнер
35210101:Позолоченная бригада - Одноручный топор (Лесная книга)
35210301:Позолоченный NPC - 3.2 Солдат гарнизона A
35210302:Позолоченный NPC - 3.2 Garrisoned Soldier B
35210303:Позолоченный NPC - 3.2 Солдат гарнизона C
35210401:Позолоченный NPC - Люксембург
35210501:NPC - Хабачи
35310101:Позолоченная бригада · Очистка воды песком (Золотая страна грез)
35310301:Позолоченная бригада · Гром днем (Золотая страна грез)
35210102:Леопард из джунглей
36090190:Деятельность — Дружелюбная летающая вода
36090290:Активность — Дружелюбная летающая трава
36090390:Активность — Дружественный летающий ветер
36090490:Активность — Дружелюбный вращающийся гром
36090590:Активность — Дружественный вращающийся лед
36090690:Событие — Дружественный Вращающийся Огонь
36090790:Активность — растяжка по дружественному огню
36090890:Дружественный к занятиям растягивающий ветер
36090990:Деятельность - Дружелюбный стретч-рок
36091090:Активность — Дружелюбная растяжка грома

View File

@ -21,7 +21,7 @@
自杀
/kill 0
全队充能
/spawn 2008 25
/spawn 2008 x25
查看坐标
/pos
获取全部物品

View File

@ -739,3 +739,24 @@
28040804:暮云角鲀
28040901:青金斧枪鱼
28040902:翡玉斧枪鱼
// 友军
35210101:镀金旅团-单手斧(森林书)
35210301:镀金NPC - 3.2驻守士兵A
35210302:镀金NPC - 3.2驻守士兵B
35210303:镀金NPC - 3.2驻守士兵C
35210401:镀金NPC - 卢森巴博
35210501:NPC - Habachi哈巴奇
35310101:镀金旅团·沙中净水(黄金梦乡)
35310301:镀金旅团·白日鸣雷(黄金梦乡)
35210102:丛林豹
36090190:活动-友方飞行水
36090290:活动-友方飞行草
36090390:活动-友方飞行风
36090490:活动-友方旋转雷
36090590:活动-友方旋转冰
36090690:活动-友方旋转火
36090790:活动-友方伸展火
36090890:活动-友方伸展风
36090990:活动-友方伸展岩
36091090:活动-友方伸展雷

View File

@ -21,7 +21,7 @@
自殺
/kill 0
全隊充能
/spawn 2008 25
/spawn 2008 x25
查看坐標
/pos
獲取全部物品

View File

@ -738,4 +738,25 @@
28040803:吹沙角鲀
28040804:暮云角鲀
28040901:青金斧枪鱼
28040902:翡玉斧枪鱼
28040902:翡玉斧枪鱼
// 友軍
35210101:鍍金旅團-單手斧(森林書)
35210301:鍍金NPC - 3.2駐守士兵A
35210302:鍍金NPC - 3.2駐守士兵B
35210303:鍍金NPC - 3.2駐守士兵C
35210401:鍍金NPC - 盧森巴博
35210501:NPC - Habachi哈巴奇
35310101:鍍金旅團·沙中淨水(黃金夢鄉)
35310301:鍍金旅團·白日鳴雷(黃金夢鄉)
35210102:叢林豹
36090190:活動-友方飛行水
36090290:活動-友方飛行草
36090390:活動-友方飛行風
36090490:活動-友方旋轉雷
36090590:活動-友方旋轉冰
36090690:活動-友方旋轉火
36090790:活動-友方伸展火
36090890:活動-友方伸展風
36090990:活動-友方伸展岩
36091090:活動-友方伸展雷