Command & Conquer – Red Alert 3 Uprising

Command & Conquer - Red Alert 3 Uprising

All cheats:
----------
Submitted by: indra

// Command and Conquer - Red Alert 3 - Uprising
// Game Version : 1.0.3313.38400
// Script Version: 1.1
// CE Version : 5.5
// Resource, Research, Credits and GodMode 
// 03-Apr-2009
// 09-May-2009: Removing Side-effect at GM script

[ENABLE]
alloc(MyCode,1024)

//=============================
label(_MonResource)
label(_GodMode)
label(_MonRPoints)
label(_MonPlayerID)
label(_MonUnit)
label(_MonUnit1)
label(_MonCred)
label(_MonSel)
label(_BackMR)
label(_BackGM)
label(_BackMRP)
label(_BackMPI)
label(_BackMU)
label(_BackMU1)
label(_BackMC)
label(_BackMS)
label(_ExitMR)
label(_ExitGM)
label(_ExitMRP)
label(_ExitMC)
label(pResource)
label(pLastOne)
label(pLastSel)
label(pUnit)
label(pUnitHP)
label(iPlayerID)
label(iEnableGM)
label(iEnableMRP)
label(iEnableMR)
label(iEnableMC)
label(iMinCred)

registersymbol(MyCode)
registersymbol(pLastOne)
registersymbol(iEnableGM)
registersymbol(iEnableMRP)
registersymbol(iEnableMR)
registersymbol(iEnableMC)
registersymbol(pUnit)
registersymbol(pUnitHP)
registersymbol(iMinCred)
registersymbol(pLastSel)

//=============================
// Hacking Points
ra3ep1_1.0.game+44aaac:
jmp _MonResource
nop
_BackMR:

ra3ep1_1.0.game+379a9e:
jmp _GodMode
_BackGM:

ra3ep1_1.0.game+466295:
jmp _MonRPoints
_BackMRP:

ra3ep1_1.0.game+5a41a5:
jmp _MonPlayerID
nop
_BackMPI:

ra3ep1_1.0.game+40c364:
jmp _MonUnit
nop
_BackMU:

ra3ep1_1.0.game+2f2663:
jmp _MonUnit1
nop
_BackMU1:

ra3ep1_1.0.game+6c9e95:
jmp _MonCred
_BackMC:

ra3ep1_1.0.game+72da66:
jmp _MonSel
nop
nop
_BackMS:

MyCode:
//=========================================
_MonResource:
push eax
mov eax,[iPlayerID]
cmp eax,[ecx+20] // Player's?...
pop eax
mov ecx,[ecx+000000e4] // Original code
mov [pResource],ecx // Save ptr for debugging
jne _ExitMR // ...Jump if false

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

mov ecx,[ecx]

cmp dword ptr [ecx+04],#100000
jge _ExitMR // Jump if greater then 100000

mov dword ptr [ecx+04],#100000

_ExitMR:
mov ecx,[pResource]
jmp _BackMR // back to main code

//=========================================
_GodMode:
push eax

cmp esi,[pUnitHP] // Is it a Unit?
jne _ExitGM // Jump if it is an effect

mov eax,[esi-08] // Get ptr to Unit
or eax,eax // Null Ptr?
jz _ExitGM // Jump if true

push ebx
mov ebx,[eax+00000390] // 09-May-2009 
or ebx,[eax+00000394] // 09-May-2009
or ebx,[eax+000003a0] // 09-May-2009
or ebx,[eax+000003ac] // 09-May-2009
pop ebx
jz _ExitGM // Jump if all pointers are invalid

mov eax,[eax+00000428] // Get ptr to Player
mov eax,[eax+20] // Get ID

cmp eax,[iPlayerID] // Player's?...
jne _ExitGM // Jump if false

mov [pLastOne],esi // Save ptr for debugging

cmp dword ptr [iEnableGM],0
je _ExitGM // Jump if God Mode is disabled

mov eax,47435000 // 50000.0
mov [esi+10],eax // Max HP = 50000
mov [esi+0c],eax // Max HP = 50000

movss xmm0,[esi+0c] // Get Maximum HP

_ExitGM:
movss [esi+04],xmm0 // Original code

pop eax
test eax,eax // Restore EFLAGS
jmp _BackGM // Back to main code

//=========================================
// Quick Research
_MonRPoints:
push edx

movss [esi+2c],xmm0 // Original code

cmp dword ptr [iEnableMRP],0
je _ExitMRP // Jump if Quick Research is disabled

mov edx,[esi+28] // Get 1st level pointer
mov edx,[edx+20] // Get 2nd level pointer
cmp edx,[iPlayerID] // Players research?
jne _ExitMRP // Jump if false

mov edx,43af0000 // 350.0
cmp edx,[esi+2c]
jle _ExitMRP // Jump if current value >= 350

mov [esi+2c],edx // Current points = 350.0

_ExitMRP:
pop edx
jmp _BackMRP // Back to main code

//=========================================
_MonPlayerID:
mov eax,[edi+00000080] // Original code
mov [iPlayerID],eax // Save Player ID for further use
jmp _BackMPI // Back to main code

//=========================================
_MonUnit:
mov ecx,[esi+0000034c] // Original code
mov [pUnit],esi // Save ptr for debugging
mov [pUnitHP],ecx // Save ptr for further use
jmp _BackMU // Back to main code

//=========================================
_MonUnit1:
// mov esi,[ebx+0000034c] // Original code
mov [pUnit],ecx // Save ptr for debugging
mov ecx,[ecx+0000034c] 
mov [pUnitHP],ecx // Save ptr for further use
jmp _BackMU1 // Back to main code

//=========================================
_MonCred:
call ra3ep1_1.0.game+0d3130 // Original code
push edx

cmp dword ptr [iEnableMC],0
je _ExitMC // Jump if Min Credits is disabled

mov edx,[iMinCred] // Get Minimum Credits value
cmp edx,[ebx+08] // Less or equal? 
jle _ExitMC // Jump if true

mov [ebx+08],edx // Make credits = minimum

_ExitMC:
pop edx
jmp _BackMC // Back to main code

//=========================================
_MonSel:
mov [pLastSel],ecx // Save ptr for debugging
mov [esi+0c],ra3ep1_1.0.game+89c354 // Original code
jmp _BackMS // Back to main code

//=========================================
// Variables
iPlayerID:
dd 0
pResource:
dd 0
pLastOne:
dd 0
pLastSel:
dd 0 
iEnableGM:
dd 1
iEnableMRP:
dd 1
iEnableMR:
dd 1
iEnableMC:
dd 0
pUnit:
dd 0
pUnitHP:
dd 0
iMinCred:
dd #50000

//=========================================
// Original Codes

[DISABLE]
ra3ep1_1.0.game+44aaac:
mov ecx,[ecx+000000e4]

ra3ep1_1.0.game+379a9e:
movss [esi+04],xmm0

ra3ep1_1.0.game+466295:
movss [esi+2c],xmm0

ra3ep1_1.0.game+5a41a5:
mov eax,[edi+00000080]

ra3ep1_1.0.game+40c364:
mov ecx,[esi+0000034c]

ra3ep1_1.0.game+2f2663:
mov ecx,[ecx+0000034c]

ra3ep1_1.0.game+6c9e95:
call ra3ep1_1.0.game+0d3130 

ra3ep1_1.0.game+72da66:
mov [esi+0c],ra3ep1_1.0.game+89c354

unregistersymbol(MyCode)
unregistersymbol(pLastOne)
unregistersymbol(iEnableGM)
unregistersymbol(iEnableMRP)
unregistersymbol(iEnableMR)
unregistersymbol(iEnableMC)
unregistersymbol(pUnit)
unregistersymbol(pUnitHP)
unregistersymbol(iMinCred)
unregistersymbol(pLastSel)

dealloc(MyCode)


Hints:
------
Since the most advance group in the game is rising sun its a good idea spread 
base quickly and mechabay cores and only and cover with fortress wall your ore
mines and set up defences quick for allies since they are the slowest in 
construction you must really make an air field and defence turrents and chryo
legonairs.

Leave a Comment

Your email address will not be published. Required fields are marked *