【教程】怪物AI修改/THK编辑教程 持续更新中

您所在的位置:网站首页 怪物猎人崛起删除多余角色 【教程】怪物AI修改/THK编辑教程 持续更新中

【教程】怪物AI修改/THK编辑教程 持续更新中

2024-07-07 20:23| 来源: 网络整理| 查看: 265

点赞 收藏 转发

视频教学系列,持续更新中

文字版请向后翻页

#01 THK 编译与反编译入门

文案

THK 控制怪物的行动,即怪物 AI。THK 是一个决策树,基于节点和控制语句,对怪物动作进行更改。

文件结构

THK 文件位于游戏目录 `/em/emxxx/xx/data` 内,通常根据功能会分为多块,例如 `em013_00.thk`, `em013_55.thk` 等。分块的 THK 通过 `.thklst` 进行索引。

解包

通过解包游戏获取原始怪物数据

可视化解包器 MHW No Chunk: https://www.nexusmods.com/monsterhunterworld/mods/411

为方便操作,解包整个em目录

反编译

下载编译/反编译器 Leviathon: https://github.com/AsteriskAmpersand/Leviathon

Leviathon 有一套自己定义的语法。语法有点类似 Lua

语法和编译器用法参考: https://github.com/Ezekial711/MonsterHunterWorldModding/wiki/Leviathon-Language-Reference

.fand .thklst.nack .thk

补充

为了调试方便,需要在反编译时导出所有符号。由于默认导出设置丢弃了空的节点,会导致调试器与实际反编译的代码无法一一对应

编译:

.\ABCompiler.exe -outputName em124

反编译:

.\ABCompiler.exe chunk\em\em124\00\data\em124.thklst -nullShow -fixShow -indexShow

安装调试器

安装动态调试器插件(需要 Stracker's Loader 前置): https://github.com/Fexty12573/mhw-thk-logger

**将下载的 `mhw-thk-logger.dll` 放到游戏内 `nativePC/plugins` 内**

实际上只需要打印 log 就够用了,其高级调试功能通常用不上。

建议启用 loader 的 log 功能,启用 log 输出到文件的功能编辑游戏根目录 `loader-config.json` 

{

  "logfile": true,  

  "logcmd": true,  

  "logLevel": "INFO",  

  "outputEveryPath": false,

  "enablePluginLoader": true

}

logfile 设为true以输出log到文件

logLevel 等级至少设为INFO以上,推荐设为INFO

查看 log 并对照反编译代码分析

推荐实践:使用录屏记录怪物出招时的时间刻,在log文件里对照时间刻分析



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3