Command & Conquer – Red Alert 3 Uprising Cheats
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.