kmd:剧本指令集
差别
这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
kmd:剧本指令集 [2025/04/12 14:09] – 创建 dangfer | kmd:剧本指令集 [2025/04/12 16:45] (当前版本) – [扩展指令集] dangfer | ||
---|---|---|---|
行 4: | 行 4: | ||
英杰传和孔明传用的同一套剧本指令。为了方便起见,就不重新写两个页面了。以孔明传为主,部分孔明传、英杰传不同的地方会标注出。 | 英杰传和孔明传用的同一套剧本指令。为了方便起见,就不重新写两个页面了。以孔明传为主,部分孔明传、英杰传不同的地方会标注出。 | ||
+ | |||
+ | ===== 原始指令集 ===== | ||
**00. 对话框** | **00. 对话框** | ||
+ | |||
< | < | ||
u16 字符串偏移 | u16 字符串偏移 | ||
行 11: | 行 14: | ||
**01. 移动武将** | **01. 移动武将** | ||
+ | |||
< | < | ||
u16 武将ID | u16 武将ID | ||
行 19: | 行 23: | ||
**02. 未使用** | **02. 未使用** | ||
+ | |||
< | < | ||
u8 _ | u8 _ | ||
</ | </ | ||
+ | **03. 设置战役信息** | ||
+ | |||
+ | < | ||
+ | u8 阶段 | ||
+ | u8 最大回合数 | ||
+ | u8 如果是第二阶段,是否需要清空回合数 | ||
+ | u8 _ | ||
+ | u8 敌军拥有主将 | ||
+ | u16 敌军主将ID | ||
+ | u8 _ | ||
+ | u8 我军拥有主将 | ||
+ | u16 我军主将ID | ||
+ | 武将信息 x30 | ||
+ | u16 武将ID | ||
+ | u8 X | ||
+ | u8 Y | ||
+ | u8 我军 (见22指令的详细说明) | ||
+ | u8 需要检查标志 | ||
+ | u8 标志ID | ||
+ | u8 朝向 | ||
+ | u8 隐藏 | ||
+ | </ | ||
+ | |||
+ | :!: 孔明传中,朝向无效 (我军始终朝左,敌军朝右),此参数仅用于英杰传。 | ||
+ | |||
+ | **04. 天气 (EKD)** | ||
+ | |||
+ | :!: 此指令无任何作用,仅从英杰传的调试文本中获知。 | ||
+ | |||
+ | **05. 显示场所** | ||
+ | |||
+ | 06指令、09指令 (更新场所)的黑屏不会自动恢复,需要调用此指令。 | ||
+ | |||
+ | **06. 黑屏** | ||
+ | |||
+ | 仅用于场所。 | ||
+ | |||
+ | **07. 过场动画 (EKD)** | ||
+ | |||
+ | < | ||
+ | u8 ID | ||
+ | u8 _ | ||
+ | </ | ||
+ | |||
+ | 过场动画指英杰传中文字上方的图像。孔明传中没有此功能,此指令的效果为在顶端显示消息框。 | ||
+ | |||
+ | **08. 消息框** | ||
+ | |||
+ | < | ||
+ | u16 字符串偏移 | ||
+ | </ | ||
+ | |||
+ | **09. 加载地图** | ||
+ | |||
+ | < | ||
+ | u16 地图ID | ||
+ | </ | ||
+ | |||
+ | ID的高4位表示类型:0城市,1大地图,2场所,3战场 | ||
+ | 低12位表示编号。 | ||
+ | |||
+ | **0A. 加载武将** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 X | ||
+ | u8 Y | ||
+ | u8 朝向 | ||
+ | u8 姿势 | ||
+ | </ | ||
+ | |||
+ | **0B. 小消息框** | ||
+ | |||
+ | < | ||
+ | u16 字符串偏移 | ||
+ | </ | ||
+ | |||
+ | **0C. 设置任务 (EKD)** | ||
+ | |||
+ | < | ||
+ | [u16] _ (仅EKD字段) | ||
+ | u16 字符串偏移 | ||
+ | </ | ||
+ | |||
+ | 孔明传中不区分剧情任务和战场任务,均使用30指令。孔明传中0B、0C、0E指令完全相同。 | ||
+ | |||
+ | **0D. 设置章幕** | ||
+ | |||
+ | < | ||
+ | u16 字符串偏移 | ||
+ | </ | ||
+ | |||
+ | 被用于存档名。 | ||
+ | |||
+ | **0E. 显示章幕** | ||
+ | |||
+ | < | ||
+ | u16 字符串偏移 | ||
+ | </ | ||
+ | |||
+ | **0F. 场景跳转** | ||
+ | |||
+ | < | ||
+ | u8 场景 | ||
+ | </ | ||
+ | |||
+ | **10. 武将单挑** | ||
+ | |||
+ | < | ||
+ | u8 台词ID | ||
+ | u8 台词ID | ||
+ | u8 单挑结果 | ||
+ | </ | ||
+ | |||
+ | **11. 战斗后加载地图** | ||
+ | |||
+ | < | ||
+ | u16 地图ID | ||
+ | </ | ||
+ | |||
+ | 检查后面是否紧跟29指令 (Game Over),若是则战斗失败;否则战斗胜利。 | ||
+ | |||
+ | **12. 结束剧本集** | ||
+ | |||
+ | **13. 结束事件** | ||
+ | |||
+ | **14. 设置剧本标志** | ||
+ | |||
+ | < | ||
+ | u8 标志ID | ||
+ | u8 操作 (0开,1关) | ||
+ | </ | ||
+ | |||
+ | 诸葛瞻的培养也使用此指令。 | ||
+ | |||
+ | **15. 带确认的对话框** | ||
+ | |||
+ | < | ||
+ | u8 预期选项 (0是,1否) | ||
+ | u8 分支指令数 | ||
+ | </ | ||
+ | |||
+ | **16. 无效指令** | ||
+ | |||
+ | < | ||
+ | u8 ID1 | ||
+ | u8 ID2 | ||
+ | </ | ||
+ | |||
+ | **17. 自由行动** | ||
+ | |||
+ | < | ||
+ | u8 操作 (0启用,1禁用) | ||
+ | </ | ||
+ | |||
+ | **18. 移除武将** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 X1 | ||
+ | u8 Y1 | ||
+ | u8 X2 | ||
+ | u8 Y2 | ||
+ | u8 标志 (开:战场武将,关:场所角色) | ||
+ | u8 军队 (0我军,1敌军,2两军) | ||
+ | </ | ||
+ | |||
+ | **1A. 显示武将** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | </ | ||
+ | |||
+ | **1B. 获得物品** | ||
+ | |||
+ | < | ||
+ | u8 物品ID | ||
+ | </ | ||
+ | |||
+ | 0xC3表示随机物品。 | ||
+ | |||
+ | **1C. 设置武将方针** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 方针 | ||
+ | u16 参数 | ||
+ | </ | ||
+ | |||
+ | **1D. 保存地图数据** | ||
+ | |||
+ | < | ||
+ | u16 地图ID | ||
+ | u8 ? | ||
+ | u8 ? | ||
+ | </ | ||
+ | |||
+ | 孔明传中,保存的地图数据并没有被使用,因此这也是无效指令。 | ||
+ | |||
+ | **1E. 清除场景角色** | ||
+ | |||
+ | **1F. 添加NPC** | ||
+ | |||
+ | 自由行动时会自动处理,但是剧本中需要手动处理。 | ||
+ | |||
+ | **20. 设置地图标志** | ||
+ | |||
+ | < | ||
+ | u8 模式+n (MSB: 0附加,1设置。7-LSB: | ||
+ | u8*n 需清除的标志ID | ||
+ | </ | ||
+ | |||
+ | 附加模式:直接在原来基础上进行操作;设置模式:先全部初始化为可达再进行操作。 | ||
+ | |||
+ | **21. 检查剧本标志** | ||
+ | |||
+ | < | ||
+ | u8 分支指令数 | ||
+ | u8 n (检查n个标志是否为ON) | ||
+ | u8*n 标志ID | ||
+ | u8 m (检查m个标志是否为OFF) | ||
+ | u8*m 标志ID | ||
+ | </ | ||
+ | |||
+ | **22. 设置敌军信息** | ||
+ | |||
+ | < | ||
+ | u8 身份反转 | ||
+ | 武将信息 x30 | ||
+ | u16 武将ID | ||
+ | u8 X | ||
+ | u8 Y | ||
+ | u8 需要检查标志 | ||
+ | u8 标志ID | ||
+ | u8 朝向 | ||
+ | u8 隐藏 | ||
+ | u8 方针 | ||
+ | u16 方针参数 | ||
+ | u8 兵种 | ||
+ | u8 等级 | ||
+ | u8 _ | ||
+ | u8 _ | ||
+ | u8 _ | ||
+ | u16 _ | ||
+ | u8 _ | ||
+ | </ | ||
+ | <color / | ||
+ | |||
+ | **23. 选择参战武将** | ||
+ | |||
+ | **24. 设置武将势力** | ||
+ | |||
+ | 孔明传中,仅势力0 (蜀)和6 (诸葛亮)才属于我军。通常武将离队设置为势力9 (无所属)。 | ||
+ | |||
+ | **25. 显示选项** | ||
+ | |||
+ | 至多3个选项。 | ||
+ | |||
+ | 选择诸葛瞻兵种也使用此指令。 | ||
+ | |||
+ | **26. 加载二阶段战场地图** | ||
+ | |||
+ | < | ||
+ | u8 _ | ||
+ | u8 _ | ||
+ | u8 地图编号 (只有两张图) | ||
+ | </ | ||
+ | |||
+ | **27. 障碍物** | ||
+ | |||
+ | < | ||
+ | u8 X | ||
+ | u8 Y | ||
+ | u8 操作 (0设置火,1设置水,2撤销,3撤销,4淡入,5淡出) | ||
+ | </ | ||
+ | |||
+ | :!: 通过操作2设置的障碍物,图标仍是火,但障碍物的名称显示为水。 | ||
+ | |||
+ | **28. 武将倒戈** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 势力 | ||
+ | </ | ||
+ | |||
+ | **29. Game Over** | ||
+ | |||
+ | **2A. The Ending** | ||
+ | |||
+ | < | ||
+ | u8 结局ID (EKD) | ||
+ | </ | ||
+ | |||
+ | 孔明传不采用硬编码的多结局实现,因此结局ID无效。 | ||
+ | |||
+ | **2B. 设置用户数据** | ||
+ | |||
+ | < | ||
+ | u8 类型 (0: - 孔明寿命,1: | ||
+ | u16 值 | ||
+ | </ | ||
+ | |||
+ | 类型9未使用,效果为显示武将的武力、统帅、智力。 | ||
+ | |||
+ | **2C. 刷新场景角色** | ||
+ | |||
+ | **2D. 特殊技能** | ||
+ | |||
+ | < | ||
+ | u8 军队 (0我军,1敌军) | ||
+ | u8 类型 (0: 减少1/ | ||
+ | </ | ||
+ | |||
+ | 未使用。不过猜测可能是想用于博望坡之战的火攻。 | ||
+ | |||
+ | **2E. 设置用户城市** | ||
+ | |||
+ | < | ||
+ | u16 地图ID | ||
+ | u8 _ | ||
+ | u8 _ | ||
+ | u8 _ | ||
+ | </ | ||
+ | |||
+ | **2F. CG变更 (EKD)** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 ID | ||
+ | </ | ||
+ | |||
+ | 孔明传中未使用,用于设置武将的一个废案属性。 | ||
+ | |||
+ | **30. 设置任务** | ||
+ | |||
+ | < | ||
+ | u16 字符串偏移 | ||
+ | </ | ||
+ | |||
+ | **31. 检查用户数据** | ||
+ | |||
+ | < | ||
+ | u8 类型 (0: 孔明寿命,1: | ||
+ | u8 值 | ||
+ | u8 关系 (0: >=,1: <) | ||
+ | u8 分支指令数 | ||
+ | </ | ||
+ | |||
+ | **32. 变更武将兵数/ | ||
+ | |||
+ | < | ||
+ | u8 类型 (0武将,1范围) | ||
+ | u16 武将ID | ||
+ | u8 X1 | ||
+ | u8 Y1 | ||
+ | u8 X2 | ||
+ | u8 Y2 | ||
+ | u8 军队 | ||
+ | u8 类型 (0攻击,1防御,2兵数减少,3状态) | ||
+ | u8 值 | ||
+ | </ | ||
+ | |||
+ | 类型0/ | ||
+ | |||
+ | 类型2,值为减少的兵数 | ||
+ | |||
+ | 类型3,值: | ||
+ | |||
+ | **33. 无效指令** | ||
+ | |||
+ | < | ||
+ | u8 ? | ||
+ | u8 ? | ||
+ | </ | ||
+ | |||
+ | 推测原义应为播放音效。 | ||
+ | |||
+ | **34. 设置武将姿势** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 姿势 | ||
+ | </ | ||
+ | |||
+ | **35. 移动旗帜** | ||
+ | |||
+ | < | ||
+ | u8 源城市 | ||
+ | u8 目标城市 | ||
+ | u8 旗帜颜色 | ||
+ | u8 延时 | ||
+ | </ | ||
+ | |||
+ | **36. 自动保存** | ||
+ | |||
+ | **37. 设置武将姿势朝向** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 姿势 | ||
+ | u8 朝向 | ||
+ | </ | ||
+ | |||
+ | **38. 播放BGM** | ||
+ | |||
+ | < | ||
+ | u8 BGM ID | ||
+ | </ | ||
+ | |||
+ | **39. 武将升级** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 等级 | ||
+ | </ | ||
+ | |||
+ | **3A. 设置武将兵种** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | u8 兵种 | ||
+ | </ | ||
+ | |||
+ | **3B. 结束并行中事件** | ||
+ | |||
+ | < | ||
+ | u8 _ | ||
+ | u8 _ | ||
+ | </ | ||
+ | |||
+ | **3C. 无效指令** | ||
+ | |||
+ | < | ||
+ | u16 武将ID | ||
+ | </ | ||
+ | |||
+ | **3D. 提示保存** | ||
+ | |||
+ | < | ||
+ | u8 并行 | ||
+ | </ | ||
+ | |||
+ | **FF. 结束** | ||
+ | |||
+ | ===== 扩展指令集 ===== | ||
+ | |||
+ | 这一部分**不存在于**原版中,在Dangfer的改版中引入。 | ||
+ | |||
+ | **40: 检查结果** | ||
+ | |||
+ | < | ||
+ | u8 分支指令数 | ||
+ | u8 条件 (0真,1假) | ||
+ | </ | ||
+ | :!: 此指令不同于else,它仅检查最近的结果 (由21指令设置)。 |
kmd/剧本指令集.1744463391.txt.gz · 最后更改: 2025/04/12 14:09 由 dangfer