Board logo

标题: 只有0号武将强制出场但又要隐藏一名其他武将的修正代码 [打印本页]

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

使用连续三条4A指令的引擎,如果因为剧情需要而只设置0号武将一人强制出场,不能直接设置成:

QUOTE:
4a:我军出场强制设定 1 无 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 1 无 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 1 无 无 无 无 无 无 无 无 无 无

必须再增加一个武将出场,即设置为:

QUOTE:
4a:我军出场强制设定 2 1:*** 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 2 无 无 无 无 无 无 无 无 无 无
4a:我军出场强制设定 2 无 无 无 无 无 无 无 无 无 无

而这个另外出场的武将是要设置为永远隐藏的。

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

以下代码是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就可以了,地址一样。

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

[ 本帖最后由 godtype 于 2011-1-20 08:53 编辑 ]
作者: 狂赵云    时间: 2011-1-19 23:26

毅大深夜发表修正贴!
这些细活总是LZ来做!
太感谢你了
作者: summer3965    时间: 2011-1-20 00:10

支持阿毅~
這樣寫劇本稍微方便一點
作者: godtype    时间: 2011-1-20 08:50

昨晚太夜了,漏了一些说明。




欢迎光临 轩辕春秋文化论坛 (http://www.xycq.org.cn/forum/) Powered by Discuz! 5.0.0