2009-3-19 02:11
summer3965
請問一下,我照著添加了惡路移動的代碼,也讓突擊移動和惡路移動合併了。
可是沒有惡路移動的效果耶。
還是說這段代碼不對呢?
這是我新添加的
0048C974 55 push ebp
0048C975 8BEC mov ebp,esp
0048C977 83EC 0C sub esp,0C
0048C97A 894D F4 mov dword ptr ss:[ebp-C],ecx
0048C97D 8B4D F4 mov ecx,dword ptr ss:[ebp-C]
0048C980 E8 EBEAFAFF call 0043B470
0048C985 8845 FC mov byte ptr ss:[ebp-4],al
0048C988 8B45 FC mov eax,dword ptr ss:[ebp-4]
0048C98B 25 FF000000 and eax,0FF
0048C990 83F8 1B cmp eax,1B
0048C993 7C 04 jl short 0048C999
0048C995 0C FF or al,0FF
0048C997 EB 53 jmp short 0048C9EC
0048C999 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
0048C99C 81E1 FF000000 and ecx,0FF
0048C9A2 51 push ecx
0048C9A3 8B4D FC mov ecx,dword ptr ss:[ebp-4]
0048C9A6 81E1 FF000000 and ecx,0FF
0048C9AC 6BC9 3C imul ecx,ecx,3C
0048C9AF 81C1 E0E44A00 add ecx,004AE4E0
0048C9B5 E8 B666FBFF call 00443070
0048C9BA 8845 F8 mov byte ptr ss:[ebp-8],al
0048C9BD 6A 21 push 21
0048C9BF 8B55 F4 mov edx,dword ptr ss:[ebp-C]
0048C9C2 8B0A mov ecx,dword ptr ds:[edx]
0048C9C4 6BC9 48 imul ecx,ecx,48
0048C9C7 81C1 0000D600 add ecx,0D60000
0048C9CD E8 37B0F7FF call 00407A09
0048C9D2 85C0 test eax,eax
0048C9D4 74 13 je short 0048C9E9
0048C9D6 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0048C9D9 25 FF000000 and eax,0FF
0048C9DE 3D FF000000 cmp eax,0FF
0048C9E3 74 04 je short 0048C9E9
0048C9E5 C645 F8 01 mov byte ptr ss:[ebp-8],1
0048C9E9 8A45 F8 mov al,byte ptr ss:[ebp-8]
0048C9EC 8BE5 mov esp,ebp
0048C9EE 5D pop ebp
0048C9EF C2 0400 retn 4
這是本來的
0043F7CF /$ 55 push ebp
0043F7D0 |. 8BEC mov ebp,esp
0043F7D2 |. 83EC 0C sub esp,0C
0043F7D5 |. 894D F4 mov dword ptr ss:[ebp-C],ecx
0043F7D8 |. 8B4D F4 mov ecx,dword ptr ss:[ebp-C]
0043F7DB |. E8 90BCFFFF call 0043B470
0043F7E0 |. 8845 FC mov byte ptr ss:[ebp-4],al
0043F7E3 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
0043F7E6 |. 25 FF000000 and eax,0FF
0043F7EB |. 83F8 1B cmp eax,1B
0043F7EE |. 7C 04 jl short 0043F7F4
0043F7F0 |. 0C FF or al,0FF
0043F7F2 |. EB 53 jmp short 0043F847
0043F7F4 |> 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
0043F7F7 |. 81E1 FF000000 and ecx,0FF
0043F7FD |. 51 push ecx ; /Arg1
0043F7FE |. 8B4D FC mov ecx,dword ptr ss:[ebp-4] ; |
0043F801 |. 81E1 FF000000 and ecx,0FF ; |
0043F807 |. 6BC9 3C imul ecx,ecx,3C ; |
0043F80A |. 81C1 E0E44A00 add ecx,004AE4E0 ; |
0043F810 |. E8 5B380000 call 00443070 ; \Ekd5.00443070
0043F815 |. 8845 F8 mov byte ptr ss:[ebp-8],al
0043F818 |. 6A 22 push 22 ; /Arg1 = 00000022
0043F81A |. 8B55 F4 mov edx,dword ptr ss:[ebp-C] ; |
0043F81D |. 8B0A mov ecx,dword ptr ds:[edx] ; |
0043F81F |. 6BC9 48 imul ecx,ecx,48 ; |
0043F822 |. 81C1 0000D600 add ecx,0D60000 ; |
0043F828 |. E8 DC81FCFF call 00407A09 ; \Ekd5.00407A09
0043F82D |. 85C0 test eax,eax
0043F82F |. 74 13 je short 0043F844
0043F831 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0043F834 |. 25 FF000000 and eax,0FF
0043F839 |. 3D FF000000 cmp eax,0FF
0043F83E |. 74 04 je short 0043F844
0043F840 |. C645 F8 01 mov byte ptr ss:[ebp-8],1
0043F844 |> 8A45 F8 mov al,byte ptr ss:[ebp-8]
0043F847 |> 8BE5 mov esp,ebp
0043F849 |. 5D pop ebp
0043F84A \. C2 0400 retn 4
[color=Silver][[i] 本帖最后由 summer3965 于 2009-3-19 02:19 编辑 [/i]][/color]
2009-3-19 16:12
godtype
你指这个吗?
[quote]原帖由 [i]summer3965[/i] 于 2009-3-19 00:38 发表
[quote]
原帖由 yanguodong 于 2008-8-26 18:19 发表
策略绝对命中武器与兵种
0043B92B - E9 0E1A0500 jmp Ekd51.0048D33E
[color=Red]0048D33E 6A 1A push 1A[/color]
0048D340 8B4D DC mov ecx,dword ptr ss:[ebp-24]
0048D343 E8 C1A6F7FF call Ekd51.00407A09
0048D348 85C0 test eax,eax
0048D34A 74 07 je short Ekd51.0048D353
0048D34C B0 64 mov al,64
0048D34E - E9 11E8FAFF jmp Ekd51.0043BB64
0048D353 8B4D DC mov ecx,dword ptr ss:[ebp-24]
0048D356 E8 B592F7FF call Ekd51.00406610
0048D35B 25 FF000000 and eax,0FF
0048D360 83F8 02 cmp eax,2
0048D363 75 02 jnz short Ekd51.0048D367
0048D365 ^ EB E5 jmp short Ekd51.0048D34C
[color=Blue]0048D367 6A 34 push 34[/color]
0048D369 8B4D DC mov ecx,dword ptr ss:[ebp-24]
0048D36C - E9 BFE5FAFF jmp Ekd51.0043B930 [/quote]
不好意思,问个问题。
绝对策略命中好像会和辅助策略命中冲突,请问有办法分开吗?
[/quote]
红色是新加上去的绝对策略命中,蓝色就是原来的辅助策略命中,没有冲突的。
2009-3-26 23:12
summer3965
豆袋修改:無限豆
將以下的位址的 74 改成 eb,就可以讓豆袋使用道具不消耗道具。(和敵軍、友軍一樣)
一般的舊引擎,地址在5002/405C02
如果是阿毅最新的舊引擎ex(我私下的稱呼),那地址在 5017/405C17
新引擎的曹操傳豪華版的位置是 4FF9/405BF9,和豪華版相同的新引擎應該也可以用。
說明一下原理,很簡單的。
就是岱瀛大師的這個
00405BFB |. E8 54A30300 |CALL 0043FF54 获取被攻击武将属于哪一方
00405C00 |. 85C0 |TEST EAX,EAX
[color=blue]00405C02 |. 74 2E |JE SHORT Ekd5.00405C32 非我方跳转,不判断仓库豆的数量[/color]
00405C04 |. 6A 57 |PUSH 57 ; /Arg1 = 00000057 这个就是恢复用豆的序号
00405C06 |. B9 70074B00 |MOV ECX,Ekd5.004B0770 ; |
00405C0B |. E8 2E7F0000 |CALL Ekd5.0040DB3E ; \Ekd5.0040DB3E 判断我方仓库是否有豆
00405C10 |. 25 FF000000 |AND EAX,0FF
00405C15 |. 85C0 |TEST EAX,EAX
00405C17 |. 7E 17 |JLE SHORT Ekd5.00405C30 小于等于0,没有豆,跳转
就是判斷是否為我方的那一句改成不判斷直接跳轉(JMP),也就是代碼 EB 。
就是這麼簡單,給喜歡豆袋這類道具的人參考。
[color=Silver][[i] 本帖最后由 summer3965 于 2009-3-27 13:28 编辑 [/i]][/color]