如何把整套D&D 5e内容库离线装进手机?FightClub5eXML的编译之道
【免费下载链接】FightClub5eXMLCreating XML files of all D&D sources compatible with Fight Club 5e and Game Master 5e apps for iOS and Android.项目地址: https://gitcode.com/gh_mirrors/fi/FightClub5eXML
FightClub5eXML是一个把官方D&D 5e资料编译成移动端内容库XML文件的开源项目,它让Fight Club 5e与Game Master 5e的用户在iOS和Android设备上离线读取全部资料。如果你受够了实体书堆满桌、开团时临时翻网页、地城深处信号全无的窘境,这篇文章会带你走完整条路。
一场开团前的"内容危机"
每个DM大概都经历过这样的夜晚:明天就要开团,桌上摊着玩家手册、怪物图鉴、三本冒险书,手机里还存着十几个网页标签。你想确认一只食人魔的CR,得先在三本书里找到正确那本,再翻目录、翻页码;想查一条规则判例,得联网打开搜索页,偏偏那晚WiFi还不太稳定。
这不是资料不够,而是资料太多、太散、够不着。官方内容分散在实体书和网站上,手机App要么内容不全,要么必须联网,要么只能装一部分——而真正的跑团场景,恰恰发生在信号很差的桌游店、地下室和野外。内容库的"可及性",成了比内容本身更现实的痛点。
从"一摞书"到"一个文件"
FightClub5eXML做的事情,可以概括成一句话:把整套内容库压缩成一个能被移动App读取的数据文件。
它按来源把资料整理得井井有条——玩家手册的内容放在Sources/PlayersHandbook/,怪物手册在Sources/MonsterManual/,每个冒险模组都有自己的目录。你不需要关心这些细节,只需要知道:最终你得到的是一个XML文件,导入Fight Club 5e或Game Master 5e之后,全部数据就躺在你手机里了,离线可查,随时翻看。
整个过程很像打包行李:散落一桌的衣物、洗漱用品、充电器,最终被归置进一个行李箱。编译合集,本质就是一次有秩序的打包。
编译不是魔法,是照着"装箱清单"打包
行李不是随便塞的——你得先决定带什么。在FightClub5eXML里,这个决定由Collections/目录下的合集文件完成,而执行打包的,是Utilities/merge.xslt这个合并脚本。
每个合集文件就是一份装箱清单,写着"我要装哪些来源的哪些模块";合并脚本则照着清单,把对应模块拼成一个完整内容库。想明白这层关系,你就能理解项目里那些文件名:Complete.xml是"什么都装"的豪华箱,CoreRulebooks.xml只装玩家手册、地下城主指南和怪物手册这三本核心书,CorePlusHomebrew-NoUA.xml则是核心加自制内容、但排除测试性质的Unearthed Arcana。选择合集,就是在选择你的游戏内容边界。
第一次跑通,只需要一条命令
实际动手比想象中简单。前提是装好xsltproc(Windows用choco install xsltproc,macOS用brew install libxslt,Linux直接走系统包管理器),然后克隆仓库:
git clone https://gitcode.com/gh_mirrors/fi/FightClub5eXML编译一个合集同样只有一条命令:
xsltproc -o Compendiums/CoreRulebooks.xml Utilities/merge.xslt Collections/CoreRulebooks.xml跑完之后,Compendiums/CoreRulebooks.xml就是你想要的内容库文件。把它传到手机上(云盘、数据线都行),在App里导入,收工。我第一次跑通时最惊讶的就是这点——整件事花的时间,比选一本实体书还短。
内容自由组合:从"全都要"到"只要我需要的"
打包的妙处在于,你可以随时换一张装箱清单。
想完整收藏,用Complete.xml,官方内容、Unearthed Arcana、第三方资料一网打尽;只带跑团必需,用CoreOnly.xml或CoreRulebooks.xml,文件更小、App加载更快。而真正的自由度来自自制内容——Sources/Homebrew.xml就是现成的模板,照着它的结构写你自己的规则、怪物或物品,放进Sources/目录,再建一个引用它的合集,属于你的个性化内容库就诞生了。
这份自由度还可以分享给队友:一个编译好的XML文件,发过去就能导入。你的整桌人用同一套内容库开局,规则口径完全一致,再也不用争论"你那个版本哪来的"。
如果第一次导入失败,多半是这三个原因
这条路我走过一遍,也踩过坑,提前说给你听:
xsltproc没装对——命令敲下去提示找不到,多半是环境变量或安装源的问题,换官方包管理器重装一次就好;- XML语法错误——尤其是自己改过自制内容后,少个标签、多个引号都会让编译中断,用编辑器检查一遍XML结构;
- 合集里的路径引用不对——合集文件写明了要引用的源文件路径,移动或重命名了文件,编译就会失败,把路径改回真实位置即可。
真到了排查环节,项目仓库里的README和CHANGELOG是值得先翻的地方:README讲清楚了整体流程,CHANGELOG记录了每次更新改了哪些内容,能帮你判断新版本是否值得跟进、以及某个怪异的报错是不是已知问题。
从一个小目标开始
别一上来就编译Complete.xml——那份豪华箱确实大,但首次尝试没必要背着它跑。先从CoreRulebooks.xml跑通一次,确认手机导入、离线检索都正常,再逐步往自己的内容库加料:先加你正在跑的冒险模组,再加常用规则书,最后才是自制内容。
这个项目最打动我的地方,是它把"拥有完整D&D 5e资料库"这件事,从昂贵的实体书收藏、或依赖网络的在线查询,变成了一次免费的本地编译。你不需要懂XML语法,不需要理解XSLT原理,只需要明白"选清单、跑命令、导入手机"这三步,然后就能拥有一个随时可翻、按需定制、能分享给整桌人的离线内容库。
去克隆仓库,跑通第一次编译吧——等你在没信号的桌游店顺利翻到那条规则的时候,你会感谢今晚动手的自己。
【免费下载链接】FightClub5eXMLCreating XML files of all D&D sources compatible with Fight Club 5e and Game Master 5e apps for iOS and Android.项目地址: https://gitcode.com/gh_mirrors/fi/FightClub5eXML
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考