3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 3849|回复: 7
打印 上一主题 下一主题

[秘籍] 2个好用的修改器.....比版主的好用(因为是同个人写的)....支持1.1.........因为无Z版,有正版的试试联网修改

  [复制链接]

155

主题

5012

帖子

4957

积分

游戏精英

Rank: 8Rank: 8

贡献度
249
金元
39614
积分
4957
精华
0
注册时间
2008-2-16
跳转到指定楼层
主题
发表于 2011-10-15 11:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jerrywu0128 于 2011-10-15 12:28 编辑

有些基于CE


Might & Magic Heroes VI Version 1.1.31785



- Minimum Resources;
- Unlimited Movement;
- Troop Minimum Size;
- Heron's Minimum XP;
- Some Useful Pointers;


HOMM6_Script.CEA (6.98 KB, 下载次数: 108)

下面是代码.........................如果版本修改,可自行自己修正修改器

{
===========================================
Game Title : Might&Magic Heroes VI
Game Version : 1.1.31785
Script Version: 1.0
CE Version : 6.1
Release date : 12-Oct-2011
Author : Recifense
Features:
- Minimum Resources
- Unlimited Movement
- Minimum Troop Size for player's moving Army (minimum value can be defined by user)
- Minimum XP for player's moving hero (minimum value can be defined by user)
===========================================
}

[ENABLE]
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded

assert("Might & Magic Heroes VI.exe"+00047396,8b 75 c0 83 c6 04)
assert("Might & Magic Heroes VI.exe"+0124f1ca,f3 0f 11 41 0c)

//=========================================
alloc(MyCode,1024)
//=========================================
// Declaration section
label(_MonResources)
label(_MonR0)
label(_MonR1)
label(_MonR2)
label(_BackMR)
label(_ExitMR)
label(_MonMovement)
label(_MonM0)
label(_MonM1)
label(_MonM2)
label(_MonM3)
label(_BackMM)
label(_ExitMM)
label(pRes)
label(pUnit)
label(pHero)
label(iEnableMR)
label(iEnableMM)
label(iEnableMS)
label(iEnableMX)
label(iMinSize)
label(iMinXP)
label(fSaveSS)

//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(pUnit)
registersymbol(pRes)
registersymbol(pHero)
registersymbol(iEnableMR)
registersymbol(iEnableMM)
registersymbol(iEnableMS)
registersymbol(iEnableMX)
registersymbol(iMinSize)
registersymbol(iMinXP)

//=========================================
MyCode:
//=========================================
_MonResources:
mov esi,[ebp-40] // Original code
lea edi,[esi-28] // Adjust pointer
mov [pRes],edi // Save it for further use

cmp dword ptr [iEnableMR],0
je _ExitMR // Jump if feature is disabled

mov ecx,#50000
mov edi,[esi+04]
xor edi,[esi+08]
cmp ecx,edi // Gold
jle _MonR0

mov edi,ecx
xor edi,[esi+08]
mov [esi+04],edi

_MonR0:
mov ecx,#5000

mov edi,[esi+0c]
xor edi,[esi+10]
cmp ecx,edi // Wood
jle _MonR1

mov edi,ecx
xor edi,[esi+10]
mov [esi+0c],edi

_MonR1:
mov edi,[esi+14]
xor edi,[esi+18]
cmp ecx,edi // Ore
jle _MonR2

mov edi,ecx
xor edi,[esi+18]
mov [esi+14],edi

_MonR2:
mov edi,[esi+1c]
xor edi,[esi+20]
cmp ecx,edi // Blood Crystal
jle _ExitMR

mov edi,ecx
xor edi,[esi+20]
mov [esi+1c],edi

_ExitMR:
mov esi,[ebp-40] // Original code
add esi,04 // Original code
jmp _BackMR // Back to main code

//=========================================
_MonMovement:
push eax
push ebx
push edi
push esi

mov eax,[ecx+10]
mov [pUnit],eax // Save ptr for debugging

mov edx,[ebp-0c]
cmp edx,[pRes]
jne _ExitMM

mov [pHero],eax

mov edx,[eax+70] // Get pArmy
test edx,edx
jz _MonM2

mov ebx,[edx+0c] // Get # troops
test ebx,ebx
jz _MonM2

cmp dword ptr [iEnableMS],0 // Troop Size
je _MonM2 // Jump if feature is disabled

mov edx,[edx+04] // get pTroopList
test edx,edx
jz _MonM2

mov eax,[iMinSize]

_MonM0:
dec ebx

mov esi,[edx+ebx*4] // Get Troop
mov edi,[esi+54]
xor edi,[esi+58]
cmp eax,edi
jle _MonM1

mov edi,eax
xor edi,[esi+58]
mov [esi+54],edi

_MonM1:
test ebx,ebx
jnz _MonM0

_MonM2:
cmp dword ptr [iEnableMX],0
je _MonM3 // Jump if feature is disabled

mov eax,[pHero]
mov esi,[eax+00000134] // Get pXP
test esi,esi
jz _MonM3

mov eax,[iMinXP]
mov edi,[esi+0c]
xor edi,[esi+10]
cmp eax,edi
jle _MonM3

mov edi,eax
xor edi,[esi+10]
mov [esi+0c],edi

_MonM3:
cmp dword ptr [iEnableMM],0
je _ExitMM // Jump if feature is disabled

movss [fSaveSS],xmm0

mov eax,[fSaveSS]
cmp eax,[ecx+0C]
jge _ExitMM

movss xmm0,[ecx+0C] // Get current MP

_ExitMM:
pop esi
pop edi
pop ebx
pop eax

movss [ecx+0C],xmm0 // Original code
jmp _BackMM // Back to main code

//=========================================
db '=====================>'
db 'CE6.1 Script by Recifense 101211'
//=========================================
// Variables
iEnableMR:
dd 1
iEnableMM:
dd 1
iEnableMS:
dd 1
iEnableMX:
dd 1
pUnit:
dd 0
pRes:
dd 0
pHero:
dd 0
iMinSize:
dd #1000
iMinXP:
dd #10000
fSaveSS:
dd 00

//=========================================
// Hacking Points
"Might & Magic Heroes VI.exe"+00047396:
jmp _MonResources
nop
_BackMR:

"Might & Magic Heroes VI.exe"+0124f1ca:
jmp _MonMovement
_BackMM:

//=========================================
// Script for Restoring Original Codes
[DISABLE]
"Might & Magic Heroes VI.exe"+00047396:
// mov esi,[ebp-40]
// add esi,04
db 8b 75 c0 83 c6 04

"Might & Magic Heroes VI.exe"+0124f1ca:
// movss [ecx+0C],xmm0
db f3 0f 11 41 0c

//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(pUnit)
unregistersymbol(pRes)
unregistersymbol(pHero)
unregistersymbol(iEnableMR)
unregistersymbol(iEnableMM)
unregistersymbol(iEnableMS)
unregistersymbol(iEnableMX)
unregistersymbol(iMinSize)
unregistersymbol(iMinXP)

//=========================================
dealloc(MyCode)
//============= Scripts End ===============

// ****************************************
// NOTES
// ****************************************
{
Heroes of Might & Magic VI:
V1.1.31785

struct HERO:
0000 = 01d22a90
000c = 01fd3164
0010 = pArmy
0120 = pPoints
0128 = pMovePoints
0134 = pXP
0140 = fBaseMightPower
0154 = fBaseMightDefense
0168 = fBaseMightMagic
017c = fBaseMightDefense
0190 = fBaseLeadership
01A4 = fBaseDestiny
0280 = fBaseMovePoints
0288 = fAdditionalMovePoints
05f0 = fTearsReputation
05f0 = fBloodReputation

struct ARMY:
0000 = i0
0004 = pTroopList
000c = i#Troops
001c = pHero

struct TROOPLIST:
0000 = pTroop#1
0004 = pTroop#2
0008 = pTroop#3
000c = pTroop#4
0010 = pTroop#5
0014 = pTroop#6
0018 = pTroop#7

struct TROOP:
0000 = 01d251e0
0024 = 01c43418
0028 = iTroopType (Encrypted)
002c = iTroopType (XOR)
0054 = iTroopSize (Encrypted)
0058 = iTroopSize (XOR)

struct ABILITY_POINTS:
0000 = 01d241bc
0018 = iPoints

struct MOVE_POINTS:
0000 = f1
000c = fcMP
0010 = pHero

struct XP:
000c = iXP (Encrypted)
0010 = iXP (XOR)
0014 = iLevel (Encrypted)
0018 = iLevel (XOR)

struct RESOURCES:
0000 = 01d2094c
0004 = 01fd3164
0028 = 01c43418
002c = iGold (Encrypted)
0030 = iGold (XOR)
0034 = iWood (Encrypted)
0038 = iWood (XOR)
003c = iOre (Encrypted)
0040 = iOre (XOR)
0044 = iCrystal (Encrypted)
0048 = iCrystal (XOR)
}



Code:


_MonResources:

sl = AOBScan("8b 75 c0 83 c6 04 8d 7d cc");

00447369 - 8B 0D 0433FD01 - mov ecx,[01FD3304] : [27CC9D2C]
0044736F - E8 7C690100 - call 0045DCF0
00447374 - 50 - push eax
00447375 - A1 5471FD01 - mov eax,[01FD7154] : [30FCEE8C]
0044737A - 8B 88 D0000000 - mov ecx,[eax+000000D0]
00447380 - E8 3BBE1E01 - call 016331C0
00447385 - 8B C8 - mov ecx,eax
00447387 - E8 04531B01 - call 015FC690
0044738C - 89 45 C0 - mov [ebp-40],eax
0044738F - C7 45 C8 1834C401 - mov [ebp-38],01C43418 : [0161BD30]
00447396 - 8B 75 C0 - mov esi,[ebp-40] <--- HP
00447399 - 83 C6 04 - add esi,04
0044739C - 8D 7D CC - lea edi,[ebp-34]
0044739F - B9 08000000 - mov ecx,00000008
004473A4 - F3 A5 - repe movsd
004473A6 - C7 45 FC 00000000 - mov [ebp-04],00000000
004473AD - E8 EEE20C01 - call 015156A0
004473B2 - 89 45 BC - mov [ebp-44],eax
004473B5 - 8B 4D BC - mov ecx,[ebp-44]
004473B8 - 8B 11 - mov edx,[ecx]
004473BA - 89 55 EC - mov [ebp-14],edx
004473BD - 8B 45 EC - mov eax,[ebp-14]
004473C0 - 83 E8 08 - sub eax,08
004473C3 - 50 - push eax
004473C4 - FF 15 A0A2B101 - call dword ptr [01B1A2A0]
004473CA - C6 45 FC 01 - mov byte ptr [ebp-04],01
004473CE - 8B 4D 08 - mov ecx,[ebp+08]
004473D1 - 89 8D DCFEFFFF - mov [ebp-00000124],ecx
004473D7 - 83 BD DCFEFFFF 03 - cmp dword ptr [ebp-00000124],03
004473DE - 0F87 DE010000 - ja 004475C2
004473E4 - 8B 95 DCFEFFFF - mov edx,[ebp-00000124]
004473EA - FF 24 95 FC754400 - jmp dword ptr [edx*4+004475FC]
004473F1 - B8 01000000 - mov eax,00000001
004473F6 - 8D 4C C5 CCE8 - lea ecx,[ebp+eax*8-34-18]

Code:


_MonMovement:

sl = AOBScan("8b 4d e4 f3 0f 10 45 08 f3 0f 11 41 0c 0f b6");
+08

0164F192 - 8B 4D E4 - mov ecx,[ebp-1C]
0164F195 - 8B 49 10 - mov ecx,[ecx+10]
0164F198 - E8 8351FCFF - call 01614320
0164F19D - 8B 88 4C1C0000 - mov ecx,[eax+00001C4C]
0164F1A3 - E8 C805F3FF - call 0157F770
0164F1A8 - 8B 4D E4 - mov ecx,[ebp-1C]
0164F1AB - E8 D0FDFFFF - call 0164EF80
0164F1B0 - 50 - push eax
0164F1B1 - 8B 15 5471FD01 - mov edx,[01FD7154] : [30FCEE8C]
0164F1B7 - 8B 8A D0000000 - mov ecx,[edx+000000D0]
0164F1BD - E8 2E53FEFF - call 016344F0
0164F1C2 - 8B 4D E4 - mov ecx,[ebp-1C] <-- SL
0164F1C5 - F3 0F10 45 08 - movss xmm0,[ebp+08]
0164F1CA - F3 0F11 41 0C - movss [ecx+0C],xmm0 <--- HP
0164F1CF - 0FB6 15 C935FD01 - movzx edx,byte ptr [01FD35C9] : [00]
0164F1D6 - 85 D2 - test edx,edx
0164F1D8 - 74 02 - je 0164F1DC
0164F1DA - EB 7B - jmp 0164F257
0164F1DC - 0FB6 45 14 - movzx eax,byte ptr [ebp+14]
0164F1E0 - 85 C0 - test eax,eax
0164F1E2 - 74 02 - je 0164F1E6
0164F1E4 - EB 71 - jmp 0164F257
0164F1E6 - 8B 4D E4 - mov ecx,[ebp-1C]
0164F1E9 - 8B 49 10 - mov ecx,[ecx+10]
0164F1EC - E8 EF7BFCFF - call 01616DE0
0164F1F1 - 89 45 EC - mov [ebp-14],eax
0164F1F4 - 8B 55 EC - mov edx,[ebp-14]
0164F1F7 - 8A 42 10 - mov al,[edx+10]
0164F1FA - 88 45 EB - mov [ebp-15],al
0164F1FD - 0FB6 75 EB - movzx esi,byte ptr [ebp-15]
0164F201 - 6A 00 - push 00
0164F203 - 8B 0D 0433FD01 - mov ecx,[01FD3304] : [27CC9D2C]
0164F209 - E8 E2EAE0FE - call 0045DCF0
0164F20E - 3B F0 - cmp esi,eax
0164F210 - 75 45 - jne 0164F257


..........................................................修改器2分隔..........................

tested with v1.0.31758 and v1.1.31758


http://dl.dbank.com/c0ppxf4eb0


1. Add resources with CTRL+F1-F4
2. Add units with CTRL+F5-F7
3. Unlimited Movement Points
4. Add ability points
5. Add EXP with CTRL+F8-F9


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-5-6 03:50 , Processed in 0.032174 second(s), 18 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表