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