Skip to content

Commit

Permalink
Update readme_CN.md
Browse files Browse the repository at this point in the history
  • Loading branch information
MnFeN authored May 27, 2024
1 parent 70d4b3f commit 4a8e234
Showing 1 changed file with 181 additions and 1 deletion.
182 changes: 181 additions & 1 deletion readme_CN.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,190 @@
## [View this page in English](https://github.com/MnFeN/Triggernometry/blob/readme/readme.md)
## [浏览主仓库 Triggernometry 文档](https://github.com/paissaheavyindustries/Triggernometry)

本文档是自 Triggernometry v1.1.7.3 版本以来我所修改部分的中文版总结。
本文档是自 Triggernometry v1.1.7.3 版本以来我所修改部分的中文版总结。

~~ChatGPT 机翻完大致改改,懒得再写一遍中文了x~~

# 新增内容

## 2024/5/27

### 表达式

- **字符串函数**

- `tofullwidth` / `tohalfwidth`

全半角转换。

`${func:tofullwidth:H1}` = `H1`
`${func:tohalfwidth:H1}` = `H1`

- `toxivchar(combineDigits=false)`

将字母数字字符转换为相应的 FF14 定义的黑框字符。
如果 `combineDigits``true`,则将 10 到 31 之间的数字转换为一个黑框字符。

- `ord(separator=",")`

将字符串转换为字符编码序列。
`${func:ord:Test 1}` = `84,101,115,116,32,49`
`${func:ord(-):Test 1}` = `84-101-115-116-32-49`

- `chr(joiner=",")`

`ord`的逆运算。
`${func:chr:84,101,115,116,32,49}` = `Test 1`

- **常规表达式**

- `_triggerpath`

触发器的完整路径。

- **数学函数**

- L1 和 L∞ 距离函数

Ln 距离的定义:

- `distance = (|x - x0| ^ n + |y - y0| ^ n + ...) ^ (1 / n)`

L2 距离:普通距离(欧几里得距离)
L1 距离:曼哈顿距离
L∞ 距离:切比雪夫距离

表达式写作:

`l1d(...)` / `manhattandistance(...)`
`l∞d(...)` / `chebyshevdistance(...)`

参数:同`distance()`

- 例如 `l1d(x0, y0, x1, y1)` `l1d(x0, y0, z0, x1, y1, z1)`

如果需要频繁检查两个位置是否靠近,`l1d``distance` 计算量更小。

### 动作

- **新动作类型:ACT 交互**

包括:

- 开始/结束 ACT 战斗(原本的 “结束战斗” 会自动转换为此动作)

- 启用/禁用:解析插件注入

- 启用/禁用:解析插件记录所有网络数据

SE 可能突然使用某些未被解析为日志行的数据包作为确定机制解法的唯一方式,此时这个功能会很有用。

你可以在特定时间控制此选项开关,并使用 `252` = `0xFC` 网络数据包日志行来触发您的触发器。

~~比如绝欧 P2 打了好几天才想办法搞出写法的男女组合技~~

### UI / 改善用户体验

- **允许按降序排序文件夹**

相关讨论:https://discord.com/channels/374517624228544512/1237066801876041783

- **允许在非开发者模式下触发触发器**

有些触发器需要用户手动触发以进行自测。这不应被视为“开发者”级别的使用。

许多人提问 “为什么我不能右键触发”,也说明了这一点。

- **在主界面上显示错误日志计数**

将界面上方的 “遇到了错误” 更改为显示自上次打开错误页面以来遇到的具体错误数量。

还修复了一个问题:打开此界面一次后,即便后续出现错误,也不会再次显示这个错误提示。

此外,将日志系统从单一的队列改为以日志级别为键的队列字典,每个日志级别独享一个队列和数量上限,防止像 Info/Verbose 等常规日志覆盖较旧的 Error/Warning 日志中的有用信息。

- **增强表达式文本框中的双击/三击选择**

- 双击:

- 点击各种括号 / $ / ¤:

选中这个括号配对后的完整表达式,这在编写长嵌套表达式找不到配对括号时非常有用;

- 点击空格:

选择同一行中相邻的空格;

- 点击其他字符:

选择当前“单词”(分词远好于 WinForm 默认逻辑)。

- 三击:

- 单行:选择所有文本

- 多行:选择当前行

- **在状态表单中显示更多命名回调的信息**

- 注册者

- 注册时间

- 最后调用时间

### 代码 / 脚本

- **注册命名回调**

新增了 `registrant` 参数:

```csharp
RegisterNamedCallback(string name, CustomCallbackDelegate callback, object o, string registrant)
```

原函数仍可使用,可自动检测注册者名称。

- **添加 ReadonlyRichTextbox 类,以自定义格式显示文本**

```csharp
public class Triggernometry.CustomControls.ReadonlyRichTextbox : RichTextbox
```

该富文本框具有“透明”背景,不允许任何形式的鼠标交互(就像 Label 一样)。

- **提供更多导入信息**

- 导入失败时,显示更详细的原因

- 显示导入的 xml 的插件版本

### 错误修复

详情请查看[链接](https://github.com/paissaheavyindustries/Triggernometry/pull/107)。

### 注意:行为变更

- 换行符

`⏎` 等效于换行符,而换行符属于空白字符。因此在拆分参数时会 Trim 掉这个字符,除非它被引号包围。

- 例如:应使用 `listvar.join("⏎")`,而非 `listvar.join(⏎)`。

另外,换行符也可以在动作中使用,并视为单个字符:

- 例如,使用下面的表达式来构建列表 `1, 2, 3`
(第一个字符是换行符,当在动作中构建变量时作为后续文本的分隔符):

```

1
2
3
```

此改动可允许多行输入,在使用大量数据构建变量时更易于阅读。

## 2024/4/7
### 消息框
- 更智能的自动填充:
Expand Down

0 comments on commit 4a8e234

Please sign in to comment.