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.