Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


how do I convert a cheat table for a new version?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
davethewave_83
Advanced Cheater
Reputation: 0

Joined: 03 May 2006
Posts: 65

PostPosted: Wed May 25, 2011 7:17 pm    Post subject: how do I convert a cheat table for a new version? Reply with quote

someone posted a cheat table for anno 1404 (original release version 1.00.1762) but I've updated the game to 1.01.2037 and now the cheat tables don't work.

I'd like to convert it with as much ease as possible, any tips on how to do this? I've tried searching for code mov edx,[eax+04] but that comes up with thousands of results, I'm really novice at this so if anyone experienced can give me info on how to convert that'd be great! Smile

I currently have both versions of anno 1404 on the drive, I can swap back and forth between them (if that will help in converting the table? )

I want to play the new version only because it allows the user to make/play custom maps.


below is the script, if needed.

Code:
// Anno 1404 Dawn Of Discovery
// Game Version  : 1.00.1762
// Script Version: 1.0
// CE Version    : 5.5
// GodMode, Treasure, Honour, WareHouse and Ship?s Cargo
// 02-Aug-2009

[ENABLE]
alloc(MyCode,1024)

// Declaration section
label(_MonCargo)
label(_BackMC)
label(_ExitMC)
label(_MonTreasure)
label(_BackMT)
label(_ExitMT)
label(_GodMode)
label(_BackGM)
label(_ExitGM)
label(_MonWareHouse)
label(_BackMW)
label(_ExitMW)
label(_MonT0)
label(pCargo)
label(pTreasure)
label(iEnableMC)
label(iEnableMT)
label(iEnableMH)
label(iEnableGM)
label(iEnableMW)
label(iMinTreasure)
label(iMinHonour)

registersymbol(MyCode)
registersymbol(pCargo)
registersymbol(pTreasure)
registersymbol(iEnableMC)
registersymbol(iEnableMT)
registersymbol(iEnableMH)
registersymbol(iEnableGM)
registersymbol(iEnableMW)

//=========================================
// Hacking Points
Anno4.exe+1eefd5:
 jmp _MonCargo
_BackMC:

Anno4.exe+14758c:
 jmp _MonTreasure
 nop
_BackMT:

Anno4.exe+306997:
 jmp _GodMode
_BackGM:

Anno4.exe+344715:
 jmp _MonWareHouse
_BackMW:

MyCode:
//=========================================
_MonCargo:
 mov edx,[eax+04]            // Get ptr to ship?s Cargo (Original code)
 mov ecx,[eax]               // Get Cargo Type          (Original code)
 or ecx,ecx                  // Valid?
 jz _ExitMC                  // Jump if false
 
 mov [pCargo],eax            // Save ptr to last valid cargo

 cmp dword ptr [iEnableMC],0
 je _ExitMC                  // Jump if feature is disabled
 
 cmp ecx,#100                // Special cargo?
 jge _ExitMC                 // Jump if true
 
 cmp edx,#30                 // Current Cargo >= 30?
 jge _ExitMC                 // Jump if true

 mov edx,#30
 mov [eax+04],edx            // Make cargo = 30
 
_ExitMC:
 mov ecx,[eax]               // Read cargo type (Original code)
 jmp _BackMC                 // Back to main code

//=========================================
_MonTreasure:
 mov [pTreasure],ebp         // Save ptr for debugging
 
 cmp dword ptr [iEnableMT],0
 je _MonT0                   // Jump if feature is disabled
 
 mov eax,[iMinTreasure]
 cmp eax,[ebp+000000a0]
 jle _MonT0                  // Jump if current treasure >= minimum
 
 mov [ebp+000000a0],eax      // Make treasure = minimum

_MonT0:
 cmp dword ptr [iEnableMH],0
 je _ExitMT                  // Jump if feature is disabled
 
 cmp eax,[ebp+000000a8]
 or eax,eax
 jz _ExitMT                  // Jump if honour = 0
 
 mov eax,[iMinHonour]
 cmp eax,[ebp+000000a8]
 jle _ExitMT                 // Jump if current honour >= minimum

 mov [ebp+000000a8],eax      // Make honour = minimum
 
_ExitMT:
 mov eax,[ebp+000000a0]      // Original code
 jmp _BackMT                 // Back to main code

//=========================================
_GodMode:
 call anno4.exe+9c9230       // Original code
 pushfd
 
 cmp dword ptr [iEnableGM],0
 je _ExitGM                  // Jump if feature is disabled

 mov ecx,[ebx+04]            // Get ptr to unit
 cmp dword ptr [ecx+000000c0],0 // Player?s unit?
 jne _ExitGM                 // Jump if false
 
 mov dword ptr [ebx+08],#40960000  // Make %HP = 100%
 mov dword ptr [ebx+0c],00   // Make %HP = 100%
 
 xor eax,eax
 mov edx,eax                 // % to decrease = 0
   
_ExitGM:
 popfd
 jmp _BackGM                 // Back to main code

//=========================================
// ESI = pStoreHouse
// ECX = pStoreItem
_MonWareHouse:
 push ebx

 cmp dword ptr [iEnableMW],0
 je _ExitMW                  // Jump if feature is disabled

 or esi,esi
 je  _ExitMW                 // Jump if invalid pointer

 or ecx,ecx
 je  _ExitMW                 // Jump if invalid pointer
 
 cmp dword ptr [esi+00000324],0 // Player?s Warehouse?
 jne _ExitMW                 // Jump if false

 mov ebx,[esi+08]            // Get default capacity
 mov [ecx+14],ebx            // Update item qtty.
   
_ExitMW:
 pop  ebx
 
 cmp byte ptr [esp+14],00   // Original code
 jmp _BackMW                // Back to main code

//=========================================
// Variables
pCargo:
 dd 0
pTreasure:
 dd 0
iEnableMC:
 dd 1
iEnableMT:
 dd 1
iEnableMH:
 dd 1
iEnableGM:
 dd 1
iEnableMW:
 dd 1 
iMinTreasure:
 dd #102400000
iMinHonour:
 dd #512000
   
//=========================================
// Original Codes
[DISABLE]
Anno4.exe+1eefd5:
 mov edx,[eax+04]
 mov ecx,[eax]
 
Anno4.exe+14758c:
 mov eax,[ebp+000000a0]
 
Anno4.exe+306997:
 call anno4.exe+9c9230
 
Anno4.exe+344715:
 cmp byte ptr [esp+14],00
   
dealloc(MyCode)
unregistersymbol(MyCode)
unregistersymbol(pCargo)
unregistersymbol(iEnableMC)
unregistersymbol(iEnableMT)
unregistersymbol(iEnableMH)
unregistersymbol(iEnableGM)
unregistersymbol(iEnableMW)
unregistersymbol(pTreasure)

_________________
All hail our glorious leader!
The forum rules make our lives so much easier. We don't have to think anymore, all thanks to our leader!
Don't you agree, comrade ?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites