Waypoints implementation

This commit is contained in:
Егор Брон 2022-09-21 18:19:47 +03:00
parent f07cdfd4d5
commit e58de20d6b
9 changed files with 356 additions and 180 deletions

View File

@ -230,19 +230,19 @@ namespace GrasscutterTools.Forms
this.LblDefaultUid = new System.Windows.Forms.Label();
this.TCMain = new System.Windows.Forms.TabControl();
this.TPWaypoints = new System.Windows.Forms.TabPage();
this.WaypointX = new System.Windows.Forms.Label();
this.NUDWaypointZ = new System.Windows.Forms.NumericUpDown();
this.WaypointZ = new System.Windows.Forms.Label();
this.NUDWaypointY = new System.Windows.Forms.NumericUpDown();
this.NUDWaypointX = new System.Windows.Forms.NumericUpDown();
this.WaypointName = new System.Windows.Forms.Label();
this.WaypointY = new System.Windows.Forms.Label();
this.WaypointsGroupBox = new System.Windows.Forms.GroupBox();
this.LnkResetWaypoints = new System.Windows.Forms.LinkLabel();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.FLPWaypointsList = new System.Windows.Forms.FlowLayoutPanel();
this.DeleteWaypoint = new System.Windows.Forms.Button();
this.CreateWaypoint = new System.Windows.Forms.Button();
this.WaypointNameInput = new System.Windows.Forms.TextBox();
this.WaypointZ = new System.Windows.Forms.Label();
this.WaypointY = new System.Windows.Forms.Label();
this.WaypointX = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown3 = new System.Windows.Forms.NumericUpDown();
this.GrpCommand.SuspendLayout();
this.TPRemoteCall.SuspendLayout();
this.GrpServerStatus.SuspendLayout();
@ -301,10 +301,10 @@ namespace GrasscutterTools.Forms
((System.ComponentModel.ISupportInitialize)(this.NUDUid)).BeginInit();
this.TCMain.SuspendLayout();
this.TPWaypoints.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUDWaypointZ)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUDWaypointY)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUDWaypointX)).BeginInit();
this.WaypointsGroupBox.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).BeginInit();
this.SuspendLayout();
//
// TxtCommand
@ -2047,10 +2047,10 @@ namespace GrasscutterTools.Forms
// TPWaypoints
//
this.TPWaypoints.Controls.Add(this.WaypointX);
this.TPWaypoints.Controls.Add(this.numericUpDown1);
this.TPWaypoints.Controls.Add(this.NUDWaypointZ);
this.TPWaypoints.Controls.Add(this.WaypointZ);
this.TPWaypoints.Controls.Add(this.numericUpDown2);
this.TPWaypoints.Controls.Add(this.numericUpDown3);
this.TPWaypoints.Controls.Add(this.NUDWaypointY);
this.TPWaypoints.Controls.Add(this.NUDWaypointX);
this.TPWaypoints.Controls.Add(this.WaypointName);
this.TPWaypoints.Controls.Add(this.WaypointY);
this.TPWaypoints.Controls.Add(this.WaypointsGroupBox);
@ -2061,16 +2061,96 @@ namespace GrasscutterTools.Forms
this.TPWaypoints.Name = "TPWaypoints";
this.TPWaypoints.UseVisualStyleBackColor = true;
//
// WaypointX
//
resources.ApplyResources(this.WaypointX, "WaypointX");
this.WaypointX.Name = "WaypointX";
//
// NUDWaypointZ
//
resources.ApplyResources(this.NUDWaypointZ, "NUDWaypointZ");
this.NUDWaypointZ.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.NUDWaypointZ.Maximum = new decimal(new int[] {
2147483647,
0,
0,
0});
this.NUDWaypointZ.Minimum = new decimal(new int[] {
-2147483648,
0,
0,
-2147483648});
this.NUDWaypointZ.Name = "NUDWaypointZ";
//
// WaypointZ
//
resources.ApplyResources(this.WaypointZ, "WaypointZ");
this.WaypointZ.Name = "WaypointZ";
//
// NUDWaypointY
//
resources.ApplyResources(this.NUDWaypointY, "NUDWaypointY");
this.NUDWaypointY.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.NUDWaypointY.Maximum = new decimal(new int[] {
2147483647,
0,
0,
0});
this.NUDWaypointY.Minimum = new decimal(new int[] {
-2147483648,
0,
0,
-2147483648});
this.NUDWaypointY.Name = "NUDWaypointY";
this.NUDWaypointY.Value = new decimal(new int[] {
300,
0,
0,
0});
//
// NUDWaypointX
//
resources.ApplyResources(this.NUDWaypointX, "NUDWaypointX");
this.NUDWaypointX.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.NUDWaypointX.Maximum = new decimal(new int[] {
2147483647,
0,
0,
0});
this.NUDWaypointX.Minimum = new decimal(new int[] {
-2147483648,
0,
0,
-2147483648});
this.NUDWaypointX.Name = "NUDWaypointX";
//
// WaypointName
//
resources.ApplyResources(this.WaypointName, "WaypointName");
this.WaypointName.Name = "WaypointName";
//
// WaypointY
//
resources.ApplyResources(this.WaypointY, "WaypointY");
this.WaypointY.Name = "WaypointY";
//
// WaypointsGroupBox
//
resources.ApplyResources(this.WaypointsGroupBox, "WaypointsGroupBox");
this.WaypointsGroupBox.Controls.Add(this.LnkResetWaypoints);
this.WaypointsGroupBox.Controls.Add(this.flowLayoutPanel1);
this.WaypointsGroupBox.Controls.Add(this.FLPWaypointsList);
this.WaypointsGroupBox.Name = "WaypointsGroupBox";
this.WaypointsGroupBox.TabStop = false;
//
@ -2079,109 +2159,32 @@ namespace GrasscutterTools.Forms
resources.ApplyResources(this.LnkResetWaypoints, "LnkResetWaypoints");
this.LnkResetWaypoints.Name = "LnkResetWaypoints";
this.LnkResetWaypoints.TabStop = true;
this.LnkResetWaypoints.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkResetWaypoints_LinkClicked);
//
// flowLayoutPanel1
// FLPWaypointsList
//
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
resources.ApplyResources(this.FLPWaypointsList, "FLPWaypointsList");
this.FLPWaypointsList.Name = "FLPWaypointsList";
//
// DeleteWaypoint
//
resources.ApplyResources(this.DeleteWaypoint, "DeleteWaypoint");
this.DeleteWaypoint.Name = "DeleteWaypoint";
this.DeleteWaypoint.UseVisualStyleBackColor = true;
this.DeleteWaypoint.Click += new System.EventHandler(this.DeleteWaypoint_Click);
//
// CreateWaypoint
//
resources.ApplyResources(this.CreateWaypoint, "CreateWaypoint");
this.CreateWaypoint.Name = "CreateWaypoint";
this.CreateWaypoint.UseVisualStyleBackColor = true;
this.CreateWaypoint.Click += new System.EventHandler(this.CreateWaypoint_Click);
//
// WaypointNameInput
//
resources.ApplyResources(this.WaypointNameInput, "WaypointNameInput");
this.WaypointNameInput.Name = "WaypointNameInput";
//
// WaypointZ
//
resources.ApplyResources(this.WaypointZ, "WaypointZ");
this.WaypointZ.Name = "WaypointZ";
//
// WaypointY
//
resources.ApplyResources(this.WaypointY, "WaypointY");
this.WaypointY.Name = "WaypointY";
//
// WaypointX
//
resources.ApplyResources(this.WaypointX, "WaypointX");
this.WaypointX.Name = "WaypointX";
//
// numericUpDown1
//
resources.ApplyResources(this.numericUpDown1, "numericUpDown1");
this.numericUpDown1.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numericUpDown1.Maximum = new decimal(new int[] {
2147483647,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
-2147483648,
0,
0,
-2147483648});
this.numericUpDown1.Name = "numericUpDown1";
//
// numericUpDown2
//
resources.ApplyResources(this.numericUpDown2, "numericUpDown2");
this.numericUpDown2.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numericUpDown2.Maximum = new decimal(new int[] {
2147483647,
0,
0,
0});
this.numericUpDown2.Minimum = new decimal(new int[] {
-2147483648,
0,
0,
-2147483648});
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Value = new decimal(new int[] {
300,
0,
0,
0});
//
// numericUpDown3
//
resources.ApplyResources(this.numericUpDown3, "numericUpDown3");
this.numericUpDown3.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numericUpDown3.Maximum = new decimal(new int[] {
2147483647,
0,
0,
0});
this.numericUpDown3.Minimum = new decimal(new int[] {
-2147483648,
0,
0,
-2147483648});
this.numericUpDown3.Name = "numericUpDown3";
//
// FormMain
//
resources.ApplyResources(this, "$this");
@ -2277,11 +2280,11 @@ namespace GrasscutterTools.Forms
this.TCMain.ResumeLayout(false);
this.TPWaypoints.ResumeLayout(false);
this.TPWaypoints.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.NUDWaypointZ)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUDWaypointY)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUDWaypointX)).EndInit();
this.WaypointsGroupBox.ResumeLayout(false);
this.WaypointsGroupBox.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).EndInit();
this.ResumeLayout(false);
}
@ -2493,13 +2496,13 @@ namespace GrasscutterTools.Forms
private System.Windows.Forms.Label WaypointName;
private System.Windows.Forms.GroupBox WaypointsGroupBox;
private System.Windows.Forms.LinkLabel LnkResetWaypoints;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.FlowLayoutPanel FLPWaypointsList;
private System.Windows.Forms.Button DeleteWaypoint;
private System.Windows.Forms.Button CreateWaypoint;
private System.Windows.Forms.TextBox WaypointNameInput;
private System.Windows.Forms.NumericUpDown numericUpDown3;
private System.Windows.Forms.NumericUpDown numericUpDown2;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.NumericUpDown NUDWaypointX;
private System.Windows.Forms.NumericUpDown NUDWaypointY;
private System.Windows.Forms.NumericUpDown NUDWaypointZ;
private System.Windows.Forms.Label WaypointX;
private System.Windows.Forms.Label WaypointY;
private System.Windows.Forms.Label WaypointZ;

View File

@ -61,15 +61,15 @@ namespace GrasscutterTools.Forms
private void FormMain_Load(object sender, EventArgs e)
{
Text += " - by jie65535 - v" + AppVersion.ToString(3)
#if DEBUG
Text += " - by jie65535 - v" + AppVersion.ToString(3) + "-debug";
#else
Text += " - by jie65535 - v" + AppVersion.ToString(3);
+ "-debug";
#endif
GameData.LoadResources();
LoadCustomCommands();
LoadWaypoints();
InitArtifactList();
InitGameItemList();
InitWeapons();
@ -138,6 +138,7 @@ namespace GrasscutterTools.Forms
try
{
Settings.Default.AutoCopy = ChkAutoCopy.Checked;
SaveWaypoints();
SaveCustomCommands();
SaveGiveItemRecord();
SaveSpawnRecord();
@ -311,6 +312,119 @@ namespace GrasscutterTools.Forms
#endregion - Home -
#region Waypoints
private readonly string WaypointsFilePath = Path.Combine(Application.LocalUserAppDataPath, "Waypoints.txt");
private bool WaypointsChanged;
private void LoadWaypoints() {
if (File.Exists(WaypointsFilePath))
LoadWaypointsControls(File.ReadAllText(WaypointsFilePath));
else
LoadWaypointsControls("");
}
private void LoadWaypointsControls(string waypoints) {
FLPWaypointsList.Controls.Clear();
var lines = waypoints.Split('\n');
for (int i = 0; i < lines.Length - 1; i += 2)
AddWaypoint(lines[i].Trim(), lines[i + 1].Trim());
}
private void SaveWaypoints() {
if (WaypointsChanged)
File.WriteAllText(WaypointsFilePath, SaveWaypointsControls());
}
private string SaveWaypointsControls() {
StringBuilder builder = new StringBuilder();
foreach (LinkLabel lnk in FLPWaypointsList.Controls) {
builder.AppendLine(lnk.Text);
builder.AppendLine(lnk.Tag as string);
}
return builder.ToString();
}
private void Waypoint_Click(object sender, LinkLabelLinkClickedEventArgs e) {
if (sender is LinkLabel lnk && lnk.Tag is string command) {
WaypointNameInput.Text = lnk.Text;
SetCommand(command);
}
}
/// <summary>
/// 点击保存自定义命令列表时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void CreateWaypoint_Click(object sender, EventArgs e) {
if (string.IsNullOrWhiteSpace(WaypointNameInput.Text)) {
MessageBox.Show(Resources.WaypointNameCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
var name = WaypointNameInput.Text.Trim();
var command = $"/tp {NUDWaypointX.Value} {NUDWaypointY.Value} {NUDWaypointZ.Value}";
foreach (LinkLabel lnk in FLPWaypointsList.Controls) {
if (lnk.Text == name) {
lnk.Tag = command;
WaypointsChanged = true;
await ButtonComplete(CreateWaypoint);
MessageBox.Show("aa");
return;
}
}
WaypointsChanged = true;
AddWaypoint(name, command);
await ButtonComplete(CreateWaypoint);
}
/// <summary>
/// 添加自定义命令
/// </summary>
/// <param name="name">标签</param>
/// <param name="command">命令</param>
private void AddWaypoint(string name, string command) {
var lnk = new LinkLabel {
Text = name,
Tag = command,
AutoSize = true,
};
lnk.LinkClicked += Waypoint_Click;
FLPWaypointsList.Controls.Add(lnk);
}
/// <summary>
/// 点击移除自定义命令按钮时触发
/// </summary>
private async void DeleteWaypoint_Click(object sender, EventArgs e) {
if (string.IsNullOrWhiteSpace(WaypointNameInput.Text)) {
MessageBox.Show(Resources.WaypointNameCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
var name = WaypointNameInput.Text.Trim();
foreach (LinkLabel lnk in FLPWaypointsList.Controls) {
if (lnk.Text == name && MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
FLPWaypointsList.Controls.Remove(lnk);
WaypointsChanged = true;
//TxtCustomName.Text = "";
//TxtCommand.Text = "";
await ButtonComplete(DeleteWaypoint);
return;
}
}
MessageBox.Show(Resources.WaypointNotFound, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
private void LnkResetWaypoints_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
if (MessageBox.Show(Resources.RestoreCustomCommands, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) {
if (File.Exists(WaypointsFilePath))
File.Delete(WaypointsFilePath);
LoadWaypointsControls("");
}
}
#endregion
#region - Custom -
/// <summary>
@ -2124,6 +2238,5 @@ namespace GrasscutterTools.Forms
}
#endregion - Quests -
}
}

View File

@ -885,6 +885,9 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="WaypointName.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="WaypointNotFound" xml:space="preserve">
<value>Waypoint not found</value>
</data>
<data name="WaypointsGroupBox.Text" xml:space="preserve">
<value>Waypoints list</value>
</data>

View File

@ -8001,28 +8001,28 @@
<data name="&gt;&gt;WaypointX.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="numericUpDown1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="NUDWaypointZ.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="numericUpDown1.Location" type="System.Drawing.Point, System.Drawing">
<data name="NUDWaypointZ.Location" type="System.Drawing.Point, System.Drawing">
<value>453, 216</value>
</data>
<data name="numericUpDown1.Size" type="System.Drawing.Size, System.Drawing">
<data name="NUDWaypointZ.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 23</value>
</data>
<data name="numericUpDown1.TabIndex" type="System.Int32, mscorlib">
<data name="NUDWaypointZ.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="&gt;&gt;numericUpDown1.Name" xml:space="preserve">
<value>numericUpDown1</value>
<data name="&gt;&gt;NUDWaypointZ.Name" xml:space="preserve">
<value>NUDWaypointZ</value>
</data>
<data name="&gt;&gt;numericUpDown1.Type" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointZ.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;numericUpDown1.Parent" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointZ.Parent" xml:space="preserve">
<value>TPWaypoints</value>
</data>
<data name="&gt;&gt;numericUpDown1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointZ.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="WaypointZ.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@ -8058,52 +8058,52 @@
<data name="&gt;&gt;WaypointZ.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="numericUpDown2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="NUDWaypointY.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="numericUpDown2.Location" type="System.Drawing.Point, System.Drawing">
<data name="NUDWaypointY.Location" type="System.Drawing.Point, System.Drawing">
<value>383, 216</value>
</data>
<data name="numericUpDown2.Size" type="System.Drawing.Size, System.Drawing">
<data name="NUDWaypointY.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
</data>
<data name="numericUpDown2.TabIndex" type="System.Int32, mscorlib">
<data name="NUDWaypointY.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;numericUpDown2.Name" xml:space="preserve">
<value>numericUpDown2</value>
<data name="&gt;&gt;NUDWaypointY.Name" xml:space="preserve">
<value>NUDWaypointY</value>
</data>
<data name="&gt;&gt;numericUpDown2.Type" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointY.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;numericUpDown2.Parent" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointY.Parent" xml:space="preserve">
<value>TPWaypoints</value>
</data>
<data name="&gt;&gt;numericUpDown2.ZOrder" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointY.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="numericUpDown3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="NUDWaypointX.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="numericUpDown3.Location" type="System.Drawing.Point, System.Drawing">
<data name="NUDWaypointX.Location" type="System.Drawing.Point, System.Drawing">
<value>314, 216</value>
</data>
<data name="numericUpDown3.Size" type="System.Drawing.Size, System.Drawing">
<data name="NUDWaypointX.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 23</value>
</data>
<data name="numericUpDown3.TabIndex" type="System.Int32, mscorlib">
<data name="NUDWaypointX.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;numericUpDown3.Name" xml:space="preserve">
<value>numericUpDown3</value>
<data name="&gt;&gt;NUDWaypointX.Name" xml:space="preserve">
<value>NUDWaypointX</value>
</data>
<data name="&gt;&gt;numericUpDown3.Type" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointX.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;numericUpDown3.Parent" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointX.Parent" xml:space="preserve">
<value>TPWaypoints</value>
</data>
<data name="&gt;&gt;numericUpDown3.ZOrder" xml:space="preserve">
<data name="&gt;&gt;NUDWaypointX.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="WaypointName.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@ -8175,24 +8175,6 @@
<data name="WaypointsGroupBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="LnkResetWaypoints.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LnkResetWaypoints.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LnkResetWaypoints.Location" type="System.Drawing.Point, System.Drawing">
<value>552, -1</value>
</data>
<data name="LnkResetWaypoints.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LnkResetWaypoints.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="LnkResetWaypoints.Text" xml:space="preserve">
<value>重置</value>
</data>
<data name="&gt;&gt;LnkResetWaypoints.Name" xml:space="preserve">
<value>LnkResetWaypoints</value>
</data>
@ -8205,31 +8187,16 @@
<data name="&gt;&gt;LnkResetWaypoints.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="flowLayoutPanel1.AutoScroll" type="System.Boolean, mscorlib">
<value>True</value>
<data name="&gt;&gt;FLPWaypointsList.Name" xml:space="preserve">
<value>FLPWaypointsList</value>
</data>
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 182</value>
</data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Name" xml:space="preserve">
<value>flowLayoutPanel1</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Type" xml:space="preserve">
<data name="&gt;&gt;FLPWaypointsList.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Parent" xml:space="preserve">
<data name="&gt;&gt;FLPWaypointsList.Parent" xml:space="preserve">
<value>WaypointsGroupBox</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;FLPWaypointsList.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="WaypointsGroupBox.Location" type="System.Drawing.Point, System.Drawing">
@ -8388,6 +8355,63 @@
<data name="&gt;&gt;TCMain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="LnkResetWaypoints.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LnkResetWaypoints.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LnkResetWaypoints.Location" type="System.Drawing.Point, System.Drawing">
<value>552, -1</value>
</data>
<data name="LnkResetWaypoints.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LnkResetWaypoints.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="LnkResetWaypoints.Text" xml:space="preserve">
<value>重置</value>
</data>
<data name="&gt;&gt;LnkResetWaypoints.Name" xml:space="preserve">
<value>LnkResetWaypoints</value>
</data>
<data name="&gt;&gt;LnkResetWaypoints.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LnkResetWaypoints.Parent" xml:space="preserve">
<value>WaypointsGroupBox</value>
</data>
<data name="&gt;&gt;LnkResetWaypoints.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="FLPWaypointsList.AutoScroll" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="FLPWaypointsList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="FLPWaypointsList.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="FLPWaypointsList.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 182</value>
</data>
<data name="FLPWaypointsList.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;FLPWaypointsList.Name" xml:space="preserve">
<value>FLPWaypointsList</value>
</data>
<data name="&gt;&gt;FLPWaypointsList.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;FLPWaypointsList.Parent" xml:space="preserve">
<value>WaypointsGroupBox</value>
</data>
<data name="&gt;&gt;FLPWaypointsList.ZOrder" xml:space="preserve">
<value>1</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

@ -1104,4 +1104,7 @@
<data name="DeleteWaypoint.Text" xml:space="preserve">
<value>Удалить</value>
</data>
<data name="WaypointNotFound" xml:space="preserve">
<value>Метка не найдена</value>
</data>
</root>

View File

@ -249,7 +249,7 @@
<data name="LblTp.Text" xml:space="preserve">
<value>座標傳送
提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送
命令中可以用~表示當前位置,~100表示相對當前100</value>
命令中可以用~表示當前位置,~N 表示相對當前N</value>
</data>
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
<value>√ 記錄</value>

View File

@ -487,7 +487,7 @@ namespace GrasscutterTools.Properties {
return ResourceManager.GetString("CommandNotFound", resourceCulture);
}
}
/// <summary>
/// 查找类似 命令标签不能为空 的本地化字符串。
/// </summary>
@ -496,7 +496,25 @@ namespace GrasscutterTools.Properties {
return ResourceManager.GetString("CommandTagCannotBeEmpty", resourceCulture);
}
}
internal static string WaypointNameCannotBeEmpty {
get {
return ResourceManager.GetString("WaypointNameCannotBeEmpty", resourceCulture);
}
}
internal static string WaypointNotFound {
get {
return ResourceManager.GetString("WaypointNotFound", resourceCulture);
}
}
internal static string ResetWayopints {
get {
return ResourceManager.GetString("ResetWaypoints", resourceCulture);
}
}
/// <summary>
/// 查找类似 现在你可以远程执行命令了哦! 的本地化字符串。
/// </summary>

View File

@ -166,6 +166,9 @@
<data name="CommandContentCannotBeEmpty" xml:space="preserve">
<value>Command cannot be empty</value>
</data>
<data name="WaypointNameCannotBeEmpty" xml:space="preserve">
<value>Waypoint name cannot be empty</value>
</data>
<data name="CommandNotFound" xml:space="preserve">
<value>Command not found</value>
</data>
@ -205,7 +208,7 @@ Update info :
Do you want to check for updates? Selecting No will no longer remind you of this version.</value>
</data>
<data name="OpenCommandHelp" xml:space="preserve">
<value>1. Fill in the correct uid\n2. Send verification code to player\n3. Enter the correct verification code\n4. Connection\n5. Enjoy</value>
<value>1. Fill in the correct UID\n2. Send verification code to player\n3. Enter the correct verification code\n4. Connection\n5. Enjoy</value>
</data>
<data name="PermissionCannotBeEmpty" xml:space="preserve">
<value>Permission cannot be empty!</value>
@ -220,11 +223,17 @@ Do you want to check for updates? Selecting No will no longer remind you of this
<value>..\Resources\en-us\Quest.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="RequireOpenCommandTip" xml:space="preserve">
<value>Please connect to a server that supports [opencommand] first</value>
<value>Please connect to a server that supports [OpenCommand] first</value>
</data>
<data name="RestoreCustomCommands" xml:space="preserve">
<value>Are you sure you want to restore custom commands to defaults?</value>
</data>
<data name="ResetWaypoints" xml:space="preserve">
<value>Are you sure you want to reset all waypoints?</value>
</data>
<data name="WaypointNotFound" xml:space="preserve">
<value>Waypoint not found</value>
</data>
<data name="Scene" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\en-us\Scene.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>

View File

@ -205,7 +205,7 @@
Вы хотите проверить наличие обновлений? Выбирая "Нет", программа больше не будет напоминать вам об этой версии.</value>
</data>
<data name="OpenCommandHelp" xml:space="preserve">
<value>1. Заполните правильный UID\n2. Отправьте проверочный код игроку\n3. Введите правильный проверочный код\n4. Покдлючитесь\n5. Наслаждайтесь!</value>
<value>1. Введите правильный UID\n2. Отправьте проверочный код игроку\n3. Введите правильный проверочный код\n4. Покдлючитесь\n5. Наслаждайтесь!</value>
</data>
<data name="PermissionCannotBeEmpty" xml:space="preserve">
<value>Разрешение не может быть пустым!</value>
@ -225,9 +225,12 @@
<data name="RestoreCustomCommands" xml:space="preserve">
<value>Вы уверены, что хотите восстановить пользовательские команды по умолчанию?</value>
</data>
<data name="RestoreWaypoints" xml:space="preserve">
<data name="ResetWaypoints" xml:space="preserve">
<value>Вы уверены, что хотите сбросить метки?</value>
</data>
<data name="WaypointNotFound" xml:space="preserve">
<value>Метка не найдена</value>
</data>
<data name="Scene" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ru-ru\Scene.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>