标题: 关于在战场中使用75特殊形象指定后实时改变形象的代码 [打印本页]
作者:
godtype 时间: 2010-4-13 12:49 标题: 关于在战场中使用75特殊形象指定后实时改变形象的代码
有很多人反映在战场中使用了75:S特殊形象指定 后,不能实时显示出新的形象,特此研究了一下,并发一下修正后的代码。
以我的引擎4.0系列为准,其他引擎请参考之。
将
00405C08 |. B8 01000000 MOV EAX,1
改成
00405C08 |. E8 44B00000 CALL 00410C51
这里写入新代码:
00410C51 /$ 55 PUSH EBP
00410C52 |. 8BEC MOV EBP,ESP
00410C54 |. 52 PUSH EDX
00410C55 |. E8 7CD80200 CALL 0043E4D6
00410C5A |. 83C4 04 ADD ESP,4
00410C5D |. 3C FF CMP AL,0FF
00410C5F |. 74 0C JE SHORT 00410C6D
00410C61 |. 8AC8 MOV CL,AL
00410C63 |. E8 7E50FFFF CALL 00405CE6
00410C68 |. E8 BFF10200 CALL 0043FE2C
00410C6D |> B8 01000000 MOV EAX,1
00410C72 |. 8BE5 MOV ESP,EBP
00410C74 |. 5D POP EBP
00410C75 \. C3 RETN
这样改就可以了。
附上S5.6引擎的75指令的代码
0043E164 /. 55 PUSH EBP
0043E165 |. 8BEC MOV EBP,ESP
0043E167 |. 6A 02 PUSH 2
0043E169 |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0043E16C |. E8 86A2FDFF CALL Ekd5_56.004183F7
0043E171 |. 0FB7C0 MOVZX EAX,AX
0043E174 |. 50 PUSH EAX
0043E175 |. 6A 50 PUSH 50
0043E177 |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0043E17A |. E8 78A2FDFF CALL Ekd5_56.004183F7
0043E17F |. 0FB7C0 MOVZX EAX,AX
0043E182 |. 5A POP EDX
0043E183 90 NOP
0043E184 |. 90 NOP
0043E185 |. 8882 00105000 MOV BYTE PTR DS:[EDX+501000],AL
0043E18B |. 90 NOP
0043E18C |. 33C0 XOR EAX,EAX
0043E18E |. B0 01 MOV AL,1
0043E190 |. 8BE5 MOV ESP,EBP
0043E192 |. 5D POP EBP
0043E193 \. C3 RETN
附上岱瀛版新引擎的75指令的代码
004D100D 55 PUSH EBP
004D100E 8BEC MOV EBP,ESP
004D1010 83EC 08 SUB ESP,8
004D1013 6A 02 PUSH 2
004D1015 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
004D1018 E8 DA73F4FF CALL 35SLG.004183F7
004D101D 25 FFFF0000 AND EAX,0FFFF
004D1022 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004D1025 6A 50 PUSH 50
004D1027 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
004D102A E8 C873F4FF CALL 35SLG.004183F7
004D102F 25 FFFF0000 AND EAX,0FFFF
004D1034 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
004D1037 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
004D103A 8882 00A05500 MOV BYTE PTR DS:[EDX+55A000],AL
004D1040 B8 01000000 MOV EAX,1
004D1045 8BE5 MOV ESP,EBP
004D1047 5D POP EBP
004D1048 C3 RETN
谢绝转载!
[ 本帖最后由 godtype 于 2010-12-12 22:50 编辑 ]
作者:
q19961121 时间: 2012-1-30 14:06
将
00405C08 |. B8 01000000 MOV EAX,1
改成
00405C08 |. E8 44B00000 CALL 00410C51
这是毅哥4.0的地址
请问star5.7要在哪里改成call 0043E164
作者:
godtype 时间: 2012-1-30 16:06
5.7及以后已经自带本帖功能,你有实际用过引擎就知道啦。
作者:
q19961121 时间: 2012-1-30 18:51 标题: 回复 #3 godtype 的帖子
原来自带了。。。。
谢谢毅哥。。。
作者:
godtype 时间: 2012-1-30 18:54
原帖由 q19961121 于 2012-1-30 18:51 发表
原来自带了。。。。
谢谢毅哥。。。
错了,应该多谢STAR,不用你们自己改。
作者:
灬棉崽灬 时间: 2012-1-30 21:08 标题: 回复 #3 godtype 的帖子
在绘图前用这个指令应该没问题<br />
我记得如果在绘图后用这个指令的话必须得重新读档才OK
毅大我问个问题,就是如果旧引擎也这样改的话是不是也可以用这个指令?
[ 本帖最后由 灬棉崽灬 于 2012-1-30 21:15 编辑 ]
作者:
灬棉崽灬 时间: 2012-1-30 21:17
004014E3 E8 7CCC0300 CALL Ekd5.0043E164
毅大这是我找到的5.6的地址,对吗?
作者:
godtype 时间: 2012-1-30 21:17 标题: 回复 #6 灬棉崽灬 的帖子
引擎支持指令75才可以。
作者:
小兵1234 时间: 2012-5-9 08:36 标题: 回复 #6 灬棉崽灬 的帖子
我好像也是這樣記得的。
記得好像是在該關R劇本先用該指令了。
那到S劇本時,就沒問題了。
如之前張遼一直是敵人,呂布被處死後,投靠曹操。
我從那時R劇本時,讓他由256形象的藍色張遼化成257紅色張遼(感謝周瑜大的形象增刪器),下一關它確實是以我軍顏色出現的。
只是我懶地打完該關,看它是否是永久改變(那時還沒有阿斌大的通用調適器)。
作者:
小兵1234 时间: 2012-5-9 08:38 标题: 回复 #1 godtype 的帖子
順道一提,毅神5.0最終板也有這功能了。
欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) |
Powered by Discuz! 5.0.0 |