58
"[X] <== Star Wars: Empire at War GOLD v1.05 GOG Script v2.0 AOB"
FF0000
Auto Assembler Script
{
===========================================
Game Title : Star Wars - Empire at War GOLD
Game Version : 1.05.48808 (GOG)
Game Sponsor : Torrent
Process Name : sweaw.exe
Script Version: 2.0 (AOB)
CE Version : 6.6
Release date : 02-May-2017
Author : Recifense
History:
07-May-14: First Release
16-Dec-15: Added quick production (s2.0)
02-May-17: Release for v1.05.48808 (GOG)
Features:
- Minimum Resource
- God Mode
- Full Shield
- Unlimited Units
- Quick Production
- Some Pointers
===========================================
}
//=========================================
// Definitions
define(LUDO,"sweaw.exe")
//define(FHPR,sweaw.exe+0000687f) //=
//define(GDMD,sweaw.exe+001f993d) //=
//define(GDM1,sweaw.exe+0023fdf4) //=
//define(MUSD,sweaw.exe+00386ea0) //=
//define(MOAR,sweaw.exe+0019f0ce) //=
//define(MOPP,sweaw.exe+002fd4bb) //=
//=========================================
// Constants used in the script (that can be changed)
//define(ctMMON,#63000) // Minimum Money
//define(ctMATT,#10) // Minimum Attributes
//=========================================
[ENABLE]
//=========================================
//LuaCall(CheckVersion())
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded
AOBScanModule(FHPR,sweaw.exe,d9 40 54 d9 7c 24 06 b9 ?? ?? ?? ?? 0f b7 44 24 06 80 cc 0c 89 44)
AOBScanModule(GDMD,sweaw.exe,8b 46 38 d9 5e 38 8b 8e 70 01 00 00 56 89 44 24 08 e8 ?? ?? ?? ??)
AOBScanModule(GDM1,sweaw.exe,d9 46 14 8b 44 24 1c d8 64 24 20 6a 00 50 8b ce d9 5e 14 e8 ?? ??)
AOBScanModule(MUSD,sweaw.exe,89 95 c0 00 00 00 89 7b 28 8b 4e 2c 0f 95 c0 3b 0d ?? ?? ?? ?? ??)
AOBScanModule(MOAR,sweaw.exe,33 db 39 5e 08 ?? ?? 57 8b 44 24 18 53 50 8b cd e8 ?? ?? ?? ?? d8)
AOBScanModule(MOPP,sweaw.exe,d9 5e 14 5e c3 56 8b f1 8b 46 18 50 b9 ?? ?? ?? ?? e8 ?? ?? ?? ??)
//=========================================
alloc(MyCode,4096,LUDO)
//=========================================
// Declaration section
label(_FindHumanPlayer)
label(_BackFHP)
label(_ExitFHP)
label(_GodMode)
label(_BackGMD)
label(_ExitGMD)
label(_GodMode1)
label(_BackGM1)
label(_ExitGM1)
label(_MonUnitShield)
label(_BackMUS)
label(_ExitMUS)
label(_MonArmyReinf)
label(_BackMAR)
label(_ExitMAR)
label(_MonProdProg)
label(_BackMPP)
label(_ExitMPP)
label(iEnableMPR)
label(iEnableGMD)
label(iEnableMUS)
label(iEnableMAR)
label(iEnableMPP)
label(iPlayerID)
label(fMinRes)
label(pRes)
label(pArmy)
//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(iEnableMPR)
registersymbol(iEnableGMD)
registersymbol(iEnableMUS)
registersymbol(iEnableMAR)
registersymbol(iEnableMPP)
registersymbol(iPlayerID)
registersymbol(fMinRes)
registersymbol(pRes)
registersymbol(pArmy)
registersymbol(FHPR)
registersymbol(GDMD)
registersymbol(GDM1)
registersymbol(MUSD)
registersymbol(MOAR)
registersymbol(MOPP)
//=========================================
MyCode:
//=========================================
// Main game screen
_FindHumanPlayer:
push ecx
mov [pRes],eax
mov ecx,[eax+34]
mov [iPlayerID],ecx
cmp dword ptr [iEnableMPR],0
je _ExitFHP // Jump if feature is disabled
mov ecx,[fMinRes] // Get minimum value
cmp ecx,[eax+54]
js _ExitFHP
mov [eax+54],ecx
_ExitFHP:
pop ecx
fld dword ptr [eax+54] // Original code (rd Gold)
fnstcw [esp+06] // Original code
jmp _BackFHP // Back to main code
//=========================================
// During Combat (ground)
_GodMode:
cmp dword ptr [iEnableGMD],0
je _ExitGMD // Jump if feature is disabled
mov eax,[iPlayerID]
cmp eax,[esi+34]
jne _ExitGMD
fstp st(0) // Discard value
fld dword ptr [esi+38] // Get current HP value
_ExitGMD:
mov eax,[esi+38] // Original code (rd HP)
fstp dword ptr [esi+38] // Original code (upd HP)
jmp _BackGMD // Back to main code
//=========================================
// During Combat (space)
_GodMode1:
cmp dword ptr [iEnableGMD],0
je _ExitGM1 // Jump if feature is disabled
mov eax,[esi+08] // Get part owner (ship)
mov eax,[eax+34] // Get Owner ID
cmp eax,[iPlayerID] // Is it a player´s unit?
jne _ExitGM1 // Jump if false
mov dword ptr [esp+20],0 // Make value2decrease = 0
_ExitGM1:
fld dword ptr [esi+14] // Original code (get part HP)
mov eax,[esp+1c] // Original code
jmp _BackGM1 // Back to main code
//=========================================
// During combat
_MonUnitShield:
pushfd
push ecx
cmp dword ptr [iEnableMUS],0
je _ExitMUS // Jump if feature is disabled
test esi,esi
jz _ExitMUS
mov ecx,[iPlayerID] // Get player ID
cmp ecx,[esi+34] // Is it a player´s unit?
jne _ExitMUS // Jump if false
cmp edx,[ebp+000000c0]
jge _ExitMUS
mov edx,[ebp+000000c0] // Get current Shield
_ExitMUS:
pop ecx
popfd
mov [ebp+000000c0],edx // Original code
jmp _BackMUS // Back to main code
//=========================================
// During Combat
_MonArmyReinf:
cmp dword ptr [iEnableMAR],0
je _ExitMAR // Jump if feature is disabled
cmp edi,[iPlayerID]
jne _ExitMAR
mov [pArmy],esi
mov dword ptr [esi+08],0
_ExitMAR:
xor ebx,ebx // Original code
cmp [esi+08],ebx // Original code
jmp _BackMAR // Back to main code
//=========================================
// At the strategic screen
_MonProdProg:
cmp dword ptr [iEnableMPP],0
je _ExitMPP // Jump if feature is disabled
cmp edi,[pRes]
jne _ExitMPP
cmp dword ptr [esi+10],#10
js _ExitMPP
mov dword ptr [esi+10],#10
_ExitMPP:
fstp dword ptr [esi+14] // Original code
pop esi // Original code
ret // Original code
jmp _BackMPP // Back to main code
//=========================================
db '=============================>'
db 'CE6.6 Script by Recifense 050217'
//=========================================
// Variables
iEnableMPR:
dd 0
iEnableGMD:
dd 0
iEnableMUS:
dd 0
iEnableMAR:
dd 0
iEnableMPP:
dd 0
iPlayerID:
dd 0
fMinRes:
dd (float)64000.0
pRes:
dd MyCode
pArmy:
dd 0
//=========================================
// Hacking Points
FHPR:
jmp _FindHumanPlayer
nop
nop
_BackFHP:
GDMD:
jmp _GodMode
nop
_BackGMD:
GDM1:
jmp _GodMode1
nop
nop
_BackGM1:
MUSD:
jmp _MonUnitShield
nop
_BackMUS:
MOAR:
jmp _MonArmyReinf
_BackMAR:
MOPP:
jmp _MonProdProg
_BackMPP:
//=========================================
// Script for Restoring Original Codes
[DISABLE]
FHPR:
// fld dword ptr [eax+54]
// fnstcw [esp+06]
db d9 40 54 d9 7c 24 06
GDMD:
// mov eax,[esi+38]
// fstp dword ptr [esi+38]
db 8b 46 38 d9 5e 38
GDM1:
// fld dword ptr [esi+14]
// mov eax,[esp+1C]
db d9 46 14 8b 44 24 1c
MUSD:
// mov [ebp+000000C0],edx
db 89 95 c0 00 00 00
MOAR:
// xor ebx,ebx
// cmp [esi+08],ebx
db 33 db 39 5e 08
MOPP:
// fstp dword ptr [esi+14]
// pop esi
// ret
db d9 5e 14 5e c3
//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(iEnableMPR)
unregistersymbol(iEnableGMD)
unregistersymbol(iEnableMUS)
unregistersymbol(iEnableMAR)
unregistersymbol(iEnableMPP)
unregistersymbol(iPlayerID)
unregistersymbol(fMinRes)
unregistersymbol(pRes)
unregistersymbol(pArmy)
unregistersymbol(FHPR)
unregistersymbol(GDMD)
unregistersymbol(GDM1)
unregistersymbol(MUSD)
unregistersymbol(MOAR)
unregistersymbol(MOPP)
//=========================================
dealloc(MyCode)
//============= Scripts End ===============
// ****************************************
// NOTES
// ****************************************
{
}
60
"Enable/Disable Minimum Resource =>(1/0)"
008000
4 Bytes
iEnableMPR
Set Value
17
45
1
0
Set Value
17
46
0
1
64
"Minimum Resource Value ==>"
0080FF
Float
fMinRes
59
"Enable/Disable God Mode => (1/0)"
008000
4 Bytes
iEnableGMD
Set Value
17
36
1
0
Set Value
17
35
0
1
61
"Enable/Disable Full Shield => (1/0)"
008000
4 Bytes
iEnableMUS
Set Value
17
36
1
0
Set Value
17
35
0
1
62
"Enable/Disable Unlimited Army Size (Ground) => (1/0)"
008000
4 Bytes
iEnableMAR
Set Value
17
33
1
0
Set Value
17
34
0
1
78
"Enable/Disable Quick Production/Construction => (1/0)"
008000
4 Bytes
iEnableMPP
Set Value
17
33
1
0
Set Value
17
34
0
1
Recifense
20170502
===========================================
Game Title : Star Wars - Empire at War GOLD
Game Version : 1.05.48808 (GOG)
Game Sponsor : Torrent
Process Name : sweaw.exe
Script Version: 2.0 (AOB)
CE Version : 6.6
Release date : 02-May-2017
Author : Recifense
History:
07-May-14: First Release
16-Dec-15: Added quick production (s2.0)
02-May-17: Release for v1.05.48808 (GOG)
Features:
- Minimum Resource [1]
- God Mode [2]
- Full Shield [3]
- Unlimited Units [4]
- Quick Production [5]
- Some Pointers
===========================================
[1] For Human Player Only (default = 63000);
[2] Player's units/buildings Only;
[3] Player's units Only;
[4] For Human Player Only;
[5] For Human Player Only;
===========================================
[USAGE]
1) Run CE65 or greater;
2) Run Game;
3) Load the game process "sweaw.exe" in CE;
4) Load the table;
5) Activate the script (in Blue)
4) Change the value to 1 of each cheat you want to use (in Green);
5) Game On;
===========================================
[HOTKEYS]
CTRL+Home = Enable GM/FS cheats;
CTRL+End = Disable GM/FS cheats;
-----------
CTRL+PageUp = Enable UAS cheat;
CTRL+PageDown = Disable UAS cheat;
-----------
CTRL+Insert = Enable MR cheat;
CTRL+Delete = Disable MR cheat;
===========================================
[ADVICE]
When you can,save the game before starting using table/cheat. So you can always come back in case you don't like the result.
===========================================
[INFO]
Tested on Win 10 64bits
===========================================
Cheers!