太阁立志传5两个编写问题,请高手指点!

难呀!剧情这方面,你到游侠网的太阁版块找那群疯子去!太恐怖了!太无耻了!太下流了!那技术!疯子呀!

我只能给你说这些了!自己给分吧!

前天从网上下了那个日本人做的千阶堂太阁五补全计划, 利用这个软件可以实现小游戏等等的功能. 但是我怎么试都不成功, 大概是因为日语操作系统的不同而导致的文件读取功能有差异吧, 本机上的EVM文件, 用那个软件怎么都读不进去.

然而我却从这个软件的说明中得到了启发, 经过试验, 终于发现了给剧本加入小游戏的办法.

首先是EVM文件的结构, EVM文件中的一句话通常是这样构成的:

命令代码+参数值1+参数值2+...

例如自语的指令:

ひとりごと:[[自言自语内容]]//12

它在EVM文件中表示为

12 00 00 00 (后面是"自言自语内容"这个中文字符串的BIG5码)

再例如代入的命令代码为0B

那么代入a:(1)语句在EVM文件中表示为

0B 86 17 00 80 00 00 00

其它的还有个人战斗的45, 军团指令的4E等等.

那么小游戏命令也必然有一个代码; 通过反复的实验, 本人发现这个代码是46.

具体的格式为:

46 03 10 50

占四个字节. 其中第二个字节表示游戏编号, 03为木材组合; 三字节表示监修人物编号, 10是十进制的16, 对应的人物为浅井长政; 四字节表示游戏的难度, 这里设置为5.

另外, 执行了这条语句也就是说完成小游戏之后, 会给系统内部属性值 <参考値>自动代入一个数据, 这个数据就是小游戏的结果, 用户可以根据参考值的不同, 执行不同的指令.

举个例子: 有如下源代码:(注意!)

太合立志伝5イベントソース

//此脚本说明

チャプター:{//脚本开始

イベント:jinbutsu2{//jinbutsu2 开始

属性:一度だけ

発生契机:ゲームスタート时

発生条件:{

代入参考値:(0)

}//条件结束

スクリプト:{ //执行开始

武将死亡:(青山忠成)

调査:(参考値)>=(1)

分岐:(真){

会话:(忍者,主人公)[[很好,为了奖励你,就给你这个。]]

SEスタート:(成功音)

スチル表示:(カード,苦无天下一,无効,无効,フェード)

更新:(カード::苦无天下一.所持フラグ)(1)

}

}//执行结束

}//jinbutsu2 结束

}//脚本结束 (完成)

编译之后得到了EVM文件用16进制编辑器打开:(抱歉不知道怎么复制那些16进制代码);

[attach]1792886[/attach]

从中找到30 00 00 00, 这句话表示让青山忠成死亡, 把它改作46 03 10 50;

[attach]1792887[/attach]

然后直接编译EVM文件而不编译原文本文件, 得到了剧本文件, 放到指定目录下,

最后进入新游戏, 自己看看会出现什么样的结果?

现在已知的游戏编号:

ミニゲーム种类には、数値(3 とか12とか、0~13まで)、および以下の

「破壊工作」「水路建设」「金鉱探索」「木合わせ」「21の计」

「人物捜索」「茶器并べ」「薬剤调合」「军学上海」「鉄炮射的」

「弓术射的」「数穴埋め」「礼法九面」「马弓回避」

另外, 监修人物只占一个字节? 这是不可能的, 但是用两个字节又太多了, 于是最后一个数字用来辅助表示监修人物, 例如, 将上例中的50 改作51的话, 那么监修人物就不是10的线井长政, 而是110的另外一个人物.

附件为例子所编辑成的剧本.

本作尚未解决的问题:

1.应该还有个参数, 表示主人公是否在修业, 如果那个参数设为1, 则表示主人公修业, 而无视自己设置的难度; 但我现在还没找到.

2.小游戏也不是很全, 赌博的小游戏在哪里?

3.难度还是有点问题,50的难度玩人物搜索却是4*4的格子, 却不知道5*5应该设成什么?

希望大家能够***同探讨一下. 恳请大家指正.

我的QQ:249476488

E-mail:nklinan@163.com

题外补充: 3E 00 00 00命令出来的是个战教学, 肯定还有合战和攻城战教学的命令, 不过对于写剧本没什么用, 就不研究它了.

另外这些也有可能是隐藏命令, 欢迎大家继续研究:

20 26 2B 2C 40 41 42 43 44 47 48 4A 4B 4C 4D 4F 52 53 54 55 56.

已知值最大的命令是:

御用商人になる:(主人公商家,主人公大名家)//58

值是58.

3D是据点改名, 已在下个帖子中说明了.