Page 1 of 1

'SuperSpeed' for Battle for Middle-Earth 1/2/2WK

Posted: Fri Jul 14, 2017 9:54 am
by STN
Made by peter4d5

Hi..

Here is my SuperSpeed Collections for Battle for Middle-Earth 1/2/2WK which based on Recifense's Scripts(Big Thank).

Only BFME 1 is selected routine,that means you have to Mouseover/select units for SuperSpeed.
(If anyone has FastUpgrade please tell me).

Have fun..
Code:

{
===========================================
Script Name : SuperSpeed_BFME1.ct
Game Title : The Lord of the Rings - Battle for Middle-Earth
Game Version : 1.03
Process Name : Game.dat
Use with : Recifense's BFME v1.02/1.03 Script AOB
Author : Peter4d5
Date : 11/jan/2014
===========================================
}
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(FindEsi)
registersymbol(FindEsi)
label(AddSpeed)
registersymbol(AddSpeed)
label(iFastUnit)
registersymbol(iFastUnit)
label(Both)

newmem:
mov [FindEsi],esi
push eax

//--- Check pPlayer
cmp [iFastUnit],0
je Both
test esi,esi
jz originalcode

mov eax,[esi+23c]
test eax,eax
jz originalcode

mov eax,[eax+04]
test eax,eax
jz originalcode

mov eax,[eax+08]
test eax,eax
jz originalcode

cmp eax,[pPlayer]
jne originalcode

//---SuperSpeed
mov eax,[esi+204]
test eax,eax
je originalcode
mov [eax+1d4],(float)500

//--- find add speed
lea eax,[eax+1d4]
mov [AddSpeed],eax

//------- Fast unit
Both:
mov eax,[esi+04]
mov [eax+03bc],0 // decrease time

originalcode:
pop eax
mov ecx,esi
call game.dat+3251F

exit:
jmp returnhere

//-------- Data
FindEsi:
dd 0
AddSpeed:
dd 0
iFastUnit: //iFastUnit/Building 1=player only / 0=both
dd 1


"game.dat"+41CAE3:
jmp newmem
nop
nop
returnhere:


[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"game.dat"+41CAE3:
mov ecx,esi
call game.dat+3251F
//Alt: db 8B CE E8 35 5A C1 FF
unregistersymbol(FindEsi)
unregistersymbol(AddSpeed)
unregistersymbol(iFastUnit)

Code:

{
===========================================
Script Name : SuperSpeed_BFME2.ct
Game Title : The Lord of the Rings - Battle for Middle-Earth 2
Game Version : 1.6
Process Name : Game.dat
Use with : Recifense's tLotR BfME 2 v16 Script
Author : Peter4d5
Date : 11/jan/2014
===========================================
}
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

push eax
test edi,edi
jz originalcode

//---- Check pPlayer
mov eax,[edi+304]
test eax,eax
jz originalcode

mov eax,[eax+30]
test eax,eax
jz originalcode

mov eax,[eax+08]
test eax,eax
jz originalcode

cmp eax,[pPlayer]
jne originalcode

//---- SuperSpeed
mov [ecx+000001F8],(float)500

originalcode:
pop eax
movss xmm1,[ecx+000001F8]

exit:
jmp returnhere

"game.dat"+1E46FF:
jmp newmem
nop
nop
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"game.dat"+1E46FF:
movss xmm1,[ecx+000001F8]
//Alt: db F3 0F 10 89 F8 01 00 00

Code:

===========================================
Script Name : SuperSpeed_BFME2WK.ct
Game Title : The Lord of the Rings - BfME2 - The Rise of the Witch-King
Game Version : 2.1
Process Name : Game.dat
Use with : Recifense's tLotR BfME 2 - tRotWK v21 Script
Author : Peter4d5
Date : 11/jan/2014
===========================================
}
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

push eax
test edi,edi
jz originalcode

//---Check pPlayer
mov eax,[edi+031C]
test eax,eax
jz originalcode

mov eax,[eax+30]
test eax,eax
jz originalcode

mov eax,[eax+08]
test eax,eax
jz originalcode

cmp eax,[pPlayer]
jne originalcode

//---SuperSpeed
mov [ecx+000001F8],(float)500

originalcode:
pop eax
movss xmm1,[ecx+000001F8]

exit:
jmp returnhere

"game.dat"+1E3F67:
jmp newmem
nop
nop
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"game.dat"+1E3F67:
movss xmm1,[ecx+000001F8]
//Alt: db F3 0F 10 89 F8 01 00 00

Re: 'SuperSpeed' for Battle for Middle-Earth 1/2/2WK

Posted: Fri Jul 21, 2017 12:42 am
by barashkafromRO
STN wrote:
Fri Jul 14, 2017 9:54 am
Made by peter4d5

Hi..

Here is my SuperSpeed Collections for Battle for Middle-Earth 1/2/2WK which based on Recifense's Scripts(Big Thank).

Only BFME 1 is selected routine,that means you have to Mouseover/select units for SuperSpeed.
(If anyone has FastUpgrade please tell me).

Have fun..
Code:

{
===========================================
Script Name : SuperSpeed_BFME1.ct
Game Title : The Lord of the Rings - Battle for Middle-Earth
Game Version : 1.03
Process Name : Game.dat
Use with : Recifense's BFME v1.02/1.03 Script AOB
Author : Peter4d5
Date : 11/jan/2014
===========================================
}
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(FindEsi)
registersymbol(FindEsi)
label(AddSpeed)
registersymbol(AddSpeed)
label(iFastUnit)
registersymbol(iFastUnit)
label(Both)

newmem:
mov [FindEsi],esi
push eax

//--- Check pPlayer
cmp [iFastUnit],0
je Both
test esi,esi
jz originalcode

mov eax,[esi+23c]
test eax,eax
jz originalcode

mov eax,[eax+04]
test eax,eax
jz originalcode

mov eax,[eax+08]
test eax,eax
jz originalcode

cmp eax,[pPlayer]
jne originalcode

//---SuperSpeed
mov eax,[esi+204]
test eax,eax
je originalcode
mov [eax+1d4],(float)500

//--- find add speed
lea eax,[eax+1d4]
mov [AddSpeed],eax

//------- Fast unit
Both:
mov eax,[esi+04]
mov [eax+03bc],0 // decrease time

originalcode:
pop eax
mov ecx,esi
call game.dat+3251F

exit:
jmp returnhere

//-------- Data
FindEsi:
dd 0
AddSpeed:
dd 0
iFastUnit: //iFastUnit/Building 1=player only / 0=both
dd 1


"game.dat"+41CAE3:
jmp newmem
nop
nop
returnhere:


[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"game.dat"+41CAE3:
mov ecx,esi
call game.dat+3251F
//Alt: db 8B CE E8 35 5A C1 FF
unregistersymbol(FindEsi)
unregistersymbol(AddSpeed)
unregistersymbol(iFastUnit)

Code:

{
===========================================
Script Name : SuperSpeed_BFME2.ct
Game Title : The Lord of the Rings - Battle for Middle-Earth 2
Game Version : 1.6
Process Name : Game.dat
Use with : Recifense's tLotR BfME 2 v16 Script
Author : Peter4d5
Date : 11/jan/2014
===========================================
}
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

push eax
test edi,edi
jz originalcode

//---- Check pPlayer
mov eax,[edi+304]
test eax,eax
jz originalcode

mov eax,[eax+30]
test eax,eax
jz originalcode

mov eax,[eax+08]
test eax,eax
jz originalcode

cmp eax,[pPlayer]
jne originalcode

//---- SuperSpeed
mov [ecx+000001F8],(float)500

originalcode:
pop eax
movss xmm1,[ecx+000001F8]

exit:
jmp returnhere

"game.dat"+1E46FF:
jmp newmem
nop
nop
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"game.dat"+1E46FF:
movss xmm1,[ecx+000001F8]
//Alt: db F3 0F 10 89 F8 01 00 00

Code:

===========================================
Script Name : SuperSpeed_BFME2WK.ct
Game Title : The Lord of the Rings - BfME2 - The Rise of the Witch-King
Game Version : 2.1
Process Name : Game.dat
Use with : Recifense's tLotR BfME 2 - tRotWK v21 Script
Author : Peter4d5
Date : 11/jan/2014
===========================================
}
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

push eax
test edi,edi
jz originalcode

//---Check pPlayer
mov eax,[edi+031C]
test eax,eax
jz originalcode

mov eax,[eax+30]
test eax,eax
jz originalcode

mov eax,[eax+08]
test eax,eax
jz originalcode

cmp eax,[pPlayer]
jne originalcode

//---SuperSpeed
mov [ecx+000001F8],(float)500

originalcode:
pop eax
movss xmm1,[ecx+000001F8]

exit:
jmp returnhere

"game.dat"+1E3F67:
jmp newmem
nop
nop
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"game.dat"+1E3F67:
movss xmm1,[ecx+000001F8]
//Alt: db F3 0F 10 89 F8 01 00 00


All three scripts are broken. There is an error in the line
cmp eax,[pPlayer]
in all three of them, the instruction can't be compiled