轩辕春秋文化论坛 » 曹操传MOD制作交流 » 只有0号武将强制出场但又要隐藏一名其他武将的修正代码


2011-1-19 23:13 godtype
只有0号武将强制出场但又要隐藏一名其他武将的修正代码

使用连续三条4A指令的引擎,如果因为剧情需要而只设置0号武将一人强制出场,不能直接设置成:
[quote]4a:我军出场强制设定 1 无 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 1 无 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 1 无 无 无 无 无 无 无 无 无 无[/quote]
必须再增加一个武将出场,即设置为:
[quote]4a:我军出场强制设定 2 1:*** 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 2 无 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 2 无 无 无 无 无 无 无 无 无 无[/quote]
而这个另外出场的武将是要设置为永远隐藏的。

这样子非常不适合完美的制作,更多的是不少童鞋将发布的公用引擎直接套用在原版曹操传来玩。所以还是应该修复一下。

以下代码是STAR引擎的修正代码,载止目前的全版本适用:
0041857B     EB 03          JMP SHORT 00418580
0041857D     FE45 F4        INC BYTE PTR SS:[EBP-C]
00418580     A0 DC0F5000    MOV AL,BYTE PTR DS:[500FDC]
00418585  |> 8B4D F4        MOV ECX,DWORD PTR SS:[EBP-C]
00418588  |. 81E1 FF000000  AND ECX,0FF
0041858E     3AC8           CMP CL,AL
00418590     90             NOP

004185AD     8A0D DC0F5000  MOV CL,BYTE PTR DS:[500FDC]
004185B3     3AC1           CMP AL,CL

如果是我改的引擎,就将500FDC改成4AC17C就可以了,地址一样。

[color=Red]以上代码修改,仅测试了只有0号武将出场的情况,未知对其他出场情况是否有影响,例如5人以内的强制出场与不出场、5-10人、10-15。有时间有能力的可以详细测试一下。[/color]

[color=Silver][[i] 本帖最后由 godtype 于 2011-1-20 08:53 编辑 [/i]][/color]

2011-1-19 23:26 狂赵云
:hz1020:毅大深夜发表修正贴!
这些细活总是LZ来做!
太感谢你了

2011-1-20 00:10 summer3965
支持阿毅~:^%
這樣寫劇本稍微方便一點

2011-1-20 08:50 godtype
昨晚太夜了,漏了一些说明。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.