标题: 修正移动下降不能显示
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2009-3-23 11:00 资料 个人空间 短消息 只看该作者
修正移动下降不能显示

由于原版曹操传中只有移动力上升的策略,没有移动力下降的策略,所以光荣有点偷懒(个人估计),就算在剧本设置了状态是移动下降,只会显示将正常状态一样,如图
正常状态

下降状态

但实际移动力就下降了1。

这种情况在大部分的引擎中都存在,直到STAR175的新引擎第四版加强版推出后,终于有了解决方法,我参考了他的修改方法后也在我的旧引擎中改出来,有需要的人可以照改。
主要是修改476987这条函数,但是由于位置不够用,所以要另外找空位置加写一条函数,再增加一个显示项目(这个要10-11个字节)。
直接帖出修改后的476987函数:
00476987  /$ 55                 PUSH EBP
00476988  |. 8BEC               MOV EBP,ESP
0047698A  |. 83EC 14            SUB ESP,14
0047698D  |. 894D EC            MOV DWORD PTR SS:[EBP-14],ECX
00476990  |. 68 66050000        PUSH 566                                        ; /ControlID = 566 (1382.)
00476995  |. 8B45 08            MOV EAX,DWORD PTR SS:[EBP+8]                    ; |
00476998  |. 50                 PUSH EAX                                        ; |hWnd
00476999  |. FF15 DC624800      CALL DWORD PTR DS:[<&USER32.GetDlgItem>]        ; \GetDlgItem
0047699F  |. 85C0               TEST EAX,EAX
004769A1  |. 0F84 CC000000      JE 00476A73
004769A7  |. 8B4D EC            MOV ECX,DWORD PTR SS:[EBP-14]
004769AA  |. E8 2D110000        CALL 00477ADC
004769AF  |. 8845 FC            MOV BYTE PTR SS:[EBP-4],AL
004769B2  |. 8B4D FC            MOV ECX,DWORD PTR SS:[EBP-4]
004769B5  |. 81E1 FF000000      AND ECX,0FF
004769BB  |. 81F9 FF000000      CMP ECX,0FF
004769C1  |. 75 17              JNZ SHORT 004769DA
004769C3  |. 6A 00              PUSH 0
004769C5  |. 8B4D EC            MOV ECX,DWORD PTR SS:[EBP-14]
004769C8  |. E8 AE08F9FF        CALL 0040727B
004769CD  |. 25 FF000000        AND EAX,0FF
004769D2  |. 50                 PUSH EAX
004769D3  |. 68 F0030000        PUSH 3F0
004769D8  |. EB 7C              JMP SHORT 00476A56
004769DA  |> 8B4D FC            MOV ECX,DWORD PTR SS:[EBP-4]
004769DD  |. E8 04F3F8FF        CALL 00405CE6     ------这条是新增函数,看最后面
004769E2  |. E8 49F1FAFF        CALL 00425B30
004769E7  |. 3C 03              CMP AL,3
004769E9  |. 74 56              JE SHORT 00476A41
004769EB  |. 3C 04              CMP AL,4
004769ED  |. 72 1A              JB SHORT 00476A09
004769EF  |. 6A 02              PUSH 2     ------移动力上升多少
004769F1  |. 8B4D EC            MOV ECX,DWORD PTR SS:[EBP-14]
004769F4  |. E8 8208F9FF        CALL 0040727B
004769F9  |. 25 FF000000        AND EAX,0FF
004769FE  |. 83C0 02            ADD EAX,2     ------移动力上升多少
00476A01  |. 50                 PUSH EAX
00476A02  |. 68 C0EB4800        PUSH 0048EBC0                              ;  ASCII "%u ( +%d )"
00476A07  |. EB 18              JMP SHORT 00476A21
00476A09  |> 6A 01              PUSH 1     ------移动力下降多少
00476A0B  |. 8B4D EC            MOV ECX,DWORD PTR SS:[EBP-14]
00476A0E  |. E8 6808F9FF        CALL 0040727B
00476A13  |. 25 FF000000        AND EAX,0FF
00476A18  |. 83E8 01            SUB EAX,1     ------移动力下降多少
00476A1B  |. 50                 PUSH EAX
00476A1C  |. 68 97004400        PUSH 00440097       ;  ASCII "%u ( -%d )"     ------这个是新增的显示项,看最后面
00476A21  |> 8D45 F0            LEA EAX,DWORD PTR SS:[EBP-10]                   ; |
00476A24  |. 50                 PUSH EAX                                        ; |Arg1
00476A25  |. E8 F8990000        CALL 00480422                              ; \00480422
00476A2A  |. 83C4 10            ADD ESP,10
00476A2D  |. 8D4D F0            LEA ECX,DWORD PTR SS:[EBP-10]
00476A30  |. 51                 PUSH ECX                                        ; /Text
00476A31  |. 68 F0030000        PUSH 3F0                                        ; |ControlID = 3F0 (1008.)
00476A36  |. FF75 08            PUSH DWORD PTR SS:[EBP+8]                       ; |hWnd
00476A39  |. FF15 D8624800      CALL DWORD PTR DS:[<&USER32.SetDlgItemTextA>]   ; \SetDlgItemTextA
00476A3F  |. EB 1E              JMP SHORT 00476A5F
00476A41  |> 6A 00              PUSH 0
00476A43  |. 8B4D EC            MOV ECX,DWORD PTR SS:[EBP-14]
00476A46  |. E8 3008F9FF        CALL 0040727B
00476A4B  |. 25 FF000000        AND EAX,0FF
00476A50  |. 50                 PUSH EAX
00476A51  |. 68 F0030000        PUSH 3F0
00476A56  |> FF75 08            PUSH DWORD PTR SS:[EBP+8]                       ; |hWnd
00476A59  |. FF15 E4624800      CALL DWORD PTR DS:[<&USER32.SetDlgItemInt>]     ; \SetDlgItemInt
00476A5F  |> 833D A8E94800 00   CMP DWORD PTR DS:[48E9A8],0
00476A66  |. 75 0B              JNZ SHORT 00476A73
00476A68  |. FF75 08            PUSH DWORD PTR SS:[EBP+8]                       ; /Arg1
00476A6B  |. E8 09000000        CALL 00476A79                              ; \00476A79
00476A70  |. 83C4 04            ADD ESP,4
00476A73  |> 8BE5               MOV ESP,EBP
00476A75  |. 5D                 POP EBP
00476A76  \. C2 0400            RETN 4

00405CE6     55             PUSH EBP
00405CE7     8BEC           MOV EBP,ESP
00405CE9     81E1 FF000000  AND ECX,0FF
00405CEF     6BC9 24        IMUL ECX,ECX,24
00405CF2     81C1 502C4B00  ADD ECX,004B2C50
00405CF8     8BE5           MOV ESP,EBP
00405CFA     5D             POP EBP
00405CFB     C3             RETN

00440097   . 25 75 20 28 20 2D 25 64 20 29 00   ASCII "%u ( -%d )",0

另外,修改移动力的上升和下降值还有两个地方要改:
上升
0043F797  |. 6A 02          PUSH 2
下降
0043F7B7  |. 6A 01          PUSH 1

全部改好后的下降状态效果图如下,


以上修改是在我的旧引擎中改的,其他引擎可能有部分引用的函数位置有所不同,需要在实际修改时注意,新增函数和新增显示项请找空位置改。

[ 本帖最后由 godtype 于 2011-6-26 18:45 编辑 ]

本帖最近评分记录
yanguodong 2009-3-23 14:39 +100 好帖奖励


顶部
性别:男-离线 小小KS

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 右将军
功绩 11
帖子 1063
编号 294403
注册 2008-10-11


发表于 2009-3-23 12:02 资料 文集 短消息 只看该作者 QQ
好东西,顶一个


顶部
性别:男-离线 37610716
(妖)

白衣伯爵

Rank: 11Rank: 11Rank: 11Rank: 11Rank: 11
轩辕春秋年度最佳(轩辕工作室)
组别 白衣卿相
级别 平东将军
好贴 1
功绩 151
帖子 2567
编号 214815
注册 2007-9-12


发表于 2009-3-23 13:35 资料 个人空间 短消息 只看该作者
强顶啊!
顶部
性别:未知-离线 younger3

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 94
编号 249966
注册 2007-12-14


发表于 2009-3-23 13:39 资料 短消息 只看该作者
godtype大
又來造福人群啊~~
顶部
性别:未知-离线 乱世枭雄

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 忠义校尉
功绩 3
帖子 296
编号 93991
注册 2006-12-3


发表于 2009-3-23 14:11 资料 短消息 只看该作者
godtype兄又发布新的资料了,虽然我用的是新引擎,但是还是非常支持你为广大MOD迷造福~加油!
顶部
性别:男-离线 37610716
(妖)

白衣伯爵

Rank: 11Rank: 11Rank: 11Rank: 11Rank: 11
轩辕春秋年度最佳(轩辕工作室)
组别 白衣卿相
级别 平东将军
好贴 1
功绩 151
帖子 2567
编号 214815
注册 2007-9-12


发表于 2009-3-23 14:16 资料 个人空间 短消息 只看该作者
能把降低移动力效果的代码发下就更好了!
顶部
性别:女-离线 summer3965
(神隱夏天)

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 98
编号 301483
注册 2008-12-14
来自 台灣


发表于 2009-3-23 15:03 资料 短消息 只看该作者
回复 #6 37610716 的帖子

上面younger3的這帖子有
http://www.xycq.net/forum/thread-186510-1-2.html

嗯?看不懂?
請阿毅整理一下囉
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2009-3-23 15:18 资料 文集 短消息 只看该作者
现在好多前辈高人都忙去了.很少看到有发布修改代码的.godtype兄造福人群.
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2009-3-23 15:27 资料 个人空间 短消息 只看该作者
破移动上那一帖的内容就有提到了,以前被认为没有效果只是一个视觉上问题,其实实际上是有减少的。
顶部
性别:未知-离线 dnts0318

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 87
编号 61134
注册 2006-2-28


发表于 2009-3-23 18:38 资料 短消息 只看该作者
godtype 兄还在研究这些东西啊?有些难得啊,现在的人对旧版很难感兴趣了……
顶部
性别:未知-离线 js2223

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 左将军
功绩 13
帖子 1321
编号 262456
注册 2008-1-8


发表于 2009-3-23 21:52 资料 文集 短消息 只看该作者
版主作品,必属精品,先做个记号,以后要用时方便搜索。
顶部
性别:未知-离线 younger3

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 94
编号 249966
注册 2007-12-14


发表于 2009-3-23 22:02 资料 短消息 只看该作者
00476A1C  |. 68 97004400        PUSH 00440097       ;  ASCII "%u ( -%d )"     ------这个是新增的显示项,看最后面

00440097   . 25 75 20 28 20 2D 25 64 20 29 00   ASCII "%u ( -%d )",0


godtype大
這是什麼意思啊?

要怎麼改?
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2009-3-23 22:09 资料 个人空间 短消息 只看该作者
回复 #12 younger3 的帖子

找一个有足够长度的空白位置,然后按ctrl-e,直接输入“25 75 20 28 20 2D 25 64 20 29”(最后的00应该可以不用输入),回车即可。
顶部
性别:未知-离线 younger3

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 94
编号 249966
注册 2007-12-14


发表于 2009-3-23 22:36 资料 短消息 只看该作者
回复 #13 godtype 的帖子

004CE06C    25 75202820        and eax,20282075
004CE071    2D 25642029        sub eax,29206425


輸入後出現了這樣的句子
載入遊戲死機

不知道問題出在哪....
顶部
性别:未知-离线 younger3

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 94
编号 249966
注册 2007-12-14


发表于 2009-3-23 23:05 资料 短消息 只看该作者

應該是我自己的問題

godtype大寫的東西沒問題^^

感謝godtype大-舊引擎的救世者~~
顶部
性别:男-离线 513633522
(小越)

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 右将军
功绩 12
帖子 1179
编号 349592
注册 2009-12-6
家族 轩辕狼党


发表于 2010-10-31 14:52 资料 文集 短消息 只看该作者
图片没了???
还有7楼的链接我进不去??
我没权限!!!
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2010-10-31 17:23 资料 个人空间 短消息 只看该作者
回复 #16 513633522 的帖子

原图已经删了,而且那些图只是效果图,没什么所谓了,想看效果可以参考神将版或我的引擎或STAR引擎。
7楼只是移动下降的宝物效果的代码,在果冻的代码帖有。
顶部
性别:男-离线 wysjbc
(小冲)


Rank: 6Rank: 6Rank: 6
组别 校尉
级别 安国将军
功绩 19
帖子 862
编号 358831
注册 2010-2-3
来自 福建


发表于 2010-10-31 20:31 资料 文集 短消息 只看该作者 QQ
回复 #16 513633522 的帖子

孩子,你挖坟了。
顶部
性别:男-离线 513633522
(小越)

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 右将军
功绩 12
帖子 1179
编号 349592
注册 2009-12-6
家族 轩辕狼党


发表于 2010-10-31 20:45 资料 文集 短消息 只看该作者
虽然还有很多没看懂但是按照教程能改出来!!
慢慢学习啊

[ 本帖最后由 513633522 于 2010-10-31 21:10 编辑 ]


图片附件: 1.png (2010-10-31 21:10, 23.23 K)



图片附件: 2.png (2010-10-31 21:10, 23.38 K)

顶部
性别:男-离线 513633522
(小越)

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 右将军
功绩 12
帖子 1179
编号 349592
注册 2009-12-6
家族 轩辕狼党


发表于 2010-10-31 20:48 资料 文集 短消息 只看该作者
回复 #18 wysjbc 的帖子

慢慢的我把所有的引擎修改的帖子给挖出来学习

有时间把 致命一击的改良 给找出来改改

[ 本帖最后由 513633522 于 2010-10-31 20:53 编辑 ]
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-2-1 06:41
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.015082 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP