标题: 四类策略可使用的地形修改,可恢复地形的修改 [打印本页]
作者:
godtype 时间: 2008-6-1 17:19 标题: 四类策略可使用的地形修改,可恢复地形的修改
本人喜欢修改一些较偏门的内容,所以研究了一下四类策略可用的地形,例如在荒地用火类水类策略等。我找过很多教程都没有相关内容(不排除我看漏了),刚好最近找到了位置,所以帖出来,并请各位指教一下。
以下地址均为UE地址,方便不懂汇编的朋友看,适用于CCZ旧引擎、新引擎(岱瀛版和Star175版),其他MOD不清楚。
各类地形编号:
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水池 1a火 1b船 1c祭坛 1d地下
火类:
从1fefe开始的25个字节,对应地形是从平原到宝物库,取值范围是00-03可用,04不可用。
[attach]61791[/attach]
风类:
从1ff8a开始的14个字节,对应地形是从平原到大河,取值范围是00-03可用,04不可用。
[attach]61793[/attach]
水类:
与火和风不同,只有三个地方可以改,
1ff24(原值07雪原)1ff2a(原值0A沼泽),以及1ff30(原值0D大河),意思是水类策略可以在从07雪原到0a沼泽之间的地形和0d大河使用。
[attach]61792[/attach]
地类:
与水一样,但只有两个地方可以改,
1ffa5(原值03荒地)和1ffab(原值04山地),意思是地类策略可以在从03荒地到04山地之间的地形使用。
[attach]61794[/attach]
==============================================
可恢复地形-显示是否可恢复地形:
参考周大的《曹操传exe部分函数功能》http://www.xycq.net/forum/viewth ... p%3Bfilter%3Ddigest之后,才发觉是自己平时少翻旧帖,有很多东西一早已经有诸位大大找出来了,自己还傻呼呼地乱查找,真惭愧!
00435182 /$ 55 PUSH EBP
00435183 |. 8BEC MOV EBP,ESP
00435185 |. 83EC 08 SUB ESP,8
00435188 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0043518B |. 25 FF000000 AND EAX,0FF
00435190 |. 83F8 12 CMP EAX,12 ---比较是否12城池
00435193 |. 7C 17 JL SHORT 004351AC
00435195 |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
00435198 |. 81E1 FF000000 AND ECX,0FF
0043519E |. 83F9 16 CMP ECX,16 ---比较是否16兵营
004351A1 |. 7F 09 JG SHORT 004351AC
004351A3 |. C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1 ---是12-16之间的地形,则属于可恢复地形
004351AA |. EB 07 JMP SHORT 004351B3
004351AC |> C745 F8 00000000 MOV DWORD PTR SS:[EBP-8],0
004351B3 |> 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
004351B6 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
004351B9 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004351BC |. 8BE5 MOV ESP,EBP
004351BE |. 5D POP EBP
004351BF \. C3 RETN
可恢复地形-具体恢复量
0043D0C1 /$ 55 PUSH EBP
0043D0C2 |. 8BEC MOV EBP,ESP
0043D0C4 |. 51 PUSH ECX
0043D0C5 |. 33C0 XOR EAX,EAX
0043D0C7 |. 8A45 08 MOV AL,BYTE PTR SS:[EBP+8]
0043D0CA |. 83E8 12 SUB EAX,12 ; Switch (cases 12..16)
0043D0CD |. 83F8 04 CMP EAX,4
0043D0D0 |. 77 1C JA SHORT 0043D0EE
0043D0D2 |. FF2485 F4D04300 JMP DWORD PTR DS:[EAX*4+43D0F4]
0043D0D9 |> B8 19000000 MOV EAX,19 ; Case 12 of switch 0043D0CA ---12城池恢复25%
0043D0DE |. EB 10 JMP SHORT 0043D0F0
0043D0E0 |> B8 14000000 MOV EAX,14 ; Cases 13,14,16 of switch 0043D0CA ---13关隘14鹿砦16兵营恢复20%
0043D0E5 |. EB 09 JMP SHORT 0043D0F0
0043D0E7 |> B8 0F000000 MOV EAX,0F ; Case 15 of switch 0043D0CA ---15村庄恢复15%
0043D0EC |. EB 02 JMP SHORT 0043D0F0
0043D0EE |> 33C0 XOR EAX,EAX ; Default case of switch 0043D0CA
0043D0F0 |> 8BE5 MOV ESP,EBP
0043D0F2 |. 5D POP EBP
0043D0F3 \. C3 RETN
0043D0F4 . D9D04300 DD 0043D0D9 ; Switch table used at 0043D0D2
0043D0F8 . E0D04300 DD 0043D0E0
0043D0FC . E0D04300 DD 0043D0E0
0043D100 . E7D04300 DD 0043D0E7
0043D104 . E0D04300 DD 0043D0E0
假如我将后面的民居和宝物库都改成可恢复地形,就改成以下内容:
0043519E |. 83F9 16 CMP ECX,18
0043D0CD . 83F8 06 CMP EAX,6
0043D0D0 . 77 1C JA SHORT Ekd5X.0043D0EE
0043D0D2 . 8A80 DAD04300 MOV AL,BYTE PTR DS:[EAX+43D0DA]
0043D0D8 . EB 16 JMP SHORT Ekd5X.0043D0F0
0043D0DA 1E DB 1E ---城池
0043D0DB 19 DB 19 ---关隘
0043D0DC 19 DB 19 ---鹿岩
0043D0DD 0F DB 0F ---村庄
0043D0DE 14 DB 14 ---兵营
0043D0DF . 0A DB 0A ---民居
0043D0E0 0F DB 0F ---宝物库
0043D0E1 . 90 NOP
0043D0E2 . 90 NOP
0043D0E3 . 90 NOP
0043D0E4 . 90 NOP
0043D0E5 . 90 NOP
0043D0E6 . 90 NOP
0043D0E7 . 90 NOP
0043D0E8 . 90 NOP
0043D0E9 . 90 NOP
0043D0EA . 90 NOP
0043D0EB . 90 NOP
0043D0EC . 90 NOP
0043D0ED . 90 NOP
UE位置是将前面的43****减去400C00,即可得到。
==============================================
显示“无法移动”的地形函数:
00455C3A /$ 55 PUSH EBP
00455C3B |. 8BEC MOV EBP,ESP
00455C3D |. 83EC 08 SUB ESP,8
00455C40 |. C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
00455C47 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00455C4A |. 25 FF000000 AND EAX,0FF
00455C4F |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
00455C52 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
00455C55 |. 83E9 05 SUB ECX,5 -----减去前面的5个地形(平原、草地、树林、荒地、山地)
00455C58 |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX
00455C5B |. 837D F8 18 CMP DWORD PTR SS:[EBP-8],18
00455C5F |. 77 19 JA SHORT 00455C7A
00455C61 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00455C64 |. 33D2 XOR EDX,EDX
00455C66 |. 8A90 995C4500 MOV DL,BYTE PTR DS:[EAX+455C99]
00455C6C |. FF2495 815C4500 JMP DWORD PTR DS:[EDX*4+455C81]
00455C73 |> C745 FC 01000000 MOV DWORD PTR SS:[EBP-4],1
00455C7A |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00455C7D |. 8BE5 MOV ESP,EBP
00455C7F |. 5D POP EBP
00455C80 \. C3 RETN
00455C81 . 735C4500 DD 00455C73 ; Switch table used at 00455C6C
00455C85 . 735C4500 DD 00455C73
00455C89 . 735C4500 DD 00455C73
00455C8D . 735C4500 DD 00455C73
00455C91 . 735C4500 DD 00455C73
00455C95 . 7A5C4500 DD 00455C7A
00455C99 . 00 DB 00 ; Index table to switch 00455C81
(UE位置:55099,从这里开始是岩山到地下的设置,设置00-04是显示“无法移动”,05就不会出现“无法移动”的显示)
00455C9A . 00 DB 00
00455C9B . 05 DB 05
00455C9C . 05 DB 05
00455C9D . 05 DB 05
00455C9E . 05 DB 05
00455C9F . 01 DB 01
00455CA0 . 01 DB 01
00455CA1 . 05 DB 05
00455CA2 . 02 DB 02
00455CA3 . 02 DB 02
00455CA4 . 05 DB 05
00455CA5 . 03 DB 03
00455CA6 . 05 DB 05
00455CA7 . 05 DB 05
00455CA8 . 05 DB 05
00455CA9 . 05 DB 05
00455CAA . 05 DB 05
00455CAB . 05 DB 05
00455CAC . 05 DB 05
00455CAD . 04 DB 04
00455CAE . 04 DB 04
00455CAF . 04 DB 04
00455CB0 . 04 DB 04
00455CB1 . 04 DB 04
例子(这个障碍就是原CCZ的祭坛):
[attach]70564[/attach]
[ 本帖最后由 godtype 于 2009-10-23 16:51 编辑 ]
图片附件:
F.JPG (2008-6-1 17:19, 10.64 K) / 该附件被下载次数 247
http://xycq.org.cn/forum/attachment.php?aid=61791
图片附件:
C.JPG (2008-6-1 17:19, 10 K) / 该附件被下载次数 262
http://xycq.org.cn/forum/attachment.php?aid=61792
图片附件:
S.JPG (2008-6-1 17:19, 9.79 K) / 该附件被下载次数 257
http://xycq.org.cn/forum/attachment.php?aid=61793
图片附件:
Y.JPG (2008-6-1 17:19, 9.16 K) / 该附件被下载次数 273
http://xycq.org.cn/forum/attachment.php?aid=61794
图片附件:
无法移动.gif (2009-1-18 09:56, 28.63 K) / 该附件被下载次数 226
http://xycq.org.cn/forum/attachment.php?aid=70564
作者:
hhccz 时间: 2008-6-1 17:27
支持你继续研究。
作者:
yanguodong 时间: 2008-6-1 17:42
已经有人发过这类的内容了,还是鼓励一下
作者:
godtype 时间: 2008-6-1 21:24 标题: 用在G3引擎里面的新改写方法
新火
00420AB6 /$ 55 PUSH EBP
00420AB7 |. 8BEC MOV EBP,ESP
00420AB9 |. 51 PUSH ECX
00420ABA |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00420ABD |. 8A80 D80A4200 MOV AL,BYTE PTR DS:[EAX+420AD8]
00420AC3 |. 33D2 XOR EDX,EDX
00420AC5 |. B1 02 MOV CL,2
00420AC7 |. F7F1 DIV ECX
00420AC9 |. 83FA 01 CMP EDX,1
00420ACC |. 75 04 JNZ SHORT 00420AD2
00420ACE |. B0 01 MOV AL,1
00420AD0 |. EB 02 JMP SHORT 00420AD4
00420AD2 |> 33C0 XOR EAX,EAX
00420AD4 |> 8BE5 MOV ESP,EBP
00420AD6 |. 5D POP EBP
00420AD7 \. C3 RETN
新水
00420B17 /$ 55 PUSH EBP
00420B18 |. 8BEC MOV EBP,ESP
00420B1A |. 51 PUSH ECX
00420B1B |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00420B1E |. 8A80 D80A4200 MOV AL,BYTE PTR DS:[EAX+420AD8]
00420B24 |. 33D2 XOR EDX,EDX
00420B26 |. B1 04 MOV CL,4
00420B28 |. F7F1 DIV ECX
00420B2A |. 83FA 02 CMP EDX,2
00420B2D |. 72 04 JB SHORT 00420B33
00420B2F |. B0 01 MOV AL,1
00420B31 |. EB 02 JMP SHORT 00420B35
00420B33 |> 33C0 XOR EAX,EAX
00420B35 |> 8BE5 MOV ESP,EBP
00420B37 |. 5D POP EBP
00420B38 \. C3 RETN
新风
00420B42 /$ 55 PUSH EBP
00420B43 |. 8BEC MOV EBP,ESP
00420B45 |. 51 PUSH ECX
00420B46 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00420B49 |. 8A80 D80A4200 MOV AL,BYTE PTR DS:[EAX+420AD8]
00420B4F |. 33D2 XOR EDX,EDX
00420B51 |. B1 08 MOV CL,8
00420B53 |. F7F1 DIV ECX
00420B55 |. 83FA 04 CMP EDX,4
00420B58 |. 72 04 JB SHORT 00420B5E
00420B5A |. B0 01 MOV AL,1
00420B5C |. EB 02 JMP SHORT 00420B60
00420B5E |> 33C0 XOR EAX,EAX
00420B60 |> 8BE5 MOV ESP,EBP
00420B62 |. 5D POP EBP
00420B63 \. C3 RETN
新地
00420B98 /$ 55 PUSH EBP
00420B99 |. 8BEC MOV EBP,ESP
00420B9B |. 51 PUSH ECX
00420B9C |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00420B9F |. 8A80 D80A4200 MOV AL,BYTE PTR DS:[EAX+420AD8]
00420BA5 |. 3C 08 CMP AL,8
00420BA7 |. 72 04 JB SHORT 00420BAD
00420BA9 |. B0 01 MOV AL,1
00420BAB |. EB 02 JMP SHORT 00420BAF
00420BAD |> 33C0 XOR EAX,EAX
00420BAF |> 8BE5 MOV ESP,EBP
00420BB1 |. 5D POP EBP
00420BB2 \. C3 RETN
00420AD8 07 DB 07
00420AD9 05 DB 05
00420ADA 01 DB 01
00420ADB 0D DB 0D
00420ADC 0C DB 0C
00420ADD 00 DB 00
00420ADE 00 DB 00
00420ADF 06 DB 06
00420AE0 07 DB 07
00420AE1 06 DB 06
00420AE2 06 DB 06
00420AE3 00 DB 00
00420AE4 00 DB 00
00420AE5 06 DB 06
00420AE6 00 DB 00
00420AE7 00 DB 00
00420AE8 01 DB 01
00420AE9 00 DB 00
00420AEA 01 DB 01
00420AEB 09 DB 09
00420AEC 09 DB 09
00420AED 01 DB 01
00420AEE 01 DB 01
00420AEF 01 DB 01
00420AF0 01 DB 01
00420AF1 00 DB 00
00420AF2 00 DB 00
00420AF3 00 DB 00
00420AF4 00 DB 00
00420AF5 00 DB 00
在420AD8开始的30个字节,可以同时设置四类策略,以叠加的形式来设置,基本设置为:01火类,02水类,04风类,08地类。而叠加的设置,例如03=01+02 即火类+水类可用,0F=01+02+04+08 即四类都可以用。
[ 本帖最后由 godtype 于 2009-10-23 16:49 编辑 ]
作者:
geming060 时间: 2008-6-1 22:05
没看过这帖,这是一定要支持的!
作者:
ethos1001 时间: 2008-7-21 12:23
好贴留名。
不知道楼主的研究进行的如何了?很是期待啊!
我倒有个偏门的问题,估计也有人研究过了,就是如何修改四神法术对应的天气条件和佩戴道具?能否增加装备限制类法术,比方说施放回归需要佩戴特定道具,或者把白虎改成单体/多体回归的效果?
作者:
godtype 时间: 2008-7-21 15:33
原帖由 ethos1001 于 2008-7-21 12:23 发表
我倒有个偏门的问题,估计也有人研究过了,就是如何修改四神法术对应的天气条件和佩戴道具?能否增加装备限制类法术,比方说施放回归需要佩戴特定道具,或者把白虎改成单体/多体回归的效果?
四神对应的代码:
0041FF87 |> 6A 32 PUSH 32 ; /Arg1 = 00000032
0041FF89 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8] ; |
0041FF8C |. E8 787AFEFF CALL 00407A09 ; \00407A09
0041FF91 |. 85C0 TEST EAX,EAX
0041FF93 |. 74 07 JE SHORT 0041FF9C
0041FF95 |. 6A 32 PUSH 32
0041FF97 |. E9 AF000000 JMP 0042004B
0041FF9C |> C645 F4 00 MOV BYTE PTR SS:[EBP-C],0
0041FFA0 |. EB 08 JMP SHORT 0041FFAA
0041FFA2 |> 8A45 F4 /MOV AL,BYTE PTR SS:[EBP-C]
0041FFA5 |. 04 01 |ADD AL,1
0041FFA7 |. 8845 F4 |MOV BYTE PTR SS:[EBP-C],AL
0041FFAA |> 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C]
0041FFAD |. 81E1 FF000000 |AND ECX,0FF
0041FFB3 |. 83F9 68 |CMP ECX,68
0041FFB6 |. 7D 45 |JGE SHORT 0041FFFD
0041FFB8 |. 8B4D F4 |MOV ECX,DWORD PTR SS:[EBP-C]
0041FFBB |. 81E1 FF000000 |AND ECX,0FF
0041FFC1 |. 6BC9 19 |IMUL ECX,ECX,19
0041FFC4 |. 81C1 40114A00 |ADD ECX,004A1140
0041FFCA |. E8 7195FEFF |CALL 00409540
0041FFCF |. 25 FF000000 |AND EAX,0FF
0041FFD4 |. 83F8 32 |CMP EAX,32
0041FFD7 |. 75 22 |JNZ SHORT 0041FFFB
0041FFD9 |. 8B4D F4 |MOV ECX,DWORD PTR SS:[EBP-C]
0041FFDC |. 81E1 FF000000 |AND ECX,0FF
0041FFE2 |. 6BC9 19 |IMUL ECX,ECX,19
0041FFE5 |. 81C1 40114A00 |ADD ECX,004A1140
0041FFEB |. E8 80DDFFFF |CALL 0041DD70
0041FFF0 |. 8B55 08 |MOV EDX,DWORD PTR SS:[EBP+8]
0041FFF3 |. 81E2 FF000000 |AND EDX,0FF
0041FFF9 |. EB 02 |JMP SHORT 0041FFFD
0041FFFB |>^EB A5 \JMP SHORT 0041FFA2
0041FFFD |> 837D 10 00 CMP DWORD PTR SS:[EBP+10],0
00420001 |. 74 3F JE SHORT 00420042
00420003 |. 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C]
00420006 |. 81E1 FF000000 AND ECX,0FF
0042000C |. 6BC9 19 IMUL ECX,ECX,19
0042000F |. 81C1 40114A00 ADD ECX,004A1140
00420015 |. E8 F6F60300 CALL 0045F710
0042001A |. 50 PUSH EAX
0042001B |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0042001E |. 81E1 FF000000 AND ECX,0FF
00420024 |. 6BC9 46 IMUL ECX,ECX,46
00420027 |. 81C1 C0F44A00 ADD ECX,004AF4C0
0042002D |. E8 DEF60300 CALL 0045F710
00420032 |. 50 PUSH EAX ; |Arg3
00420033 |. 68 A4B74800 PUSH 0048B7A4 ; |Arg2 = 0048B7A4
00420038 |. 6A 02 PUSH 2 ; |Arg1 = 00000002
0042003A |. E8 5AF60000 CALL 0042F699 ; \0042F699
0042003F |. 83C4 10 ADD ESP,10
00420042 |> C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
00420049 |. EB 6B JMP SHORT 004200B6
0042004B |> B9 083D4B00 MOV ECX,004B3D08
00420050 |. E8 7FA10200 CALL 0044A1D4
00420055 |. 25 FF000000 AND EAX,0FF
0042005A |. 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0042005D |. 81E2 FF000000 AND EDX,0FF
00420063 |. 83FA 40 CMP EDX,40
00420066 |. 75 12 JNZ SHORT 0042007A
00420068 |. 83F8 02 CMP EAX,2
0042006B |. 7D 49 JGE SHORT 004200B6
0042006D |. 837D 10 00 CMP DWORD PTR SS:[EBP+10],0
00420071 |. 74 3C JE SHORT 004200AF
00420073 |. 68 B4B74800 PUSH 0048B7B4
00420078 |. EB 2B JMP SHORT 004200A5
0042007A |> 83FA 41 CMP EDX,41
0042007D |. 75 11 JNZ SHORT 00420090
0042007F |. 85C0 TEST EAX,EAX
00420081 |. 74 33 JE SHORT 004200B6
00420083 |. 837D 10 00 CMP DWORD PTR SS:[EBP+10],0
00420087 |. 74 26 JE SHORT 004200AF
00420089 |. 68 DCB74800 PUSH 0048B7DC
0042008E |. EB 15 JMP SHORT 004200A5
00420090 |> 83FA 42 CMP EDX,42
00420093 |. 75 21 JNZ SHORT 004200B6
00420095 |. 83F8 01 CMP EAX,1
00420098 |. 74 1C JE SHORT 004200B6
0042009A |. 837D 10 00 CMP DWORD PTR SS:[EBP+10],0
0042009E |. 74 0F JE SHORT 004200AF
004200A0 |. 68 00B84800 PUSH 0048B800
004200A5 |> 6A 02 PUSH 2 ; |Arg1 = 00000002
004200A7 |. E8 EDF50000 CALL 0042F699 ; \0042F699
004200AC |. 83C4 08 ADD ESP,8
004200AF |> C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
004200B6 |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004200B9 |. 8BE5 MOV ESP,EBP
004200BB |. 5D POP EBP
004200BC \. C3 RETN
004200BD . 24FF4100 DD 0041FF24 ; Switch table used at 0041FF1D
004200C1 . 59FF4100 DD 0041FF59
004200C5 . 87FF4100 DD 0041FF87
004200C9 . 87FF4100 DD 0041FF87
004200CD . 87FF4100 DD 0041FF87
004200D1 . 87FF4100 DD 0041FF87
004200D5 . B6004200 DD 004200B6
以上的代码因为看得很头痛,所以一早已经放弃了。
作者:
ethos1001 时间: 2008-7-21 16:47
呵呵,其实这就是个锦上添花的事情,不改也不是大问题,兄台辛苦了。
作者:
godtype 时间: 2008-7-21 19:17
回归需要带装备才可使用的改法其实很简单,不过好像没人这样做,方法是:
1F817的06改成05,DATA中白虎宝玉的效果值设成57(十六进39)。
作者:
szwd1997 时间: 2009-1-17 22:58
根据这个贴我有个疑问 我的mod里有沙漠 我就把不用的地形改名
如地下,船这样的 怎么在这个地形显示可以移动
而且我按楼主的改法将火和风改到地下(即我的沙漠)还是不能进行丢法
请问是怎么回事
作者:
godtype 时间: 2009-1-17 23:05
原帖由 szwd1997 于 2009-1-17 22:58 发表
根据这个贴我有个疑问 我的mod里有沙漠 我就把不用的地形改名
如地下,船这样的 怎么在这个地形显示可以移动
而且我按楼主的改法将火和风改到地下(即我的沙漠)还是不能进行丢法
请问是怎么回事
可以使用火和风的地形的取值范围原本是去不到最后的地下吧,应该需要扩展一下的。等我明天再看一下怎样改吧,我现在要去睡了。
还有那个显示的问题我也明天再研究一下,我很少改地形的。
你用哪个引擎?
作者:
szwd1997 时间: 2009-1-17 23:07 标题: 回复 #11 godtype 的帖子
最新的 star的2号补丁
ps:我是用偷懒的方法 地下是最后一个 我改ue也是一眼扫到最后一个 没注意地下无效
[ 本帖最后由 szwd1997 于 2009-1-17 23:09 编辑 ]
作者:
godtype 时间: 2009-1-18 09:38
火类适用地形的扩展:
00420AB6 /$ 55 PUSH EBP
00420AB7 |. 8BEC MOV EBP,ESP
00420AB9 |. 51 PUSH ECX
00420ABA |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00420ABD |. 25 FF000000 AND EAX,0FF
00420AC2 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00420AC5 |. 837D FC 1D CMP DWORD PTR SS:[EBP-4],1D
00420AC9 |. 77 0D JA SHORT Ekd5-TT.00420AD8
00420ACB |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00420ACE |. 33C0 XOR EAX,EAX
00420AD0 |. 8A82 DE0A4200 MOV AL,BYTE PTR DS:[EDX+420ADE]
00420AD6 |. EB 02 JMP SHORT Ekd5-TT.00420ADA
00420AD8 |> 33C0 XOR EAX,EAX
00420ADA |> 8BE5 MOV ESP,EBP
00420ADC |. 5D POP EBP
00420ADD \. C3 RETN
00420ADE 01 DB 01
00420ADF 01 DB 01
00420AE0 01 DB 01
00420AE1 00 DB 00
00420AE2 00 DB 00
00420AE3 00 DB 00
00420AE4 00 DB 00
00420AE5 00 DB 00
00420AE6 01 DB 01
00420AE7 00 DB 00
00420AE8 00 DB 00
00420AE9 00 DB 00
00420AEA 00 DB 00
00420AEB 00 DB 00
00420AEC 00 DB 00
00420AED 00 DB 00
00420AEE 01 DB 01
00420AEF 00 DB 00
00420AF0 01 DB 01
00420AF1 01 DB 01
00420AF2 01 DB 01
00420AF3 01 DB 01
00420AF4 01 DB 01
00420AF5 01 DB 01
00420AF6 01 DB 01
00420AF7 00 DB 00
00420AF8 00 DB 00
00420AF9 00 DB 00
00420AFA 00 DB 00
00420AFB 00 DB 00
00420AFC 90 NOP
00420AFD 90 NOP
00420AFE 90 NOP
00420AFF 90 NOP
00420B00 90 NOP
00420B01 90 NOP
00420B02 90 NOP
00420B03 90 NOP
00420B04 90 NOP
00420B05 90 NOP
00420B06 90 NOP
00420B07 90 NOP
00420B08 90 NOP
00420B09 90 NOP
00420B0A 90 NOP
00420B0B 90 NOP
00420B0C 90 NOP
00420B0D 90 NOP
00420B0E 90 NOP
00420B0F 90 NOP
00420B10 90 NOP
00420B11 90 NOP
00420B12 90 NOP
00420B13 90 NOP
00420B14 90 NOP
00420B15 90 NOP
00420B16 90 NOP
风类地形的扩展:
00420B42 /$ 55 PUSH EBP
00420B43 |. 8BEC MOV EBP,ESP
00420B45 |. 51 PUSH ECX
00420B46 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00420B49 |. 25 FF000000 AND EAX,0FF
00420B4E |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00420B51 |. 837D FC 1D CMP DWORD PTR SS:[EBP-4],1D
00420B55 |. 77 0D JA SHORT Ekd5-TT.00420B64
00420B57 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00420B5A |. 33C0 XOR EAX,EAX
00420B5C |. 8A82 6A0B4200 MOV AL,BYTE PTR DS:[EDX+420B6A]
00420B62 |. EB 02 JMP SHORT Ekd5-TT.00420B66
00420B64 |> 33C0 XOR EAX,EAX
00420B66 |> 8BE5 MOV ESP,EBP
00420B68 |. 5D POP EBP
00420B69 \. C3 RETN
00420B6A 01 DB 01
00420B6B 01 DB 01
00420B6C 00 DB 00
00420B6D 01 DB 01
00420B6E 01 DB 01
00420B6F 00 DB 00
00420B70 00 DB 00
00420B71 01 DB 01
00420B72 01 DB 01
00420B73 01 DB 01
00420B74 01 DB 01
00420B75 00 DB 00
00420B76 00 DB 00
00420B77 01 DB 01
00420B78 00 DB 00
00420B79 00 DB 00
00420B7A 00 DB 00
00420B7B 00 DB 00
00420B7C 00 DB 00
00420B7D 00 DB 00
00420B7E 00 DB 00
00420B7F 00 DB 00
00420B80 00 DB 00
00420B81 00 DB 00
00420B82 00 DB 00
00420B83 00 DB 00
00420B84 00 DB 00
00420B85 00 DB 00
00420B86 00 DB 00
00420B87 00 DB 00
00420B88 90 NOP
00420B89 90 NOP
00420B8A 90 NOP
00420B8B 90 NOP
00420B8C 90 NOP
00420B8D 90 NOP
00420B8E 90 NOP
00420B8F 90 NOP
00420B90 90 NOP
00420B91 90 NOP
00420B92 90 NOP
00420B93 90 NOP
00420B94 90 NOP
00420B95 90 NOP
00420B96 90 NOP
00420B97 90 NOP
00是不能用的地形,01是可以用的地形。
作者:
godtype 时间: 2009-1-18 09:59 标题: 顶楼更新
显示“无法移动”的地形的函数
作者:
jiang333san 时间: 2009-10-23 13:01
1ffa5(原值03荒地)和1ffab(原值04山地),意思是地类策略可以在从03荒地到04山地之间的地形使用。
我核对了一下UE代码,好像地址不对。其它三类策略都没有问题,就这个找不到,还请刘毅兄弟核实一下!
作者:
godtype 时间: 2009-10-23 14:26 标题: 回复 #15 jiang333san 的帖子
哪个引擎?UE只能改原版的,其他的最好用OB查找,我改的引擎就用专用修改器改。
作者:
jiang333san 时间: 2009-10-23 16:21 标题: 回复 #16 godtype 的帖子
我对的是star5.5版本的,此外曹操传原始版本我也对了一下。
都同样发现了上面我所说的问题,就地类策略的地址找不到。
作者:
godtype 时间: 2009-10-23 16:28 标题: 回复 #17 jiang333san 的帖子
核对过了,原版没错。
5.5调整了:
0042C5EC /$ 55 PUSH EBP
0042C5ED |. 8BEC MOV EBP,ESP
0042C5EF |. 33C0 XOR EAX,EAX
0042C5F1 |. 807D 08 03 CMP BYTE PTR SS:[EBP+8],3
0042C5F5 |. 72 07 JB SHORT PEkd5.0042C5FE
0042C5F7 |. 807D 08 04 CMP BYTE PTR SS:[EBP+8],4
0042C5FB |. 77 01 JA SHORT PEkd5.0042C5FE
0042C5FD |. 40 INC EAX
0042C5FE |> 5D POP EBP
0042C5FF \. C3 RETN
作者:
godtype 时间: 2009-10-23 16:50
既然此帖被挖起了,就在四楼贴些新改写的代码。
作者:
jiang333san 时间: 2009-10-23 17:30
多谢楼主不烦其厌的寻找
5.5版本的EXE地类策略修改的新UE代码是2B9F4 03 2b9fa 04
作者:
afl001 时间: 2009-11-11 12:59
很好,终于找到了
欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) |
Powered by Discuz! 5.0.0 |