diff --git a/Doc/Screenshots-en/17-ShopEditor.png b/Doc/Screenshots-en/17-ShopEditor.png
new file mode 100644
index 0000000..69cdf98
Binary files /dev/null and b/Doc/Screenshots-en/17-ShopEditor.png differ
diff --git a/Doc/Screenshots-en/6-SpawnEntity.png b/Doc/Screenshots-en/6-SpawnEntity.png
index c2c9c72..2099b43 100644
Binary files a/Doc/Screenshots-en/6-SpawnEntity.png and b/Doc/Screenshots-en/6-SpawnEntity.png differ
diff --git a/Doc/Screenshots-ru/11-Manage.png b/Doc/Screenshots-ru/11-Manage.png
index 74b1b71..0e8d171 100644
Binary files a/Doc/Screenshots-ru/11-Manage.png and b/Doc/Screenshots-ru/11-Manage.png differ
diff --git a/Doc/Screenshots-ru/15-TextMapBrowser.png b/Doc/Screenshots-ru/15-TextMapBrowser.png
index d3f12c7..6c17913 100644
Binary files a/Doc/Screenshots-ru/15-TextMapBrowser.png and b/Doc/Screenshots-ru/15-TextMapBrowser.png differ
diff --git a/Doc/Screenshots-ru/17-ShopEditor.png b/Doc/Screenshots-ru/17-ShopEditor.png
new file mode 100644
index 0000000..88e6ed4
Binary files /dev/null and b/Doc/Screenshots-ru/17-ShopEditor.png differ
diff --git a/Doc/Screenshots-ru/4-SpawnEntity.png b/Doc/Screenshots-ru/4-SpawnEntity.png
index e1db3b4..92e6cb2 100644
Binary files a/Doc/Screenshots-ru/4-SpawnEntity.png and b/Doc/Screenshots-ru/4-SpawnEntity.png differ
diff --git a/Doc/Screenshots-ru/5-GiveAvatar.png b/Doc/Screenshots-ru/5-GiveAvatar.png
index b3378f6..c226f52 100644
Binary files a/Doc/Screenshots-ru/5-GiveAvatar.png and b/Doc/Screenshots-ru/5-GiveAvatar.png differ
diff --git a/Doc/Screenshots/17-ShopEditor.png b/Doc/Screenshots/17-ShopEditor.png
new file mode 100644
index 0000000..963c1cc
Binary files /dev/null and b/Doc/Screenshots/17-ShopEditor.png differ
diff --git a/Doc/Screenshots/5-GiveAvatar.png b/Doc/Screenshots/5-GiveAvatar.png
index 586580f..252ef37 100644
Binary files a/Doc/Screenshots/5-GiveAvatar.png and b/Doc/Screenshots/5-GiveAvatar.png differ
diff --git a/Doc/Screenshots/6-SpawnEntity.png b/Doc/Screenshots/6-SpawnEntity.png
index b672e2f..b358e08 100644
Binary files a/Doc/Screenshots/6-SpawnEntity.png and b/Doc/Screenshots/6-SpawnEntity.png differ
diff --git a/Doc/Screenshots/6.1-AttackMod.png b/Doc/Screenshots/6.1-AttackMod.png
new file mode 100644
index 0000000..20f5a35
Binary files /dev/null and b/Doc/Screenshots/6.1-AttackMod.png differ
diff --git a/Doc/Screenshots/6.2-AttackInfuse.png b/Doc/Screenshots/6.2-AttackInfuse.png
new file mode 100644
index 0000000..10c4f54
Binary files /dev/null and b/Doc/Screenshots/6.2-AttackInfuse.png differ
diff --git a/Doc/Screenshots/AttackMod.gif b/Doc/Screenshots/AttackMod.gif
new file mode 100644
index 0000000..c2b5dcb
Binary files /dev/null and b/Doc/Screenshots/AttackMod.gif differ
diff --git a/README.md b/README.md
index c34d1ff..ff49b3f 100644
--- a/README.md
+++ b/README.md
@@ -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
+
+
+Added [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller) plugins command generation
+
+
+
+### GrasscutterTools-v1.7.2
+
+
+### GrasscutterTools-v1.7.1
+ - Gadgets(CHS Only)
+
### GrasscutterTools-v1.7.0

diff --git a/README_ru-RU.md b/README_ru-RU.md
index bdd29c4..26079ed 100644
--- a/README_ru-RU.md
+++ b/README_ru-RU.md
@@ -15,6 +15,19 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体
> **Warning**: вид приложения может отличаться от скриншотов. Также в нём могут присутствовать ошибки в переводе и отсутсвие некоторых ресурсов. **Мы приглашаем всех сделать вклад в их [улучшение](/Source/GrasscutterTools/Resources/ru-ru)**
## Лог обновлений
+### GrasscutterTools-v1.7.3
+
+
+Добавлена поддержка генерации команд для плагинов [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller).
+
+
+
+### GrasscutterTools-v1.7.2
+
+
+### GrasscutterTools-v1.7.1
+ - Гаджеты (пока что только на китайском)
+
### GrasscutterTools-v1.7.0

@@ -47,8 +60,6 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体

-
-


@@ -67,8 +78,6 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体

-
-


diff --git a/README_zh-cn.md b/README_zh-cn.md
index d34a3b7..c322928 100644
--- a/README_zh-cn.md
+++ b/README_zh-cn.md
@@ -17,9 +17,22 @@
## Update log
-### GrasscutterTools-v1.7.1
+### GrasscutterTools-v1.7.3
+
-
+
+
+
+
+新增[攻击修改](https://github.com/NotThorny/AttackModifier)、[攻击注入](https://github.com/snoobi-seggs/AttackInfusedWithItem)、[切换元素](https://github.com/Penelopeep/SwitchElementTraveller)等插件命令生成
+
+
+
+### GrasscutterTools-v1.7.2
+
+
+### GrasscutterTools-v1.7.1
+ - 增加了 Gadgets
### GrasscutterTools-v1.7.0
diff --git a/Source/GrasscutterTools/App.config b/Source/GrasscutterTools/App.config
index 9b49c11..6e22014 100644
--- a/Source/GrasscutterTools/App.config
+++ b/Source/GrasscutterTools/App.config
@@ -52,6 +52,12 @@
+
+ 0, 0
+
+
+ 0, 0
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Forms/FormMain.Designer.cs b/Source/GrasscutterTools/Forms/FormMain.Designer.cs
index a49c97c..9a39749 100644
--- a/Source/GrasscutterTools/Forms/FormMain.Designer.cs
+++ b/Source/GrasscutterTools/Forms/FormMain.Designer.cs
@@ -153,6 +153,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();
@@ -242,6 +244,7 @@ namespace GrasscutterTools.Forms
this.TxtQuestFilter = new System.Windows.Forms.TextBox();
this.ListQuest = new System.Windows.Forms.ListBox();
this.TPArtifact = new System.Windows.Forms.TabPage();
+ this.LnkCharacterBuilder = new System.Windows.Forms.LinkLabel();
this.LblArtifactLevelTip = new System.Windows.Forms.Label();
this.BtnAddSubAttr = new System.Windows.Forms.Button();
this.LblArtifactName = new System.Windows.Forms.Label();
@@ -1494,6 +1497,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 +1512,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 +2357,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);
@@ -2351,6 +2381,13 @@ namespace GrasscutterTools.Forms
this.TPArtifact.Name = "TPArtifact";
this.TPArtifact.UseVisualStyleBackColor = true;
//
+ // LnkCharacterBuilder
+ //
+ resources.ApplyResources(this.LnkCharacterBuilder, "LnkCharacterBuilder");
+ this.LnkCharacterBuilder.Name = "LnkCharacterBuilder";
+ this.LnkCharacterBuilder.TabStop = true;
+ this.LnkCharacterBuilder.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkCharacterBuilder_LinkClicked);
+ //
// LblArtifactLevelTip
//
resources.ApplyResources(this.LblArtifactLevelTip, "LblArtifactLevelTip");
@@ -2717,18 +2754,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;
//
@@ -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;
}
}
diff --git a/Source/GrasscutterTools/Forms/FormMain.cs b/Source/GrasscutterTools/Forms/FormMain.cs
index 47acf66..1c4f183 100644
--- a/Source/GrasscutterTools/Forms/FormMain.cs
+++ b/Source/GrasscutterTools/Forms/FormMain.cs
@@ -60,6 +60,9 @@ namespace GrasscutterTools.Forms
#endif
}
+ ///
+ /// 窗体载入时触发(切换语言时会重新载入)
+ ///
private void FormMain_Load(object sender, EventArgs e)
{
Text += " - by jie65535 - v" + AppVersion.ToString(3);
@@ -85,8 +88,26 @@ namespace GrasscutterTools.Forms
ChangeTPArtifact();
}
+ ///
+ /// 第一次显示窗体时触发
+ ///
+ 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);
+ }
+
+ ///
+ /// 窗口关闭后触发
+ ///
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}]";
}
+ ///
+ /// 点击CharacterBuilder链接标签时触发
+ ///
+ 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 -- 获取角色 --
+
///
/// 初始化角色列表
///
@@ -1081,6 +1115,35 @@ namespace GrasscutterTools.Forms
SetCommand("/give avatars", $"lv{level} c{constellation}");
}
+ #endregion
+
+ #region -- 切换主角元素 --
+
+ ///
+ /// 点击切换主角元素链接标签时触发
+ ///
+ private void LnkSwitchElement_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ OpenURL("https://github.com/Penelopeep/SwitchElementTraveller");
+ }
+
+ ///
+ /// 元素参数
+ ///
+ private readonly string[] Elements = { "white", "fire", "water", "wind", "ice", "rock", "electro", "grass" };
+
+ ///
+ /// 切换元素下拉框选中项改变时触发
+ ///
+ private void CmbSwitchElement_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (CmbSwitchElement.SelectedIndex == -1 || CmbSwitchElement.SelectedIndex >= Elements.Length) return;
+ SetCommand("/se", Elements[CmbSwitchElement.SelectedIndex]);
+ }
+ #endregion
+
+ #region -- 设置角色属性 --
+
///
/// 初始化数据列表
///
@@ -1127,6 +1190,10 @@ namespace GrasscutterTools.Forms
SetCommand("/setstats", $"unlock {stat.ArgName}");
}
+ #endregion
+
+ #region -- 设置技能等级 --
+
///
/// 点击设置技能按钮时触发
///
@@ -1135,6 +1202,10 @@ namespace GrasscutterTools.Forms
SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}");
}
+ #endregion
+
+ #region -- 设置命座 --
+
///
/// 设置命座链接标签点击时触发
///
@@ -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
///
private void OnAttackInfusedCommand(object sender, EventArgs e)
{
- SetCommand("/at", (sender as Control).Tag as string);
+ SetCommand("/snoospawn", (sender as Control).Tag as string);
}
///
@@ -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 -
///
/// 点击GOOD导入存档按钮时触发
///
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 (*.*)|*.*",
diff --git a/Source/GrasscutterTools/Forms/FormMain.en-us.resx b/Source/GrasscutterTools/Forms/FormMain.en-us.resx
index 4aac037..c9354d6 100644
--- a/Source/GrasscutterTools/Forms/FormMain.en-us.resx
+++ b/Source/GrasscutterTools/Forms/FormMain.en-us.resx
@@ -127,14 +127,11 @@
Auto
-
- Command - [Ctrl] Autorun - [|] Split multiple commands
-
Run(F5)
-
- Remote
+
+ Command - [Ctrl] Autorun - [|] Split multiple commands
InventoryKamera
@@ -154,9 +151,6 @@
Please be sure https:// or http:// is included with the IP address
-
- Server status
-
13, 63
@@ -193,11 +187,8 @@
Player count
-
- Remote Cell
-
-
- Player
+
+ Server status
35, 17
@@ -217,8 +208,8 @@
Send Code
-
- Console
+
+ Player
Connect
@@ -226,6 +217,12 @@
Note that normal commands in the console state must specify the target (set include UID)
+
+ Console
+
+
+ Remote Cell
+
136, 36
@@ -247,8 +244,8 @@
Server IP
-
- About
+
+ Remote
387, 102
@@ -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.
-
- Manage
-
-
- Ban
+
+ About
Unban
@@ -285,8 +279,8 @@ or there is a new feature request, you can file an issue on Github.
UID
-
- Account
+
+ Ban
49, 21
@@ -321,8 +315,8 @@ or there is a new feature request, you can file an issue on Github.
127, 23
-
- Permissions
+
+ Account
262, 21
@@ -357,8 +351,11 @@ or there is a new feature request, you can file an issue on Github.
UID
-
- Scene
+
+ Permissions
+
+
+ Manage
91, 213
@@ -430,8 +427,8 @@ Tip: Most of the scenes have no effect and cannot be entered.
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
-
- Items
+
+ Scene
50, 17
@@ -484,8 +481,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
Give item to player
-
- Weapons
+
+ Items
Give all Weapons
@@ -529,11 +526,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
147, 216
-
- Avatar
-
-
- Constellation
+
+ Weapons
43, 17
@@ -547,8 +541,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
Set current
-
- Stats
+
+ Constellation
Unlock
@@ -559,8 +553,8 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
Tip
-
- Talent Level
+
+ Stats
146, 24
@@ -601,6 +595,39 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
96, 23
+
+ Talent Level
+
+
+ White
+
+
+ Fire
+
+
+ Water
+
+
+ Wind
+
+
+ Ice
+
+
+ Rock
+
+
+ Electro
+
+
+ Grass
+
+
+ 90, 17
+
+
+ SwitchElement
+
Give All Char
@@ -628,38 +655,59 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
Const.
-
- Spawn
+
+ Avatar
-
- 202, 217
+
+ 78, 25
-
- 86, 21
+
+ 144, 17
-
- Infinite HP
+
+ v Require GC > v1.3.1 v
-
- 181, 190
+
+ 98, 17
-
- 50, 17
+
+ HP 0 for infinite
-
- X Clear
+
+ 55, 17
-
- √ Record
+
+ Defense
-
- × Delete
+
+ 44, 17
-
- Records
+
+ Attack
-
- Class
+
+ 24, 17
+
+
+ HP
+
+
+ 53, 17
+
+
+ Max HP
+
+
+ Pos: x: y: z:
+
+
+ 197, 27
+
+
+ 37, 17
+
+
+ Level
53, 17
@@ -667,26 +715,122 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
Amount
-
- 120, 218
+
+ Spawn args
-
- 20, 17
+
+ 121, 17
-
- Lv
+
+ Meet the real Thor!
-
- 64, 216
+
+ 326, 17
-
- 146, 216
+
+ This plugin can use Gadget to replace character attack
-
- Quest
+
+ 46, 17
-
- List Filter
+
+ Plugin:
+
+
+ 26, 17
+
+
+ Off
+
+
+ 25, 17
+
+
+ On
+
+
+ Reload config
+
+
+ Clear all gadgets
+
+
+ Replace Skill
+
+
+ AttackModifier
+
+
+ 238, 17
+
+
+ Rot: x: y: z:
+
+
+ 50, 17
+
+
+ Spread
+
+
+ 42, 17
+
+
+ Count
+
+
+ 46, 17
+
+
+ Height
+
+
+ 47, 17
+
+
+ Radius
+
+
+ Attack Infuse
+
+
+ Reload config
+
+
+ Clear
+
+
+ Reset
+
+
+ 46, 17
+
+
+ Plugin:
+
+
+ AttackInfused
+
+
+ Entities
+
+
+ √ Record
+
+
+ × Delete
+
+
+ 50, 17
+
+
+ X Clear
+
+
+ Spawn Records
+
+
+ Spawn
51, 21
@@ -706,6 +850,9 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
Hidden
+
+ List Filter
+
Finish
@@ -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.
-
- Artifacts
+
+ Quest
+ Add
@@ -777,8 +924,8 @@ Therefore, the quest can be added and finished, but not necessarily work.
Stars
-
- Custom
+
+ Artifacts
583, 216
@@ -804,9 +951,6 @@ Therefore, the quest can be added and finished, but not necessarily work.
Tag
-
- List
-
581, -1
@@ -816,6 +960,9 @@ Therefore, the quest can be added and finished, but not necessarily work.
Restore
+
+ List
+
443, 216
@@ -837,8 +984,8 @@ Therefore, the quest can be added and finished, but not necessarily work.
317, 23
-
- Home
+
+ Custom
Shop Editor
@@ -867,9 +1014,6 @@ Therefore, the quest can be added and finished, but not necessarily work.
Banner Editor
-
- Settings
-
109, 21
@@ -882,8 +1026,11 @@ Therefore, the quest can be added and finished, but not necessarily work.
Include UID
-
- Mail
+
+ Settings
+
+
+ Home
+ Add
@@ -891,9 +1038,6 @@ Therefore, the quest can be added and finished, but not necessarily work.
- Delete
-
- Items
-
171, 4
@@ -918,9 +1062,6 @@ Therefore, the quest can be added and finished, but not necessarily work.
Level:
-
- Mailbox
-
84, 4
@@ -975,4 +1116,7 @@ Therefore, the quest can be added and finished, but not necessarily work.
Sender:
+
+ Mail
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Forms/FormMain.resx b/Source/GrasscutterTools/Forms/FormMain.resx
index 4aef9a1..eed0ea2 100644
--- a/Source/GrasscutterTools/Forms/FormMain.resx
+++ b/Source/GrasscutterTools/Forms/FormMain.resx
@@ -274,7 +274,7 @@
NoControl
- 444, 206
+ 444, 204
37, 17
@@ -307,7 +307,7 @@
NoControl
- 392, 206
+ 392, 204
46, 17
@@ -337,7 +337,7 @@
NoControl
- 486, 183
+ 486, 181
107, 17
@@ -367,7 +367,7 @@
NoControl
- 388, 139
+ 388, 137
205, 58
@@ -393,14 +393,11 @@
None
-
- False
-
NoControl
- 484, 203
+ 484, 201
104, 23
@@ -433,7 +430,7 @@
NoControl
- 141, 16
+ 141, 14
210, 17
@@ -640,7 +637,7 @@
5
- 388, 36
+ 388, 34
200, 100
@@ -859,13 +856,13 @@
6
- 4, 26
+ 4, 22
3, 3, 3, 3
- 296, 109
+ 296, 113
0
@@ -1049,7 +1046,7 @@
False
- 72, 65
+ 72, 63
310, 161
@@ -1076,7 +1073,7 @@
None
- 144, 36
+ 144, 34
182, 23
@@ -1103,7 +1100,7 @@
NoControl
- 332, 36
+ 332, 34
50, 23
@@ -1136,7 +1133,7 @@
NoControl
- 70, 39
+ 70, 37
68, 17
@@ -1184,7 +1181,7 @@
TCMain
- 12
+ 1
Bottom, Right
@@ -1290,13 +1287,13 @@
2
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
13
@@ -1314,7 +1311,7 @@
TCMain
- 11
+ 12
None
@@ -1410,7 +1407,7 @@
TxtBanReason
- GrasscutterTools.Controls.TextBoxXP, GrasscutterTools, Version=1.7.2.0, Culture=neutral, PublicKeyToken=de2b1c089621e923
+ GrasscutterTools.Controls.TextBoxXP, GrasscutterTools, Version=1.7.3.0, Culture=neutral, PublicKeyToken=de2b1c089621e923
GrpBanPlayer
@@ -1470,7 +1467,7 @@
5
- 56, 158
+ 56, 156
540, 60
@@ -1656,7 +1653,7 @@
5
- 56, 6
+ 56, 4
540, 60
@@ -1893,7 +1890,7 @@
7
- 56, 72
+ 56, 70
540, 80
@@ -1917,13 +1914,13 @@
2
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
12
@@ -1941,7 +1938,7 @@
TCMain
- 9
+ 8
Top, Left, Right
@@ -1980,7 +1977,7 @@
NoControl
- 90, 190
+ 90, 186
76, 21
@@ -2013,7 +2010,7 @@
NoControl
- 218, 161
+ 218, 157
14, 17
@@ -2046,7 +2043,7 @@
NoControl
- 112, 161
+ 112, 157
14, 17
@@ -2076,7 +2073,7 @@
NoControl
- 9, 188
+ 9, 184
75, 23
@@ -2109,7 +2106,7 @@
NoControl
- 6, 161
+ 6, 157
14, 17
@@ -2136,7 +2133,7 @@
Bottom, Left
- 238, 159
+ 238, 155
80, 23
@@ -2160,7 +2157,7 @@
Bottom, Left
- 132, 159
+ 132, 155
80, 23
@@ -2184,7 +2181,7 @@
Bottom, Left
- 26, 159
+ 26, 155
80, 23
@@ -2208,7 +2205,7 @@
Bottom, Left
- 68, 69
+ 68, 65
121, 25
@@ -2238,7 +2235,7 @@
NoControl
- 6, 72
+ 6, 68
56, 17
@@ -2303,7 +2300,7 @@
346, 31
- 300, 208
+ 300, 191
0
@@ -2330,7 +2327,7 @@
NoControl
- 6, 105
+ 6, 101
296, 51
@@ -2356,13 +2353,13 @@
13
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
9
@@ -2380,7 +2377,7 @@
TCMain
- 8
+ 11
Bottom, Left
@@ -2756,13 +2753,13 @@
11
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
4
@@ -2780,7 +2777,7 @@
TCMain
- 7
+ 5
Bottom, Left
@@ -3079,13 +3076,13 @@
9
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
3
@@ -3103,7 +3100,7 @@
TCMain
- 6
+ 7
None
@@ -3573,6 +3570,81 @@
None
+
+ 无
+
+
+ 火
+
+
+ 水
+
+
+ 风
+
+
+ 冰
+
+
+ 岩
+
+
+ 雷
+
+
+ 草
+
+
+ 112, 187
+
+
+ 87, 25
+
+
+ 12
+
+
+ CmbSwitchElement
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ GrpGiveAvatar
+
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 16, 191
+
+
+ 80, 17
+
+
+ 11
+
+
+ 切换主角元素
+
+
+ LnkSwitchElement
+
+
+ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ GrpGiveAvatar
+
+
+ 1
+
89, 22
@@ -3592,7 +3664,7 @@
GrpGiveAvatar
- 0
+ 2
True
@@ -3622,7 +3694,7 @@
GrpGiveAvatar
- 1
+ 3
89, 53
@@ -3643,7 +3715,7 @@
GrpGiveAvatar
- 2
+ 4
Microsoft YaHei UI, 10pt
@@ -3652,10 +3724,10 @@
NoControl
- 50, 159
+ 49, 140
- 150, 35
+ 150, 30
9
@@ -3673,7 +3745,7 @@
GrpGiveAvatar
- 3
+ 5
True
@@ -3703,7 +3775,7 @@
GrpGiveAvatar
- 4
+ 6
True
@@ -3733,7 +3805,7 @@
GrpGiveAvatar
- 5
+ 7
True
@@ -3763,7 +3835,7 @@
GrpGiveAvatar
- 6
+ 8
True
@@ -3793,7 +3865,7 @@
GrpGiveAvatar
- 7
+ 9
89, 82
@@ -3814,7 +3886,7 @@
GrpGiveAvatar
- 8
+ 10
89, 111
@@ -3835,7 +3907,7 @@
GrpGiveAvatar
- 9
+ 11
32, 13
@@ -3862,13 +3934,13 @@
3
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
5
@@ -3886,7 +3958,7 @@
TCMain
- 5
+ 6
Top, Bottom, Left
@@ -4789,13 +4861,13 @@
8
- 4, 26
+ 4, 22
3, 3, 3, 3
- 338, 199
+ 338, 207
1
@@ -5287,7 +5359,7 @@
3, 3, 3, 3
- 338, 203
+ 338, 199
2
@@ -5311,7 +5383,7 @@
6, 6
- 346, 233
+ 346, 229
0
@@ -5341,7 +5413,7 @@
3, 33
- 274, 167
+ 274, 171
1
@@ -5437,13 +5509,13 @@
1
- 4, 26
+ 4, 22
3, 3, 3, 3
- 280, 203
+ 280, 207
0
@@ -5473,7 +5545,7 @@
3, 3
- 274, 168
+ 274, 164
9
@@ -5587,7 +5659,7 @@
Bottom
- 3, 171
+ 3, 167
274, 29
@@ -5614,7 +5686,7 @@
3, 3, 3, 3
- 280, 203
+ 280, 199
1
@@ -5638,7 +5710,7 @@
358, 6
- 288, 233
+ 288, 229
1
@@ -5776,7 +5848,7 @@
2
- 202, 109
+ 202, 105
150, 130
@@ -5806,7 +5878,7 @@
NoControl
- 102, 216
+ 102, 212
90, 23
@@ -5836,7 +5908,7 @@
NoControl
- 6, 216
+ 6, 212
90, 23
@@ -5869,7 +5941,7 @@
6, 6
- 346, 100
+ 346, 96
4
@@ -5925,7 +5997,7 @@
358, 31
- 288, 208
+ 288, 191
3
@@ -5943,13 +6015,13 @@
5
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
15
@@ -5967,7 +6039,40 @@
TCMain
- 3
+ 10
+
+
+ Bottom, Right
+
+
+ True
+
+
+ NoControl
+
+
+ 540, 221
+
+
+ 109, 17
+
+
+ 46
+
+
+ Character Builder
+
+
+ LnkCharacterBuilder
+
+
+ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ TPArtifact
+
+
+ 0
Top
@@ -6000,7 +6105,7 @@
TPArtifact
- 0
+ 1
Top
@@ -6030,7 +6135,7 @@
TPArtifact
- 1
+ 2
Top
@@ -6060,7 +6165,7 @@
TPArtifact
- 2
+ 3
Top
@@ -6093,7 +6198,7 @@
TPArtifact
- 3
+ 4
Top
@@ -6117,7 +6222,7 @@
TPArtifact
- 4
+ 5
Top
@@ -6141,7 +6246,7 @@
TPArtifact
- 5
+ 6
Top
@@ -6174,7 +6279,7 @@
TPArtifact
- 6
+ 7
Top
@@ -6198,7 +6303,7 @@
TPArtifact
- 7
+ 8
Top
@@ -6222,7 +6327,7 @@
TPArtifact
- 8
+ 9
Top
@@ -6246,7 +6351,7 @@
TPArtifact
- 9
+ 10
Top
@@ -6279,7 +6384,7 @@
TPArtifact
- 10
+ 11
Top, Bottom
@@ -6291,7 +6396,7 @@
167, 129
- 289, 106
+ 289, 89
9
@@ -6306,7 +6411,7 @@
TPArtifact
- 11
+ 12
Top
@@ -6339,7 +6444,7 @@
TPArtifact
- 12
+ 13
Top
@@ -6372,7 +6477,7 @@
TPArtifact
- 13
+ 14
Top
@@ -6396,7 +6501,7 @@
TPArtifact
- 14
+ 15
Top
@@ -6429,7 +6534,7 @@
TPArtifact
- 15
+ 16
Top
@@ -6453,7 +6558,7 @@
TPArtifact
- 16
+ 17
Top
@@ -6486,7 +6591,7 @@
TPArtifact
- 17
+ 18
Top
@@ -6510,7 +6615,7 @@
TPArtifact
- 18
+ 19
4, 26
@@ -6537,7 +6642,7 @@
TCMain
- 2
+ 3
Bottom, Right
@@ -6546,7 +6651,7 @@
NoControl
- 593, 216
+ 593, 212
50, 23
@@ -6576,7 +6681,7 @@
NoControl
- 537, 216
+ 537, 212
50, 23
@@ -6609,7 +6714,7 @@
NoControl
- 6, 219
+ 6, 215
32, 17
@@ -6675,7 +6780,7 @@
3, 19
- 634, 182
+ 634, 178
0
@@ -6696,7 +6801,7 @@
6, 6
- 640, 204
+ 640, 200
1
@@ -6723,7 +6828,7 @@
NoControl
- 471, 216
+ 471, 212
60, 23
@@ -6753,7 +6858,7 @@
NoControl
- 405, 216
+ 405, 212
60, 23
@@ -6780,7 +6885,7 @@
Bottom, Left, Right
- 44, 216
+ 44, 212
355, 23
@@ -6825,13 +6930,16 @@
TCMain
- 1
+ 2
+
+
+ Bottom, Right
NoControl
- 313, 187
+ 313, 179
100, 23
@@ -6861,7 +6969,7 @@
NoControl
- 525, 216
+ 525, 208
100, 23
@@ -6894,7 +7002,7 @@
NoControl
- 6, 108
+ 6, 100
104, 17
@@ -6933,7 +7041,7 @@
NoControl
- 88, 36
+ 88, 32
136, 24
@@ -6963,7 +7071,7 @@
NoControl
- 419, 216
+ 419, 208
100, 23
@@ -6993,7 +7101,7 @@
NoControl
- 313, 216
+ 313, 208
100, 23
@@ -7026,7 +7134,7 @@
313, 6
- 333, 204
+ 333, 196
CenterImage
@@ -7263,7 +7371,7 @@
7
- 6, 128
+ 6, 120
301, 111
@@ -7353,7 +7461,7 @@
NoControl
- 329, 155
+ 329, 151
75, 23
@@ -7383,7 +7491,7 @@
NoControl
- 329, 184
+ 329, 180
75, 23
@@ -7446,7 +7554,7 @@
0, 0, 0, 0
- 228, 140
+ 228, 89
13
@@ -7569,7 +7677,7 @@
Bottom
- 3, 171
+ 3, 167
222, 30
@@ -7596,7 +7704,7 @@
3, 3, 3, 3
- 228, 204
+ 228, 200
0
@@ -7725,7 +7833,7 @@
1
- 4, 26
+ 4, 22
3, 3, 3, 3
@@ -7755,7 +7863,7 @@
410, 8
- 236, 234
+ 236, 230
11
@@ -7779,7 +7887,7 @@
NoControl
- 329, 210
+ 329, 206
75, 32
@@ -7809,7 +7917,7 @@
17
- 73, 155
+ 73, 151
250, 89
@@ -7839,7 +7947,7 @@
NoControl
- 6, 158
+ 6, 154
44, 17
@@ -7986,7 +8094,7 @@
Vertical
- 331, 56
+ 331, 52
6
@@ -8136,13 +8244,13 @@
16
- 4, 26
+ 4, 22
3, 3, 3, 3
- 652, 245
+ 652, 249
16
@@ -8160,7 +8268,7 @@
TCMain
- 10
+ 9
12, 12
@@ -8210,9 +8318,6 @@
Microsoft YaHei UI, 9pt
-
- NoControl
-
3, 4, 3, 4
diff --git a/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx b/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx
index 4955633..50b02eb 100644
--- a/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx
+++ b/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx
@@ -250,6 +250,12 @@
16, 15
+
+ 4, 22
+
+
+ 296, 113
+
Игрок
@@ -269,6 +275,9 @@
Обратите внимание, что обычные команды в консоли должны указывать UID цели
(установите галочку галочку "Включить UID" на главной)
+
+ 296, 109
+
Консоль
@@ -296,8 +305,14 @@
Хост
+
+ 4, 22
+
+
+ 652, 249
+
- Подключение к OpenCommand
+ OpenCommand
552, 170
@@ -315,6 +330,12 @@
Спасибо: Dhar_Jinxed
+
+ 4, 22
+
+
+ 652, 249
+
Справка
@@ -468,6 +489,12 @@
Управление правами
+
+ 4, 22
+
+
+ 652, 249
+
Аккаунты
@@ -544,6 +571,12 @@
Подсказка: вы можете быстро телепортироваться через отметку «рыболовный крючок» на миникарте в игре.
В команде вы можете использовать ~, чтобы указать текущую позицию, и ~N, чтобы указать смещение на N относительно текущей позиции
+
+ 4, 22
+
+
+ 652, 249
+
Сцена
@@ -619,6 +652,12 @@
Дать предмет игроку
+
+ 4, 22
+
+
+ 652, 249
+
Предметы
@@ -664,6 +703,12 @@
151, 216
+
+ 4, 22
+
+
+ 652, 249
+
Оружие
@@ -682,6 +727,9 @@
текущий
+
+ 288, 172
+
Установить созвездие
@@ -697,6 +745,9 @@
Подсказка
+
+ 288, 9
+
Статистика
@@ -739,9 +790,46 @@
94, 23
+
+ 288, 111
+
Уровень таланта
+
+ Без элемента
+
+
+ Пиро
+
+
+ Гидро
+
+
+ Анемо
+
+
+ Крио
+
+
+ Гео
+
+
+ Электро
+
+
+ Дендро
+
+
+
+ NoControl
+
+
+ 90, 17
+
+
+ SwitchElement
+
111, 16
@@ -749,7 +837,7 @@
114, 25
- 160, 129
+ 160, 124
111, 47
@@ -758,10 +846,10 @@
114, 23
- 26, 161
+ 25, 151
- 199, 33
+ 200, 30
Дать всех персонажей
@@ -776,7 +864,7 @@
Уровень
- 36, 107
+ 36, 102
155, 17
@@ -809,37 +897,199 @@
114, 23
- 39, 127
+ 39, 122
114, 23
+
+ 32, 9
+
Выдать персонажа
Персонаж
-
- 186, 217
+
+ 149, 17
-
- 128, 21
+
+ Требуется GC >= v1.3.1
-
- Бесконечное HP
+
+ 157, 17
-
- 170, 192
+
+ HP 0 для бесконечности
-
- 76, 17
+
+ 53, 17
-
- X Очистить
+
+ Защита
-
- 6, 189
+
+ 42, 17
+
+
+ Атака
+
+
+ 24, 17
+
+
+ HP
+
+
+ 63, 17
+
+
+ Макс. HP
+
+
+ 238, 17
+
+
+ Поз x: y: z:
+
+
+ 26, 17
+
+
+ Ур.
+
+
+ 34, 17
+
+
+ Кол.
+
+
+ 4, 22
+
+
+ 338, 207
+
+
+ Спавн
+
+
+ 190, 17
+
+
+ Встречайте настоящего Тора!
+
+
+ 213, 17
+
+
+ Атаки можно заменить гаджетом
+
+
+ 52, 17
+
+
+ Плагин
+
+
+ 194, 3
+
+
+ 41, 17
+
+
+ выкл.
+
+
+ 32, 17
+
+
+ вкл.
+
+
+ Перезагрузить
+
+
+ Очистить гаджеты
+
+
+ Замена навыков
+
+
+ 4, 22
+
+
+ 338, 207
+
+
+ Изменение атаки
+
+
+ 241, 17
+
+
+ Повер. x: y: z:
+
+
+ 154, 78
+
+
+ 74, 17
+
+
+ Распростр.
+
+
+ 56, 17
+
+
+ Кол-во
+
+
+ 51, 17
+
+
+ Высота
+
+
+ 49, 17
+
+
+ Радиус
+
+
+ Создать инфузию
+
+
+ Перезагрузка
+
+
+ Очистить
+
+
+ Сбросить
+
+
+ 52, 17
+
+
+ Плагин
+
+
+ Элем. инфузия
+
+
+ 274, 171
+
+
+ 4, 22
+
+
+ 280, 207
+
+
+ Список объектов
80, 23
@@ -848,7 +1098,7 @@
√ Сохр.
- 87, 189
+ 89, 3
80, 23
@@ -856,44 +1106,23 @@
× Удалить
-
- 234, 162
+
+ 175, 6
-
- 6, 6
+
+ 76, 17
-
- 240, 184
+
+ X Очистить
-
- Список мобов
+
+ Записи спавнов
-
- 97, 183
+
+ 4, 22
-
- 249, 6
-
-
- 103, 205
-
-
- Класс
-
-
- 34, 17
-
-
- Кол.
-
-
- 26, 17
-
-
- Ур.
-
-
- 129, 216
+
+ 652, 249
Спавн
@@ -930,6 +1159,12 @@
Внимание: для многих квестов требуются скрипты таковых на стороне сервера.
Поэтому квест может быть добавлен или отозван через консоль, но завершён игроком - вряд ли.
+
+ 4, 22
+
+
+ 652, 249
+
Квест
@@ -1005,6 +1240,12 @@
Звезды
+
+ 4, 22
+
+
+ 652, 249
+
Артефакт
@@ -1068,9 +1309,18 @@
204, 23
+
+ 4, 22
+
+
+ 652, 249
+
Кастомное
+
+ 313, 179
+
140, 23
@@ -1078,7 +1328,7 @@
Редактор магазина
- 459, 216
+ 459, 208
187, 23
@@ -1086,8 +1336,11 @@
Редактор дропа
+
+ 6, 100
+
- 12, 41
+ 12, 37
314, 24
@@ -1096,7 +1349,7 @@
Желаем приятно провести время!
- 526, 187
+ 526, 179
120, 23
@@ -1104,12 +1357,18 @@
Браузер карт
+
+ 313, 208
+
140, 23
Редактор баннеров
+
+ 333, 196
+
140, 21
@@ -1122,6 +1381,9 @@
Включить UID
+
+ 6, 120
+
Настройки
@@ -1146,6 +1408,9 @@
- Удалить
+
+ 228, 106
+
172, 3
@@ -1170,9 +1435,6 @@
Уровень
-
- Предметы
-
114, 5
@@ -1191,8 +1453,14 @@
- Удалить
-
- Почта
+
+ 3, 177
+
+
+ 4, 22
+
+
+ 228, 208
304, 213
@@ -1275,7 +1543,22 @@
Отправитель:
+
+ 4, 22
+
+
+ 652, 249
+
Почта
+
+ Предметы
+
+
+ Список рассылки
+
+
+ NoControl
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx b/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx
index d0d4a9d..caf4431 100644
--- a/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx
+++ b/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx
@@ -123,14 +123,11 @@
自動
-
- 命令 - [Ctrl] 自動執行 - [|] 分割多條命令
-
執行(F5)
-
- 遠程
+
+ 命令 - [Ctrl] 自動執行 - [|] 分割多條命令
存檔掃描開源工具
@@ -148,9 +145,6 @@
請確保地址中包含 http:// 或 https://
-
- 伺服器狀態
-
遠程執行插件
@@ -160,11 +154,8 @@
當前玩家數
-
- 遠程執行
-
-
- 玩家驗證
+
+ 伺服器狀態
幫助
@@ -178,6 +169,15 @@
發送驗證碼
+
+ 4, 22
+
+
+ 296, 113
+
+
+ 玩家驗證
+
連接
@@ -185,14 +185,26 @@
請注意,控制台狀態下普通命令必須指定目標
(即設置包含UID)
+
+ 296, 109
+
+
+ 遠程執行
+
查詢
伺服器地址
-
- 關於
+
+ 4, 22
+
+
+ 652, 249
+
+
+ 遠程
334, 102
@@ -205,15 +217,21 @@
如果願意請我喝一杯奶茶,那就更好了 : )
指令生成有問題,或者有新的功能請求,都可以來Github提出
+
+ 4, 22
+
+
+ 652, 249
+
+
+ 關於
+
封號
目標UID
-
- 賬號管理
-
- 刪除
@@ -223,8 +241,8 @@
用戶名
-
- 權限管理
+
+ 賬號管理
權限
@@ -232,8 +250,14 @@
目標UID
-
- 場景
+
+ 權限管理
+
+
+ 4, 22
+
+
+ 652, 249
含場景ID
@@ -257,6 +281,15 @@
提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送
命令中可以用~表示當前位置,~N 表示相對當前N
+
+ 4, 22
+
+
+ 652, 249
+
+
+ 場景
+
√ 記錄
@@ -276,6 +309,12 @@
給玩家指定物品
說明:可選擇直接給到背包或者掉落到世界
+
+ 4, 22
+
+
+ 652, 249
+
獲得所有武器
@@ -299,8 +338,11 @@
等級
-
- 設置命座
+
+ 4, 22
+
+
+ 652, 249
設置所有角色
@@ -308,8 +350,11 @@
設置當前角色
-
- 角色屬性
+
+ 288, 174
+
+
+ 設置命座
解鎖
@@ -317,12 +362,34 @@
鎖定
-
- 技能等級
+
+ 288, 11
+
+
+ 角色屬性
普通攻擊
+
+ 288, 113
+
+
+ 技能等級
+
+
+ 無
+
+
+ 風
+
+
+
+ NoControl
+
+
+ 切換主角元素
+
一鍵獲得所有角色
@@ -332,8 +399,107 @@
技能等級
-
- 無限血
+
+ 32, 11
+
+
+ 以下參數至少要求 GC v1.3.1
+
+
+ 血量為 0 表示無限
+
+
+ 防禦力:
+
+
+ 攻擊力:
+
+
+ 32, 17
+
+
+ 等級
+
+
+ 32, 17
+
+
+ 數量
+
+
+ 4, 22
+
+
+ 338, 207
+
+
+ 生成參數
+
+
+ 見識一下真正的雷神吧!
+
+
+ 這個插件可以使用 Gadget 替換角色攻擊
+
+
+ 關
+
+
+ 開
+
+
+ 重載配置
+
+
+ 清空實體!!
+
+
+ 替換技能
+
+
+ 4, 22
+
+
+ 338, 207
+
+
+ 攻擊修改參數
+
+
+ 旋轉: x: y: z:
+
+
+ 擴散:
+
+
+ 數量:
+
+
+ 範圍:
+
+
+ 攻擊注入
+
+
+ 重載配置
+
+
+ 清空實體
+
+
+ 攻擊注入參數
+
+
+ 274, 171
+
+
+ 4, 22
+
+
+ 280, 207
+
+
+ 實體列表
√ 記錄
@@ -341,23 +507,14 @@
× 刪除
-
+
生成記錄本
-
- 列表分類
+
+ 4, 22
-
- 數量
-
-
- 等級
-
-
- 任務
-
-
- 列表過濾
+
+ 652, 249
測試任務
@@ -368,6 +525,9 @@
隱藏的任務
+
+ 列表過濾
+
完成任務
@@ -379,8 +539,14 @@
提示:許多任務需要服務端腳本支持
囙此任務可以接,可以完成,但是不一定可以做
-
- 聖遺物
+
+ 4, 22
+
+
+ 652, 249
+
+
+ 任務
套裝
@@ -397,8 +563,14 @@
星級
-
- 自定義
+
+ 4, 22
+
+
+ 652, 249
+
+
+ 聖遺物
導出
@@ -412,30 +584,63 @@
× 刪除
-
- 主頁
+
+ 4, 22
+
+
+ 652, 249
+
+
+ 自定義
+
+
+ 313, 183
商店編輯器
+
+ 525, 212
+
掉落物編輯器
+
+ 6, 104
+
+
+ 88, 34
+
+
+ 419, 212
+
文本瀏覽器
+
+ 313, 212
+
獎池編輯器
+
+ 333, 200
+
置頂
-
- 郵件
+
+ 6, 124
+
+
+ 主頁
- 刪除
+
+ 228, 123
+
171, 4
@@ -454,12 +659,18 @@
等級:
-
- 郵件列表
-
- 刪除
+
+ 3, 177
+
+
+ 4, 22
+
+
+ 228, 208
+
發送
@@ -472,4 +683,13 @@
發件人:
+
+ 4, 22
+
+
+ 652, 249
+
+
+ 郵件
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Forms/FormShopEditor.cs b/Source/GrasscutterTools/Forms/FormShopEditor.cs
index a28a56d..7e8dfb6 100644
--- a/Source/GrasscutterTools/Forms/FormShopEditor.cs
+++ b/Source/GrasscutterTools/Forms/FormShopEditor.cs
@@ -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
/// 文件路径
private void LoadShops(string path)
{
- try
+ var name = Path.GetFileName(path);
+ var content = File.ReadAllText(path);
+ var funs = new Action[3]
{
- // 反序列化
- var banners = JsonConvert.DeserializeObject>(File.ReadAllText(path));
- Shops = new Dictionary>(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>(content);
+ Shops = new Dictionary>(banners.Count);
+ foreach (var item in banners)
+ Shops.Add(item.ShopType, item.Items);
+ }
+
+ private void LoadShopsFromShopGoodsExcelConfigData(string content)
+ {
+ var banners = JsonConvert.DeserializeObject>(content);
+ Shops = new Dictionary>();
+ foreach (var kv in banners.GroupBy(it => it.ShopType))
+ Shops.Add(kv.Key, kv.Select(it => new ShopInfo(it)).ToList());
}
///
/// 从TSV加载商店
///
- /// 文件路径
- private void LoadShopsFromTsv(string path)
+ /// 文件内容
+ private void LoadShopsFromTsv(string content)
{
- var lines = File.ReadAllLines(path);
+ var lines = content.Split('\n');
Shops = new Dictionary>();
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(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,
diff --git a/Source/GrasscutterTools/Forms/FormShopEditor.en-US.resx b/Source/GrasscutterTools/Forms/FormShopEditor.en-US.resx
index 459a5d5..0abfef9 100644
--- a/Source/GrasscutterTools/Forms/FormShopEditor.en-US.resx
+++ b/Source/GrasscutterTools/Forms/FormShopEditor.en-US.resx
@@ -120,21 +120,18 @@
Shop list
-
- Shop info list
-
× Clear
- Delete
+
+ Shop info list
+
Item list
-
- Shop info
-
√ Add or Update
@@ -244,6 +241,9 @@
Generate ID
+
+ Shop info
+
Save
diff --git a/Source/GrasscutterTools/Forms/FormShopEditor.resx b/Source/GrasscutterTools/Forms/FormShopEditor.resx
index cdc62f9..92610a0 100644
--- a/Source/GrasscutterTools/Forms/FormShopEditor.resx
+++ b/Source/GrasscutterTools/Forms/FormShopEditor.resx
@@ -121,12 +121,19 @@
7
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ GrpGoodsInfo
+
+
+
+ 45, 269
+
+
+ 20
-
- Top
+
+ Fill
Top
@@ -134,13 +141,9 @@
True
-
175, 124
-
- Top
-
GrpGoodsInfo
@@ -189,27 +192,36 @@
6
+
+ 13
+
+
+ x
+
System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Top
-
- 45, 185
+
+ 刷新方式:
-
- NUDMaxLevel
+
+ GrpGoodsInfo
+
+
+ 消耗物品3:
16
+
+ 57, 17
+
10
-
- 120, 23
-
14
@@ -219,6 +231,9 @@
7
+
+ GrpGoodsInfo
+
17
@@ -234,9 +249,6 @@
0
-
- yyyy'/'MM'/'dd HH':'mm':'ss
-
119, 122
@@ -255,12 +267,6 @@
12
-
- 119, 354
-
-
- LblEndTimeLabel
-
2
@@ -294,9 +300,6 @@
24
-
- GrpGoodsInfo
-
True
@@ -321,6 +324,9 @@
System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 消耗原石:
+
Top
@@ -333,9 +339,6 @@
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 消耗物品1:
-
LblCostHcoinLabel
@@ -357,6 +360,9 @@
GrpGoodsInfo
+
+ 50, 23
+
消耗创世结晶:
@@ -396,6 +402,9 @@
GrpGoodsInfo
+
+ 7
+
666, 12
@@ -408,9 +417,6 @@
NUDRefreshParm
-
- Top
-
NUDCostItem4
@@ -426,9 +432,6 @@
6
-
- 7
-
生成ID
@@ -438,8 +441,8 @@
NUDCostMcoin
-
- 18
+
+ 44, 17
$this
@@ -453,14 +456,8 @@
Top
-
- 44, 17
-
-
- True
-
-
- 2
+
+ GrpGoodsInfo
$this
@@ -492,8 +489,8 @@
1
-
- 2
+
+ GrpGoodsInfo
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -513,9 +510,6 @@
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- True
-
3
@@ -528,6 +522,9 @@
17
+
+ 245, 64
+
商店列表
@@ -546,8 +543,8 @@
119, 383
-
- 刷新方式:
+
+ True
95, 61
@@ -558,12 +555,12 @@
9
+
+ x
+
商品:
-
- True
-
Top
@@ -573,24 +570,21 @@
4
-
- 245, 64
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
0
-
- 119, 32
-
True
GrpGoodsInfo
-
- x
-
Top
@@ -603,18 +597,12 @@
17, 17
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
物品列表
50, 23
-
- 622, 41
-
6
@@ -642,7 +630,7 @@
LnkGenGoodsId
-
+
GrpGoodsInfo
@@ -654,6 +642,9 @@
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 31
+
120, 23
@@ -666,6 +657,9 @@
LblGoodsIdLabel
+
+ GrpShopList
+
2
@@ -678,6 +672,9 @@
System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 23
+
0
@@ -696,8 +693,14 @@
21, 298
-
- GrpGoodsInfo
+
+ 28
+
+
+ 34
+
+
+ Top
12
@@ -705,9 +708,6 @@
538, 23
-
- 19
-
Bottom, Left
@@ -723,11 +723,8 @@
LblBuyLevelLabel
-
- 13
-
-
- 1
+
+ 消耗物品1:
4
@@ -750,8 +747,8 @@
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 23
+
+ 70, 23
GrpGoodsInfo
@@ -774,9 +771,6 @@
68, 17
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
45, 17
@@ -786,9 +780,6 @@
$this
-
- GrpShopList
-
1
@@ -813,8 +804,11 @@
BtnLoad
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 18
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
GrpGoodsInfo
@@ -834,11 +828,11 @@
45, 211
-
- GrpGoodsInfo
+
+ CmbRefreshType
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 219, 325
36
@@ -864,8 +858,8 @@
TxtItemFilter
-
- Fill
+
+ Top
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -897,6 +891,9 @@
29
+
+ GrpGoodsInfo
+
160, 23
@@ -909,8 +906,8 @@
消耗物品2:
-
- 7
+
+ 1
238, 446
@@ -921,9 +918,6 @@
NUDCostHcoin
-
- 3
-
Top
@@ -951,11 +945,8 @@
11, 15
-
- 80, 23
-
-
- 45, 64
+
+ NUDMaxLevel
250, 302
@@ -978,8 +969,8 @@
Top
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 119, 32
True
@@ -987,14 +978,14 @@
System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 消耗物品3:
+
+ GrpGoodsInfo
GrpGoodsInfo
-
- 28
+
+ 2
21
@@ -1002,6 +993,9 @@
消耗摩拉:
+
+ 42
+
10
@@ -1017,6 +1011,9 @@
50, 23
+
+ 80, 23
+
限购数量:
@@ -1026,21 +1023,30 @@
38, 383
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
11
GrpGoodsInfo
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 1
+
+ 2
68, 17
+
+ GrpGoodsInfo
+
Top
@@ -1062,8 +1068,8 @@
Bottom, Left
-
- 1
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
80, 23
@@ -1071,8 +1077,8 @@
× 清空
-
- 247, 34
+
+ True
112, 273
@@ -1083,27 +1089,27 @@
GrpGoodsInfo
-
- 70, 23
-
FormShopEditor
-
- 20
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
GrpGoodsInfo
-
- yyyy'/'MM'/'dd HH':'mm':'ss
+
+ 6, 273
-
- 42
+
+ GrpShopList
DTPEndTime
+
+ 3
+
LblRefreshModeLabel
@@ -1137,6 +1143,9 @@
True
+
+ 商品ID:
+
144, 23
@@ -1155,8 +1164,8 @@
GrpGoodsInfo
-
- GrpGoodsInfo
+
+ 7
119, 90
@@ -1179,8 +1188,8 @@
上架时间:
-
- CmbRefreshType
+
+ 238, 23
5
@@ -1197,9 +1206,6 @@
True
-
- 238, 23
-
3, 19
@@ -1227,15 +1233,12 @@
12, 41
-
- 120, 23
+
+ GrpGoodsInfo
100, 23
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
207, 357
@@ -1272,20 +1275,17 @@
GrpGoodsInfo
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 3
-
- GrpGoodsInfo
+
+ Top
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 2
-
-
- x
+
+ LblEndTimeLabel
0
@@ -1293,32 +1293,32 @@
NUDCostItem2
-
- 45, 269
+
+ 19
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 2
Top
+
+ 68, 17
+
限购等级:
-
- 6, 273
-
-
+
Top
-
+
Top
0
-
- GrpGoodsInfo
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -1338,14 +1338,11 @@
Shop.json Editor
-
- GrpGoodsInfo
-
LblCostMcoinLabel
-
- Top
+
+ 622, 41
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -1383,8 +1380,8 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- GrpShopList
+
+ 1
60, 23
@@ -1392,8 +1389,8 @@
Top
-
- GrpGoodsInfo
+
+ 1
CenterScreen
@@ -1401,17 +1398,14 @@
System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- x
+
+ 120, 23
207, 386
-
- GrpGoodsInfo
-
-
- Top
+
+ 119, 354
Top
@@ -1419,17 +1413,17 @@
GrpGoodsInfo
-
- 34
+
+ x
-
- Top
+
+ 247, 34
label1
-
- 57, 17
+
+ 45, 64
3
@@ -1455,6 +1449,9 @@
14, 17
+
+ GrpGoodsInfo
+
4
@@ -1464,16 +1461,13 @@
40
-
- GrpGoodsInfo
-
41
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
Top
@@ -1521,12 +1515,18 @@
244, 178
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
√ 添加或更新
900, 600
+
+ 2
+
7
@@ -1548,8 +1548,8 @@
7
-
- 商品ID:
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
38, 412
@@ -1581,14 +1581,14 @@
30
-
- 31
+
+ Top
250, 508
-
- 68, 17
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
25
@@ -1602,8 +1602,8 @@
GrpGoodsList
-
- 2
+
+ 120, 23
True
@@ -1611,11 +1611,11 @@
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 3
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ GrpGoodsInfo
Top
@@ -1623,14 +1623,14 @@
NUDBuyLimit
-
+
GrpGoodsInfo
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Top
-
- 50, 23
+
+ yyyy'/'MM'/'dd HH':'mm':'ss
56, 34
@@ -1644,9 +1644,6 @@
68, 17
-
- 219, 325
-
GrpGoodsInfo
@@ -1659,8 +1656,8 @@
LblShopPathLabel
-
- GrpGoodsInfo
+
+ Top
219, 354
@@ -1686,12 +1683,15 @@
100, 23
-
- 消耗原石:
+
+ yyyy'/'MM'/'dd HH':'mm':'ss
219, 383
+
+ 45, 185
+
True
diff --git a/Source/GrasscutterTools/Forms/FormShopEditor.ru-RU.resx b/Source/GrasscutterTools/Forms/FormShopEditor.ru-RU.resx
index d76a4f5..b840b3c 100644
--- a/Source/GrasscutterTools/Forms/FormShopEditor.ru-RU.resx
+++ b/Source/GrasscutterTools/Forms/FormShopEditor.ru-RU.resx
@@ -145,6 +145,18 @@
√ Добавить или обновить
+
+ Никогда
+
+
+ Ежедневно
+
+
+ Еженедельно
+
+
+ Ежемесячно
+
4, 211
diff --git a/Source/GrasscutterTools/Forms/FormShopEditor.zh-TW.resx b/Source/GrasscutterTools/Forms/FormShopEditor.zh-TW.resx
index 030eeae..6ad66a7 100644
--- a/Source/GrasscutterTools/Forms/FormShopEditor.zh-TW.resx
+++ b/Source/GrasscutterTools/Forms/FormShopEditor.zh-TW.resx
@@ -120,6 +120,12 @@
- 刪除
+
+ 無
+
+
+ 週
+
限購等級:
diff --git a/Source/GrasscutterTools/Game/Shop/ShopGoodsData.cs b/Source/GrasscutterTools/Game/Shop/ShopGoodsData.cs
new file mode 100644
index 0000000..5e0af4f
--- /dev/null
+++ b/Source/GrasscutterTools/Game/Shop/ShopGoodsData.cs
@@ -0,0 +1,77 @@
+/**
+ * Grasscutter Tools
+ * Copyright (C) 2022 jie65535
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ *
+ **/
+using System;
+using System.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 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; }
+ }
+}
diff --git a/Source/GrasscutterTools/Game/Shop/ShopInfo.cs b/Source/GrasscutterTools/Game/Shop/ShopInfo.cs
index 9595740..bd72140 100644
--- a/Source/GrasscutterTools/Game/Shop/ShopInfo.cs
+++ b/Source/GrasscutterTools/Game/Shop/ShopInfo.cs
@@ -16,14 +16,44 @@
* along with this program. If not, see .
*
**/
+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")]
diff --git a/Source/GrasscutterTools/Game/Shop/ShopRefreshType.cs b/Source/GrasscutterTools/Game/Shop/ShopRefreshType.cs
index 98b320b..7a13bd2 100644
--- a/Source/GrasscutterTools/Game/Shop/ShopRefreshType.cs
+++ b/Source/GrasscutterTools/Game/Shop/ShopRefreshType.cs
@@ -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 .
+ *
+ **/
namespace GrasscutterTools.Game.Shop
{
///
@@ -10,25 +26,21 @@ namespace GrasscutterTools.Game.Shop
///
/// 不刷新
///
- [JsonProperty("NONE")]
- None,
+ NONE,
///
/// 按天刷新
///
- [JsonProperty("SHOP_REFRESH_DAILY")]
- Daily,
+ SHOP_REFRESH_DAILY,
///
/// 按周刷新
///
- [JsonProperty("SHOP_REFRESH_WEEKLY")]
- Weekly,
+ SHOP_REFRESH_WEEKLY,
///
/// 按月刷新
///
- [JsonProperty("SHOP_REFRESH_MONTHLY")]
- Monthly,
+ SHOP_REFRESH_MONTHLY,
}
}
diff --git a/Source/GrasscutterTools/GrasscutterTools.csproj b/Source/GrasscutterTools/GrasscutterTools.csproj
index 978fd04..ded7486 100644
--- a/Source/GrasscutterTools/GrasscutterTools.csproj
+++ b/Source/GrasscutterTools/GrasscutterTools.csproj
@@ -70,12 +70,6 @@
-
- False
- Resources\Newtonsoft.Json.dll
- False
- False
-
@@ -141,6 +135,7 @@
+
@@ -367,6 +362,9 @@
+
+ 13.0.1
+
2.2.0
diff --git a/Source/GrasscutterTools/Properties/Resources.Designer.cs b/Source/GrasscutterTools/Properties/Resources.Designer.cs
index ac54564..ef38cb2 100644
--- a/Source/GrasscutterTools/Properties/Resources.Designer.cs
+++ b/Source/GrasscutterTools/Properties/Resources.Designer.cs
@@ -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 [字符串的其余部分被截断]"; 的本地化字符串。
+ ////clear all [字符串的其余部分被截断]"; 的本地化字符串。
///
internal static string CustomCommands {
get {
@@ -1009,6 +1009,15 @@ namespace GrasscutterTools.Properties {
}
}
+ ///
+ /// 查找类似 仅允许以 Shop.json 格式保存!确定要覆盖当前指定文件吗? 的本地化字符串。
+ ///
+ internal static string ShopJsonOverrideWarning {
+ get {
+ return ResourceManager.GetString("ShopJsonOverrideWarning", resourceCulture);
+ }
+ }
+
///
/// 查找类似 900:派蒙
///902:礼包商城
diff --git a/Source/GrasscutterTools/Properties/Resources.en-us.resx b/Source/GrasscutterTools/Properties/Resources.en-us.resx
index aa8b842..d87ea2e 100644
--- a/Source/GrasscutterTools/Properties/Resources.en-us.resx
+++ b/Source/GrasscutterTools/Properties/Resources.en-us.resx
@@ -282,4 +282,7 @@ Improvement suggestions have been submitted, please use caution to send emails t
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
+
+ Only allowed to save in Shop.json format! Are you sure you want to overwrite the currently specified file?
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Properties/Resources.resx b/Source/GrasscutterTools/Properties/Resources.resx
index 01af696..590fae6 100644
--- a/Source/GrasscutterTools/Properties/Resources.resx
+++ b/Source/GrasscutterTools/Properties/Resources.resx
@@ -291,4 +291,7 @@
当前商品ID与其它商店中的ID存在冲突,请更换其它ID或自动生成ID
+
+ 仅允许以 Shop.json 格式保存!确定要覆盖当前指定文件吗?
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Properties/Resources.ru-ru.resx b/Source/GrasscutterTools/Properties/Resources.ru-ru.resx
index e470aff..3172f51 100644
--- a/Source/GrasscutterTools/Properties/Resources.ru-ru.resx
+++ b/Source/GrasscutterTools/Properties/Resources.ru-ru.resx
@@ -146,7 +146,7 @@
..\Resources\ru-ru\AvatarStats.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- Не удалось открыть в браузере. Вы можете вручную получить доступ к следующему адресу:
+ Не удалось открыть в браузере. Вы можете вручную перейти по этому адресу:
Переход на новую версию
@@ -227,7 +227,7 @@
Пожалуйста, сначала подключитесь к серверу, который поддерживает [OpenCommand]
- Вы уверены, что хотите восстановить пользовательские команды по умолчанию?
+ Вы уверены, что хотите восстановить пользовательские команды до списка по умолчанию?
..\Resources\ru-ru\Scene.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
@@ -258,8 +258,8 @@
Отправка почты всем в текущей (v1.4.2) или более ранних версиях может привести к зависанию сервера или даже к нехватке ресурсов и сбою!
-На самом деле было измерено, что отправка электронных писем на 3000+ учетных записей на машине 4H8G приводит к зависанию сервера, и для получения всех игроков (2000+) на машине 32H80G требуется 40 секунд.
-Были отправлены предложения по улучшению, пожалуйста, будьте осторожны, чтобы отправить электронные письма всем игрокам, пока оптимизация не будет завершена!
+Было проверено, что отправка электронных писем на 3000+ учетных записей на машине 4H8G приводит к зависанию сервера, и для получения всех игроков (2000+) на машине 32H80G требуется 40 секунд.
+Были отправлены предложения по улучшению, но пока, пожалуйста, будьте осторожны при отправке писем всем игрокам, пока оптимизация не будет завершена!
Предупреждение
@@ -268,6 +268,9 @@
..\Resources\ru-ru\ShopType.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
- Существует конфликт между текущим идентификатором товара и идентификатором в других магазинах, пожалуйста, замените другим идентификатором или автоматически сгенерируйте идентификатор
+ Существует конфликт между текущим ID товара и ID в других магазинах. Пожалуйста, замените его другим ID или автоматически сгенерируйте новый ID
+
+
+ Разрешено сохранять только в формате Shop.json! Вы уверены, что хотите перезаписать текущий файл?
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Properties/Resources.zh-TW.resx b/Source/GrasscutterTools/Properties/Resources.zh-TW.resx
index 5cdf91f..017e060 100644
--- a/Source/GrasscutterTools/Properties/Resources.zh-TW.resx
+++ b/Source/GrasscutterTools/Properties/Resources.zh-TW.resx
@@ -276,4 +276,7 @@
當前商品ID與其它商店中的ID存在衝突,請更換其它ID或自動生成ID
+
+ 僅允許以 Shop.json 格式保存!確定要覆蓋當前指定文件嗎?
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Properties/Settings.Designer.cs b/Source/GrasscutterTools/Properties/Settings.Designer.cs
index 98b6ef1..c55d6ff 100644
--- a/Source/GrasscutterTools/Properties/Settings.Designer.cs
+++ b/Source/GrasscutterTools/Properties/Settings.Designer.cs
@@ -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;
+ }
+ }
}
}
diff --git a/Source/GrasscutterTools/Properties/Settings.settings b/Source/GrasscutterTools/Properties/Settings.settings
index d5bcfdd..cb4375f 100644
--- a/Source/GrasscutterTools/Properties/Settings.settings
+++ b/Source/GrasscutterTools/Properties/Settings.settings
@@ -44,5 +44,11 @@
+
+ 0, 0
+
+
+ 0, 0
+
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Resources/en-us/CustomCommands.txt b/Source/GrasscutterTools/Resources/en-us/CustomCommands.txt
index 228b0c0..6b41c90 100644
--- a/Source/GrasscutterTools/Resources/en-us/CustomCommands.txt
+++ b/Source/GrasscutterTools/Resources/en-us/CustomCommands.txt
@@ -21,7 +21,7 @@ Heal
Suicide
/kill 0
Charge Energy
-/spawn 2008 25
+/spawn 2008 x25
Where am I?
/pos
Give me ALL!
diff --git a/Source/GrasscutterTools/Resources/en-us/Monsters.txt b/Source/GrasscutterTools/Resources/en-us/Monsters.txt
index 7a0940a..cf178eb 100644
--- a/Source/GrasscutterTools/Resources/en-us/Monsters.txt
+++ b/Source/GrasscutterTools/Resources/en-us/Monsters.txt
@@ -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
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Resources/ru-ru/CustomCommands.txt b/Source/GrasscutterTools/Resources/ru-ru/CustomCommands.txt
index 0370845..030f037 100644
--- a/Source/GrasscutterTools/Resources/ru-ru/CustomCommands.txt
+++ b/Source/GrasscutterTools/Resources/ru-ru/CustomCommands.txt
@@ -21,7 +21,7 @@
Самоубийство
/kill 0
Заспавнить шар с элем. энергией
-/spawn 2008 25
+/spawn 2008 x25
Текущая позиция
/pos
Получить всё
diff --git a/Source/GrasscutterTools/Resources/ru-ru/Monsters.txt b/Source/GrasscutterTools/Resources/ru-ru/Monsters.txt
index f1243b9..5cf3c26 100644
--- a/Source/GrasscutterTools/Resources/ru-ru/Monsters.txt
+++ b/Source/GrasscutterTools/Resources/ru-ru/Monsters.txt
@@ -739,3 +739,23 @@
28040804:[N/A] 1321673065
28040901:[N/A] 3639121545
28040902:[N/A] 3476332937
+
+35210101:Позолоченная бригада - Одноручный топор (Лесная книга)
+35210301:Позолоченный NPC - 3.2 Солдат гарнизона A
+35210302:Позолоченный NPC - 3.2 Солдат гарнизона B
+35210303:Позолоченный NPC - 3.2 Солдат гарнизона C
+35210401:Позолоченный NPC - Люксембург
+35210501:NPC - Хабачи
+35310101:Позолоченная бригада · Очистка воды песком (Золотая страна грез)
+35310301:Позолоченная бригада · Гром днем (Золотая страна грез)
+35210102:Леопард из джунглей
+36090190:Активность — Дружелюбная летающая вода
+36090290:Активность — Дружелюбная летающая трава
+36090390:Активность — Дружелюбный летающий ветер
+36090490:Активность — Дружелюбный вращающийся гром
+36090590:Активность — Дружелюбный вращающийся лед
+36090690:Событие — Дружелюбный вращающийся огонь
+36090790:Активность — Дружественный растянутый огонь
+36090890:Активность — Дружелюбный растянутый ветер
+36090990:Активность — Дружелюбная растянутая скала
+36091090:Активность — Дружелюбный растянутый гром
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Resources/zh-cn/CustomCommands.txt b/Source/GrasscutterTools/Resources/zh-cn/CustomCommands.txt
index e1c8ea9..b9a73ce 100644
--- a/Source/GrasscutterTools/Resources/zh-cn/CustomCommands.txt
+++ b/Source/GrasscutterTools/Resources/zh-cn/CustomCommands.txt
@@ -21,7 +21,7 @@
自杀
/kill 0
全队充能
-/spawn 2008 25
+/spawn 2008 x25
查看坐标
/pos
获取全部物品
diff --git a/Source/GrasscutterTools/Resources/zh-cn/Monsters.txt b/Source/GrasscutterTools/Resources/zh-cn/Monsters.txt
index 994fc7b..5b3514a 100644
--- a/Source/GrasscutterTools/Resources/zh-cn/Monsters.txt
+++ b/Source/GrasscutterTools/Resources/zh-cn/Monsters.txt
@@ -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:活动-友方伸展雷
\ No newline at end of file
diff --git a/Source/GrasscutterTools/Resources/zh-tw/CustomCommands.txt b/Source/GrasscutterTools/Resources/zh-tw/CustomCommands.txt
index 9102bec..d1033c1 100644
--- a/Source/GrasscutterTools/Resources/zh-tw/CustomCommands.txt
+++ b/Source/GrasscutterTools/Resources/zh-tw/CustomCommands.txt
@@ -21,7 +21,7 @@
自殺
/kill 0
全隊充能
-/spawn 2008 25
+/spawn 2008 x25
查看坐標
/pos
獲取全部物品
diff --git a/Source/GrasscutterTools/Resources/zh-tw/Monsters.txt b/Source/GrasscutterTools/Resources/zh-tw/Monsters.txt
index 0a198a8..f3c66e3 100644
--- a/Source/GrasscutterTools/Resources/zh-tw/Monsters.txt
+++ b/Source/GrasscutterTools/Resources/zh-tw/Monsters.txt
@@ -738,4 +738,25 @@
28040803:吹沙角鲀
28040804:暮云角鲀
28040901:青金斧枪鱼
-28040902:翡玉斧枪鱼
\ No newline at end of file
+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:活動-友方伸展雷
\ No newline at end of file