Compare commits
15 Commits
669af5a17b
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
2ee0c212fa | ||
|
fc956b4637 | ||
|
874a476a0a | ||
|
2725ed9655 | ||
|
62096a6bdf | ||
|
76833dc890 | ||
|
462759cd84 | ||
|
d1b98f754f | ||
|
d2d065bd6f | ||
|
b54dfa2c48 | ||
|
c11bb860f3 | ||
|
50ec543997 | ||
|
7a6f644ae2 | ||
|
079bf0566b | ||
|
7654b4b41b |
471
README.md
@@ -2,11 +2,86 @@
|
||||
|
||||
针对部分用户使用 MHW 更多定型文mod时遇到的问题提供可能的处理方式,若尚未解决问题可加群*259616154*咨询
|
||||
|
||||
编写时mod版本:0.1.2
|
||||
编写时mod版本:0.2.0
|
||||
|
||||
# 问题类别
|
||||
## mod更新日志:
|
||||
特性:
|
||||
|
||||
## 1.安装类问题
|
||||
支持单个动作内的多个伤害数据统计
|
||||
|
||||
所有内部实现全部采用async/await异步
|
||||
|
||||
单个trigger的执行转为创建异步任务,支持内部长时间阻塞
|
||||
|
||||
由于主动式伤害收集模式的实现,现在可以检查伤害为0的情况
|
||||
|
||||
Break Changes:
|
||||
|
||||
原配置文件 trigger_on.damage 条件取消,由 check.damage 替代
|
||||
|
||||
具体参考新配置文件样例
|
||||
|
||||
## 目录
|
||||
|
||||
### [1.安装类问题](#1-安装类问题)
|
||||
|
||||
[Q1.1:mod安装位置错误导致游戏无法加载mod的解决方法](#q-11-为什么我用狩技盒子安装了mod游戏正常启动但是mod没有生效)
|
||||
|
||||
[Q1.2:游戏加载mod时发生崩溃的处理方法](#q-12-为什么我安装了mod但是游戏崩溃了)
|
||||
|
||||
[Q1.3:对那些白嫖怪的声明](#q-13-为什么我没办法使用mod盒子安装mod打开下载的东西怎么和下图一样一堆不认识的)
|
||||
|
||||
### [2.使用类问题](#2-使用类问题)
|
||||
|
||||
[Q2.1:旧前置文件需要手动删除的问题](#q21-我在启动游戏时弹窗内出现如下情况怎么办)
|
||||
|
||||
[Q2.2:前置不完整或者前置未更新的问题](#q22-我在启动游戏时弹窗内出现如下情况怎么办)
|
||||
|
||||
[Q2.3:部分文件找不到的问题](#q23-我在启动游戏时弹窗内出现如下情况怎么办)
|
||||
|
||||
[Q2.4:旧版本mod无法通过debug方式检测fsm的问题](#q24-尝试通过日志获取fsm信息出现下面情况怎么办)
|
||||
|
||||
[Q2.5:配置文件名字不正确导致系统找不到配置文件的解决方式](#q25-我在启动游戏时弹窗内出现如下情况怎么办)
|
||||
|
||||
[Q2.6:配置文件内触发器格式有误,日志给出具体行列报错的解决方式](#q26-我在启动游戏时弹窗内出现如下情况怎么办)
|
||||
|
||||
[Q2.7:自动文本发送过多导致被系统禁言的解决方式](#q27-为什么我在游戏内发言过多被系统禁言然后禁言消息会自动弹出干扰战斗)
|
||||
|
||||
[Q2.8:怎么让配置文件方便观察和编辑](#q28-怎么让配置文件方便观察和编辑)
|
||||
|
||||
[Q2.9:没打开显示文件扩展名导致按Q2.5的步骤修改文件名后,系统找不到指定文件的解决方式](#q29-为什么我的文件名是mas-configtoml而情况和q25一样)
|
||||
|
||||
[Q2.10:游戏内可用的快捷指令](#q210-现在这个mod有什么游戏内的快捷指令吗)
|
||||
|
||||
[Q2.11:错误日志中关于文本行列数的报错的原理和机制举例](#q211-错误日志中关于文本行列数的报错有什么原理和机制吗)
|
||||
### [3.编辑类和文本类问题](#3-编辑类和文本类问题)
|
||||
|
||||
[Q3.1:toml文件的打开方式](#q31-怎么打开toml文件)
|
||||
|
||||
[Q3.2:基础自动文本的创建](#q32-怎么创建一个完整的自动文本)
|
||||
|
||||
[Q3.3:文本的编辑](#q33-怎么编辑文本)
|
||||
|
||||
[Q3.4:寻找动作id,即Fsm](#q34-怎么去寻找武器的动作即fsm)
|
||||
|
||||
[Q3.5:in函数的应用](#q35-怎么让一个触发器检测多个动作)
|
||||
|
||||
[Q3.6:文本不能丢的“尾巴”](#q36-为什么我的文本修饰了还是默认的文本)
|
||||
|
||||
[Q3.7:文本过长导致其不能完全加载的原因以及解释](#q37-为什么我的文本只说了一部分)
|
||||
|
||||
[Q3.8:复合字号与颜色文本的写法](#q38-怎么设置复合的颜色和字号文本比如alt-text这样的)
|
||||
|
||||
[Q3.9:发送间隔(全局与单个触发器)的插入方法](#q39-怎么设置发送间隔以防止说话太多刷屏)
|
||||
|
||||
[Q3.10:new和old合用以实现前后两个动作的检测](#q310-怎么设置动作前后检测实现一定程度上在某些情况下的受击检测)
|
||||
|
||||
[Q3.11:应用new和old来防止开电锯动作在超解动作内存在延迟输入帧的实例](#q311-为什么我盾斧开电锯会说超解的文本)
|
||||
|
||||
[Q3.12:伤害检测功能的使用方法](#q312-怎么给动作添加伤害检测)
|
||||
# 下面根据问题类别进行分类,共分为三个板块
|
||||
|
||||
## 1. 安装类问题
|
||||
|
||||
### Q 1.1 为什么我用狩技盒子安装了mod,游戏正常启动,但是mod没有生效?
|
||||
|
||||
@@ -44,7 +119,31 @@ A:如果你已经按照 [Q1.1](#q-11-为什么我用狩技盒子安装了mod游
|
||||
|
||||
完整性检查完毕后,重新按 [Q1.1](#q-11-为什么我用狩技盒子安装了mod游戏正常启动但是mod没有生效) 中的步骤安装前置和mod。
|
||||
|
||||
## 2.使用类问题
|
||||
### Q 1.3 为什么我没办法使用mod盒子安装mod,打开下载的东西怎么和下图一样一堆不认识的?
|
||||
|
||||

|
||||
|
||||
A:你下载的是这个mod的**源码**,需要经过**基于Rust环境的编译**才能转换为二进制文件(dll)。
|
||||
|
||||
## 编译相关的问题请自己解决
|
||||
|
||||
如果你有信心去试图编译,笔者以及作者概不承担编译过程中的问题对游戏产生的任何影响。
|
||||
|
||||
如果你没有信心去编译,还是乖乖掏影响力去买吧
|
||||
|
||||
## **这是试图不劳而获之人必将面临的问题。**
|
||||
|
||||
你很聪明,知道踩蘑菇帖子贴的主仓库的链接里面可能有你想要的东西,你也成功的把里面的东西下载下来了。
|
||||
|
||||
然而,这个仓库里面可没有你想要的dll文件,有的只是更加宝贵的东西——**源码**
|
||||
|
||||
你的无知认为这只不过是一个比较特殊的mod,只要和那些mod一样把压缩包扔盒子再看看教程就能开始下头了。
|
||||
|
||||
当你发现这个"mod"拖不进盒子,打开它只发现一大堆奇奇怪怪的东西而跑来mod群询问的时候,你才会明白**不劳而获**的代价是什么。
|
||||
|
||||
要么去自己学习怎么搞,要么去掏影响力买。
|
||||
|
||||
## 2. 使用类问题
|
||||
|
||||
### Q2.1 我在启动游戏时弹窗内出现如下情况,怎么办?
|
||||
|
||||
@@ -82,12 +181,140 @@ A: 
|
||||
|
||||

|
||||
|
||||
A: 这些错误都是文本型错误,说明你的配置文件中存在不正确的文本或者触发器格式导致mod加载时出现错误。请打开mas-config.toml并按日志内所显示的行列数找到相关的错误原因并按照****进行修复。
|
||||
A: 这些错误都是文本型错误,说明你的配置文件中存在不正确的文本或者触发器格式导致mod加载时出现错误。请打开mas-config.toml并按日志内所显示的行列数找到相关的错误原因并按照[Q3.2]( #q32-怎么创建一个完整的自动文本?)进行修复。
|
||||
|
||||
### Q2.7:为什么我在游戏内发言过多被系统禁言然后禁言消息会自动弹出,干扰战斗?
|
||||
### Q2.7 为什么我在游戏内发言过多被系统禁言然后禁言消息会自动弹出,干扰战斗?
|
||||
|
||||
A:这就要怪你自己咯,设那么多又发那么多,被禁言后做出触发自动文本动作导致游戏中的你强行发言被弹窗警告。*少说点吧,话痨*
|
||||
|
||||
### Q2.8 怎么让配置文件方便观察和编辑?
|
||||
|
||||
A: 请使用vscode打开mas-config.toml,并安装toml插件,即可方便的编辑和浏览配置文件。
|
||||
### Q2.9 为什么我的文件名是mas-config.toml,而情况和Q2.5一样?
|
||||
|
||||
A: 你可能在这个地方没把*显示扩展名*打开,把它打开然后再改名或者直接将配置文件名字改成mas-config再启动游戏。
|
||||
|
||||
**注:无论是否开启文件扩展名,dll文件是始终显示其扩展名的,另外附在有无打开文件扩展名下正确的文件名字:**
|
||||
|
||||
打开显示扩展名时:
|
||||
|
||||

|
||||
|
||||
当前文件名应为(上面的example是作为文件扩展名打开后的对比):
|
||||
|
||||

|
||||
|
||||
未打开显示扩展名时:
|
||||
|
||||

|
||||
|
||||
当前文件名应为(上面的example是作为文件扩展名关闭后的对比):
|
||||
|
||||

|
||||
## 根据群内的调研,绝大部分人在mod使用方面第一个遇到的就是这个问题,从试图改盒子内的配置文件到找不到配置文件在哪,类似的问题比比皆是。这里笔者严肃指明:配置文件*必须*以正确的名字放置在plugins文件夹内,否则系统是*一定*找不到配置文件的。
|
||||
### Q2.10 现在这个mod有什么游戏内的快捷指令吗?
|
||||
|
||||
A: 当前版本已添加三个快捷指令,直接在游戏内聊天栏输入对应指令即可
|
||||
|
||||
`!mas reload`: 重新加载自动文本配置,用于自动文本的热修改,效果如图
|
||||
|
||||

|
||||
|
||||
`!mas disable`: 游戏内禁用自动文本,输入后游戏将不会再发送自动文本,效果如图
|
||||
|
||||

|
||||
|
||||
`!mas enable`: 游戏内启用自动文本,在自动文本被禁用后输入,游戏将再次发送自动文本,效果如图
|
||||
|
||||

|
||||
|
||||
***特别注意***:快捷指令是**基于检测玩家发送的消息而执行的**,所以如果你发出的游戏内快捷指令**能被其他玩家接收到的话**,那么其他安装了此mod的玩家也会**执行**你发送出去的快捷指令。同理,
|
||||
其他安装了此mod的玩家发送mod的快捷指令的时候,你的mhw程序也会**执行**他们发送的指令。(*这就是所谓的ddos攻击吧*)
|
||||
|
||||
### Q2.11 错误日志中关于文本行列数的报错有什么原理和机制吗
|
||||
|
||||
A: 读懂日志只需要四级能过甚至高考及格的英语水平,再不懂可以用词典查或者机翻...
|
||||
|
||||
这里举两个例子:
|
||||
|
||||
**例一:**
|
||||
|
||||
!
|
||||
|
||||
如图,错误的地点已经在下方使用符号`^`标记出来了,精确到每一个字母。
|
||||
|
||||
在错误字段后面给出了英文解释,比如上述错误的原因就是:***需要精确到一个元素,包含多个元素***
|
||||
|
||||
意思是:这段代码出现了冗余元素,导致只需要一个元素的部分因为检测到多个元素产生了冲突,从而引发报错并将其反馈到日志中。
|
||||
|
||||
引发类似错误的 ***错误代码*** 案例如下:
|
||||
|
||||
```toml
|
||||
# ========== 真蓄造成伤害--常见错误代码 ==========
|
||||
[[trigger]]
|
||||
action_mode = "sequential_all"
|
||||
|
||||
[trigger.trigger_on.damage]
|
||||
value = { lt = 1000 }
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
new = { target = 3, id = {in = [135,136,137]} }
|
||||
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 0
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "<STYL MOJI_LIGHTBLUE_DEFAULT><SIZE 30>强击真蓄!造成了<SIZE 40>{{damage}}<SIZE 30>伤害</SIZE></STYL>"
|
||||
|
||||
```
|
||||
上面的代码中,
|
||||
```toml
|
||||
[trigger.trigger_on.damage]
|
||||
value = { lt = 1000 }
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
new = { target = 3, id = {in = [135,136,137]} }
|
||||
|
||||
```
|
||||
是引发错误的原因,即`[trigger.trigger_on.damage]`和`[trigger.trigger_on.fsm]`的存在导致只需要一个元素的`trigger.on`部分因为检测到多个元素产生了冲突,从而引发报错并将其反馈到日志中。
|
||||
|
||||
**例二:**
|
||||
|
||||

|
||||
|
||||
该例子中,错误字段的英文解释是 ***未知变量`damage`,除了......(后面的都是合法的变量名)***
|
||||
|
||||
意思是:这段代码的`trigger.on`后面的变量是未知的,导致报错。*具体原因是mod版本为0.1.4及以下,未添加伤害检测,此时强行插入伤害检测变量`damage`并不会使系统检测到,而是将其视作未知变量处理,导致报错。*
|
||||
|
||||
***错误代码***案例如下 ***(假设该代码被写入配置文件并加载时mod版本低于0.1.5)***:
|
||||
```toml
|
||||
# ========== 真蓄造成伤害 ==========
|
||||
[[trigger]]
|
||||
action_mode = "sequential_all"
|
||||
|
||||
[trigger.trigger_on.damage]
|
||||
value = { lt = 1000 }
|
||||
|
||||
[[trigger.check]]
|
||||
fsm.value = { target = 3, id = {in = [135,136,137]} }
|
||||
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 0
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "<STYL MOJI_LIGHTBLUE_DEFAULT><SIZE 30>强击真蓄!造成了<SIZE 40>{{damage}}<SIZE 30>伤害</SIZE></STYL>"
|
||||
|
||||
```
|
||||
上面的代码中
|
||||
|
||||
```toml
|
||||
[trigger.trigger_on.damage]
|
||||
```
|
||||
是引发错误的原因,因为mod在0.1.5版本前并未添加伤害检测,强行插入伤害检测变量`damage`并不会使系统检测到,而是将其视作未知变量处理,导致报错。
|
||||
|
||||
**注:在编辑文本时遇到报错的问题时一定要去观察并理解日志报错的原因,看懂了日志就可以找出错误并自行纠正,能有效减少甚至避免同样的错误再次发生。**
|
||||
## 3. 编辑类和文本类问题
|
||||
|
||||
### Q3.1 怎么打开toml文件?
|
||||
@@ -131,7 +358,15 @@ weapon_type.value = 3
|
||||
|
||||
这里用到了两个条件,第一个`trigger_on`表示这是一个触发器条件。
|
||||
|
||||
触发器条件有且仅有一个,表示当发生触发器所指示的事件时,若满足设置的条件,则执行触发器。
|
||||
触发器条件**有且仅有一个**,表示当发生触发器所指示的事件时,若满足设置的条件,则执行触发器。
|
||||
|
||||
**注:现在可以使用另一种方式来检查武器动作,具体可参考如下代码**
|
||||
|
||||
```toml
|
||||
[[trigger.check]]
|
||||
fsm.value = { target = 3, id = 137 }
|
||||
# 这块检测代码是作者添加伤害检测后,原本用于fsm的触发器条件被伤害检测使用,故添加此检测器以防止出现两个trigger_on导致冲突的情况
|
||||
```
|
||||
|
||||
一个是检测玩家的动作,`{ target = 3, id = 87 }`为动作`气刃突刺`
|
||||
|
||||
@@ -158,7 +393,7 @@ param = "<STYL MOJI_GREEN_DEFAULT><SIZE 30>黑龙歼灭刀将要使用一种从
|
||||
action_mode = "random"
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
new = { target = 3, id = 87 }```
|
||||
new = { target = 3, id = 87 }
|
||||
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 3
|
||||
@@ -218,7 +453,7 @@ mhw游戏中可用的字体颜色对应代码如下:
|
||||
|
||||
`黑龙歼灭刀将要使用一种从天而降的刀法`是一个示例文本,这个就是你触发条件后发在游戏里面的文本(*想怎么下头的写法就怎么下头吧,决定权在你*)
|
||||
|
||||
### Q3.4:怎么去寻找武器的动作,即fsm?
|
||||
### Q3.4 怎么去寻找武器的动作,即fsm?
|
||||
|
||||
本文给出两种方案,一种是基于0.1.1版本的更新(debug),一种是基于踩蘑菇大佬*Alcedo*所开发的luaengine框架。
|
||||
|
||||
@@ -241,10 +476,224 @@ mhw游戏中可用的字体颜色对应代码如下:
|
||||
|
||||
如红字所说,后面那个fsmid对应的数值就是武器当前执行的动作id。有了这个id就可以参考[Q3.2](#q32-怎么创建一个完整的自动文本?)制作自动文本了
|
||||
|
||||
*方案二*:luaengine,适合除了编辑自动文本的需求外,存在其他数据获取需求,对基于luaengine编写的mod感兴趣或有制作意图的用户
|
||||
*方案二*:**luaengine**,适合除了编辑自动文本的需求外,存在其他数据获取需求,对基于luaengine编写的mod感兴趣或有制作意图的用户
|
||||
|
||||
luaengine相关就不在这阐述了,一切相关问题请移步踩蘑菇luaengine教程贴:https://www.caimogu.cc/post/943219.html
|
||||
|
||||
## 注:现在已添加简易fsmID表格, 如果不想自己去测可以参考[为Monster Hunter World - More Auto Shouts 制作的简易Fsm ID 表](fsmID.md)。但是该表内只录取部分笔者认为常用的fsm,其他fsm请自行按照上述查找fsm的方法进行查找。
|
||||
|
||||
### Q3.5 怎么让一个触发器检测多个动作?
|
||||
|
||||
A:使用`in`函数以判断事件的值是否包含在数组内。
|
||||
|
||||
下面举个例子,以铳枪的龙杭炮为例。
|
||||
|
||||
```toml
|
||||
[[trigger]]
|
||||
action_mode = "sequential_all"
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
new = { target = 3, id = {in = [110,114]} }
|
||||
|
||||
# in是一个函数,用于判断事件的值是否包含在数组内,需要用花括号{}包起来。同理,你也可以在花括号内使用'nin'来排除动作
|
||||
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 7
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "<STYL MOJI_LIGHTBLUE_DEFAULT><SIZE 25>龙杭炮发射</SIZE></STYL>"
|
||||
|
||||
```
|
||||
龙杭炮有三个射击方向,分别为正常派生的下段炮击,突进上捞派生的中段炮击,以及站姿上捞派生的上段炮击,这三个炮击的动作fsmid是分开的,分别为110(下段),112(中段),114(上段)。
|
||||
|
||||
现在使用in函数将这三个fsmid放入一个数组内,触发器检测到玩家使用铳枪时,会检测到玩家当前执行的动作fsmid是否包含在数组内,若包含则激活触发器并发送文本。
|
||||
|
||||
**注:in有对应的反函数nin,可用于检测除内部动作之外的其他动作**
|
||||
|
||||
### Q3.6 为什么我的文本修饰了还是默认的文本?
|
||||
|
||||
A:请检查文本中是否含有`</SIZE>`和`</STYL>`,这两个标签是用于控制文本样式的,请检查文本段的末尾中否含有这两个标签, 如果没有会导致该文本无法被检测到颜色和字体的修改,并以默认形式的文本发送。
|
||||
|
||||
### Q3.7 为什么我的文本只说了一部分?
|
||||
|
||||
A:一个param内的文本所包含的字节数存在上限(128个字节),现举例说明:
|
||||
```toml
|
||||
param = "<STYL MOJI_LIGHTGREEN_DEFAULT><SIZE 30>一二三四五六七八九十壹贰叄肆伍陆柒捌玖拾甲乙丙丁戊己庚辛壬癸</SIZE></STYL>"
|
||||
#双引号中的内容"<STYL MOJI_LIGHTGREEN_DEFAULT><SIZE 30>一二三四五六七八九十壹贰叄肆伍陆柒捌玖拾甲乙丙丁戊己庚辛壬癸"是被计算进字符的部分
|
||||
```
|
||||
*汉字*和*全角标点符号*占**三个字节**,所有的*英文字母*,*数字*和*半角标点符号*占**一个字节**。
|
||||
|
||||
写入的字段中包含了30个汉字;其他字母,数字和半角符号合计39个,合计字节是30*3+39=129个。让我们看看发出去的文本会是啥样:
|
||||
|
||||

|
||||
|
||||
如图,写入了30个汉字实际上只发出来了29个,说明输入文本时字段包含的字节数超过上限(129>128),导致文本中最后一个汉字的字符被截断,无法被输出。笔者建议设置自动文本时不要使文本部分的汉字与中文标点符号数量超过30,否则会使发送时文本因超过字节上限被截断。
|
||||
|
||||
### Q3.8 怎么设置复合的颜色和字号文本,比如这样的?
|
||||
|
||||
A:gmd支持在同一句话中使用分隔的多个颜色和字号tag对不同的文本段标注,具体可参考如下代码(上图中三色字体飞圆斩的**发送器**)
|
||||
|
||||
```toml
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "<STYL MOJI_GREEN_DEFAULT><SIZE 40>飞!<STYL MOJI_LIGHTBLUE_DEFAULT><SIZE 45>圆!<STYL MOJI_RED_DEFAULT><SIZE 50>斩!</SIZE></STYL>"
|
||||
```
|
||||
每一段文本的前面都有一个控制样式的标签,标签的格式请参考[Q3.3](#q33-怎么编辑文本)中的编辑方式,每一段不同样式文本的标签排序**必须**按照颜色`<STYL MOJI_GREEN_DEFAULT>`在前字号`<SIZE 40>`在后顺序排列。
|
||||
|
||||
*这里将文本代码放入了一个发送器的param内,可以复制粘贴放入任意param直接使用*
|
||||
|
||||
### Q3.9 怎么设置发送间隔以防止说话太多刷屏?
|
||||
|
||||
A:mas-config.toml内已经内置了全局间隔功能,默认为1秒,具体请参考配置文件(*mod作者贴心的给你放在了最前面还加了注释哦*)
|
||||
|
||||
如果想给单个触发器设置间隔发送,可以参考如下代码:
|
||||
```toml
|
||||
[[trigger]]
|
||||
action_mode = "random"
|
||||
cooldown = 1
|
||||
# 设置该触发器发送间隔为1秒
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
new = { target = 3, id = 11 }
|
||||
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 2
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "<STYL MOJI_RED_DEFAULT><SIZE 30>开启鬼人化</SIZE></STYL>"
|
||||
```
|
||||
在**触发条件**(详见[Q3.2](#q32-怎么创建一个完整的自动文本?))的代码
|
||||
```toml
|
||||
[[trigger]]
|
||||
action_mode = "random"
|
||||
```
|
||||
下面添加`cooldown`字段,即可设置单触发器的发送间隔(以秒计算)。
|
||||
|
||||
### Q3.10 怎么设置动作前后检测,实现一定程度上在某些情况下的受击检测?
|
||||
|
||||
A:使用`old`和`new`字段,可检测执行该动作的上一个动作,具体请参考如下代码(这里贴出一段登龙被打导致登龙失败的自动文本):
|
||||
|
||||
```toml
|
||||
# 登龙被打导致登龙失败
|
||||
[[trigger]]
|
||||
action_mode = "random"
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
old = { target = 3, id = {in = [87,89,90,91]} }
|
||||
new = { target = 1, id = {nin = [87,89,90,91]} }
|
||||
# 这里用了 in 和 nin 两个函数,一个是检测登龙的动作,一个检测玩家的状态(fsmtarget = 1是纳刀态和硬直,fsmtarget = 3是拔刀态)基于笔者最新的发现,即在检测前后两个动作时,新动作检测的是硬直态的话就可以实现动作被打断的检测。
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 3
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "<STYL MOJI_WHITE_DEFAULT><SIZE 30>太刀侠登龙时<STYL MOJI_RED_DEFAULT><SIZE 40>被打飞了,其他武器纳刀默哀30秒</SIZE></STYL>"
|
||||
|
||||
```
|
||||
`old`用于检测当前动作的上一个动作`new`用于检测当前动作。当前的动作符合`new`内的动作且上一个符合`old`内包含的动作时,触发器才会触发。
|
||||
|
||||
比如上面`old`内是检测登龙的拆分动作(气刃突刺,起跳,空中抬刀预备动作,气刃兜割下劈),`new`内是检测玩家处于纳刀和硬直状态`target = 1`(*内部`fsmid`暂未完全测试,建议填写一个不超过100的数字*), 当登龙被打断时,系统会先检测上一个动作是否是登龙中的动作,然后检测下一个动作是不是玩家的纳刀和硬直状态,若符合则触发该触发器并发送
|
||||
|
||||
### Q3.11 为什么我盾斧开电锯会说超解的文本?
|
||||
|
||||
A:目前因为开电锯时存在延迟输入帧(就是可以在超解动作开始时的约0.2秒内按钩爪键可以把超解动作转换为开电锯的动作),导致开电锯按晚了会有超解文本发送。
|
||||
|
||||
目前笔者找到了一种基于[Q3.10](#q310-怎么设置动作前后检测,实现一定程度上在某些情况下的受击检测)的解决方法,具体请参考如下代码(**可以直接复制粘贴并应用**):
|
||||
|
||||
```toml
|
||||
# ========== 盾斧超解动作 ==========
|
||||
[[trigger]]
|
||||
action_mode = "random"
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
old = { target = 3, id = 120 }
|
||||
new = { target = 3, id = {in = [0,1,3,6,19,20,21,22]} }
|
||||
# 这里new把所有超解完毕后可能的派生(站立,移动,回避)都贴了出来并放在超解后的动作检测里,借此以防止在超解的延迟输入帧内开电锯的的问题出现
|
||||
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 9
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "*超解"
|
||||
|
||||
```
|
||||
**注:该触发器是基于超解完毕后的动作判定触发的,所以使用时并不会在“理想的”时机内发送文本,延迟发送功能请期待后续更新**
|
||||
|
||||
### Q3.12 怎么给动作添加伤害检测?
|
||||
|
||||
A:使用新的触发器条件`[trigger.check]`来检测,具体使用方式如下:
|
||||
|
||||
这里是使用真蓄作为检测
|
||||
```toml
|
||||
# ========== 真蓄造成伤害 ==========
|
||||
[[trigger]]
|
||||
action_mode = "sequential_all"
|
||||
|
||||
[trigger.trigger_on.fsm]
|
||||
new = { target = 3, id = {in = [135,136,137]} }
|
||||
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 0
|
||||
# 武器检测
|
||||
|
||||
[[trigger.check]]
|
||||
[trigger.check.damage]
|
||||
# damage和旧版本的伤害检测条件相同,用于检测该动作的伤害是否大于一定值(这里写200),即真蓄伤害大于200则触发该触发器。你也可以把gt改为lt,表示小于200则触发该触发器。
|
||||
damage = { gt = 200 }
|
||||
# fsm检测的目的是检测并累计该动作期间的伤害值(目前只能实现单个动作的检测,多个动作的检测需要后续更新)
|
||||
fsm = { target = 3, id = 137 }
|
||||
# timeout检测动作的延时(毫秒计数,2000为2秒)
|
||||
timeout = 2000
|
||||
# mod作者已经将伤害检测改为可设置多个的`trigger.check`并放到这里,`trigger.trigger_on。damage`已经不再适用于新版本
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "<STYL MOJI_LIGHTBLUE_DEFAULT><SIZE 30>强击真三蓄!造成了<SIZE 40>{{damage}}<SIZE 30>伤害</SIZE></STYL>"
|
||||
```
|
||||
上述代码若正常运行,则在触发强击的真三蓄力斩伤害大于等于200时发送如下文本:
|
||||
|
||||

|
||||
|
||||
#### 现在已经实现了伤害为空的检测条件,即伤害统计的部分是基于时间段内造成的伤害进行检测,可以设置大于0(造成伤害)或者小于等于0(不造成伤害或者负伤害)所以理论上总伤害为0时可以判定为未命中
|
||||
未命中的代码如下:
|
||||
```toml
|
||||
|
||||
# ========== 太刀登龙失败 ==========
|
||||
[[trigger]]
|
||||
action_mode = "sequential_all"
|
||||
name = "太刀登龙失败"
|
||||
|
||||
# 动作检测
|
||||
[trigger.trigger_on.fsm]
|
||||
new = { target = 3, id = 92 }
|
||||
|
||||
# 武器检测
|
||||
[[trigger.check]]
|
||||
weapon_type.value = 3
|
||||
|
||||
[[trigger.check]]
|
||||
[trigger.check.damage]
|
||||
damage = { le = 0 }
|
||||
# 伤害检测小于0时可以被视为未命中(你用骰子剑造成负伤害也会被算进去,lt=0的情况下总和为负值时也会触发)
|
||||
fsm = { target = 3, id = 92 }
|
||||
timeout = 2000
|
||||
|
||||
[[trigger.action]]
|
||||
cmd = "SendChatMessage"
|
||||
param = "*悲报:太刀侠空登了"
|
||||
|
||||
```
|
||||
|
||||
**注:现在已经去除了:`trigger.trigger_on.damage`,现在使用该代码进行伤害检测时,会出现报错。**
|
||||
|
||||

|
||||
|
||||
*`trigger.trigger_on`只能检测一个元素,该触发器内检测到多个元素。* **报错如是说到...**
|
||||
|
||||
|
||||
# 本文由Stellaraven 结合群内各种问题编写。还有问题请到群*259616154*内咨询。
|
||||
|
||||
# Thank For Your Reading
|
||||
# Thanks For Your Reading
|
||||
|
461
fsmID.md
Normal file
@@ -0,0 +1,461 @@
|
||||
# 为Monster Hunter World - More Auto Shouts 制作的简易Fsm ID 表
|
||||
为了方便用户编辑,现笔者决定制作一个简易fsm表,用于给用户以参考。
|
||||
## 注:本文仅收纳大部分玩家希望使用的fsm,*不包含所有的动作*(比如拔刀态走路,普通攻击等触发较为频繁且无特殊意义的动作之类的不会写在里面)
|
||||
### 大剑(武器编号:0)
|
||||
#### 蓄力攻击动作
|
||||
```text
|
||||
id = 85:拔刀斩,蓄力斩蓄力动作
|
||||
id = 65:蓄力斩斩击动作
|
||||
id = 86:强蓄力斩蓄力动作
|
||||
id = 74:强蓄力斩斩击动作
|
||||
id = 102:真蓄力斩蓄力动作
|
||||
id = 78:真蓄力斩出刀动作,包括强击未命中时的后续动作。若真蓄垫刀命中则fsmid变为135/136/137,后续为真蓄强击动作
|
||||
id = 135:一蓄真蓄力斩强击动作
|
||||
id = 136:二蓄真蓄力斩强击动作
|
||||
id = 137:三蓄真蓄力斩强击动作
|
||||
```
|
||||
#### 防御类动作
|
||||
```text
|
||||
id = 79, 80:铁山靠,蓄靠和滚靠是79,强蓄真蓄靠是80
|
||||
id = 87,88,89:防御动作,87是防御起手,88是防御姿态,89是解除防御
|
||||
id = 11,12:拔刀防御动作,11是站姿防御,12是移动中防御
|
||||
```
|
||||
#### 其他动作
|
||||
```text
|
||||
id = 81:飞身跃入横扫斩
|
||||
id = 66:横扫斩
|
||||
id = 75:强化横扫斩
|
||||
id = 71:横拍
|
||||
id = 69:上捞斩
|
||||
id = 73:踢
|
||||
```
|
||||
#### 钩爪派生,软化动作,强化射击等
|
||||
```text
|
||||
id = 114:强化射击
|
||||
id = 42:软化动作
|
||||
id = 105:软化落地动作
|
||||
```
|
||||
### 片手剑(武器编号:1)
|
||||
#### 主要输出动作
|
||||
```text
|
||||
id = 123:飞身跃入斩
|
||||
id = 124:强化射击派生的飞身跃入斩
|
||||
id = 125,127,129:jr非红刀三段,125第一段,127第二段,129第三段
|
||||
id = 126,128,130: jr红刀三段(精准连击),126第一段,128第二段,130第三段
|
||||
id = 131,132:jr终结插拔,131为非红刀插拔,由fsmid = 129击中怪物派生;132为红刀插拔,由fsmid = 130击中怪物派生
|
||||
id = 133, 134:jr插拔落地,133为非红刀插拔落地,134为红刀插拔落地
|
||||
id = 91:后撤蓄力斩
|
||||
id = 99:后撤蓄力斩命中动作
|
||||
id = 100:后撤蓄力斩命中起跳
|
||||
id = 101:空中盾砸
|
||||
id = 102:盾砸落地
|
||||
```
|
||||
#### 防御类动作
|
||||
```text
|
||||
id = 75:防御起手,防御结束77,防御行走78
|
||||
id = 76:防御中
|
||||
id = 77:防御结束
|
||||
id = 78:防御行走
|
||||
id = 11:拔刀防御动作
|
||||
id = 79:防御斩
|
||||
```
|
||||
#### 蹭刀类动作
|
||||
```text
|
||||
id = 13:空中跳跃斩(骑乘值较高)
|
||||
id = 29:跳跃斩落地
|
||||
id = 72:剑盾连击
|
||||
id = 83:回转斩击
|
||||
id = 86,89,87:肘击三连
|
||||
```
|
||||
#### 钩爪派生,特殊软化动作,强化射击等
|
||||
```text
|
||||
id = 65:翻滚派生钩爪上捞
|
||||
id = 47:强化射击
|
||||
id = 68:钩爪上捞命中
|
||||
id = 67:钩爪上捞未命中落地动作
|
||||
```
|
||||
### 双刀(武器编号:2)
|
||||
#### 鬼人化开关
|
||||
```text
|
||||
id = 11:鬼人化
|
||||
id = 12:移动中拔刀鬼人化
|
||||
id = 97:空中鬼人化
|
||||
id = 98:站姿鬼人化解除,移动时解除鬼人化无人物动作,故无特殊fsm
|
||||
id = 99:在某一动作后派生鬼人化解除
|
||||
```
|
||||
#### 主要输出动作
|
||||
```text
|
||||
id = 81:鬼人六连斩
|
||||
id = 92:鬼人乱舞
|
||||
id = 90:鬼人连斩
|
||||
id = 94:鬼人化下鬼人突进连斩
|
||||
id = 95:鬼人强化下鬼人突进连斩
|
||||
id = 86:回旋斩(鬼人化右键(Y)派生第二段)
|
||||
id = 88:二回旋斩(鬼人化右键(Y)派生第三段)
|
||||
```
|
||||
#### 空中派生动作
|
||||
```text
|
||||
id = 139,140:非鬼人化,鬼人化的上墙动作
|
||||
id = 69:空中回转乱舞
|
||||
id = 71,114,115:空中回转乱舞终结以及落地动作(114为非鬼人化,115为鬼人化)
|
||||
id = 8,137:沿斜坡向下的滑行动作(顺斩),可派生空中回转乱舞(8为非鬼人化,137为鬼人化)
|
||||
id = 133,136:滑行结束(停止按方向键停止于斜坡上)
|
||||
id = 132,135:滑行结束(因地形原因停止滑行)
|
||||
id = 126:搓背
|
||||
id = 127:搓背终结
|
||||
id = 129:搓背落地
|
||||
```
|
||||
#### 钩爪派生,特殊软化动作,强化射击等
|
||||
```text
|
||||
id = 146,147,148,149:四向强化射击回避(146,前,147,左,148,右,149,后)
|
||||
id = 162:鬼人化右键连段钩爪派生
|
||||
id = 163:钩爪派生命中的上身动作
|
||||
id = 164:钩爪派生上身后的特殊软化攻击
|
||||
id = 165:钩爪派生软化落地
|
||||
id = 42:普通钩爪上身软化动作
|
||||
id = 150:普通钩爪上身软化后的落地动作
|
||||
```
|
||||
#### 回避类动作
|
||||
```text
|
||||
id = 105:鬼人化自由态回避(默认朝着你的方向)
|
||||
id = 106,107,108,109:鬼人化四向滑步回避(106,前,107,左,108,右,109,后)
|
||||
```
|
||||
### 太刀(武器编号:3)
|
||||
#### 居合
|
||||
```text
|
||||
id = 98:特殊纳刀中(正在将刀收进刀鞘)
|
||||
id = 99:特殊纳刀完成(已经将刀收进刀鞘准备居合)
|
||||
id = 100:特殊纳刀转为正常纳刀
|
||||
id = 101:居合拔刀斩(小居)
|
||||
id = 102:居合拔刀气刃斩(大居)
|
||||
```
|
||||
#### 登龙动作拆分
|
||||
```text
|
||||
id = 87:气刃突刺
|
||||
id = 89:气刃突刺命中时的起跳动作
|
||||
id = 90:气刃突刺命中,起跳后在空中举刀的动作
|
||||
id = 91:气刃兜割的下劈动作
|
||||
id = 92:气刃兜割的落地动作
|
||||
```
|
||||
#### 气刃相关
|
||||
```text
|
||||
id = 68:三段气刃斩
|
||||
id = 69:气刃大回旋
|
||||
id = 86:看破斩(见切)
|
||||
id = 75:空中三段气刃斩
|
||||
|
||||
```
|
||||
#### 强化射击
|
||||
```text
|
||||
id = 104,105,106:气刃斩派生的强化射击(104向前,105向左,106向右,向后)
|
||||
```
|
||||
### 大锤(武器编号:4)
|
||||
#### 终结技
|
||||
```text
|
||||
id = 87:压迫(左键连按终结技,有上捞判定)
|
||||
id = 96,129:蓄力返挥(92无超蓄力,129有超蓄力)
|
||||
id = 93,130:蓄力压迫(93无超蓄力,130有超蓄力,有上捞判定)
|
||||
id = 94,131:蓄力敲打(94无超蓄力,131有超蓄力)
|
||||
id = 95:大陀螺(回转挥旋)
|
||||
id = 99:回旋强压迫(空中三蓄落地派生,大陀螺转三圈后派生)
|
||||
```
|
||||
#### 右键民工五连拆分
|
||||
```text
|
||||
id = 77,78,79,80:敲打四个阶段的起手动作
|
||||
id = 82,83,84,85:敲打四个阶段的命中反馈动作
|
||||
id = 81:敲打终结
|
||||
```
|
||||
#### 斜坡,空中派生
|
||||
```text
|
||||
id = 132:蓄力时上墙
|
||||
id = 133,115:空中回转攻击(大风车)
|
||||
id = 118:空中回转攻击落地
|
||||
id = 100,101,102:跳跃蓄力攻击(100一蓄,101二蓄,102三蓄)
|
||||
id = 122,123:斜坡滑行,123为滑行一定时间后加速
|
||||
```
|
||||
#### 强化射击,钩爪派生
|
||||
```text
|
||||
id = 134:蓄力中的强化射击
|
||||
id = 137,138:二蓄升龙,三蓄敲打等终结技派生的发射钩爪动作,137为准备发射,138为发射钩爪到收回
|
||||
id = 141,142:二蓄钩爪派生的正常上身
|
||||
id = 140:旋转飞扑攻击(追踪大风车)
|
||||
id = 42:武器软化动作
|
||||
```
|
||||
### 狩猎笛(武器编号:5)
|
||||
#### 攻击动作
|
||||
```text
|
||||
id = 74:拨浪鼓
|
||||
```
|
||||
#### 演奏动作
|
||||
```text
|
||||
id = 77:开始演奏
|
||||
id = 81:开始向前演奏
|
||||
id = 88:演奏完成
|
||||
id = 98,92:二次吹奏
|
||||
id = 90:完成吹奏
|
||||
id = 87:向前吹奏
|
||||
id = 102,97:向前第二次吹奏
|
||||
```
|
||||
### 长枪(武器编号:6)
|
||||
#### 攻击动作
|
||||
```text
|
||||
id = 69,70,71:斜戳三段
|
||||
id = 65,66,67:平戳三段
|
||||
id = 73,74,75:横扫三段(衔接在三连戳的起手,一段和二段戳刺后派生)
|
||||
id = 83:反击突刺
|
||||
id = 84:人车起手
|
||||
id = 85:人车状态
|
||||
id = 105:一段人车终结突刺
|
||||
id = 106:二段人车终结突刺
|
||||
id = 124:人车撞墙
|
||||
id = 101,102:人车回马枪(102估计是收招)
|
||||
id = 107,158:飞身跃入突刺(方唐镜)
|
||||
```
|
||||
#### 防御动作
|
||||
```text
|
||||
id = 35,36,37:防御的小退,中退,大退
|
||||
id = 78,79,80,81,82:反击突刺架势的防御反应(78,79小退,90,81中退,82大退)
|
||||
id = 39:力防防御反应、
|
||||
id = 138,139,140:力量防御起手,防御状态,结束防御
|
||||
id = 76:反击架势
|
||||
id = 96,97,98,99:四向盾突(96前,97左,98右,99后)
|
||||
```
|
||||
#### 钩爪派生,强化射击等
|
||||
```text
|
||||
id = 160: 钩爪反击架势(爪反)
|
||||
id = 163,164:爪反被击中起飞(163)以及钩爪追击至怪物的动作(164)
|
||||
id = 151: 强化射击防御
|
||||
```
|
||||
### 铳枪(武器编号:7)
|
||||
#### 体术类
|
||||
```text
|
||||
id = 79: 上挑
|
||||
id = 83: 下砸
|
||||
id = 85: 横扫
|
||||
id = 90: 踏步上突刺(突进上捞斩)
|
||||
id = 73,75,77: 三连戳
|
||||
id = 126,128,130: 三段防御突刺
|
||||
```
|
||||
#### 炮击类
|
||||
```text
|
||||
id = 92,94。96: 普通炮击(96上,94中,92下三个方向)
|
||||
id = 98,100,102: 蓄力炮击(102上,100中,98下三个方向)
|
||||
id = 87,88,89: 龙杭炮发射预备动作(87下,88中,89上三个方向)
|
||||
id = 110,112,114: 龙杭炮发射动作(110下,112中,114上三个方向)
|
||||
id = 104: 全弹发射
|
||||
id = 158,160: 空中全弹发射
|
||||
id = 106: 龙击炮
|
||||
id = 164,165,166:发射起爆龙杭(164下,165中,166上三个方向)
|
||||
```
|
||||
#### 弹药管理
|
||||
```text
|
||||
id = 116:普通装填
|
||||
id = 167:起爆龙杭装填
|
||||
注:快速装填动作为所有能执行快速装填的动作的fsm数值+1,动作数量过多就不赘述了,仅在此给用户阐述快速装填的fsm规律
|
||||
```
|
||||
### 斩斧(武器编号:8)
|
||||
#### 斧形态
|
||||
```text
|
||||
id = 71:上捞斩
|
||||
id = 70:直斩
|
||||
id = 75,76:挥旋,挥旋停止
|
||||
id = 136:强化敲打
|
||||
```
|
||||
#### 剑形态
|
||||
```text
|
||||
id = 111:二连斩
|
||||
id = 112:横斩
|
||||
id = 113:飞天二连斩
|
||||
id = 118:属性解放突刺
|
||||
id = 119:属性解放突刺连按充能
|
||||
id = 121:属性解放终结
|
||||
id = 122:简易属性解放终结
|
||||
id = 133:钩爪抱脸,零距离突刺
|
||||
id = 124,134:零解上脸连按
|
||||
id = 125:零解终结
|
||||
id = 126:简易零解终结
|
||||
id = 127:零解落地
|
||||
id = 138:突刺钩爪派生
|
||||
```
|
||||
#### 变形部分
|
||||
```text
|
||||
id = 105:斧变剑
|
||||
id = 106:突进斧变剑
|
||||
id = 72:剑变斧
|
||||
id = 117:剑变斧:翻滚变形
|
||||
id = 77:横扫变形斩(前段大回环)
|
||||
id = 78:斧变剑:原地变形
|
||||
id = 115:剑变斧:原地变形
|
||||
id = 80:装瓶
|
||||
```
|
||||
### 盾斧(武器编号:9)
|
||||
#### 剑形态
|
||||
```text
|
||||
id = 70:回转斩击
|
||||
id = 72:蓄力
|
||||
id = 74:蓄力二连斩
|
||||
id = 80:开红剑蓄力
|
||||
id = 81:高压属性斩(开红剑)
|
||||
id = 108:装瓶
|
||||
id = 101:盾突
|
||||
id = 76,77,78,79:四方向移动斩(位移很大,76前,77后,78左,79右)
|
||||
id = 34:剑弹刀
|
||||
```
|
||||
#### 斧形态
|
||||
```text
|
||||
id = 112:突进敲打
|
||||
id = 110:上捞斩
|
||||
id = 111:下砸
|
||||
id = 114:一解
|
||||
id = 116:二解
|
||||
id = 118:大解
|
||||
id = 120:超解
|
||||
id = 117,119:大解,超解前摇(117无红盾,119有红盾)
|
||||
```
|
||||
#### 变形部分
|
||||
```text
|
||||
id = 106:剑变斧
|
||||
id = 71:斧变剑
|
||||
```
|
||||
#### 强化部分
|
||||
```text
|
||||
id = 81:高压属性斩(开红剑)
|
||||
id = 109:属性强化回旋斩(开红盾)
|
||||
id = 148:属性回填斧强化斩(开电锯)
|
||||
tips: 目前因为开电锯时存在延迟输入帧(就是可以在超解动作开始时的约0.2秒内按钩爪键可以把超解动作转换为开电锯的动作),导致开电锯按晚了会有超解文本发送,该问题请等待mod作者更新。
|
||||
```
|
||||
### 操虫棍(武器编号:10)
|
||||
#### 地面动作
|
||||
```text
|
||||
id = 65:飞身跃入斩
|
||||
id = 66:回避斩
|
||||
id = 75:强化二连斩
|
||||
id = 76:强化横扫斩
|
||||
id = 77:连续上捞斩
|
||||
id = 78:飞圆斩
|
||||
id = 80:虫印斩
|
||||
id = 81,82:发射虫印弹
|
||||
id = 83:站姿收放虫(移动收放虫时只有武器模型位置发生变换,不被计入fsm)
|
||||
id = 85,86,87,88:无白灯四向起跳(前85,左86,右87,后88)
|
||||
id = 89,90,91,92:白灯四向起跳(前89,左90,右91,后92)
|
||||
id = 133:猎虫强化
|
||||
```
|
||||
#### 空中动作
|
||||
```text
|
||||
id = 107,108,109,110:无白灯四向空中回避(前107,左108,右109,后110)
|
||||
id = 111,112,113,114:四向空中回避(前111,左112,右113,后114)
|
||||
id = 106:跳跃突进斩击中后派生的滞空态
|
||||
id = 116:跳跃突进斩
|
||||
id = 117:强化跳跃突进斩(小飞棍最爱的那个)
|
||||
id = 13:跳跃斩
|
||||
id = 115:强化跳跃斩(骑乘值很高)
|
||||
id = 14:急袭突刺(下戳)
|
||||
id = 129:空中钩爪派生
|
||||
id = 131:空中钩爪派生命中
|
||||
id = 132:下戳落地派生虫印连段
|
||||
```
|
||||
### 弓箭(武器编号:11)
|
||||
#### 射击
|
||||
```text
|
||||
id = 74:满蓄力平射
|
||||
id = 75:刚射
|
||||
id = 76:吊射
|
||||
id = 77:拔刀龙矢蓄力
|
||||
id = 78:拔刀龙矢发射
|
||||
id = 79:迅雷闪击
|
||||
id = 83:飞身跃入近身攻击起手(飞身箭斩)
|
||||
id = 84:飞身跃入近身攻击后摇
|
||||
id = 111:龙之千矢发射准备动作
|
||||
id = 112:龙之千矢发射动作
|
||||
```
|
||||
#### 移动与瞄准相关
|
||||
```text
|
||||
id = 65:抬手瞄准
|
||||
id = 66:瞄准中移动
|
||||
id = 67:瞄准时停止移动
|
||||
id = 68:站立状态下停止瞄准
|
||||
id = 22:后跳
|
||||
id = 85,86,87,88:四向滑步(85前,86后,87左,88右)
|
||||
```
|
||||
### 重弩炮(武器编号:12)
|
||||
#### 常规弹药
|
||||
```text
|
||||
id = 35, 36, 37:带盾重弩防御动作(35小退,36中退,37大退)
|
||||
id = 64:拔刀安装超级会心镜(纳刀时在快捷栏使用超级会心镜)
|
||||
id = 65:抬手瞄准
|
||||
id = 66:站立状态下停止瞄准
|
||||
id = 67:站立瞄准
|
||||
id = 69:瞄准中移动
|
||||
id = 71:瞄准时停止移动
|
||||
id = 72:射击后摇:后坐力(大)
|
||||
id = 73:射击后摇:后坐力(特大)
|
||||
id = 78:换弹:装填速度(稍微慢)
|
||||
id = 79:换弹:装填速度(慢)
|
||||
id = 106:近身攻击(Manba OUT!)
|
||||
id = 118:安装/卸下超级会心镜
|
||||
```
|
||||
#### 特殊弹药
|
||||
```text
|
||||
id = 77:龙击炮蓄力
|
||||
id = 76:龙击炮发射
|
||||
id = 85:扩散弹准备瞄准
|
||||
id = 86:扩散弹取消瞄准
|
||||
id = 87:扩散弹瞄准中
|
||||
id = 88:扩散弹发射(后坐力:小)
|
||||
id = 89:扩散弹发射(后坐力:中)
|
||||
id = 90:扩散弹发射(后坐力:大)
|
||||
id = 80:装备特殊弹药
|
||||
id = 95:狙击龙弹准备瞄准
|
||||
id = 96:狙击龙弹取消瞄准
|
||||
id = 97:狙击龙弹瞄准中
|
||||
id = 98:狙击龙弹发射
|
||||
注:机关龙弹无特殊动作,故没有fsmid
|
||||
```
|
||||
### 轻弩炮(武器编号:13)
|
||||
#### 射击相关
|
||||
```text
|
||||
id = 65:抬手瞄准
|
||||
id = 66:站立状态下停止瞄准
|
||||
id = 67:站立瞄准
|
||||
id = 69:瞄准中移动
|
||||
id = 71:瞄准时停止移动
|
||||
id = 72:射击后摇:后坐力(大)
|
||||
id = 73:射击后摇:后坐力(特大)
|
||||
id = 74:速射(后坐力:大)
|
||||
id = 75:速射(后坐力:特大)
|
||||
id = 78:换弹:装填速度(稍微慢)
|
||||
id = 79:换弹:装填速度(慢)
|
||||
id = 99:近身攻击(What can I say)
|
||||
id = 112:起爆龙弹
|
||||
id = 113:反击龙弹
|
||||
```
|
||||
#### 回避类动作相关
|
||||
```text
|
||||
id = 104,105,106,107:四向一段滑步(104前,105后,106左,107右)
|
||||
id = 108,109,110,111:四向二段滑步(108前,109后,110左,111右)
|
||||
注:回避装填是武器模型相对位置的改变,不改变人物动作
|
||||
```
|
||||
|
||||
### 通用fsm(测的是fsm target = 1,即纳刀态以及硬直类数据,有待补充)
|
||||
```text
|
||||
id = 325:猫车
|
||||
id = 334:躺在猫车上
|
||||
id = 340:屁股着地(背面受击)
|
||||
id = 339:屁股着地(正面受击)
|
||||
id = 359:正面被击飞(大起身后摇,可装死)
|
||||
id = 360:背面被击飞(大起身后摇,可装死)
|
||||
id = 361:正面被击飞(小起身后摇)
|
||||
id = 362:背面被击飞(小起身后摇)
|
||||
id = 363 到 366:被击飞(大起身后摇,长滞空)
|
||||
id = 367,368:下压击飞
|
||||
id = 369:正面被击飞(被上捞)
|
||||
id = 370:背面被击飞(被上捞)
|
||||
id = 413:下压落地挣扎(起身)
|
||||
id = 583:使用回家球
|
||||
id = 618:转身衣回避
|
||||
id = 775:使用翼龙
|
||||
id = :
|
||||
|
||||
```
|
||||
## 本表部分数据由mod群*259616154*内群友***璀云霄***测出,相关数据已由Stellaraven验证并更正部分错误,并做出了大量的动作补充及其说明,若有除表内动作之外的动作检测需求,可向笔者反馈。
|
||||
# Thanks For Your Reading
|
BIN
img/image-23.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
img/image-24.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
img/image-25.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
img/image-26.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
img/image-27.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
img/image-28.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
img/image-29.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
img/image-30.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
img/image-31.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
img/image-32.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
img/image-33.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
img/image-34.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
img/image-35.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
img/image-36.png
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
img/image-37.png
Normal file
After Width: | Height: | Size: 103 KiB |
BIN
img/image-4.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
img/image.png
Normal file
After Width: | Height: | Size: 35 KiB |