标题: 三国志英杰传剧本初步解析
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-9-24 04:55 资料 文集 短消息 只看该作者
三国志英杰传剧本初步解析

英杰传的剧本共有10个文件,即SNR0D.R3-SNR4D.R3和SNR0M.R3-SNR4M.R3。其中的0-4表示章,即序章至第四章。SNR0D.R3-SNR4D.R3中存放的是剧本指令集,SNR0M.R3-SNR4M.R3中存放的是剧本的文本信息。

一、名词解释:

    章:剧本的最大单位:即序章、第一章、第二章、第三章和第四章,与游戏完全一致。
    节:比章小一点的剧本单位,每章都分成若干节。如下
              序章只有一节:群雄起兵讨伐董卓
              第一章共有五节:界桥之战、支援北海徐州、饿虎吕布来访、讨伐吕布之战、徐州攻防战
              以下省略
     段:比节小一点的剧本单位,每节分成若干段。每段一般对应一段剧情或一场战役。
     组:比段小一点的剧本单位,每段分成若干组。每组包含若干条顺序指令的剧本指令。
     指令:最小的剧本单位,每条指令完成一定的功能。

二、文本信息文件分析

     每个文本文件包含两个部分:文件头和正文。
     文件头部是正文索引,每节两个字节,如第一章的剧本有五节,文件头部就是10个字节的正文索引信息。
     每节的两个字节索引信息知名了本节的剧本文本存放在文件中的什么地方,例如第一章的索引信息如下:
            0A 00 4B 2D 2D 54 D5 7D A3 A1
     表示第一节的文本从文件偏移 000A 的地方开始,到2D4A结束;第二节的文本从 2D4B开始,到542C结束,依此类推。

     每节的文本按顺序存放了要显示的剧情文本信息。剧情文本信息分为两类:第一类是普通文本,第二类是对话文本。
     普通文本按一般的字符串方式存放,以00结束。
     对话文本包含多句对话,每句对话以两个字节的说话人人物代码开始,后跟以00结束的对话内容。一段对话结束时,以FFFF为对话结束符。当程序依此读取人物对话,发现说话人人物代码为FFFF时,程序就知道本段对话已经结束了。

[ 本帖最后由 龙吟 于 2011-9-24 11:44 编辑 ]


附件: [剧本指令的EXCEL文件] snr_excel.rar (2011-9-24 11:44, 910.66 K)
该附件被下载次数 423


精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-9-24 04:56 资料 文集 短消息 只看该作者
三、剧本指令结构说明

    每个剧本文件的头16个字节是LS11格式文件头,固定为 4CH 53H 31H 31H 后跟12个00 (即LS11)
    剧本文件的第二部分是0100H字节的压缩字典信息,从0010H到010FH为止,存放剧本解压缩使用的字典。英杰传的剧本指令是通过LS11压缩算法压缩的,当实际读入剧本时,程序会通过字典进行解压缩。当然如果程序发现剧本指令没有被压缩过,程序会自动跳过解压缩步骤,直接读入剧本指令。本贴提供了解压缩后的剧本指令集,可以直接替换程序中的压缩过的剧本指令集,游戏依然可以正常运行。
    剧本文件的第三部分是节索引信息,从0110H处开始,占用0C×节数+4字节。每节的索引信息占用12字节,前4字节是压缩后的节长度,中间4字节是压缩前的原始节长度,最后4个字节是本节指令信息的偏移量。这里要注意的是,节长度和偏移量都是逆序存放的。如果压缩前和压缩后的节长度一致,程序将认为剧本指令没有压缩过。所有节索引信息后,以4个字节的00结束。
    例如第一章的压缩后剧本文件的节索引信息如下:
           00 00 0D 21 00 00 1C D5 00 00 01 50 00 00 0A BC
           ......
           表示第一节的剧本压缩后的长度是0D21H字节,压缩前的长度是1CD5H字节,本节剧本指令从文件的0150H处开始
     又例如第二章的未压缩剧本文件的节索引信息如下:
           00 00 1D 23 00 00 1D 23 00 00 01 44 00 00 16 38
           ......
           表示第一节的剧本压缩前和压缩后的长度都是1D23字节(未压缩),本节剧本指令从文件的0144H处开始。

    以后如果不特别指明,所有的剧本指令文件都是非压缩的版本。


    每节的剧本信息由两部分构成:段索引信息和段剧本指令。首先是段索引信息,每段的索引信息占用两个字节,直到FFFF表示段索引信息结束,例如序章的第一节的剧本指令信息从文件的0120H处开始,格式如下:
       16 00 41 00 03 01  B4 01 72 02 01 05 7A 07 F9 07
       79 0B 27 0C FF FF
       这个索引信息表示本节共分10段,第一段的段指令信息偏移为0016H,即从本节的剧本信息头部偏移0016H字节(即在文件的0120H+0016H=0136H处),第二段的段指令信息偏移为0041H,即在本节偏移0041H(即文件的0120H+0041H=0161H处)。依此类推,最后一段的段指令信息偏移为0C27H,即在本节偏移0C27H(即文件的0120H+0C27H=0D47H处)。

    每段的剧本信息由两个部分构成:组索引信息和组剧本指令。首先是组索引信息,每组的索引信息占用10个字节,直到10个FF字节表示组索引信息结束。例如序章第一节第四段的组索引信息如下:
        00 00 00 00 00 00 00 00 1E 00 00 01 00 00 00 00
        00 00 95 00 FF FF FF FF FF FF FF FF FF FF
    表示本段分为两组,第一组的组索引为 00 00 00 00 00 00 00 00 1E 00,第二组的组索引为 00 01 00 00 00 00 00 00 95 00。每组的组索引的第一个字节是组索引类型,第2字节功能是组的子段号,第9和第10个字节是组指令的偏移。以上面序章第一节第四段为例。序章第一节第四段的段偏移是01B4H,所以该段开始地址为0120H+01B4H=02D4H。所以第一组的组指令的开始地址为02D4H+001EH=02F2H;而第二组的组指令的开始地址为02D4H+0095H=0369H。

     刚才提到组索引的第二字节是子段号,这是什么意思呢?每一段中一般包含若干组指令,这些指令被分割成几个子段。子段的序号从00开始,第二个子段则是01,当00子段的指令执行完毕或被强制结束时,系统自动开始执行01子段的指令。如果某个子段包含多组指令,其第一组指令的执行顺序号要加上80H,表示本子段含有多组指令。例如80表示第00子段,但00子段中含有多组指令。

     刚刚说了,每组的所以的第一字节是组索引类型,表示这一组指令在什么情况下被触发执行。在英杰传的系统中,总共有12类指令触发方式。这12类指令触发方式和相应的组索引在下面分类介绍,其中每一类中的YY表示子段号。
     (1) 00 自动执行指令
            根据剧情的发展自动触发执行。
               格式为 00 YY 00 00 00 00 00 00 XX XX
             XX XX 如上所述,是该组指令的段偏移,后面不再冗叙。
     (2) 01 分支执行指令
            出现剧情分支时触发。例如:选择走广川或新都,选择“那不是关羽”或其他
                格式为 01 YY 00 00 00 00 00 00 XX XX
            根据选项不同执行不同的指令,如果选第一项,执行后边紧接着的第一组指令,选第二项执行第二组指令,依此类推
     (3) 02 城市建筑触发指令
            进入城市建筑时触发。
            例如:第一章开始时进入平原议事厅遇到简雍;或是信都之战后由大地图进入信都城,直接进入信都议事厅。
                格式为 02 YY SA SB SC SD 00 00 XX XX
             SB SD 的功能待分析
             SA 建筑代码,请参见指令09中YY=20处的场景代码
             SC 城市代码(根据大地图决定)
                  河北       00 平原 01 邺 02 白马 05 邺 09 北平 0B 徐州 0C 古城 0E 许昌 11 下邳 12 信都
                  荆州北部 00 南阳 02 江陵 03 襄阳 04 新野 06 隆中 07 江夏 09 江夏
                  荆州南部 00 襄阳 02 江陵 06 长沙 07 江夏 0B 耒阳
                  益州       02 江陵 03 襄阳 0A 成都
      (4) 03 对话指令
            剧情模式中对话时触发。
                格式为 03 YY SA SA 00 00 00 00 XX XX
             SA 是人物代码
      (5) 04 单挑指令
             武将单挑时触发
                 格式为 04 YY SA SA SB SB 00 00 XX XX
             SA 是发起单挑者人物代码 SB是被单挑者人物代码
      (6) 05 进入城市指令
            从大地图进入城市时触发。
            例如:第二章新野之战时,刘备回到新野城遇到徐庶。
            说明:05指的是回到城市界面,如果从大地图进入城市直接进入建筑的,用02触发。
                 格式为 05 YY SA 00 00 00 00 00 XX XX
            SA 为城市代码
      (7) 06 战场地点指令
            在战斗中,部队移动到某个特定地点时触发。
            例如:第一章巨鹿之战时刘备移动到鹿寨
            说明:此处要和后面的0B区分开。06是单地点触发,0B是区域触发
                 格式为 06 YY SA SA SB SC 00 00 XX XX
            SA 是触发事件的人物代码,如果小于0200则说明需要该指定人物才能触发, 0400表示所有人都可以触发
            SB SC 是地点的横纵坐标
      (8) 07 战斗胜利指令
            当战斗胜利时自动触发
                 格式为 07 YY 00 00 00 00 00 00 XX XX
      (9) 08 战斗失败指令
            当战斗失败时自动触发
            说明:一般战斗失败时游戏自动结束,只有像麦、夷陵、陈仓、长安之战失败时才会触发剧情
                 格式为 08 YY 00 00 00 00 00 00 XX XX
      (10) 09 回合触发指令
            当回合数达到某个回合时触发
                  格式为 09 YY SA 00 00 00 00 00 XX XX
            SA 为回合数
      (11) 0B 战场区域指令
            在战斗中,当部队移动到某个特定区域中触发。
            例如:第一章巨鹿之战时,刘备突破某个区域时张颌出击。
                   格式为 0B YY SA SA SB SC SD SE XX XX
             SA 是人物代码,指定触发事件的部队,0400表示所有人都能触发
             SB SC是区域左上角横纵坐标  SD SE是区域右下角横纵坐标
      (12) 0C 部队撤退处罚指令
            当战斗中,某支部队被歼灭后触发
            例如:第一章徐州攻防战中消灭车胄后残余敌军撤退,曹操出现。
                      或者第三章中庞统死于落凤坡
                   格式为 0C YY SA SA 00 00 00 00 XX XX
             SA SA为被消灭的敌军的人物代码

     每组指令由若干条指令构成。这些指令按照执行顺序排列,每条指令的长度都不一样。具体每条指令的功能是什么,请参见第3楼。

[ 本帖最后由 龙吟 于 2012-1-19 05:27 编辑 ]


附件: [未压缩剧本] SNR.rar (2011-9-24 07:57, 46.43 K)
该附件被下载次数 797


精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-9-24 04:56 资料 文集 短消息 只看该作者
四、剧本指令浅析(一)

【指令 00】
指令格式: 00 XX XX
显示带人物头像的系列对话
XX XX 对话文本在SNR?M.R3中相对于本节的偏移。

【指令 01】
指令格式: 01 XX XX YY ZZ WW
指定人物在剧情场景的行动
XX XX 人物代码 YY ZZ 行动目的横纵坐标 WW 人物朝向

【指令 02】
指令格式: 02 XX
保留未用

【指令 03】
格式: 03 XX TA TB TC TD TE TE TF TG TH TH + 子指令
部署我军部队
XX 是否可以撤退,00否 01是(用于连战:长阪II瓦口II长安邺II邺III)
TA 最大回合数
TB 是否继承上一关的回合数,仅当XX为01时有效,00继承01不继承
TC 待分析
TD 待分析
TE 敌军主将代码 FFFF 表示无主将 0000表示缺省第一个敌将 ( 怀疑未用)
TF 待分析
TG 待分析
TH 我军主将代码 (麦为关羽,成仓长安为庞统或赵云)

子指令共 30组,每组9个字节,格式为
SA SA SB SC SD SE SF SG SH
SA SA 人物代码 0400 为自选部队
SB SC 部队坐标
SD 固定为01
SE 根据事件决定是否出场 00 正常 01 根据SF指定的事件是否出发决定人物是否出场
SF 事件代码
SG 人物朝向 01 向右 03向左
SH 是否伏兵 00 否 01 是

感谢:阿尔法孝直和godtype提供的分析

【指令 04】
指令格式: 04
空指令

【指令 05】
指令格式: 05
显示当前场景

【指令 06】
指令格式: 06
保留未用

【指令 07】
指令格式: 07 XX YY
显示图片
YY,XX是图片编号

【指令 08】
指令格式: 08 XX XX
在屏幕中央显示多行信息,例如:”东汉末年...“
XX XX 信息偏移量

【指令 09】
指令格式: 09 XX YY
指定战场/场景/大地图
YY 类型:
    YY=30 战场: XX 指示战场编号
         XX=00 汜水关  01 虎牢关  02 广川  03 信都  04 巨鹿 05 清河 06 界桥 07 北海
               08 徐州 09 小沛 0A 泰山 0B 夏丘 0C 彭城 0D 淮南 0E 下邳 0F 广陵
               10 兖州 11 古城 12 颖川 13 汝南 14 江夏 15 南阳 16 博望坡 17 新野
               18 襄阳 19 长坂坡I 1A 长坂坡II 1B 江陵 1D 贵阳 1C 公安 1E 武陵 1F 零陵
               20 长沙 21 雒 22 成都 23 瓦口关I  24 瓦口关II 25 葭萌关I 26 葭萌关II 27 定军山
               28 天荡山 29 汉水 2A 阳平关 2B 西陵 2C 夷陵 2D 麦 2E 南郡 2F 新野II
               30 宛I 31 宛II 32 许昌I  33 许昌II 34 陈仓 35 长安 36 洛阳 37 邺I
               38 邺II 39 邺III
    YY=20 场所: XX 场所编号
         XX=00 宫殿
               01 宫殿
               02 议事厅
               03 议事厅
               04 议事厅
               05 议事厅
               06 集会所
               07 酒馆
               08 官邸
               09 集会所
               0A ?
               0B ?
               0C 庭院
               0D 官邸
               0E 营帐
               0F 营帐
               10 营帐
               11 陈留
               12 官邸
               13 ?
               14 茅庐
               15 草庐
               16 陶谦官邸
    YY=10 大地图
         XX 固定为00

【指令 0A】
指令格式: 0A XX XX YY ZZ WW
部署非战斗模式中的人物
XX XX 人物代码 YY ZZ 人物坐标 WW 人物朝向

【指令 0B】
指令格式: 0B XX XX
在画面中心显示信息,例如地名”陈留宫殿"
XX XX 信息偏移量

【指令 0C】
指令格式: 0C XX XX YY YY
保留未用

【指令 0D】
指令格式: 0D XX XX
在画面坐下角框中显示信息,例如”序章:群雄讨伐董卓“
XX XX 信息偏移量

【指令 0E】
指令格式: 0E XX XX
在画面中央显示信息,例如”序章:群雄讨伐董卓“
XX XX 信息偏移量

【指令 0F】
指令格式: 0F XX
重新读入本章本节某段剧本指令
XX 段号

[ 本帖最后由 龙吟 于 2012-1-19 05:03 编辑 ]
精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-9-24 04:57 资料 文集 短消息 只看该作者
五、剧本指令浅析(二)

【指令 10】
指令格式: 10 XX XX YY YY
武将单挑
XX XX 挑起方人物代码
YY YY 应战方人物代码

【指令 11】
指令格式: 11 XX YY
切换到地图/场景/战场
XX YY 的含义同指令09

【指令 12】
指令格式: 12
本章结束(章指的是:序章、第一至第四章)。

【指令 13】
指令格式: 13
段指令强制结束,读取下一段指令

【指令 14】
指令格式: 14 XX YY
设置事件开关
XX 事件代码
YY 开关代码: 00 事件已触发 01 事件未触发

【指令 15】
指令格式: 15 XX YY
是否出战的对话框显示
XX YY 待分析

【指令 16】
指令格式: 16 XX XX YY YY
保留未用

【指令 17】
指令格式: 17 XX
剧情模式开关
XX = 01 开剧情模式,鼠标无效,无法操作  = 00 关剧情模式,鼠标生效,可以操作

【指令 18】
指令格式: 18 XX XX
人物消失、部队撤退
XX XX 人物代码

【指令 1A】
指令格式: 1A XX XX
援军出现
XX XX 人物代码

【指令 1B】
指令格式: 1B XX
获得道具
XX 道具代码

【指令 1C】
指令格式: 1C XX XX YY SA SA
改变人物AI
XX XX 人物代码
YY 人物AI类型 00-07
   如果AI类型为 07,则不会有 SA 部分
   如果 AI 类型为 00 原地警戒(攻击范围内有敌人则出击) / 01 主动出击 / 02 原地待命(不移动)
       SA SA 没有意义
   如果 AI 类型为 03 主动攻击仇人 / 05 主动攻击敌人(特殊,只限于宛II关羽消灭曹仁)
       SA SA 仇人
   如果 AI 类型为 04 移动到指定坐标(到达前如果遇到敌人自动攻击) / 06 移动到指定坐标(到达前遇到敌人不攻击)
       目标的坐标

【指令 1D】
指令格式: 1D XX XX YY ZZ
功能未知
XX XX 人物代码
YY ZZ 待分析

【指令 1E】
指令格式: 1E
功能未知

【指令 1F】
指令格式: 1F
功能未知

[ 本帖最后由 龙吟 于 2012-1-19 05:35 编辑 ]
精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-9-24 04:57 资料 文集 短消息 只看该作者
六、剧本指令浅析(三)

【指令 20】
指令格式: 20 XX
XX为子指令数目,每条子指令1个字节。(如果XX>=0x80, XX=XX-0x80)
待分析

【指令 21】
指令格式: 21 XX YY SA ... SA YY SB ... SB
检查事件是否触发
XX 未通过检查时跳过的指令数
YY 已触发事件数目 (如果为0,没有SA部分)(如果不为0,则有若干SA部分,每个SA部分表示一个事件代码)。
YY 未触发事件数目 (如果为0,没有SB部分)(如果不为0,则有若干SB部分,每个SB部分表示一个事件代码)。
只有所有的已触发事件都触发了,而未触发事件都未触发,才会通过检查

【指令 22】
部署敌军
指令格式 22 XX 子指令
XX 固定为00
子指令共1EH组,每组13字节,格式为
SA SA SB SC SD SE SF SG SH SI SI SJ SK
SA SA 人物代码 人物代码不能重复 FFFF 本子指令无效
SB SC 坐标
SD 根据事件是否出场 00 正常 01 根据SE指示的事件是否触发决定出场,如果触发则不出场
SE 事件代码
SF 部队朝向
SG 伏兵标志
SH AI类型
SI SI AI目标
SJ 兵种
SK 等级


【指令 23】
指令格式: 23
选择我军出战部队

【指令 24】
指令格式: 24 XX XX YY
修改武将阵营
XX XX 武将代码
YY 武将阵营   如00=刘备军

【指令 25】
指令格式: 25 XX XX
显示战役选择画面:如”走广川,走信都”
XX XX 信息偏移

【指令 26】
指令格式: 26 XX YY ZZ
改变战场地形
XX YY 坐标 ZZ 地形

【指令 27】
指令格式: 27 XX YY ZZ
放火或放水
XX YY 坐标
ZZ 00 火 01 放水 02 取消放水

【指令 28】
指令格式: 28 XX XX YY
战场改变武将阵营
XX XX 武将代码
YY 阵营

【指令 29】
指令代码: 29
游戏失败,中途结束

【指令 2A】
指令代码: 2A XX
显示游戏结局
XX 结局代码: 00 正常结局 01 与吴国结盟结局 02 关羽死亡结局

【指令 2B】
指令格式: 2B XX YY YY
XX 代码 02 给予黄金 04 残存部队获得经验
YYYY 数量

【指令 2C】
指令格式: 2C
待分析

【指令 2D】
指令格式: 2D XX YY
兵力士气减半
XX 目标 00 我方部队 01 敌方部队
YY 00 士气都减半 01 兵力减半
感谢 godtype 指出谬误,已修正

【指令 2E】
指令格式: 2E XX XX YY ZZ WW
切换所在城市
XX XX 城市编号
YY ZZ WW 未用

【指令 2F】
指令格式: 2F XX XX YY
修改人物未知属性
XX XX 人物代码
YY 修改后的值
备注:每个人物属性有44字节,其中第36-43字节是宝物代码,第44字节是未知属性
龙吟强烈怀疑该属性在系统中没有用到。
如果有知道该属性含义的高手,请赐教。

[ 本帖最后由 龙吟 于 2012-1-19 05:46 编辑 ]
精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-9-24 07:53 资料 文集 短消息 只看该作者
七、剧本指令浅析(四)

【指令 30】
指令格式: 30 XX XX
显示目标(剧情目标或战斗目标)
XX XX 目标信息偏移量

【指令 31】
指令格式: 31
与道具屋有关,废弃指令,正式游戏未用。

【指令 32】
指令格式: 32 XX
设置道具屋贩卖物品,废弃指令,正式游戏未用。
XX为子指令数目,每条子指令1个字节。
子指令为道具代码

【指令 33】
指令格式: 33
关闭单挑动画

【指令 34】
指令格式: 34
开启单挑动画

【指令 35】
指令格式: 35 XX XX YY
单挑动画
XX XX 人物代码
YY 动画动作

【指令 36】
指令格式: 36
切换到战斗模式

【指令 37】
指令格式: 37 XX XX YY
保留未用
XX XX 人物代码
YY 待分析

【指令 38】
指令格式: 38 XX
播放游戏音乐
XX 音乐代码
感谢阿尔法孝直测试

【指令 39】
指令格式: 39 XX XX YY
人物等级上升
XX XX 人物代码
YY 上升等级数

【指令 3A】
指令格式: 3A XX XX YY
改变人物兵种
XX XX 人物代码
YY 人物兵种

【指令 3B】
指令格式: 3B XX YY
重新定位场景试图的位置(移动视图,显示场景的某一处)
XX YY 坐标

【指令 3C】
指令格式: 3C XX XX
定位军团
XX XX 人物代码
3C和3B是一对指令,每一个3B指令后必定跟一个3C指令

【指令 3D】
指令格式:3D XX
XX =00 一般存盘  =01 战场存盘

[ 本帖最后由 龙吟 于 2012-1-5 04:47 编辑 ]
精华帖
顶部
性别:未知-离线 郝伯道


Rank: 18Rank: 18Rank: 18
组别 白衣卿相
级别 大将军
好贴 2
功绩 291
帖子 27073
编号 71951
注册 2006-6-9


发表于 2011-9-24 08:45 资料 文集 短消息 只看该作者
顶一个
楼主04年分析过的吧
现在出续集,应该研究比较深了
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-9-24 10:54 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 龙吟 于 2011-9-24 04:57 发表
【指令 2D】
指令格式: 2D XX YY
兵力士气减半
XX 目标 00 我方部队 01 敌方部队
YY 00 兵力士气都减半 01 兵力减半

对于南阳(破阵后)或长沙(放水后)的敌军士气减半使用什么指令?

QUOTE:
【指令 27】
指令格式: 27 XX YY ZZ
放火或放水
XX YY 坐标
ZZ 00 火 01 02 水

若是某一格取消掉原来的放火/放水(例如长沙放水后立即消失)呢?

[ 本帖最后由 阿尔法孝直 于 2011-9-24 10:57 编辑 ]
精华帖
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2011-9-24 11:29 资料 个人空间 短消息 只看该作者


QUOTE:
原帖由 阿尔法孝直 于 2011-9-24 10:54 发表

若是某一格取消掉原来的放火/放水(例如长沙放水后立即消失)呢?

你自己也可以分析出来啊,看一看实际的剧本就知道了:01是水出现,02是水消失。
精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-9-24 11:31 资料 文集 短消息 只看该作者


QUOTE:
原帖由 阿尔法孝直 于 2011-9-24 10:54 发表


对于南阳(破阵后)或长沙(放水后)的敌军士气减半使用什么指令?



若是某一格取消掉原来的放火/放水(例如长沙放水后立即消失)呢?

关羽南阳和长沙敌军士气减半,似乎不是通过指令完成的。指令会将某个事件的标志置为触发。我还没有分析到触发后的修改,应该是程序在指令集外改的。以后再给出分析结果吧。

指令27已经修改,00是放火,01是放水,02是取消放水。
精华帖
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2011-9-24 11:51 资料 个人空间 短消息 只看该作者
另外我认为2D的YY应该是: 00 当前士气减半 01 当前兵力减半
参考SNR2D.R3里面4430开始的2D 01 01 | 2D 01 01 | 2D 01 00 | 2D 01 00 | 2D 01 00,这段是博望坡的,兵力剩余量是1/4,士气是1/8,即每执行一次指令2D就当前士气/兵力减半。
精华帖
顶部
性别:未知-离线 TommyChampion


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 13
帖子 155
编号 300735
注册 2008-11-30


发表于 2011-9-24 16:35 资料 文集 短消息 只看该作者
有沒有解壓LS11的工具?
精华帖
顶部
性别:未知-离线 TommyChampion


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 13
帖子 155
编号 300735
注册 2008-11-30


发表于 2011-9-24 16:36 资料 文集 短消息 只看该作者
順便求LS12,可以解壓大航海。
精华帖
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2011-9-24 17:33 资料 个人空间 短消息 只看该作者


QUOTE:
原帖由 TommyChampion 于 2011-9-24 16:35 发表
有沒有解壓LS11的工具?

试用这个,我用这个可以解部分12的,包括曹操传和毛利元就的DATA,大航海就不清楚了。
http://www.xycq.net/forum/viewth ... &highlight=ls11
精华帖
顶部
性别:未知-离线 TommyChampion


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 13
帖子 155
编号 300735
注册 2008-11-30


发表于 2011-9-24 19:03 资料 文集 短消息 只看该作者


QUOTE:
原帖由 godtype 于 2011-9-24 17:33 发表

试用这个,我用这个可以解部分12的,包括曹操传和毛利元就的DATA,大航海就不清楚了。
http://www.xycq.net/forum/viewth ... &highlight=ls11

謝謝。其實LS12有個做大航海MOD的團體認識,他們能解。
精华帖
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2011-9-30 23:10 资料 个人空间 短消息 只看该作者


QUOTE:
【指令 03】
格式: 03 XX TA TB TC TD TE TE TF TG TH TH + 子指令
部署我军部对
XX,TA-TG待分析
子指令共 30组,每组9个字节,格式为
SA SA SB SC SD SE SF SG SH
SA SA 人物代码 0400 为自选部队
SB SC 部队坐标
SD-SH待分析

XX应该是是否可以撤退关卡,00是可以撤退,01是不可撤退(例如长阪2、邺2、3等)
TA、TB是最大回合数
TC、TD和TF、TG都是固定的00 01
TE、TE是敌军主将
TH、TH是我军主将,一般都是00刘备,麦是01关羽,陈仓分两个主将,一个是84庞统,是35赵云,而长安则只有一个84庞统
SG是人物朝向
SH是是否隐藏部队
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-10-1 09:47 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 godtype 于 2011-9-30 23:10 发表


XX应该是是否可以撤退关卡,00是可以撤退,01是不可撤退(例如长阪2、邺2、3等)
TA、TB是最大回合数
TC、TD和TF、TG都是固定的00 01
TE、TE是敌军主将
TH、TH是我军主将,一般都是00刘备,麦是01关羽, ...

最大回合数为什么需要两个字节呢?
精华帖
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2011-10-1 10:56 资料 个人空间 短消息 只看该作者
回复 #17 阿尔法孝直 的帖子

不知道,也有可能TB应该是固定00吧。等修改器里面加上回合功能再一起分析。

=========
实测了一下,是TA才是回合数,TB未知,可能是固定00。

[ 本帖最后由 godtype 于 2011-10-1 11:19 编辑 ]
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-11-8 11:41 资料 个人空间 短消息 只看该作者 QQ
发现孔明传的指令和英杰传基本一样。
就是孔明传的每条20指令后面都跟着BF 01 02 03 ...... 3D 3E 3F,不知道为什么。
38指令怀疑和剧本跳转有关。
0B和0E 貌似作用是一样的,查了孔明传的0B和0E的指令,发现代码完全一样。
顺便问一下,25指令是否根据选择结果自动跳到对应段上,还是后面紧跟着检测指令判断选择结果?

[ 本帖最后由 阿尔法孝直 于 2011-11-8 12:02 编辑 ]
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-11-10 01:24 资料 个人空间 短消息 只看该作者 QQ
刚刚测试了一下,38应该是变更游戏音乐,格式是

38 音乐编号
精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-11-10 06:11 资料 文集 短消息 只看该作者
回复 #19 阿尔法孝直 的帖子

25 指令应该是根据选择结果自动读取对应段指令
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-11-10 22:50 资料 个人空间 短消息 只看该作者 QQ
1、由于孔明传没有士气的概念,那么2D指令的“士气减半”就被取代为“随机混乱”
每支部队混乱的条件和其等级相关,即:

计算一个0~等级+等级/2-1的随机整数,如果小于等于等级/2,那么该部队混乱。

2、指令2F也难以判断。因为孔明传里面的2F也是修改一个未知属性。
3、由于1B(获得道具)指令的参数没有人物代码,那么赵云获得的卢或青釭剑用的是什么指令?
4、指令22是否也能用于部署友军?参数和部署敌军时有什么区别?
5、英杰传的SNR1M.R3的第0字节应该是全体信息偏移,但是第1至第9字节有什么作用?

[ 本帖最后由 阿尔法孝直 于 2011-11-11 02:41 编辑 ]
精华帖
顶部
性别:未知-离线 龙吟

白衣伯爵光禄大夫

Rank: 7Rank: 7Rank: 7Rank: 7
组别 白衣卿相
级别 忠义校尉
功绩 247
帖子 214
编号 3497
注册 2003-12-18


发表于 2011-11-11 02:21 资料 文集 短消息 只看该作者


QUOTE:
原帖由 阿尔法孝直 于 2011-11-10 22:50 发表
1、由于孔明传没有士气的概念,那么2D指令的“士气减半”就被取代为“随机混乱”
每支部队混乱的条件和其等级相关,即:

计算一个0~等级+等级/2-1的随机整数,如果小于等于等级/2,那么该部队混乱。

2、 ...

2. 个人认为该属性没有什么用处,怀疑该指令最初在设计时有用,但后来废弃了该属性,但没有在指令文件中清理干净。

3. 该指令不指定人物,如果在宝物库中,则交给打开宝物库的人,如果在单挑中,则交给单挑的胜利者,如果在剧情中,则交给刘备。

4. 指令22只用于部署敌军,友军通过指令03部署。可以参见剧本excel文件的序章第193-194行部署公孙瓒和陶谦的指令。

5. 每章剧本分为若干节,例如第1章分为5节,所以在snr1m.r3中,第1-2字节是第一节的起始偏移,第3-4字节是第二节的,以此类推。
   当剧本指令需要引用文本时,剧本指令给出一个相对偏移X,然后找到本节的起始偏移Y,文本的剧本内容就从X+Y开始
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-11-11 02:41 资料 个人空间 短消息 只看该作者 QQ
【指令 1C】
指令格式: 1C XX XX YY SA SA
改变人物AI
XX XX 人物代码
YY 人物AI类型 00-07
   如果AI类型为 07,则不会有 SA 部分
   如果 AI 类型为 00/01/02
       SA SA 没有意义
   如果 AI 类型为 03/05
       SA SA 仇人
   如果 AI 类型为 04/06
       待分析

如果 AI 类型为 04/06,那么SA SA是目标横纵坐标。
但是05/06应该不带攻击性,即无攻击移动。
关于这点我本人无法确定,因为还没找到设置AI攻击性的代码,只是照搬别人的帖:http://www.xycq.net/forum/thread-210344-1-1.html

QUOTE:
00:防守模式。如果移动范围+攻击范围内有我军就出击,否则不动。
01:攻击模式。如果移动范围+攻击范围内有我军就出击,否则向我军最近的目标移动。
02:坚守模式。不会移动,如果攻击范围内有我军就攻击。很多关敌军主将的AI。
03:追击模式。如果移动范围+攻击范围内有我军就出击,否则向指定的我军目标移动。后两个字节是追击的目标武将ID。比如说麦城之战追击关羽
04:行军模式。如果移动范围+攻击范围内有我军就出击,否则就向指定坐标移动,到达目标后切换为防守模式。后两个字节是目的地的坐标。敌军攻打我方城池采用的AI。
05:追随模式。如果移动范围+攻击范围内有我军就出击,否则向目标的坐标移动。后两个字节是跟随目标武将的ID。比如赤壁之战II中,曹军将领的AI
06:逃跑模式。不会主动攻击,只会朝指定目的地移动,如果没有路径可以通向目的地则原地发呆。后两个字节是逃跑的目的地坐标。比如说赤壁之战II的曹操。

[ 本帖最后由 阿尔法孝直 于 2011-11-11 02:53 编辑 ]
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-11-12 01:55 资料 个人空间 短消息 只看该作者 QQ
每组指令最后都以FF结束整个组指令集。
分支触发的组指令集应该都是25 XX XX,然后根据选项读取接下来的组指令集
第1个选项就进入下1组自动触发的指令集
第n个选项就进入下n组自动触发的指令集

[ 本帖最后由 阿尔法孝直 于 2011-11-12 02:04 编辑 ]
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-11-12 23:34 资料 个人空间 短消息 只看该作者 QQ
随意猜测:
1、指令1D可能是强行移动,比如虎牢关的吕布,长沙的魏延。

2、指令21的参数XX可能是检测不通过时跳过的的指令个数。假如通过了检测,则执行这XX个指令。

3、如果指令15的参数XX为1,则当选择出战时执行接下来的YY个指令,选择不出战则跳过这YY个指令。
如果XX为0,则当选择不出战时执行接下来的YY个指令,选择出战则跳过这YY个指令。

顺便问一下,哪里可以读取到每一战的战场宽度、高度?

[ 本帖最后由 阿尔法孝直 于 2011-11-15 01:45 编辑 ]
精华帖
顶部
性别:未知-离线 put

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 18
编号 447412
注册 2011-10-18


发表于 2011-11-24 17:54 资料 短消息 只看该作者
强烈支持!要是有天地劫的剧本解析就好了。
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2011-12-4 05:48 资料 个人空间 短消息 只看该作者 QQ
猜测,指令20可能是在非剧情模式(可以使用鼠标)的情况下指定可以去的城市代码。
精华帖
顶部
性别:未知-离线 宝马银枪

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 144
编号 424484
注册 2011-5-13


发表于 2012-9-13 11:22 资料 短消息 只看该作者
学习了,谢谢楼主解释。
精华帖
顶部
性别:男-离线 神雕小侠

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 忠义校尉
功绩 2
帖子 225
编号 44352
注册 2005-7-27


发表于 2024-7-11 21:34 资料 短消息 只看该作者


QUOTE:
原帖由 龙吟 于 2011-9-24 04:57 发表
【指令 2F】
指令格式: 2F XX XX YY
修改人物未知属性
XX XX 人物代码
YY 修改后的值
备注:每个人物属性有44字节,其中第36-43字节是宝物代码,第44字节是未知属性
龙吟强烈怀疑该属性在系统中没有用到。
如果有知道该属性含义的高手,请赐教。

经过这几天用刘备修改实测,发现了这个未知属性的作用,应该是人物是在大地图中的图片形态,有意义的属性为2-7,具体图片如下:

另外我测试了0、1、8、9、10,都是一些场景的碎片,无实际意义,其他数字就没有测试了,有兴趣的兄弟可以试试

[ 本帖最后由 神雕小侠 于 2024-7-12 00:18 编辑 ]


图片附件: [2:刘备非部队形态] 02.png (2024-7-11 21:34, 105.59 K)



图片附件: [3:刘备部队形态] 03.png (2024-7-11 21:34, 105.4 K)



图片附件: [4:我军] 04.png (2024-7-11 21:34, 105.38 K)



图片附件: [5:友军] 05.png (2024-7-11 21:34, 104.25 K)



图片附件: [6:敌军] 06.png (2024-7-11 21:34, 104.21 K)



图片附件: [7:贼兵] 07.png (2024-7-11 21:34, 104.17 K)



精华帖
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-9-16 18:45
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.022398 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP