Detach all pages of the main form

This commit is contained in:
2022-11-27 15:29:56 +08:00
parent 436c4d809c
commit 7b886ea251
56 changed files with 11408 additions and 7433 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -14,28 +14,22 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*
**/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using GrasscutterTools.DispatchServer;
using GrasscutterTools.Game;
using GrasscutterTools.Game.Mail;
using GrasscutterTools.GOOD;
using GrasscutterTools.OpenCommand;
using GrasscutterTools.Properties;
using GrasscutterTools.Utils;
using Newtonsoft.Json;
namespace GrasscutterTools.Forms
{
public partial class FormMain : Form
@@ -72,15 +66,15 @@ namespace GrasscutterTools.Forms
//LoadCustomCommands();
//InitArtifactList();
InitGameItemList();
//InitGameItemList();
//InitWeapons();
InitAvatars();
//InitAvatars();
//InitEntityList();
InitScenes();
InitStatList();
InitPermList();
InitQuestList();
InitMailPage();
//InitScenes();
//InitStatList();
//InitPermList();
//InitQuestList();
//InitMailPage();
//ChangeTPArtifact();
}
@@ -108,7 +102,6 @@ namespace GrasscutterTools.Forms
SaveSettings();
}
/// <summary>
/// 应用版本
/// </summary>
@@ -136,7 +129,7 @@ namespace GrasscutterTools.Forms
//InitHomeSettings();
// 初始化获取物品记录
InitGiveItemRecord();
//InitGiveItemRecord();
// 初始化生成记录
//InitSpawnRecord();
@@ -145,7 +138,7 @@ namespace GrasscutterTools.Forms
//InitOpenCommand();
// 初始化邮件列表
InitMailList();
//InitMailList();
}
catch (Exception ex)
{
@@ -176,7 +169,7 @@ namespace GrasscutterTools.Forms
//SaveOpenCommand();
// 保存邮件设置
SaveMailSettings();
//SaveMailSettings();
// 保存默认设置
Settings.Default.Save();
@@ -187,813 +180,13 @@ namespace GrasscutterTools.Forms
}
}
#endregion - Init -
/// <summary>
/// 命令版本
/// </summary>
private CommandVersion CommandVersion => Common.CommandVersion;
#region - Items -
/// <summary>
/// 初始化游戏物品列表
/// </summary>
private void InitGameItemList()
{
ListGameItems.Items.Clear();
ListGameItems.Items.AddRange(GameData.Items.Lines);
}
/// <summary>
/// 物品列表过滤器文本改变时触发
/// </summary>
private void TxtGameItemFilter_TextChanged(object sender, EventArgs e)
{
UIUtil.ListBoxFilter(ListGameItems, GameData.Items.Lines, TxtGameItemFilter.Text);
}
/// <summary>
/// 生成获取物品命令
/// </summary>
/// <returns>是否生成成功</returns>
private bool GenGiveItemCommand()
{
var name = ListGameItems.SelectedItem as string;
if (!string.IsNullOrEmpty(name))
{
var id = ItemMap.ToId(name);
if (ChkDrop.Checked)
{
NUDGameItemLevel.Enabled = false;
SetCommand("/drop", $"{id} {NUDGameItemAmout.Value}");
}
else
{
NUDGameItemLevel.Enabled = true;
if (CommandVersion.Check(CommandVersion.V1_2_2))
SetCommand("/give", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}");
else
SetCommand("/give", $"{id} {NUDGameItemAmout.Value} {NUDGameItemLevel.Value}");
}
return true;
}
return false;
}
/// <summary>
/// 获取物品输入改变时触发
/// </summary>
private void GiveItemsInputChanged(object sender, EventArgs e)
{
GenGiveItemCommand();
}
#region -- --
/// <summary>
/// 获取物品记录文件路径
/// </summary>
private readonly string GiveItemCommandsRecordPath = Path.Combine(Application.LocalUserAppDataPath, "GiveItemCommands.txt");
/// <summary>
/// 获取物品记录
/// </summary>
private List<GameCommand> GiveItemCommands;
/// <summary>
/// 初始化获取物品记录
/// </summary>
private void InitGiveItemRecord()
{
if (File.Exists(GiveItemCommandsRecordPath))
{
GiveItemCommands = GetCommands(File.ReadAllText(GiveItemCommandsRecordPath));
ListGiveItemLogs.Items.AddRange(GiveItemCommands.Select(c => c.Name).ToArray());
}
else
{
GiveItemCommands = new List<GameCommand>();
}
}
/// <summary>
/// 保存获取物品记录
/// </summary>
private void SaveGiveItemRecord()
{
File.WriteAllText(GiveItemCommandsRecordPath, GetCommandsText(GiveItemCommands));
}
/// <summary>
/// 获取物品记录列表选中项改变时触发
/// </summary>
private void ListGiveItemLogs_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListGiveItemLogs.SelectedIndex >= 0)
{
BtnRemoveGiveItemLog.Enabled = true;
SetCommand(GiveItemCommands[ListGiveItemLogs.SelectedIndex].Command);
}
else
{
BtnRemoveGiveItemLog.Enabled = false;
}
}
/// <summary>
/// 点击保存记录按钮时触发
/// </summary>
private void BtnSaveGiveItemLog_Click(object sender, EventArgs e)
{
if (GenGiveItemCommand())
{
var cmd = new GameCommand($"{ListGameItems.SelectedItem} x{NUDGameItemAmout.Value}", CmbCommand.Text);
GiveItemCommands.Add(cmd);
ListGiveItemLogs.Items.Add(cmd.Name);
SaveGiveItemRecord();
}
}
/// <summary>
/// 点击移除获取物品记录时触发
/// </summary>
private void BtnRemoveGiveItemLog_Click(object sender, EventArgs e)
{
if (ListGiveItemLogs.SelectedIndex >= 0)
{
GiveItemCommands.RemoveAt(ListGiveItemLogs.SelectedIndex);
ListGiveItemLogs.Items.RemoveAt(ListGiveItemLogs.SelectedIndex);
SaveGiveItemRecord();
}
}
/// <summary>
/// 点击清空获取物品记录时触发
/// </summary>
private void LblClearGiveItemLogs_Click(object sender, EventArgs e)
{
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
GiveItemCommands.Clear();
ListGiveItemLogs.Items.Clear();
SaveGiveItemRecord();
}
}
#endregion -- --
#endregion - Items -
#region - Avatars -
#region -- --
/// <summary>
/// 初始化角色列表
/// </summary>
private void InitAvatars()
{
CmbAvatar.Items.Clear();
CmbAvatar.Items.AddRange(GameData.Avatars.Names);
}
/// <summary>
/// 角色下拉框选中项改变时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void CmbAvatar_SelectedIndexChanged(object sender, EventArgs e)
{
// TODO: Load Avatar Image
AvatarInputChanged();
}
/// <summary>
/// 角色等级输入框数值改变时触发
/// </summary>
private void NUDAvatarLevel_ValueChanged(object sender, EventArgs e)
{
AvatarInputChanged();
}
/// <summary>
/// 角色命座输入框数值改变时触发
/// </summary>
private void NUDAvatarConstellation_ValueChanged(object sender, EventArgs e)
{
AvatarInputChanged();
}
/// <summary>
/// 角色页面输入改变时触发
/// </summary>
private void AvatarInputChanged()
{
if (CmbAvatar.SelectedIndex >= 0)
GenAvatar((int)NUDAvatarLevel.Value, (int)NUDAvatarConstellation.Value, (int)NUDAvatarSkillLevel.Value);
}
/// <summary>
/// 获取角色命令
/// </summary>
/// <param name="level">等级</param>
private void GenAvatar(int level, int constellation, int skillLevel)
{
if (CommandVersion.Check(CommandVersion.V1_4_1))
{
int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex];
SetCommand("/give", $"{avatarId} lv{level} c{constellation} sl{skillLevel}");
}
else if (CommandVersion.Check(CommandVersion.V1_2_2))
{
int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex];
SetCommand("/give", $"{avatarId} lv{level} c{constellation}");
}
else
{
int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex] - 1000 + 10000000;
SetCommand("/givechar", $"{avatarId} {level}");
}
}
/// <summary>
/// 点击获取所有角色按钮时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnGiveAllChar_Click(object sender, EventArgs e)
{
var level = NUDAvatarLevel.Value;
var constellation = NUDAvatarConstellation.Value;
var skillLevel = NUDAvatarSkillLevel.Value;
if (CommandVersion.Check(CommandVersion.V1_4_1))
SetCommand("/give avatars", $"lv{level} c{constellation} sl{skillLevel}");
else
SetCommand("/give avatars", $"lv{level} c{constellation}");
}
#endregion
#region -- --
/// <summary>
/// 点击切换主角元素链接标签时触发
/// </summary>
private void LnkSwitchElement_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
UIUtil.OpenURL("https://github.com/Penelopeep/SwitchElementTraveller");
}
/// <summary>
/// 元素参数
/// </summary>
private readonly string[] Elements = { "white", "fire", "water", "wind", "ice", "rock", "electro", "grass" };
/// <summary>
/// 切换元素下拉框选中项改变时触发
/// </summary>
private void CmbSwitchElement_SelectedIndexChanged(object sender, EventArgs e)
{
if (CmbSwitchElement.SelectedIndex == -1 || CmbSwitchElement.SelectedIndex >= Elements.Length) return;
SetCommand("/se", Elements[CmbSwitchElement.SelectedIndex]);
}
#endregion
#region -- --
/// <summary>
/// 初始化数据列表
/// </summary>
private void InitStatList()
{
LblStatTip.Text = "";
SetStatsCommand.InitStats();
CmbStat.Items.Clear();
CmbStat.Items.AddRange(SetStatsCommand.Stats.Select(s => s.Name).ToArray());
}
/// <summary>
/// 数据页面输入改变时触发
/// </summary>
private void SetStatsInputChanged(object sender, EventArgs e)
{
if (CmbStat.SelectedIndex < 0)
return;
else
BtnLockStat.Enabled = BtnUnlockStat.Enabled = true;
var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex];
LblStatPercent.Visible = stat.Percent;
LblStatTip.Text = stat.Tip;
SetCommand("/setstats", $"{stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}");
}
/// <summary>
/// 点击锁定按钮时触发
/// </summary>
private void BtnLockStat_Click(object sender, EventArgs e)
{
var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex];
SetCommand("/setstats", $"lock {stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}");
}
/// <summary>
/// 点击解锁按钮时触发
/// </summary>
private void BtnUnlockStat_Click(object sender, EventArgs e)
{
var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex];
SetCommand("/setstats", $"unlock {stat.ArgName}");
}
#endregion
#region -- --
/// <summary>
/// 点击设置技能按钮时触发
/// </summary>
private void LnkSetTalentClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}");
}
#endregion
#region -- --
/// <summary>
/// 设置命座链接标签点击时触发
/// </summary>
private void LnkSetConst_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (NUDSetConstellation.Value >= 0)
SetCommand("/setConst", $"{NUDSetConstellation.Value}" + (sender == LnkSetAllConst ? " all" : string.Empty));
else
SetCommand("/resetConst", (sender == LnkSetAllConst ? "all" : string.Empty));
}
#endregion
#endregion - Avatars -
#region - Scenes -
private string[] _scenes;
private string[] Scenes
{
get => _scenes;
set
{
if (_scenes == value)
return;
_scenes = value;
ListScenes.Items.Clear();
ListScenes.Items.AddRange(value);
}
}
/// <summary>
/// 初始化场景列表
/// </summary>
private void InitScenes()
{
Scenes = GameData.Scenes.Lines;
CmbClimateType.Items.Clear();
CmbClimateType.Items.AddRange(Resources.ClimateType.Split(','));
}
/// <summary>
/// 选中场景时触发
/// </summary>
private void RbListScene_CheckedChanged(object sender, EventArgs e)
{
if (RbListScene.Checked)
Scenes = GameData.Scenes.Lines;
}
/// <summary>
/// 选中秘境时触发
/// </summary>
private void RbListDungeons_CheckedChanged(object sender, EventArgs e)
{
if (RbListDungeons.Checked)
Scenes = GameData.Dungeons.Lines;
}
/// <summary>
/// 场景列表过滤器输入项改变时触发
/// </summary>
private void TxtSceneFilter_TextChanged(object sender, EventArgs e)
{
UIUtil.ListBoxFilter(ListScenes, Scenes, TxtSceneFilter.Text);
}
/// <summary>
/// 场景列表选中项改变时触发
/// </summary>
private void ListScenes_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListScenes.SelectedIndex < 0)
{
ChkIncludeSceneId.Enabled = false;
return;
}
ChkIncludeSceneId.Enabled = true;
// 可以直接弃用 scene 命令
var name = ListScenes.SelectedItem as string;
var id = ItemMap.ToId(name);
if (RbListScene.Checked)
{
if (CommandVersion.Check(CommandVersion.V1_2_2))
{
SetCommand("/scene", id.ToString());
}
else
{
SetCommand("/tp ~ ~ ~", id.ToString());
}
}
else if (RbListDungeons.Checked)
{
SetCommand("/dungeon", id.ToString());
}
}
/// <summary>
/// 气候类型列表
/// </summary>
static readonly string[] climateTypes = { "none", "sunny", "cloudy", "rain", "thunderstorm", "snow", "mist" };
/// <summary>
/// 气候类型下拉框选中项改变时触发
/// </summary>
private void CmbClimateType_SelectedIndexChanged(object sender, EventArgs e)
{
if (CmbClimateType.SelectedIndex < 0)
return;
if (CommandVersion.Check(CommandVersion.V1_2_2))
SetCommand("/weather", CmbClimateType.SelectedIndex < climateTypes.Length ? climateTypes[CmbClimateType.SelectedIndex] : "none");
else
SetCommand("/weather", $"0 {CmbClimateType.SelectedIndex}");
}
/// <summary>
/// 点击传送按钮时触发
/// </summary>
private void BtnTeleport_Click(object sender, EventArgs e)
{
string args = $"{NUDTpX.Value} {NUDTpY.Value} {NUDTpZ.Value}";
if (ChkIncludeSceneId.Checked && RbListScene.Checked && ListScenes.SelectedIndex != -1)
args += $" {GameData.Scenes.Ids[ListScenes.SelectedIndex]}";
SetCommand("/tp", args);
}
#endregion - Scenes -
#region - Management -
/// <summary>
/// 初始化权限列表
/// </summary>
private void InitPermList()
{
CmbPerm.Items.Clear();
CmbPerm.Items.AddRange(Resources.Permissions.Split('\n').Select(l => l.Trim()).ToArray());
}
/// <summary>
/// 点击授权按钮时触发
/// </summary>
private void BtnPermClick(object sender, EventArgs e)
{
var uid = NUDPermUID.Value;
var perm = CmbPerm.Text.Trim();
var act = (sender as Button).Tag.ToString();
if (act == "list" || act == "clear")
{
SetCommand($"/permission {act} @{uid}");
}
else
{
if (string.IsNullOrEmpty(perm))
{
MessageBox.Show(Resources.PermissionCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
SetCommand($"/permission {act} @{uid} {perm}");
}
}
/// <summary>
/// 账号相关按钮点击时触发Tag包含子命令
/// </summary>
private void AccountButtonClicked(object sender, EventArgs e)
{
var username = TxtAccountUserName.Text.Trim();
if (string.IsNullOrEmpty(username))
{
MessageBox.Show(Resources.UsernameCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
SetCommand($"/account {(sender as Button).Tag} {username} {(ChkAccountSetUid.Checked ? NUDAccountUid.Value.ToString() : "")}");
}
/// <summary>
/// 点击封禁按钮时触发
/// </summary>
private void BtnBan_Click(object sender, EventArgs e)
{
var uid = NUDBanUID.Value;
var endTime = DTPBanEndTime.Value;
var command = $"/ban @{uid} {new DateTimeOffset(endTime).ToUnixTimeSeconds()}";
var reaseon = Regex.Replace(TxtBanReason.Text.Trim(), @"\s+", "-");
if (!string.IsNullOrEmpty(reaseon))
command += $" {reaseon}";
SetCommand(command);
}
/// <summary>
/// 点击解封按钮时触发
/// </summary>
private void BtnUnban_Click(object sender, EventArgs e)
{
SetCommand($"/unban @{NUDBanUID.Value}");
}
#endregion - Management -
#region - Mail -
/// <summary>
/// 初始化邮件页面
/// </summary>
private void InitMailPage()
{
TxtMailSender.Text = Settings.Default.DefaultMailSender;
LoadMailSelectableItems();
}
/// <summary>
/// 保存邮件设置
/// </summary>
private void SaveMailSettings()
{
Settings.Default.DefaultMailSender = TxtMailSender.Text;
}
/// <summary>
/// 点击清空邮件内容时触发
/// </summary>
private void LblClearMailContent_Click(object sender, EventArgs e)
{
TxtMailContent.Clear();
}
/// <summary>
/// 点击发送邮件时触发
/// </summary>
private void BtnSendMail_Click(object sender, EventArgs e)
{
var mail = new Mail
{
Title = TxtMailTitle.Text.Trim(),
Sender = TxtMailSender.Text.Trim(),
Content = TxtMailContent.Text.Trim(),
Recipient = RbMailSendToAll.Checked ? 0 : (int)NUDMailRecipient.Value,
ItemList = new List<MailItem>(MailItems),
SendTime = DateTime.Now,
};
if (mail.Title == "" || mail.Sender == "" || mail.Content == "")
{
MessageBox.Show(Resources.EmptyInputTip, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (mail.SendToAll)
{
MessageBox.Show(Resources.MailSendToAllWarning, Resources.Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
var cmd = $"/sendMail {(mail.SendToAll ? "all" : mail.Recipient.ToString())} |" +
$"/sendMail {mail.Title} |" +
$"/sendMail {mail.Content.Replace("\r", "\\r").Replace("\n", "\\n")} |" +
$"/sendMail {mail.Sender} |";
foreach (var item in mail.ItemList)
cmd += $"/sendMail {item.ItemId} {item.ItemCount} {item.ItemLevel} |";
cmd += "/sendMail finish";
SetCommand(cmd);
AddMailToList(mail);
}
/// <summary>
/// 展示邮件
/// </summary>
/// <param name="mail"></param>
private void ShowMail(Mail mail)
{
TxtMailTitle.Text = mail.Title;
TxtMailSender.Text = mail.Sender;
TxtMailContent.Text = mail.Content;
NUDMailRecipient.Value = mail.Recipient;
RbMailSendToAll.Checked = mail.SendToAll;
RbMailSendToPlayer.Checked = !mail.SendToAll;
ShowMailItems(mail.ItemList);
}
#region -- Mail items --
/// <summary>
/// 当前邮件附件列表
/// </summary>
private readonly List<MailItem> MailItems = new List<MailItem>();
/// <summary>
/// 展示邮件附件列表
/// </summary>
/// <param name="items"></param>
private void ShowMailItems(List<MailItem> items)
{
MailItems.Clear();
MailItems.AddRange(items);
ListMailItems.BeginUpdate();
ListMailItems.Items.Clear();
ListMailItems.Items.AddRange(items.Select(it => it.ToString()).ToArray());
ListMailItems.EndUpdate();
}
/// <summary>
/// 点击添加邮件附件项时触发
/// </summary>
private void BtnAddMailItem_Click(object sender, EventArgs e)
{
if (ListMailSelectableItems.SelectedIndex == -1)
return;
var item = ListMailSelectableItems.SelectedItem as string;
var itemId = ItemMap.ToId(item);
var mailItem = new MailItem
{
ItemId = itemId,
ItemCount = (int)NUDMailItemCount.Value,
ItemLevel = (int)NUDMailItemLevel.Value,
};
MailItems.Add(mailItem);
ListMailItems.Items.Add(mailItem.ToString());
}
/// <summary>
/// 点击删除邮件附件项时触发
/// </summary>
private void BtnDeleteMailItem_Click(object sender, EventArgs e)
{
if (ListMailItems.SelectedIndex == -1) return;
MailItems.RemoveAt(ListMailItems.SelectedIndex);
ListMailItems.Items.RemoveAt(ListMailItems.SelectedIndex);
}
#endregion
#region -- Mail item selectable list --
private string[] MailSelectableItems;
/// <summary>
/// 加载附件可选项列表
/// </summary>
private void LoadMailSelectableItems()
{
MailSelectableItems = new string[GameData.Items.Count + GameData.Weapons.Count + GameData.Artifacts.Count];
int i = 0;
GameData.Items.Lines.CopyTo(MailSelectableItems, i); i += GameData.Items.Count;
GameData.Weapons.Lines.CopyTo(MailSelectableItems, i); i += GameData.Weapons.Count;
GameData.Artifacts.Lines.CopyTo(MailSelectableItems, i); i += GameData.Artifacts.Count;
Array.Sort(MailSelectableItems, (a, b) => ItemMap.ToId(a) - ItemMap.ToId(b));
ListMailSelectableItems.Items.Clear();
ListMailSelectableItems.Items.AddRange(MailSelectableItems);
}
/// <summary>
/// 邮件页面物品列表过滤器文本改变时触发
/// </summary>
private void TxtMailSelectableItemFilter_TextChanged(object sender, EventArgs e)
{
UIUtil.ListBoxFilter(ListMailSelectableItems, MailSelectableItems, TxtMailSelectableItemFilter.Text);
}
#endregion
#region -- Mail list --
/// <summary>
/// 获取物品记录文件路径
/// </summary>
private readonly string MailListPath = Path.Combine(Application.LocalUserAppDataPath, "MailList.json");
/// <summary>
/// 邮件列表
/// </summary>
private List<Mail> MailList = new List<Mail>();
/// <summary>
/// 初始化邮件列表
/// </summary>
private void InitMailList()
{
if (File.Exists(MailListPath))
{
MailList = JsonConvert.DeserializeObject<List<Mail>>(File.ReadAllText(MailListPath));
ListMailList.Items.AddRange(MailList.Select(it => it.ToString()).ToArray());
}
else
{
MailList = new List<Mail>();
}
}
/// <summary>
/// 保存邮件列表
/// </summary>
private void SaveMailList()
{
File.WriteAllText(MailListPath, JsonConvert.SerializeObject(MailList));
}
/// <summary>
/// 添加邮件到列表
/// </summary>
/// <param name="mail">邮件</param>
private void AddMailToList(Mail mail)
{
MailList.Add(mail);
ListMailList.Items.Add(mail.ToString());
SaveMailList();
}
/// <summary>
/// 邮件列表选中项改变时发生
/// </summary>
private void ListMailList_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListMailList.SelectedIndex == -1) return;
// 显示选中邮件
var mail = MailList[ListMailList.SelectedIndex];
ShowMail(mail);
}
/// <summary>
/// 点击删除邮件按钮时触发
/// </summary>
private void BtnRemoveMail_Click(object sender, EventArgs e)
{
if (ListMailList.SelectedIndex == -1) return;
MailList.RemoveAt(ListMailList.SelectedIndex);
ListMailList.Items.RemoveAt(ListMailList.SelectedIndex);
SaveMailList();
}
/// <summary>
/// 点击清空邮件列表按钮时触发
/// </summary>
private void BtnClearMail_Click(object sender, EventArgs e)
{
if (MailList.Count == 0) return;
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ListMailList.Items.Clear();
MailList.Clear();
SaveMailList();
}
}
#endregion
#endregion
#region - About -
/// <summary>
/// 点击Github链接时触发
/// </summary>
private void LnkGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
UIUtil.OpenURL("https://github.com/jie65535/GrasscutterCommandGenerator");
}
#endregion - About -
#region - Command -
/// <summary>
@@ -1044,7 +237,7 @@ namespace GrasscutterTools.Forms
//if (ChkIncludeUID.Checked)
// SetCommand($"{command} @{NUDUid.Value} {args.Trim()}");
//else
SetCommand($"{command} {args.Trim()}");
SetCommand($"{command} {args.Trim()}");
}
/// <summary>
@@ -1276,58 +469,9 @@ namespace GrasscutterTools.Forms
#endregion - Command Logs -
/// <summary>
/// 开放命令接口
/// </summary>
private OpenCommandAPI OC => Common.OC;
#region - Quests -
/// <summary>
/// 初始化任务列表
/// </summary>
private void InitQuestList()
{
QuestFilterChanged(null, EventArgs.Empty);
}
/// <summary>
/// 任务列表过滤器文本改变时触发
/// </summary>
private void QuestFilterChanged(object sender, EventArgs e)
{
ListQuest.BeginUpdate();
ListQuest.Items.Clear();
ListQuest.Items.AddRange(GameData.Quests.Lines.Where(l =>
{
if (!ChkQuestFilterHIDDEN.Checked && l.Contains((string)ChkQuestFilterHIDDEN.Tag))
return false;
if (!ChkQuestFilterUNRELEASED.Checked && l.Contains((string)ChkQuestFilterUNRELEASED.Tag))
return false;
if (!ChkQuestFilterTEST.Checked && l.Contains((string)ChkQuestFilterTEST.Tag))
return false;
if (!string.IsNullOrEmpty(TxtQuestFilter.Text))
return l.Contains(TxtQuestFilter.Text);
return true;
}).ToArray());
ListQuest.EndUpdate();
}
/// <summary>
/// 任务相关按钮点击时触发Tag带子命令
/// </summary>
private void QuestButsClicked(object sender, EventArgs e)
{
if (ListQuest.SelectedIndex == -1)
return;
var item = ListQuest.SelectedItem as string;
var id = ItemMap.ToId(item);
SetCommand("/quest", $"{(sender as Button).Tag} {id}");
}
#endregion - Quests -
}
}
}

View File

@@ -150,99 +150,6 @@ or there is a new feature request, you can file an issue on Github.</value>
<data name="TPAbout.Text" xml:space="preserve">
<value>About</value>
</data>
<data name="BtnUnban.Text" xml:space="preserve">
<value>Unban</value>
</data>
<data name="BtnBan.Text" xml:space="preserve">
<value>Ban</value>
</data>
<data name="TxtBanReason.Watermark" xml:space="preserve">
<value>Reason</value>
</data>
<data name="LblBanUID.Location" type="System.Drawing.Point, System.Drawing">
<value>30, 25</value>
</data>
<data name="LblBanUID.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 17</value>
</data>
<data name="LblBanUID.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="GrpBanPlayer.Text" xml:space="preserve">
<value>Ban</value>
</data>
<data name="ChkAccountSetUid.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 21</value>
</data>
<data name="ChkAccountSetUid.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="NUDAccountUid.Location" type="System.Drawing.Point, System.Drawing">
<value>270, 23</value>
</data>
<data name="NUDAccountUid.Size" type="System.Drawing.Size, System.Drawing">
<value>130, 23</value>
</data>
<data name="BtnDeleteAccount.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="BtnCreateAccount.Text" xml:space="preserve">
<value>Create</value>
</data>
<data name="LblAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 25</value>
</data>
<data name="LblAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 17</value>
</data>
<data name="LblAccountUserName.Text" xml:space="preserve">
<value>Username</value>
</data>
<data name="TxtAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
<value>79, 22</value>
</data>
<data name="TxtAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>127, 23</value>
</data>
<data name="GrpAccount.Text" xml:space="preserve">
<value>Account</value>
</data>
<data name="CmbPerm.Location" type="System.Drawing.Point, System.Drawing">
<value>262, 21</value>
</data>
<data name="CmbPerm.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 25</value>
</data>
<data name="BtnPermClear.Text" xml:space="preserve">
<value>Clear</value>
</data>
<data name="BtmPermRemove.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="BtnPermList.Text" xml:space="preserve">
<value>List</value>
</data>
<data name="BtnPermAdd.Text" xml:space="preserve">
<value>Add</value>
</data>
<data name="LblPerm.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
<data name="LblPerm.Text" xml:space="preserve">
<value>Perms</value>
</data>
<data name="LblPermUID.Location" type="System.Drawing.Point, System.Drawing">
<value>30, 25</value>
</data>
<data name="LblPermUID.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 17</value>
</data>
<data name="LblPermUID.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="GrpPermission.Text" xml:space="preserve">
<value>Permissions</value>
</data>
<data name="TPManage.Text" xml:space="preserve">
<value>Manage</value>
</data>
@@ -336,363 +243,15 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="TPScene.Text" xml:space="preserve">
<value>Scene</value>
</data>
<data name="LblClearGiveItemLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="LblClearGiveItemLogs.Text" xml:space="preserve">
<value>X Clear</value>
</data>
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
<value>√ Record</value>
</data>
<data name="BtnRemoveGiveItemLog.Text" xml:space="preserve">
<value>× Delete</value>
</data>
<data name="GrpGiveItemRecord.Text" xml:space="preserve">
<value>Records</value>
</data>
<data name="ChkDrop.Location" type="System.Drawing.Point, System.Drawing">
<value>278, 217</value>
</data>
<data name="ChkDrop.Size" type="System.Drawing.Size, System.Drawing">
<value>57, 21</value>
</data>
<data name="ChkDrop.Text" xml:space="preserve">
<value>Drop</value>
</data>
<data name="LblGameItemAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
</data>
<data name="LblGameItemAmount.Text" xml:space="preserve">
<value>Amount</value>
</data>
<data name="LblGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>171, 218</value>
</data>
<data name="LblGameItemLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 17</value>
</data>
<data name="LblGameItemLevel.Text" xml:space="preserve">
<value>Level</value>
</data>
<data name="NUDGameItemAmout.Location" type="System.Drawing.Point, System.Drawing">
<value>65, 216</value>
</data>
<data name="NUDGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>209, 216</value>
</data>
<data name="LblGiveCommandDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>118, 17</value>
</data>
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
<value>Give item to player</value>
</data>
<data name="TPItem.Text" xml:space="preserve">
<value>Items</value>
</data>
<data name="TPWeapon.Text" xml:space="preserve">
<value>Weapons</value>
</data>
<data name="LnkSetAllConst.Size" type="System.Drawing.Size, System.Drawing">
<value>43, 17</value>
</data>
<data name="LnkSetAllConst.Text" xml:space="preserve">
<value>Set all</value>
</data>
<data name="LnkSetConst.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 17</value>
</data>
<data name="LnkSetConst.Text" xml:space="preserve">
<value>Set current</value>
</data>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>Constellation</value>
</data>
<data name="BtnUnlockStat.Text" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="BtnLockStat.Text" xml:space="preserve">
<value>Lock</value>
</data>
<data name="LblStatTip.Text" xml:space="preserve">
<value>Tip</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>Stats</value>
</data>
<data name="LnkTalentAll.Location" type="System.Drawing.Point, System.Drawing">
<value>146, 24</value>
</data>
<data name="LnkTalentAll.Size" type="System.Drawing.Size, System.Drawing">
<value>22, 17</value>
</data>
<data name="LnkTalentAll.Text" xml:space="preserve">
<value>All</value>
</data>
<data name="LnkTalentE.Location" type="System.Drawing.Point, System.Drawing">
<value>283, 24</value>
</data>
<data name="LnkTalentE.Size" type="System.Drawing.Size, System.Drawing">
<value>15, 17</value>
</data>
<data name="LnkTalentE.Text" xml:space="preserve">
<value>E</value>
</data>
<data name="LnkTalentQ.Location" type="System.Drawing.Point, System.Drawing">
<value>259, 24</value>
</data>
<data name="LnkTalentQ.Size" type="System.Drawing.Size, System.Drawing">
<value>18, 17</value>
</data>
<data name="LnkTalentQ.Text" xml:space="preserve">
<value>Q</value>
</data>
<data name="LnkTalentNormalATK.Location" type="System.Drawing.Point, System.Drawing">
<value>178, 24</value>
</data>
<data name="LnkTalentNormalATK.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 17</value>
</data>
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
<value>NormalATK</value>
</data>
<data name="NUDTalentLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>96, 23</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>Talent Level</value>
</data>
<data name="CmbSwitchElement.Items" xml:space="preserve">
<value>White</value>
</data>
<data name="CmbSwitchElement.Items1" xml:space="preserve">
<value>Fire</value>
</data>
<data name="CmbSwitchElement.Items2" xml:space="preserve">
<value>Water</value>
</data>
<data name="CmbSwitchElement.Items3" xml:space="preserve">
<value>Wind</value>
</data>
<data name="CmbSwitchElement.Items4" xml:space="preserve">
<value>Ice</value>
</data>
<data name="CmbSwitchElement.Items5" xml:space="preserve">
<value>Rock</value>
</data>
<data name="CmbSwitchElement.Items6" xml:space="preserve">
<value>Electro</value>
</data>
<data name="CmbSwitchElement.Items7" xml:space="preserve">
<value>Grass</value>
</data>
<data name="LnkSwitchElement.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 17</value>
</data>
<data name="LnkSwitchElement.Text" xml:space="preserve">
<value>SwitchElement</value>
</data>
<data name="BtnGiveAllChar.Text" xml:space="preserve">
<value>Give All Char</value>
</data>
<data name="LblAvatarLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 17</value>
</data>
<data name="LblAvatarLevel.Text" xml:space="preserve">
<value>Level</value>
</data>
<data name="LblAvatarSkillLevelLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 17</value>
</data>
<data name="LblAvatarSkillLevelLabel.Text" xml:space="preserve">
<value>Skill level</value>
</data>
<data name="LblAvatar.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 17</value>
</data>
<data name="LblAvatar.Text" xml:space="preserve">
<value>Avatar</value>
</data>
<data name="LblAvatarConstellation.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
<data name="LblAvatarConstellation.Text" xml:space="preserve">
<value>Const.</value>
</data>
<data name="TPAvatar.Text" xml:space="preserve">
<value>Avatar</value>
</data>
<data name="NUDEntityAmout.Location" type="System.Drawing.Point, System.Drawing">
<value>78, 25</value>
</data>
<data name="LblSpawnVersionRequireTip.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 17</value>
</data>
<data name="LblSpawnVersionRequireTip.Text" xml:space="preserve">
<value>v Require GC &gt; v1.3.1 v</value>
</data>
<data name="LblInfiniteHpTip.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 17</value>
</data>
<data name="LblInfiniteHpTip.Text" xml:space="preserve">
<value>HP 0 for infinite</value>
</data>
<data name="LblEntityDef.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 17</value>
</data>
<data name="LblEntityDef.Text" xml:space="preserve">
<value>Defense</value>
</data>
<data name="LblEntityAtk.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
<data name="LblEntityAtk.Text" xml:space="preserve">
<value>Attack</value>
</data>
<data name="LblEntityHp.Size" type="System.Drawing.Size, System.Drawing">
<value>24, 17</value>
</data>
<data name="LblEntityHp.Text" xml:space="preserve">
<value>HP</value>
</data>
<data name="LblEntityMaxHp.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
</data>
<data name="LblEntityMaxHp.Text" xml:space="preserve">
<value>Max HP</value>
</data>
<data name="LblEntitySpawnPostion.Text" xml:space="preserve">
<value>Pos: x: y: z:</value>
</data>
<data name="LblEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>197, 27</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>Level</value>
</data>
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
</data>
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>Amount</value>
</data>
<data name="TPSpawnArgs.Text" xml:space="preserve">
<value>Spawn args</value>
</data>
<data name="LblAMPluginTip.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 17</value>
</data>
<data name="LblAMPluginTip.Text" xml:space="preserve">
<value>Meet the real Thor!</value>
</data>
<data name="LblAMPluginIntroduction.Size" type="System.Drawing.Size, System.Drawing">
<value>326, 17</value>
</data>
<data name="LblAMPluginIntroduction.Text" xml:space="preserve">
<value>This plugin can use Gadget to replace character attack</value>
</data>
<data name="LblAMPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LblAMPlugin.Text" xml:space="preserve">
<value>Plugin:</value>
</data>
<data name="LnkAMOff.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 17</value>
</data>
<data name="LnkAMOff.Text" xml:space="preserve">
<value>Off</value>
</data>
<data name="LnkAMOn.Size" type="System.Drawing.Size, System.Drawing">
<value>25, 17</value>
</data>
<data name="LnkAMOn.Text" xml:space="preserve">
<value>On</value>
</data>
<data name="BtnAtReload.Text" xml:space="preserve">
<value>Reload config</value>
</data>
<data name="BtnAtClear.Text" xml:space="preserve">
<value>Clear all gadgets</value>
</data>
<data name="GrpAMSkills.Text" xml:space="preserve">
<value>Replace Skill</value>
</data>
<data name="TPAttackModArgs.Text" xml:space="preserve">
<value>AttackModifier</value>
</data>
<data name="LblAiwiRotate.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 17</value>
</data>
<data name="LblAiwiRotate.Text" xml:space="preserve">
<value>Rot: x: y: z:</value>
</data>
<data name="LblAiwiSpread.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="LblAiwiSpread.Text" xml:space="preserve">
<value>Spread</value>
</data>
<data name="LblAiwiCount.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 17</value>
</data>
<data name="LblAiwiCount.Text" xml:space="preserve">
<value>Count</value>
</data>
<data name="LblAiwiHeight.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LblAiwiHeight.Text" xml:space="preserve">
<value>Height</value>
</data>
<data name="LblAiwiRadius.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 17</value>
</data>
<data name="LblAiwiRadius.Text" xml:space="preserve">
<value>Radius</value>
</data>
<data name="BtnAttackInfuse.Text" xml:space="preserve">
<value>Attack Infuse</value>
</data>
<data name="BtnAiwiReload.Text" xml:space="preserve">
<value>Reload config</value>
</data>
<data name="BtnAiwiClear.Text" xml:space="preserve">
<value>Clear</value>
</data>
<data name="BtnAiwiReset.Text" xml:space="preserve">
<value>Reset</value>
</data>
<data name="LblAiwiPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LblAiwiPlugin.Text" xml:space="preserve">
<value>Plugin:</value>
</data>
<data name="TPAttackInfusedArgs.Text" xml:space="preserve">
<value>AttackInfused</value>
</data>
<data name="TPSpawnItems.Text" xml:space="preserve">
<value>Entities</value>
</data>
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
<value>√ Record</value>
</data>
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
<value>× Delete</value>
</data>
<data name="LblClearSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="LblClearSpawnLogs.Text" xml:space="preserve">
<value>X Clear</value>
</data>
<data name="TPSpawnRecords.Text" xml:space="preserve">
<value>Spawn Records</value>
</data>
<data name="TPSpawn.Text" xml:space="preserve">
<value>Spawn</value>
</data>
@@ -740,90 +299,6 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="TPHome.Text" xml:space="preserve">
<value>Home</value>
</data>
<data name="BtnAddMailItem.Text" xml:space="preserve">
<value>+ Add</value>
</data>
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
<value>- Delete</value>
</data>
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>171, 4</value>
</data>
<data name="NUDMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
<value>47, 4</value>
</data>
<data name="LblMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 6</value>
</data>
<data name="LblMailItemCount.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 17</value>
</data>
<data name="LblMailItemCount.Text" xml:space="preserve">
<value>Count:</value>
</data>
<data name="LblMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 6</value>
</data>
<data name="LblMailItemLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 17</value>
</data>
<data name="LblMailItemLevel.Text" xml:space="preserve">
<value>Level:</value>
</data>
<data name="BtnClearMail.Location" type="System.Drawing.Point, System.Drawing">
<value>84, 4</value>
</data>
<data name="BtnClearMail.Text" xml:space="preserve">
<value>× Clear</value>
</data>
<data name="BtnRemoveMail.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 4</value>
</data>
<data name="BtnRemoveMail.Text" xml:space="preserve">
<value>- Delete</value>
</data>
<data name="BtnSendMail.Text" xml:space="preserve">
<value>Send</value>
</data>
<data name="LblMailItemsLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>43, 17</value>
</data>
<data name="LblMailItemsLabel.Text" xml:space="preserve">
<value>Items:</value>
</data>
<data name="RbMailSendToPlayer.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 21</value>
</data>
<data name="RbMailSendToPlayer.Text" xml:space="preserve">
<value>Player</value>
</data>
<data name="RbMailSendToAll.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 21</value>
</data>
<data name="RbMailSendToAll.Text" xml:space="preserve">
<value>All</value>
</data>
<data name="LblMailRecipientLabel.Text" xml:space="preserve">
<value>Send to:</value>
</data>
<data name="LblMailContentLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>56, 17</value>
</data>
<data name="LblMailContentLabel.Text" xml:space="preserve">
<value>Content:</value>
</data>
<data name="LblMailTitleLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>35, 17</value>
</data>
<data name="LblMailTitleLabel.Text" xml:space="preserve">
<value>Title:</value>
</data>
<data name="LblMailSenderLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 17</value>
</data>
<data name="LblMailSenderLabel.Text" xml:space="preserve">
<value>Sender:</value>
</data>
<data name="TPMail.Text" xml:space="preserve">
<value>Mail</value>
</data>

File diff suppressed because it is too large Load Diff

View File

@@ -142,21 +142,18 @@
<data name="ChkAutoCopy.Text" xml:space="preserve">
<value>Авто</value>
</data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>Команды - [Ctrl] Запуск и замена - [Shift] Добавить - [Alt] Только запустить - [|] Разделитель</value>
</data>
<data name="BtnInvokeOpenCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
</data>
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
<value>Выполнить (F5)</value>
</data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>Команды - [Ctrl] Запуск и замена - [Shift] Добавить - [Alt] Только запустить - [|] Разделитель</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>OpenCommand</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>Справка</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 170</value>
</data>
@@ -173,162 +170,12 @@
Спасибо: Dhar_Jinxed
</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>Справка</value>
</data>
<data name="TPManage.Text" xml:space="preserve">
<value>Аккаунты</value>
</data>
<data name="GrpBanPlayer.Text" xml:space="preserve">
<value>Управление банами</value>
</data>
<data name="BtnUnban.Location" type="System.Drawing.Point, System.Drawing">
<value>453, 22</value>
</data>
<data name="BtnUnban.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnUnban.Text" xml:space="preserve">
<value>Разбанить</value>
</data>
<data name="BtnBan.Location" type="System.Drawing.Point, System.Drawing">
<value>367, 22</value>
</data>
<data name="BtnBan.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnBan.Text" xml:space="preserve">
<value>Забанить</value>
</data>
<data name="TxtBanReason.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 23</value>
</data>
<data name="TxtBanReason.Watermark" xml:space="preserve">
<value>Причина</value>
</data>
<data name="NUDBanUID.Location" type="System.Drawing.Point, System.Drawing">
<value>42, 22</value>
</data>
<data name="NUDBanUID.Size" type="System.Drawing.Size, System.Drawing">
<value>106, 23</value>
</data>
<data name="LblBanUID.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 17</value>
</data>
<data name="LblBanUID.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="GrpAccount.Text" xml:space="preserve">
<value>Управление аккаунтом</value>
</data>
<data name="ChkAccountSetUid.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 21</value>
</data>
<data name="ChkAccountSetUid.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="NUDAccountUid.Location" type="System.Drawing.Point, System.Drawing">
<value>270, 23</value>
</data>
<data name="BtnDeleteAccount.Location" type="System.Drawing.Point, System.Drawing">
<value>463, 21</value>
</data>
<data name="BtnDeleteAccount.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
</data>
<data name="BtnDeleteAccount.Text" xml:space="preserve">
<value>Удалить</value>
</data>
<data name="BtnCreateAccount.Location" type="System.Drawing.Point, System.Drawing">
<value>387, 21</value>
</data>
<data name="BtnCreateAccount.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
</data>
<data name="BtnCreateAccount.Text" xml:space="preserve">
<value>Создать</value>
</data>
<data name="LblAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 25</value>
</data>
<data name="LblAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 17</value>
</data>
<data name="LblAccountUserName.Text" xml:space="preserve">
<value>Имя игрока</value>
</data>
<data name="TxtAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
<value>93, 22</value>
</data>
<data name="TxtAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>113, 23</value>
</data>
<data name="GrpPermission.Text" xml:space="preserve">
<value>Управление правами</value>
</data>
<data name="CmbPerm.Location" type="System.Drawing.Point, System.Drawing">
<value>212, 21</value>
</data>
<data name="CmbPerm.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 25</value>
</data>
<data name="NUDPermUID.Location" type="System.Drawing.Point, System.Drawing">
<value>42, 23</value>
</data>
<data name="NUDPermUID.Size" type="System.Drawing.Size, System.Drawing">
<value>106, 23</value>
</data>
<data name="BtnPermClear.Location" type="System.Drawing.Point, System.Drawing">
<value>454, 48</value>
</data>
<data name="BtnPermClear.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnPermClear.Text" xml:space="preserve">
<value>Очистить</value>
</data>
<data name="BtmPermRemove.Location" type="System.Drawing.Point, System.Drawing">
<value>453, 21</value>
</data>
<data name="BtmPermRemove.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtmPermRemove.Text" xml:space="preserve">
<value>Удалить</value>
</data>
<data name="BtnPermList.Location" type="System.Drawing.Point, System.Drawing">
<value>353, 48</value>
</data>
<data name="BtnPermList.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 23</value>
</data>
<data name="BtnPermList.Text" xml:space="preserve">
<value>Список прав</value>
</data>
<data name="BtnPermAdd.Location" type="System.Drawing.Point, System.Drawing">
<value>367, 21</value>
</data>
<data name="BtnPermAdd.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnPermAdd.Text" xml:space="preserve">
<value>Добавить</value>
</data>
<data name="LblPerm.Location" type="System.Drawing.Point, System.Drawing">
<value>160, 25</value>
</data>
<data name="LblPerm.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LblPerm.Text" xml:space="preserve">
<value>Права</value>
</data>
<data name="LblPermUID.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 17</value>
</data>
<data name="LblPermUID.Text" xml:space="preserve">
<value>UID</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>Сцена</value>
</data>
<data name="RbListDungeons.Location" type="System.Drawing.Point, System.Drawing">
<value>243, 7</value>
</data>
@@ -419,462 +266,21 @@
Подсказка: вы можете быстро телепортироваться через отметку «рыболовный крючок» на миникарте в игре.
В команде вы можете использовать ~, чтобы указать текущую позицию, и ~N, чтобы указать смещение на N относительно текущей позиции</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>Сцена</value>
</data>
<data name="TPItem.Text" xml:space="preserve">
<value>Предметы</value>
</data>
<data name="LblClearGiveItemLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 17</value>
</data>
<data name="LblClearGiveItemLogs.Text" xml:space="preserve">
<value>X Очистить</value>
</data>
<data name="BtnSaveGiveItemLog.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 48</value>
</data>
<data name="BtnSaveGiveItemLog.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
<value>√ Сохр.</value>
</data>
<data name="BtnRemoveGiveItemLog.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 77</value>
</data>
<data name="BtnRemoveGiveItemLog.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnRemoveGiveItemLog.Text" xml:space="preserve">
<value>× Удалить</value>
</data>
<data name="GrpGiveItemRecord.Size" type="System.Drawing.Size, System.Drawing">
<value>244, 162</value>
</data>
<data name="GrpGiveItemRecord.Text" xml:space="preserve">
<value>Список предметов</value>
</data>
<data name="ListGiveItemLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 140</value>
</data>
<data name="ChkDrop.Location" type="System.Drawing.Point, System.Drawing">
<value>278, 217</value>
</data>
<data name="ChkDrop.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 21</value>
</data>
<data name="ChkDrop.Text" xml:space="preserve">
<value>Дроп</value>
</data>
<data name="LblGameItemAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 17</value>
</data>
<data name="LblGameItemAmount.Text" xml:space="preserve">
<value>Кол-во</value>
</data>
<data name="LblGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>143, 218</value>
</data>
<data name="LblGameItemLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 17</value>
</data>
<data name="LblGameItemLevel.Text" xml:space="preserve">
<value>Уровень</value>
</data>
<data name="NUDGameItemAmout.Location" type="System.Drawing.Point, System.Drawing">
<value>63, 216</value>
</data>
<data name="NUDGameItemAmout.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 23</value>
</data>
<data name="NUDGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>209, 215</value>
</data>
<data name="LblGiveCommandDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 17</value>
</data>
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
<value>Дать предмет игроку</value>
</data>
<data name="TPWeapon.Text" xml:space="preserve">
<value>Оружие</value>
</data>
<data name="TPAvatar.Text" xml:space="preserve">
<value>Персонаж</value>
</data>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>Установить созвездие</value>
</data>
<data name="LnkSetAllConst.Location" type="System.Drawing.Point, System.Drawing">
<value>178, 24</value>
</data>
<data name="LnkSetAllConst.Size" type="System.Drawing.Size, System.Drawing">
<value>28, 17</value>
</data>
<data name="LnkSetAllConst.Text" xml:space="preserve">
<value>все</value>
</data>
<data name="LnkSetConst.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 17</value>
</data>
<data name="LnkSetConst.Text" xml:space="preserve">
<value>текущий</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>Статистика</value>
</data>
<data name="BtnUnlockStat.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 23</value>
</data>
<data name="BtnUnlockStat.Text" xml:space="preserve">
<value>Разморозить статы</value>
</data>
<data name="BtnLockStat.Text" xml:space="preserve">
<value>Заморозить статы</value>
</data>
<data name="LblStatTip.Text" xml:space="preserve">
<value>Подсказка</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>Уровень таланта</value>
</data>
<data name="LnkTalentAll.Location" type="System.Drawing.Point, System.Drawing">
<value>144, 24</value>
</data>
<data name="LnkTalentAll.Size" type="System.Drawing.Size, System.Drawing">
<value>28, 17</value>
</data>
<data name="LnkTalentAll.Text" xml:space="preserve">
<value>все</value>
</data>
<data name="LnkTalentE.Location" type="System.Drawing.Point, System.Drawing">
<value>309, 24</value>
</data>
<data name="LnkTalentE.Size" type="System.Drawing.Size, System.Drawing">
<value>15, 17</value>
</data>
<data name="LnkTalentE.Text" xml:space="preserve">
<value>E</value>
</data>
<data name="LnkTalentQ.Location" type="System.Drawing.Point, System.Drawing">
<value>285, 24</value>
</data>
<data name="LnkTalentQ.Size" type="System.Drawing.Size, System.Drawing">
<value>18, 17</value>
</data>
<data name="LnkTalentQ.Text" xml:space="preserve">
<value>Q</value>
</data>
<data name="LnkTalentNormalATK.Location" type="System.Drawing.Point, System.Drawing">
<value>178, 24</value>
</data>
<data name="LnkTalentNormalATK.Size" type="System.Drawing.Size, System.Drawing">
<value>101, 17</value>
</data>
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
<value>Обычная атака</value>
</data>
<data name="NUDTalentLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 23</value>
</data>
<data name="GrpGiveAvatar.Text" xml:space="preserve">
<value>Выдать персонажа</value>
</data>
<data name="CmbSwitchElement.Items" xml:space="preserve">
<value>Без элемента</value>
</data>
<data name="CmbSwitchElement.Items1" xml:space="preserve">
<value>Пиро</value>
</data>
<data name="CmbSwitchElement.Items2" xml:space="preserve">
<value>Гидро</value>
</data>
<data name="CmbSwitchElement.Items3" xml:space="preserve">
<value>Анемо</value>
</data>
<data name="CmbSwitchElement.Items4" xml:space="preserve">
<value>Крио</value>
</data>
<data name="CmbSwitchElement.Items5" xml:space="preserve">
<value>Гео</value>
</data>
<data name="CmbSwitchElement.Items6" xml:space="preserve">
<value>Электро</value>
</data>
<data name="CmbSwitchElement.Items7" xml:space="preserve">
<value>Дендро</value>
</data>
<data name="LnkSwitchElement.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 17</value>
</data>
<data name="LnkSwitchElement.Text" xml:space="preserve">
<value>SwitchElement</value>
</data>
<data name="CmbAvatar.Location" type="System.Drawing.Point, System.Drawing">
<value>111, 16</value>
</data>
<data name="CmbAvatar.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 25</value>
</data>
<data name="LblAvatarSkillLevelTip.Location" type="System.Drawing.Point, System.Drawing">
<value>160, 124</value>
</data>
<data name="NUDAvatarLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>111, 47</value>
</data>
<data name="NUDAvatarLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 23</value>
</data>
<data name="BtnGiveAllChar.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 151</value>
</data>
<data name="BtnGiveAllChar.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 30</value>
</data>
<data name="BtnGiveAllChar.Text" xml:space="preserve">
<value> Дать всех персонажей</value>
</data>
<data name="LblAvatarLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>36, 49</value>
</data>
<data name="LblAvatarLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 17</value>
</data>
<data name="LblAvatarLevel.Text" xml:space="preserve">
<value>Уровень</value>
</data>
<data name="LblAvatarSkillLevelLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>36, 102</value>
</data>
<data name="LblAvatarSkillLevelLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>110, 17</value>
</data>
<data name="LblAvatarSkillLevelLabel.Text" xml:space="preserve">
<value>Уровень таланта</value>
</data>
<data name="LblAvatar.Location" type="System.Drawing.Point, System.Drawing">
<value>36, 19</value>
</data>
<data name="LblAvatar.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 17</value>
</data>
<data name="LblAvatar.Text" xml:space="preserve">
<value>Персонаж</value>
</data>
<data name="LblAvatarConstellation.Location" type="System.Drawing.Point, System.Drawing">
<value>36, 78</value>
</data>
<data name="LblAvatarConstellation.Size" type="System.Drawing.Size, System.Drawing">
<value>72, 17</value>
</data>
<data name="LblAvatarConstellation.Text" xml:space="preserve">
<value>Созвездия</value>
</data>
<data name="NUDAvatarConstellation.Location" type="System.Drawing.Point, System.Drawing">
<value>111, 76</value>
</data>
<data name="NUDAvatarConstellation.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 23</value>
</data>
<data name="NUDAvatarSkillLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>39, 122</value>
</data>
<data name="NUDAvatarSkillLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 23</value>
</data>
<data name="TPSpawn.Text" xml:space="preserve">
<value>Спавн</value>
</data>
<data name="TPSpawnArgs.Text" xml:space="preserve">
<value>Спавн</value>
</data>
<data name="LblSpawnVersionRequireTip.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 17</value>
</data>
<data name="LblSpawnVersionRequireTip.Text" xml:space="preserve">
<value>Требуется GC &gt;= v1.3.1</value>
</data>
<data name="LblInfiniteHpTip.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 17</value>
</data>
<data name="LblInfiniteHpTip.Text" xml:space="preserve">
<value>HP 0 для бесконечности</value>
</data>
<data name="LblEntityDef.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
</data>
<data name="LblEntityDef.Text" xml:space="preserve">
<value>Защита</value>
</data>
<data name="LblEntityAtk.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 17</value>
</data>
<data name="LblEntityAtk.Text" xml:space="preserve">
<value>Атака</value>
</data>
<data name="LblEntityHp.Size" type="System.Drawing.Size, System.Drawing">
<value>24, 17</value>
</data>
<data name="LblEntityHp.Text" xml:space="preserve">
<value>HP</value>
</data>
<data name="LblEntityMaxHp.Size" type="System.Drawing.Size, System.Drawing">
<value>63, 17</value>
</data>
<data name="LblEntityMaxHp.Text" xml:space="preserve">
<value>Макс. HP</value>
</data>
<data name="LblEntitySpawnPostion.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 17</value>
</data>
<data name="LblEntitySpawnPostion.Text" xml:space="preserve">
<value>Поз x: y: z:</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>Ур.</value>
</data>
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 17</value>
</data>
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>Кол.</value>
</data>
<data name="TPAttackModArgs.Text" xml:space="preserve">
<value>Изменение атаки</value>
</data>
<data name="LblAMPluginTip.Size" type="System.Drawing.Size, System.Drawing">
<value>190, 17</value>
</data>
<data name="LblAMPluginTip.Text" xml:space="preserve">
<value>Встречайте настоящего Тора!</value>
</data>
<data name="LblAMPluginIntroduction.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 17</value>
</data>
<data name="LblAMPluginIntroduction.Text" xml:space="preserve">
<value>Атаки можно заменить гаджетом</value>
</data>
<data name="LblAMPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 17</value>
</data>
<data name="LblAMPlugin.Text" xml:space="preserve">
<value>Плагин</value>
</data>
<data name="LnkAMOff.Location" type="System.Drawing.Point, System.Drawing">
<value>194, 3</value>
</data>
<data name="LnkAMOff.Size" type="System.Drawing.Size, System.Drawing">
<value>41, 17</value>
</data>
<data name="LnkAMOff.Text" xml:space="preserve">
<value>выкл.</value>
</data>
<data name="LnkAMOn.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LnkAMOn.Text" xml:space="preserve">
<value>вкл.</value>
</data>
<data name="BtnAtReload.Text" xml:space="preserve">
<value>Перезагрузить</value>
</data>
<data name="BtnAtClear.Text" xml:space="preserve">
<value>Очистить гаджеты</value>
</data>
<data name="GrpAMSkills.Text" xml:space="preserve">
<value>Замена навыков</value>
</data>
<data name="TPAttackInfusedArgs.Text" xml:space="preserve">
<value>Элем. инфузия</value>
</data>
<data name="LblAiwiRotate.Size" type="System.Drawing.Size, System.Drawing">
<value>241, 17</value>
</data>
<data name="LblAiwiRotate.Text" xml:space="preserve">
<value>Повер. x: y: z:</value>
</data>
<data name="LblAiwiSpread.Location" type="System.Drawing.Point, System.Drawing">
<value>154, 78</value>
</data>
<data name="LblAiwiSpread.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 17</value>
</data>
<data name="LblAiwiSpread.Text" xml:space="preserve">
<value>Распростр.</value>
</data>
<data name="LblAiwiCount.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 17</value>
</data>
<data name="LblAiwiCount.Text" xml:space="preserve">
<value>Кол-во</value>
</data>
<data name="LblAiwiHeight.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 17</value>
</data>
<data name="LblAiwiHeight.Text" xml:space="preserve">
<value>Высота</value>
</data>
<data name="LblAiwiRadius.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 17</value>
</data>
<data name="LblAiwiRadius.Text" xml:space="preserve">
<value>Радиус</value>
</data>
<data name="BtnAttackInfuse.Text" xml:space="preserve">
<value>Создать инфузию</value>
</data>
<data name="BtnAiwiReload.Text" xml:space="preserve">
<value>Перезагрузка</value>
</data>
<data name="BtnAiwiClear.Text" xml:space="preserve">
<value>Очистить</value>
</data>
<data name="BtnAiwiReset.Text" xml:space="preserve">
<value>Сбросить</value>
</data>
<data name="LblAiwiPlugin.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 17</value>
</data>
<data name="LblAiwiPlugin.Text" xml:space="preserve">
<value>Плагин</value>
</data>
<data name="TPSpawnItems.Text" xml:space="preserve">
<value>Список объектов</value>
</data>
<data name="TPSpawnRecords.Text" xml:space="preserve">
<value>Записи спавнов</value>
</data>
<data name="BtnSaveSpawnLog.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
<value>√ Сохр.</value>
</data>
<data name="BtnRemoveSpawnLog.Location" type="System.Drawing.Point, System.Drawing">
<value>89, 3</value>
</data>
<data name="BtnRemoveSpawnLog.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
<value>× Удалить</value>
</data>
<data name="LblClearSpawnLogs.Location" type="System.Drawing.Point, System.Drawing">
<value>175, 6</value>
</data>
<data name="LblClearSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 17</value>
</data>
<data name="LblClearSpawnLogs.Text" xml:space="preserve">
<value>X Очистить</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>Квест</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>Фильтр списка</value>
</data>
<data name="ChkQuestFilterTEST.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 21</value>
</data>
@@ -893,6 +299,9 @@
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
<value>Скрытый</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>Фильтр списка</value>
</data>
<data name="BtnFinishQuest.Text" xml:space="preserve">
<value>Завершить</value>
</data>
@@ -904,6 +313,9 @@
Внимание: для многих квестов требуются скрипты таковых на стороне сервера.
Поэтому квест может быть добавлен или отозван через консоль, но завершён игроком - вряд ли.</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>Квест</value>
</data>
<data name="TPArtifact.Text" xml:space="preserve">
<value>Артефакт</value>
</data>
@@ -916,151 +328,4 @@
<data name="TPMail.Text" xml:space="preserve">
<value>Почта</value>
</data>
<data name="BtnAddMailItem.Location" type="System.Drawing.Point, System.Drawing">
<value>304, 155</value>
</data>
<data name="BtnAddMailItem.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="BtnAddMailItem.Text" xml:space="preserve">
<value>+ Добавить</value>
</data>
<data name="BtnDeleteMailItem.Location" type="System.Drawing.Point, System.Drawing">
<value>304, 184</value>
</data>
<data name="BtnDeleteMailItem.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
<value>- Удалить</value>
</data>
<data name="TPMailSelectableItemList.Text" xml:space="preserve">
<value>Предметы</value>
</data>
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>172, 3</value>
</data>
<data name="NUDMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
<value>49, 3</value>
</data>
<data name="LblMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
<value>1, 5</value>
</data>
<data name="LblMailItemCount.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 17</value>
</data>
<data name="LblMailItemCount.Text" xml:space="preserve">
<value>Кол-во</value>
</data>
<data name="LblMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>114, 6</value>
</data>
<data name="LblMailItemLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 17</value>
</data>
<data name="LblMailItemLevel.Text" xml:space="preserve">
<value>Уровень</value>
</data>
<data name="TPMailList.Text" xml:space="preserve">
<value>Список рассылки</value>
</data>
<data name="BtnClearMail.Location" type="System.Drawing.Point, System.Drawing">
<value>114, 5</value>
</data>
<data name="BtnClearMail.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="BtnClearMail.Text" xml:space="preserve">
<value>× Очистить</value>
</data>
<data name="BtnRemoveMail.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 5</value>
</data>
<data name="BtnRemoveMail.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="BtnRemoveMail.Text" xml:space="preserve">
<value>- Удалить</value>
</data>
<data name="BtnSendMail.Location" type="System.Drawing.Point, System.Drawing">
<value>304, 213</value>
</data>
<data name="BtnSendMail.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 29</value>
</data>
<data name="BtnSendMail.Text" xml:space="preserve">
<value>Отправить</value>
</data>
<data name="ListMailItems.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 155</value>
</data>
<data name="ListMailItems.Size" type="System.Drawing.Size, System.Drawing">
<value>196, 89</value>
</data>
<data name="LblMailItemsLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 17</value>
</data>
<data name="LblMailItemsLabel.Text" xml:space="preserve">
<value>Вложение:</value>
</data>
<data name="RbMailSendToPlayer.Location" type="System.Drawing.Point, System.Drawing">
<value>213, 34</value>
</data>
<data name="RbMailSendToPlayer.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 21</value>
</data>
<data name="RbMailSendToPlayer.Text" xml:space="preserve">
<value>Игрок</value>
</data>
<data name="RbMailSendToAll.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 34</value>
</data>
<data name="RbMailSendToAll.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 21</value>
</data>
<data name="RbMailSendToAll.Text" xml:space="preserve">
<value>Все</value>
</data>
<data name="LblMailRecipientLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 17</value>
</data>
<data name="LblMailRecipientLabel.Text" xml:space="preserve">
<value>Получатель:</value>
</data>
<data name="TxtMailContent.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 93</value>
</data>
<data name="TxtMailContent.Size" type="System.Drawing.Size, System.Drawing">
<value>302, 56</value>
</data>
<data name="LblMailContentLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 17</value>
</data>
<data name="LblMailContentLabel.Text" xml:space="preserve">
<value>Содержание:</value>
</data>
<data name="TxtMailTitle.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 64</value>
</data>
<data name="TxtMailTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>302, 23</value>
</data>
<data name="LblMailTitleLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 17</value>
</data>
<data name="LblMailTitleLabel.Text" xml:space="preserve">
<value>Название:</value>
</data>
<data name="TxtMailSender.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 6</value>
</data>
<data name="TxtMailSender.Size" type="System.Drawing.Size, System.Drawing">
<value>302, 23</value>
</data>
<data name="LblMailSenderLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 17</value>
</data>
<data name="LblMailSenderLabel.Text" xml:space="preserve">
<value>Отправитель:</value>
</data>
</root>

View File

@@ -129,16 +129,10 @@
<data name="GrpCommand.Text" xml:space="preserve">
<value>命令 - [Ctrl] 自動執行 - [Shift] 拼接命令 - [Alt] 僅執行 - [|] 分割多條命令</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="TPRemoteCall.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPRemoteCall.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>遠程</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>334, 102</value>
</data>
@@ -150,48 +144,9 @@
如果願意請我喝一杯奶茶,那就更好了 : )
指令生成有問題或者有新的功能請求都可以來Github提出</value>
</data>
<data name="TPAbout.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>關於</value>
</data>
<data name="BtnBan.Text" xml:space="preserve">
<value>封號</value>
</data>
<data name="LblBanUID.Text" xml:space="preserve">
<value>目標UID</value>
</data>
<data name="BtnDeleteAccount.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
<data name="BtnCreateAccount.Text" xml:space="preserve">
<value>+ 創建</value>
</data>
<data name="LblAccountUserName.Text" xml:space="preserve">
<value>用戶名</value>
</data>
<data name="GrpAccount.Text" xml:space="preserve">
<value>賬號管理</value>
</data>
<data name="LblPerm.Text" xml:space="preserve">
<value>權限</value>
</data>
<data name="LblPermUID.Text" xml:space="preserve">
<value>目標UID</value>
</data>
<data name="GrpPermission.Text" xml:space="preserve">
<value>權限管理</value>
</data>
<data name="TPManage.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPManage.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="RbListDungeons.Text" xml:space="preserve">
<value>祕境</value>
</data>
@@ -218,220 +173,9 @@
提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送
命令中可以用~表示當前位置,~N 表示相對當前N</value>
</data>
<data name="TPScene.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPScene.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>場景</value>
</data>
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
<value>√ 記錄</value>
</data>
<data name="BtnRemoveGiveItemLog.Text" xml:space="preserve">
<value>× 刪除</value>
</data>
<data name="GrpGiveItemRecord.Text" xml:space="preserve">
<value>物品記錄本</value>
</data>
<data name="LblGameItemAmount.Text" xml:space="preserve">
<value>數量</value>
</data>
<data name="LblGameItemLevel.Text" xml:space="preserve">
<value>等級</value>
</data>
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
<value>給玩家指定物品
說明:可選擇直接給到背包或者掉落到世界</value>
</data>
<data name="TPItem.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPItem.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPWeapon.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPWeapon.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="LnkSetAllConst.Text" xml:space="preserve">
<value>設置所有角色</value>
</data>
<data name="LnkSetConst.Text" xml:space="preserve">
<value>設置當前角色</value>
</data>
<data name="GrpSetConstellation.Text" xml:space="preserve">
<value>設置命座</value>
</data>
<data name="BtnUnlockStat.Text" xml:space="preserve">
<value>解鎖</value>
</data>
<data name="BtnLockStat.Text" xml:space="preserve">
<value>鎖定</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve">
<value>角色屬性</value>
</data>
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
<value>普通攻擊</value>
</data>
<data name="GrpTalentLevel.Text" xml:space="preserve">
<value>技能等級</value>
</data>
<data name="CmbSwitchElement.Items" xml:space="preserve">
<value>無</value>
</data>
<data name="CmbSwitchElement.Items3" xml:space="preserve">
<value>風</value>
</data>
<data name="LnkSwitchElement.Text" xml:space="preserve">
<value>切換主角元素</value>
</data>
<data name="BtnGiveAllChar.Text" xml:space="preserve">
<value>一鍵獲得所有角色</value>
</data>
<data name="LblAvatarLevel.Text" xml:space="preserve">
<value>等級</value>
</data>
<data name="LblAvatarSkillLevelLabel.Text" xml:space="preserve">
<value>技能等級</value>
</data>
<data name="TPAvatar.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPAvatar.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="LblSpawnVersionRequireTip.Text" xml:space="preserve">
<value>以下參數至少要求 GC v1.3.1</value>
</data>
<data name="LblInfiniteHpTip.Text" xml:space="preserve">
<value>血量為 0 表示無限</value>
</data>
<data name="LblEntityDef.Text" xml:space="preserve">
<value>防禦力:</value>
</data>
<data name="LblEntityAtk.Text" xml:space="preserve">
<value>攻擊力:</value>
</data>
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LblEntityLevel.Text" xml:space="preserve">
<value>等級</value>
</data>
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LblEntityAmount.Text" xml:space="preserve">
<value>數量</value>
</data>
<data name="TPSpawnArgs.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPSpawnArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 199</value>
</data>
<data name="TPSpawnArgs.Text" xml:space="preserve">
<value>生成參數</value>
</data>
<data name="LblAMPluginTip.Text" xml:space="preserve">
<value>見識一下真正的雷神吧!</value>
</data>
<data name="LblAMPluginIntroduction.Text" xml:space="preserve">
<value>這個插件可以使用 Gadget 替換角色攻擊</value>
</data>
<data name="LnkAMOff.Text" xml:space="preserve">
<value>關</value>
</data>
<data name="LnkAMOn.Text" xml:space="preserve">
<value>開</value>
</data>
<data name="BtnAtReload.Text" xml:space="preserve">
<value>重載配置</value>
</data>
<data name="BtnAtClear.Text" xml:space="preserve">
<value>清空實體!!</value>
</data>
<data name="GrpAMSkills.Text" xml:space="preserve">
<value>替換技能</value>
</data>
<data name="TPAttackModArgs.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPAttackModArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 199</value>
</data>
<data name="TPAttackModArgs.Text" xml:space="preserve">
<value>攻擊修改參數</value>
</data>
<data name="LblAiwiRotate.Text" xml:space="preserve">
<value>旋轉: x: y: z:</value>
</data>
<data name="LblAiwiSpread.Text" xml:space="preserve">
<value>擴散:</value>
</data>
<data name="LblAiwiCount.Text" xml:space="preserve">
<value>數量:</value>
</data>
<data name="LblAiwiRadius.Text" xml:space="preserve">
<value>範圍:</value>
</data>
<data name="BtnAttackInfuse.Text" xml:space="preserve">
<value>攻擊注入</value>
</data>
<data name="BtnAiwiReload.Text" xml:space="preserve">
<value>重載配置</value>
</data>
<data name="BtnAiwiClear.Text" xml:space="preserve">
<value>清空實體</value>
</data>
<data name="TPAttackInfusedArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 191</value>
</data>
<data name="TPAttackInfusedArgs.Text" xml:space="preserve">
<value>攻擊注入參數</value>
</data>
<data name="TCSpawnSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>346, 221</value>
</data>
<data name="ListEntity.Size" type="System.Drawing.Size, System.Drawing">
<value>274, 163</value>
</data>
<data name="TPSpawnItems.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPSpawnItems.Size" type="System.Drawing.Size, System.Drawing">
<value>280, 199</value>
</data>
<data name="TPSpawnItems.Text" xml:space="preserve">
<value>實體列表</value>
</data>
<data name="ListSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
<value>274, 156</value>
</data>
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
<value>√ 記錄</value>
</data>
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
<value>× 刪除</value>
</data>
<data name="FLPSpawnRecordControls.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 159</value>
</data>
<data name="TPSpawnRecords.Size" type="System.Drawing.Size, System.Drawing">
<value>280, 191</value>
</data>
<data name="TPSpawnRecords.Text" xml:space="preserve">
<value>生成記錄本</value>
</data>
<data name="TCSpawnItems.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 221</value>
</data>
<data name="ChkQuestFilterTEST.Text" xml:space="preserve">
<value>測試任務</value>
</data>
@@ -455,92 +199,19 @@
提示:許多任務需要服務端腳本支持
囙此任務可以接,可以完成,但是不一定可以做</value>
</data>
<data name="TPQuest.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPQuest.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>任務</value>
</data>
<data name="TPArtifact.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPArtifact.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPArtifact.Text" xml:space="preserve">
<value>聖遺物</value>
</data>
<data name="TPCustom.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPCustom.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPCustom.Text" xml:space="preserve">
<value>自定義</value>
</data>
<data name="TPHome.Text" xml:space="preserve">
<value>主頁</value>
</data>
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>171, 4</value>
</data>
<data name="NUDMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
<value>47, 4</value>
</data>
<data name="LblMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
<value>-3, 6</value>
</data>
<data name="LblMailItemCount.Text" xml:space="preserve">
<value>數量:</value>
</data>
<data name="LblMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 6</value>
</data>
<data name="LblMailItemLevel.Text" xml:space="preserve">
<value>等級:</value>
</data>
<data name="BtnRemoveMail.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
<data name="PanelMailListControls.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 173</value>
</data>
<data name="TPMailList.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPMailList.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 204</value>
</data>
<data name="BtnSendMail.Text" xml:space="preserve">
<value>發送</value>
</data>
<data name="LblMailContentLabel.Text" xml:space="preserve">
<value>內容:</value>
</data>
<data name="LblMailTitleLabel.Text" xml:space="preserve">
<value>標題:</value>
</data>
<data name="LblMailSenderLabel.Text" xml:space="preserve">
<value>發件人:</value>
</data>
<data name="TPMail.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TPMail.Size" type="System.Drawing.Size, System.Drawing">
<value>652, 249</value>
</data>
<data name="TPMail.Text" xml:space="preserve">
<value>郵件</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
</root>