标题: 接受咨询,解释原版代码, 暂时停止解释,再开时间待定。
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2011-2-25 03:47 资料 个人空间 短消息 看全部作者
嗯……问一下关于等级计算的问题,载入存档的档案前面有个"LV“,原版是使用0号武将的等级,这个等级也影响战利品金钱的获得。请问判断这个等级的代码在哪里呢?


顶部
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2011-2-26 13:12 资料 个人空间 短消息 看全部作者
回复 #34 godtype 的帖子

话说要改成新引擎那样似乎比较难……
于是我用一个粗劣方法解决了。总之问题解决了~^ ^谢谢毅大啦~


顶部
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2011-3-10 15:44 资料 个人空间 短消息 看全部作者
毅大,关于打开仓库说话“XXX,打开仓库”这一段,
我看了岱瀛的帖子:
(原帖,61L)
http://www.xycq.net/forum/viewth ... horuid=0&page=3

大致意思是检测0号武将是否在内场景,是则0号武将说话。
但是我改了几个我认为是测试0号武将的地方,都没有效果。
想问一下毅大,能否改成,测试0号武将,若在,则让0号说话,不是---再测试1号武将,让1号武将说“XX,打开仓库”?

我这里贴一小段:

0046776A  /.  55            PUSH EBP
0046776B  |.  8BEC          MOV EBP,ESP
0046776D  |.  83EC 70       SUB ESP,70
00467770  |.  53            PUSH EBX
00467771  |.  56            PUSH ESI
00467772  |.  894D 98       MOV DWORD PTR SS:[EBP-68],ECX
00467775  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00467778  |.  8B48 08       MOV ECX,DWORD PTR DS:[EAX+8]
0046777B  |.  51            PUSH ECX                                 ; /Arg1
0046777C  |.  8B4D 98       MOV ECX,DWORD PTR SS:[EBP-68]            ; |
0046777F  |.  E8 18C8FFFF   CALL Ekd5.00463F9C                       ; \Ekd5.00463F9C
00467784  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
00467787  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
0046778A  |.  83C2 1C       ADD EDX,1C
0046778D  |.  8B02          MOV EAX,DWORD PTR DS:[EDX]
0046778F  |.  8945 C0       MOV DWORD PTR SS:[EBP-40],EAX
00467792  |.  8B4A 04       MOV ECX,DWORD PTR DS:[EDX+4]
00467795  |.  894D C4       MOV DWORD PTR SS:[EBP-3C],ECX
00467798  |.  8B42 08       MOV EAX,DWORD PTR DS:[EDX+8]
0046779B  |.  8945 C8       MOV DWORD PTR SS:[EBP-38],EAX
0046779E  |.  8B4A 0C       MOV ECX,DWORD PTR DS:[EDX+C]
004677A1  |.  894D CC       MOV DWORD PTR SS:[EBP-34],ECX
004677A4  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
004677A7  |.  52            PUSH EDX
004677A8  |.  8B45 98       MOV EAX,DWORD PTR SS:[EBP-68]
004677AB  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]
004677AD  |.  8B4D 98       MOV ECX,DWORD PTR SS:[EBP-68]
004677B0  |.  FF52 18       CALL DWORD PTR DS:[EDX+18]
004677B3  |.  C745 A0 01000>MOV DWORD PTR SS:[EBP-60],1
004677BA  |.  6A 02         PUSH 2                                   ; /lParam = 2
004677BC  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]             ; |
004677BF  |.  8B48 08       MOV ECX,DWORD PTR DS:[EAX+8]             ; |
004677C2  |.  51            PUSH ECX                                 ; |wParam
004677C3  |.  68 2C100000   PUSH 102C                                ; |Message = MSG(102C)
004677C8  |.  8B55 98       MOV EDX,DWORD PTR SS:[EBP-68]            ; |
004677CB  |.  8B42 10       MOV EAX,DWORD PTR DS:[EDX+10]            ; |
004677CE  |.  50            PUSH EAX                                 ; |hWnd
004677CF  |.  FF15 F4624800 CALL DWORD PTR DS:[<&USER32.SendMessageA>; \SendMessageA
004677D5  |.  33C9          XOR ECX,ECX
004677D7  |.  83F8 02       CMP EAX,2
004677DA  |.  0F94C1        SETE CL
004677DD  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
004677E0  |.  C745 9C FFFFF>MOV DWORD PTR SS:[EBP-64],-1
004677E7  |.  C745 F0 00000>MOV DWORD PTR SS:[EBP-10],0
004677EE  |.  EB 09         JMP SHORT Ekd5.004677F9
004677F0  |>  8B55 F0       /MOV EDX,DWORD PTR SS:[EBP-10]
004677F3  |.  83C2 01       |ADD EDX,1
004677F6  |.  8955 F0       |MOV DWORD PTR SS:[EBP-10],EDX
004677F9  |>  8B45 98        MOV EAX,DWORD PTR SS:[EBP-68]
004677FC  |.  33C9          |XOR ECX,ECX
004677FE  |.  8A48 14       |MOV CL,BYTE PTR DS:[EAX+14]
00467801  |.  394D F0       |CMP DWORD PTR SS:[EBP-10],ECX
00467804  |.  0F8D 11060000 |JGE Ekd5.00467E1B
0046780A  |.  8D55 A0       |LEA EDX,DWORD PTR SS:[EBP-60]
0046780D  |.  52            |PUSH EDX                                ; /lParam
0046780E  |.  8B45 F0       |MOV EAX,DWORD PTR SS:[EBP-10]           ; |
00467811  |.  50            |PUSH EAX                                ; |wParam
00467812  |.  68 19100000   |PUSH 1019                               ; |Message = MSG(1019)
00467817  |.  8B4D 98       |MOV ECX,DWORD PTR SS:[EBP-68]           ; |
0046781A  |.  8B51 10       |MOV EDX,DWORD PTR DS:[ECX+10]           ; |
0046781D  |.  52            |PUSH EDX                                ; |hWnd
0046781E  |.  FF15 F4624800 |CALL DWORD PTR DS:[<&USER32.SendMessage>; \SendMessageA
00467824  |.  C745 F4 24800>|MOV DWORD PTR SS:[EBP-C],8024
0046782B  |.  8B45 A4       |MOV EAX,DWORD PTR SS:[EBP-5C]
0046782E  |.  83E0 03       |AND EAX,3
00467831  |.  8945 94       |MOV DWORD PTR SS:[EBP-6C],EAX
00467834  |.  837D 94 00    |CMP DWORD PTR SS:[EBP-6C],0
00467838  |.  74 0E         |JE SHORT Ekd5.00467848
0046783A  |.  837D 94 01    |CMP DWORD PTR SS:[EBP-6C],1
0046783E  |.  74 10         |JE SHORT Ekd5.00467850
00467840  |.  837D 94 02    |CMP DWORD PTR SS:[EBP-6C],2
00467844  |.  74 15         |JE SHORT Ekd5.0046785B
00467846  |.  EB 1D         |JMP SHORT Ekd5.00467865
00467848  |>  8B4D F4       |MOV ECX,DWORD PTR SS:[EBP-C]
0046784B  |.  894D F4       |MOV DWORD PTR SS:[EBP-C],ECX
0046784E  |.  EB 1B         |JMP SHORT Ekd5.0046786B
00467850  |>  8B55 F4       |MOV EDX,DWORD PTR SS:[EBP-C]
00467853  |.  83CA 02       |OR EDX,2
00467856  |.  8955 F4       |MOV DWORD PTR SS:[EBP-C],EDX
00467859  |.  EB 10         |JMP SHORT Ekd5.0046786B
0046785B  |>  8B45 F4       |MOV EAX,DWORD PTR SS:[EBP-C]
0046785E  |.  0C 01         |OR AL,1
00467860  |.  8945 F4       |MOV DWORD PTR SS:[EBP-C],EAX
00467863  |.  EB 06         |JMP SHORT Ekd5.0046786B
00467865  |>  8B4D F4       |MOV ECX,DWORD PTR SS:[EBP-C]
00467868  |.  894D F4       |MOV DWORD PTR SS:[EBP-C],ECX
0046786B  |>  6A 00         |PUSH 0                                  ; /lParam = 0
0046786D  |.  8B55 F0       |MOV EDX,DWORD PTR SS:[EBP-10]           ; |
00467870  |.  52            |PUSH EDX                                ; |wParam
00467871  |.  68 1D100000   |PUSH 101D                               ; |Message = MSG(101D)
00467876  |.  8B45 98       |MOV EAX,DWORD PTR SS:[EBP-68]           ; |
00467879  |.  8B48 10       |MOV ECX,DWORD PTR DS:[EAX+10]           ; |
0046787C  |.  51            |PUSH ECX                                ; |hWnd
0046787D  |.  FF15 F4624800 |CALL DWORD PTR DS:[<&USER32.SendMessage>; \SendMessageA
00467883  |.  8B55 C0       |MOV EDX,DWORD PTR SS:[EBP-40]
00467886  |.  8D4402 FB     |LEA EAX,DWORD PTR DS:[EDX+EAX-5]
0046788A  |.  8945 C8       |MOV DWORD PTR SS:[EBP-38],EAX
0046788D  |.  8B4D C0       |MOV ECX,DWORD PTR SS:[EBP-40]
00467890  |.  83C1 05       |ADD ECX,5
00467893  |.  894D C0       |MOV DWORD PTR SS:[EBP-40],ECX
00467896  |.  8B55 98       |MOV EDX,DWORD PTR SS:[EBP-68]
00467899  |.  8B42 18       |MOV EAX,DWORD PTR DS:[EDX+18]
0046789C  |.  8B4D F0       |MOV ECX,DWORD PTR SS:[EBP-10]
0046789F  |.  8B1488        |MOV EDX,DWORD PTR DS:[EAX+ECX*4]
004678A2  |.  8955 90       |MOV DWORD PTR SS:[EBP-70],EDX
004678A5  |.  837D 90 0C    |CMP DWORD PTR SS:[EBP-70],0C
004678A9  |.  0F87 28050000 |JA Ekd5.00467DD7


请问一下判断0号武将有关的代码是哪个……本人汇编技术太差,敬请谅解。

谢谢~^ ^

[ 本帖最后由 WHITESHIP 于 2011-3-10 15:45 编辑 ]
顶部
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2011-3-26 01:05 资料 个人空间 短消息 看全部作者
问一个可能会有些麻烦的问题:
指令 6B:法术。使用时会等一法术释放完才会执行下一条指令,可以通过修改EXE让它不延迟,施放Meff动画的同时就执行下一条指令么?

于是这样就做到在地图上多个点同时展示法术效果了。如果需要延迟,则用指令“延时”,更加方便。

鉴于毅大也研究过MCall和Meff,特此请教,谢谢~^ ^
顶部

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




当前时区 GMT+8, 现在时间是 2024-11-18 09:33
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

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

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