【教程】Contract Configurator教程

复杂热力环境 · 2025-4-4 07:19

目录

  1. 新建合约

  2. 开启调试模式

  3. 合约测试方法

  4. 自定义机构(Agency)

  5. 不让别的合约蹭你的机构

  6. 合约描述自动生成(TextGen)


1. 新建合约

想写合约,第一步就是在你的mod目录下建个.cfg文件。
比如你在GameData/ContractPacks/MyAwesomePack/里新建一个文件,叫啥都行,只要是.cfg结尾就行。

文件内容要有个基础结构:

cpp

复制编辑

CONTRACT_TYPE { // 合约的内容写这里 }

具体语法可以去看官方wiki(也可以抄别人的,后面我会贴几个例子)。一个文件里可以写一个或多个合约节点,看你习惯。


2. 开启调试模式(不看日志等于瞎写)

调试能帮你看到合约有没有正确加载。方法如下:

  1. 找到这个文件:GameData/ContractConfigurator/ContractConfigurator.cfg.default

  2. 复制一份,改名成:ContractConfigurator.cfg

  3. 用文本编辑器打开,找到这行:

    ini

    复制编辑

    logLevel = INFO

    改成:

    ini

    复制编辑

    logLevel = DEBUG

然后进游戏时控制台会多吐点信息,比如加载了几个合约,哪些成功了哪些没过。


3. 合约怎么测

进游戏主菜单,按 Alt + F10 (Mac上fn+option+F10)会弹出一个调试菜单,里面有所有合约的列表。
如果你写的合约没加载成功,会用红字显示出来。点进去可以看到具体是哪错了。

还可以 Alt + F12 打开KSP的主日志窗口,里面有更详细的报错信息。

调完之后,别每次都重启游戏——在Alt+F10菜单里有个按钮叫“Reload Contracts”,点一下就能重新加载所有合约。(RP1等大包慎用,容易炸)


4. 加个你自己的机构(Agency)

想让合约带上你自己机构的Logo?很简单,在cfg文件里加个AGENT节点就行:

java

复制编辑

AGENT { name = 我的宇航公司 description = 来搞科研的,不是来玩的。 logoURL = ContractConfigurator/MyLogo logoScaledURL = ContractConfigurator/MyLogo_scaled }

说明:

  • logoURL 是你256x160尺寸的大图

  • logoScaledURL 是64x40的小图(缩略图)

图片放哪?就放你mod的文件夹里,路径对上就行。


5. 不想让别人乱用你的机构

KSP有些合约会随机分配机构,如果你不想自己写的机构被别的合约乱用,那你得加这一行:

ini

复制编辑

mentality = NoRandomContractMentality

完整写法就是放在上面的 AGENT 节点里。


6. 合约描述怎么自动生成(TextGen)

这部分是写出“像官方那样”的合约描述用的。Contract Configurator支持TextGen系统,配合Coherent Contracts使用效果更好。

在你的合约里加上这几个字段:

ini

复制编辑

topic = Mun subject = Experiment motivation = test

就能自动生成像这样的描述:

  • “由于某些原因,我们需要在Mun上测试实验设备。”

  • “对Mun的研究需求日益增长,赶紧上吧。”

可用的关键词有很多,比如:

topic: Mun、Kerbin、Orbit、Parts、Sun 等
subject: Experiment、Kerbal、Duna、Eve 等
motivation: test、rescue、flags 等

来源于:https://github.com/jrossignol/ContractConfigurator/wiki/How-To

全部回复

快抢个沙发!