现代战斗脚本测试
译自英语
RPG风格现代战斗脚本的试验场
注意:这是脚本演示,不是正式的RP机器人。代码链接在最后一节。
在角色扮演中测试爆炸、投射物和近战的概率。
这是某个鬼地方、饱受战火摧残的国家里的一场全面战争!
我们的士兵鲍勃能否在骰子的掷骰中存活下来?
随便挑了张图当缩略图
图片来源: Drunken-Lord
注意:这个脚本很可能非常依赖你所使用的LLM类型,以及它如何解读距离。
我用的是DeepSeek V3 0324,其他LLM上的效果可能有所不同。
它是怎么运作的?
太长不看:机器人会多次掷骰,成功(存活)与否取决于RPG风格的战斗属性
到目前为止,我设定了三类可以作用于{{char}}的效果。
爆炸
投射物
近战
我们还会讨论“现代战斗属性”这一概念,它将影响这些效果。
爆炸物
爆炸物具有溅射效果,受影响的可能性会随距离增加而逐渐衰减。
就爆炸物而言,有两件事需要担心:破片(或投射物)和冲击波。
因此,我们可以这样定义注入的提示词(示例,可能并非最终成品):
# {{char}} 应以如下方式对爆炸做出反应:
- 近距离:受到爆炸的["畏缩", "脑震荡", "丧失行动能力"],并且破片(投射物)["有", "没有"]射向他们。
- 中距离:受到爆炸的["无动于衷", "畏缩", "脑震荡"],并且破片(投射物)["有", "没有"]射向他们。
- 远距离:受到爆炸的["无动于衷", "畏缩"]。
这里方括号中的取值由机器人掷骰决定。
机器人的属性在这里除了判断他们能否存活之外作用不大,因为爆炸物想怎么炸就怎么炸。
投射物
这大概是角色扮演战斗中最常见的情况,所以我认为这个方案需要做得相当细致。
被射击时我能想到的结果基本上有三种:毫发无伤、受伤、直接死亡。
但是,从这些结果衍生出来,还能发生什么?
- 毫发无伤;你可以是无动于衷或被压制
- 受伤;你可以是麻木、被压制或震惊。伤势可以是轻伤、重伤或致命伤。“致命”会允许机器人在死前至少还击最后一次。
- 死亡;比如爆头之类的?是的,完了。
然后,我们需要根据机器人的技能和他们的状态,判断机器人能否有效地向攻击者还击。(假设机器人没被杀。)
所以我们可以这样写提示词:
# {{char}} 应以如下方式对被射击或朝其射来的投射物做出反应:
然后,每种距离(近、中、远)都会得到以下内容(根据发生情况,某些句子不会出现。例如:“毫发无伤”不会生成“伤势是......”这一行):
将被投射物["毫发无伤", "受伤", "杀死"]。伤势是["轻", "重", "致命"]。{{char}} 是["无动于衷", "麻木", "被压制", "震惊"]。如果还击合理,他们将["有效地", "无效地"]还击。
机器人的属性在这里发挥的作用更大一些,会考虑他们的“身体”属性(他们会不会死/躲开?)、“心理”属性(他们会不会被压制?)以及“战斗”属性(他们会不会有效反应?)
近战
当然,你随时可能和人扭打起来,而不是用7.62或5.56子弹把人打爆。
这将是最简单的提示词,推导也比我在其他机器人中的近战战斗脚本更简单。
# 在近战中,{{char}} 应["有效地", "无效地"]战斗。
由于这大概不会像我预想的那么频繁发生,所以这个就保持极其简单。
现代战斗属性
我打算从《逃离塔科夫》中汲取灵感,使用那里的一些属性。我认为这些基本上都一目了然。
身体
- 生命力 - 基本上就是健康值
- 敏捷 - 他们移动的速度/灵巧程度
- 韧性 - 对伤害的抵抗力
- 力量 - 他们有多强壮
心理
- 感知 - 在战场上察觉事物的能力
- 压力控制 - 在压力下保持冷静的能力
战斗
- 操控 - 瞄准和射击武器的能力
- CQC - 近身格斗能力
- 近战 - 徒手战斗的能力
这些数值应设为0到100,并应针对机器人的性格量身定制。作为参考准则,我认为可以这样划分:
(0 - 40:差),(40-60:一般),(60-80:好),(80-100:优秀)
所以狙击手角色大 概应该有“操控:85”但“CQC:50”之类的。
这些数值会因交战距离而有不同的权重:例如,CQC在“近距离”中权重更大,但在“远距离”中权重小得多(甚至完全不计)。
哪些属性有贡献及其权重(所有权重之和应为1):
说实话这些有点随机,所以欢迎就平衡性提出反馈。
爆炸存活:
- 所有距离:韧性(0.7),压力控制(0.3)
投射物命中:
- 近:感知(0.2),敏捷(0.4),CQC(0.4)
- 中:感知(0.5),敏捷(0.5)
- 远:感知(0.7),敏捷(0.3)
伤势严重程度:
- 近:生命力(0.3),韧性(0.4),CQC(0.3)
- 中:生命力(0.5),韧性(0.5)
- 远:生命力(0.3),韧性(0.7)
心理影响:
- 近:感知(0.1),压力控制(0.4),CQC(0.5)
- 中:感知(0.3),压力控制(0.7)
- 远:感知(0.1),压力控制(0.9)
还击有效性:
- 近:感知(0.1),操控(0.4),CQC(0.5)
- 中:感知(0.3),操控(0.7)
- 远:感知(0.5),操控(0.5)
近战成功:
- 力量(0.4),近战(0.6)
代码
我很乐意分享代码,你可以在我的GitHub上这里找到。
已应用MIT许可证,这只是为了确保它尽可能宽松!
如果你决定认真使用这个脚本,我会很感激你的署名。:)
已创建 Sep 13, 2025
已更新 Nov 21, 2025
已发布 Sep 13, 2025