Anno 2070 v1.01.6234

Upload your cheat tables here (No requests)
User avatar
STN
Founder
Founder
Posts: 4454
Joined: Thu Mar 02, 2017 7:48 pm
Reputation: 3594

Anno 2070 v1.01.6234

Post by STN »

Hi guys,
Made by Recifense
Here is my contribution for "Anno 2070" Version 1.01.6234. The table contains a script with the following features:

- Minimum Wealth;
- Minimum License;
- Minimum Cargo;
- Minimum Resources;
- Health;
- Useful Pointer;

The table also contains (when the script is active):

- Enable/Disable Minimum Wealth; (default = 1 => ON)(*)
- Enable/Disable Minimum License; (default = 1 => ON)(*)
- Enable/Disable Minimum Cargo; (default = 1 => ON)(*)
- Enable/Disable Minimum Resources; (default = 1 => ON)(*)
- Enable/Disable Health; (default = 1 => ON)(*)
- Minimum Gold Value;
- Selected Ship Last Item ID; (**)
- Selected Ship Last Item Quantity; (**)

(*) These feature can be enabled or disabled by changing its values to 1 or 0 respectively.
(**) The ship should have at least one item loaded. It will be valid for the last one;

Item Type IDs:
Code:

Item Type IDs:
01 = Building Module 02 = Tools 03 = Wood 04 = Glass 05 = Concrete
06 = Steel 07 = Carbon 08 = Fish 09 = Pasta Dish 10 = Health Food
11 = Convenience Food 12 = Luxury Meal 13 = Functional Food 14 = Tea 15 = Bio Drink
16 = Liquor 17 = Champagne 18 = Functional Drink 19 = Plastics 20 = Jewelery
21 = Pharmaceuticals 22 = Communicator 23 = 3D Projector 24 = Service Bots 25 = Coal
26 = Granules 27 = Iron Ore 28 = Iron 29 = Copper 30 = Limestone
31 = Sand 32 = Crude Oil 33 = Oil 34 = Microchips 35 = Sugar
36 = Manganese Nodules 37 = Rare-earth Element 38 = Diamonds 39 = Uranium 40 = Meat
41 = Super Flavor 42 = Explosives 43 = Lobster 44 = Truffle 45 = Grapes
46 = Gold Nuggets 47 = Gold 48 = Omega Acids 49 = Secret Ingredients 50 = Rice
51 = Vegetables 52 = Fruits 53 = Milk 54 = Durum Wheat 55 = Pasta
56 = Corn 57 = Biopolymers 58 = Caffeine 59 = Algae 60 = Fuel Rods
61 = Kerosene 62 = Weapons 63 = Heavy Weapons 64 = High-tech Weapons 65 = Immunity Drugs
66 = Lab Instruments 67 = Neuroimplants 68 = Bionic Suits 69 = Enzymes 70 = Platinum
71 = Sponges 72 = Lithium 73 = Electrolyte Cells 74 = Exoskeletons 75 = Coral


Note: In order to avoiding crashing, the script uses the CE command assert and will NOT load if it is incompatible with the game that is running.

After downloading the table, rename it to Anno5.CT and copy it to the "My Cheat Table" folder.

It is for CE 6.1

Saluton!

PS: I intend to publish the script and notes in this week-end. (I'm still in a hurry!)

=================================
12-Dec-2011: New table with unlimited fuel option.

Cheers!

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1
Attachments
Anno5_v200_script_v20.CT
(19.42 KiB) Downloaded 1158 times

User avatar
Zozinhu
Expert Cheater
Expert Cheater
Posts: 196
Joined: Wed May 31, 2017 11:53 am
Reputation: 13

Re: Anno 2070 v1.01.6234

Post by Zozinhu »

Hello there, I bet no one is playing this game anymore but I decided to play it after a while.

Is it possible to ignore or 0 the cooldown for nukes and buying shares?

Thank you kindly.

Zoe Laroux
Novice Cheater
Novice Cheater
Posts: 19
Joined: Sun Dec 24, 2017 6:13 am
Reputation: 11

Re: Anno 2070 v1.01.6234

Post by Zoe Laroux »

STN wrote:
Thu May 04, 2017 5:47 am
Hi guys,
Made by Recifense
Here is my contribution for "Anno 2070" Version 1.01.6234. The table contains a script with the following

(...)

12-Dec-2011: New table with unlimited fuel option.

Cheers!
Any chance of an update, I cant seem to get it to work, but admittedly, I may be doing something wrong.

mnomic
Noobzor
Noobzor
Posts: 13
Joined: Sat Aug 31, 2019 6:40 am
Reputation: 13

Re: Anno 2070 v1.01.6234

Post by mnomic »

hi,
know it's old, but I came across due to corona shutdown and just wanna share ...
increase Ship/Aircraft speed (and some other vehicles)
{
Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(SHIPSPEED,Anno5.exe,8B 8E E0 00 00 00 8B B6) // should be unique
alloc(newmem,$1000)

label(_ExitSS)
label(code)
label(doit)
label(return)

newmem:
pushfd
mov ecx,[esi+4]
test ecx,ecx
jz _ExitSS

cmp dword ptr [ecx+48],0
jne _ExitSS

cmp dword ptr [ecx+20],#40000109
je doit

cmp dword ptr [ecx+20],#40000110
je doit

cmp dword ptr [ecx+20],#7210000
je doit

cmp dword ptr [ecx+20],#20000
jl _ExitSS

cmp dword ptr [ecx+20],#29999
ja _ExitSS

doit:
mov ecx,#250000
mov [esi+000000E0],ecx
_ExitSS:
popfd
code:
mov ecx,[esi+000000E0]
jmp return

SHIPSPEED:
jmp newmem
nop
return:
registersymbol(SHIPSPEED)

[DISABLE]

SHIPSPEED:
db 8B 8E E0 00 00 00

unregistersymbol(SHIPSPEED)
dealloc(newmem)
Instant develop and research and prepare rockets:
{ Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(FAST_DEV,Anno5.exe,01 46 08 11 56 0C EB) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov eax,#999999
code:
add [esi+08],eax
adc [esi+0C],edx
jmp return

FAST_DEV:
jmp newmem
nop
return:
registersymbol(FAST_DEV)

[DISABLE]

FAST_DEV:
db 01 46 08 11 56 0C

unregistersymbol(FAST_DEV)
dealloc(newmem)
No Cooldown for Rockets (combine with instant prepare rockets)
{ Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(INJECT,Anno5.exe,8B 44 06 10 8B 0D C8 22 58 01) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [esi+eax+10],0
code:
mov eax,[esi+eax+10]
mov ecx,[Anno5.exe+13C22C8]
jmp return

INJECT:
jmp newmem
nop 5
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
db 8B 44 06 10 8B 0D C8 22 58 01

unregistersymbol(INJECT)
dealloc(newmem)
No Cooldown for buying island shares
{ Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(COOLDOWN2,Anno5.exe,2B 84 D3 B0 06 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [ebx+edx*8+000006B0],0
code:
sub eax,[ebx+edx*8+000006B0]
jmp return

COOLDOWN2:
jmp newmem
nop 2
return:
registersymbol(COOLDOWN2)

[DISABLE]

COOLDOWN2:
db 2B 84 D3 B0 06 00 00

unregistersymbol(COOLDOWN2)
dealloc(newmem)
:!: Have fun and keep healthy!

Cheers
--- mnomic

PS: And special Thx to Recifense for his great work !! :D

AllieFalcon07
Noobzor
Noobzor
Posts: 9
Joined: Wed Aug 05, 2020 4:06 am
Reputation: 0

Re: Anno 2070 v1.01.6234

Post by AllieFalcon07 »

I hate to be "that guy" I was using this and want to say thank you.
I couldn't get the 'Instant develop and research and prepare rockets:' into the original script without errors

mnomic
Noobzor
Noobzor
Posts: 13
Joined: Sat Aug 31, 2019 6:40 am
Reputation: 13

Re: Anno 2070 v1.01.6234

Post by mnomic »

Hi! What's the issue ?

User avatar
Eagleyes777
Novice Cheater
Novice Cheater
Posts: 16
Joined: Wed Aug 19, 2020 1:06 pm
Reputation: 1

Re: Anno 2070 v1.01.6234

Post by Eagleyes777 »

mnomic wrote:
Wed Mar 25, 2020 10:50 am
hi,
know it's old, but I came across due to corona shutdown and just wanna share ...
increase Ship/Aircraft speed (and some other vehicles)
{
Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(SHIPSPEED,Anno5.exe,8B 8E E0 00 00 00 8B B6) // should be unique
alloc(newmem,$1000)

label(_ExitSS)
label(code)
label(doit)
label(return)

newmem:
pushfd
mov ecx,[esi+4]
test ecx,ecx
jz _ExitSS

cmp dword ptr [ecx+48],0
jne _ExitSS

cmp dword ptr [ecx+20],#40000109
je doit

cmp dword ptr [ecx+20],#40000110
je doit

cmp dword ptr [ecx+20],#7210000
je doit

cmp dword ptr [ecx+20],#20000
jl _ExitSS

cmp dword ptr [ecx+20],#29999
ja _ExitSS

doit:
mov ecx,#250000
mov [esi+000000E0],ecx
_ExitSS:
popfd
code:
mov ecx,[esi+000000E0]
jmp return

SHIPSPEED:
jmp newmem
nop
return:
registersymbol(SHIPSPEED)

[DISABLE]

SHIPSPEED:
db 8B 8E E0 00 00 00

unregistersymbol(SHIPSPEED)
dealloc(newmem)
Instant develop and research and prepare rockets:
{ Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(FAST_DEV,Anno5.exe,01 46 08 11 56 0C EB) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov eax,#999999
code:
add [esi+08],eax
adc [esi+0C],edx
jmp return

FAST_DEV:
jmp newmem
nop
return:
registersymbol(FAST_DEV)

[DISABLE]

FAST_DEV:
db 01 46 08 11 56 0C

unregistersymbol(FAST_DEV)
dealloc(newmem)
No Cooldown for Rockets (combine with instant prepare rockets)
{ Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(INJECT,Anno5.exe,8B 44 06 10 8B 0D C8 22 58 01) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [esi+eax+10],0
code:
mov eax,[esi+eax+10]
mov ecx,[Anno5.exe+13C22C8]
jmp return

INJECT:
jmp newmem
nop 5
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
db 8B 44 06 10 8B 0D C8 22 58 01

unregistersymbol(INJECT)
dealloc(newmem)
No Cooldown for buying island shares
{ Game : Anno5.exe
Author : mnomic
}

[ENABLE]

aobscanmodule(COOLDOWN2,Anno5.exe,2B 84 D3 B0 06 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [ebx+edx*8+000006B0],0
code:
sub eax,[ebx+edx*8+000006B0]
jmp return

COOLDOWN2:
jmp newmem
nop 2
return:
registersymbol(COOLDOWN2)

[DISABLE]

COOLDOWN2:
db 2B 84 D3 B0 06 00 00

unregistersymbol(COOLDOWN2)
dealloc(newmem)
:!: Have fun and keep healthy!

Cheers
--- mnomic

PS: And special Thx to Recifense for his great work !! :D
Hi there! since this covid-19 is getting to my nerve, just started playing this Anno 2070 and besides it's on sale for cheap $7 something. anyways I saw your script and I am not really familiar using this script unlike the cheat tables. If you don't mind, how do I use this on the game, should I insert this on the main game ini file of the game or somewhere else, sorry for my ignorance. Thanks in advance for any reply. I hope you still play this game. :)

mnomic
Noobzor
Noobzor
Posts: 13
Joined: Sat Aug 31, 2019 6:40 am
Reputation: 13

Re: Anno 2070 v1.01.6234

Post by mnomic »

Hi!
Oh, man! Where should I start... :)
These are scripts to be used inside the cheat engine, not in the game itself. So first download and install the cheat engine, follow the tutorial to get into the stuff, and after that, if you still haven't understood it, let me know again...
Cheers!

User avatar
Eagleyes777
Novice Cheater
Novice Cheater
Posts: 16
Joined: Wed Aug 19, 2020 1:06 pm
Reputation: 1

Re: Anno 2070 v1.01.6234

Post by Eagleyes777 »

mnomic wrote:
Wed Aug 19, 2020 2:54 pm
Hi!
Oh, man! Where should I start... :)
These are scripts to be used inside the cheat engine, not in the game itself. So first download and install the cheat engine, follow the tutorial to get into the stuff, and after that, if you still haven't understood it, let me know again...
Cheers!
Wow, I was actually crossing my fingers if you will respond since this game is already old, but not for me though, I am just actually starting it. Starting to like it even though its quite complicated unlike anno 1800. Anyways, I have been using Cheat engine and usually I just choose the game and click on the cheat table and choose in the box which cheat to use, but with your script, I have not done inserting script itself into the cheat engine. Should I just copy the script and paste it inside the cheat engine? thanks again for the quick response! greatly appreciate it!

User avatar
Eagleyes777
Novice Cheater
Novice Cheater
Posts: 16
Joined: Wed Aug 19, 2020 1:06 pm
Reputation: 1

Re: Anno 2070 v1.01.6234

Post by Eagleyes777 »

I think I already figured it out, let me see if it will work in-game. I hope I did it right. I added it to the original cheat table Recifense made. I'll update you once I go online. thanks

User avatar
Eagleyes777
Novice Cheater
Novice Cheater
Posts: 16
Joined: Wed Aug 19, 2020 1:06 pm
Reputation: 1

Re: Anno 2070 v1.01.6234

Post by Eagleyes777 »

Update: while injecting the script for - no cooldown on rockets, it presented an error message: Error while scanning for AOB's: INJECT Error: Not all results found" , but the rest went smoothly although I have not used the cheat in-game, but I will be doing it a bit later. Thanks again!

mnomic
Noobzor
Noobzor
Posts: 13
Joined: Sat Aug 31, 2019 6:40 am
Reputation: 13

Re: Anno 2070 v1.01.6234

Post by mnomic »

Oh! The error means, that an anno update has changed the code regarding the aob search, or concrete you are using another version of the game which is not aligned to the cheat codes. Unfortunately, I'm currently busy and have no time to check it ... Maybe in the next few days I will have a little more time to take a look ...
Cheers!

Fka618
What is cheating?
What is cheating?
Posts: 2
Joined: Wed Jun 17, 2020 5:37 pm
Reputation: 0

Re: Anno 2070 v1.01.6234

Post by Fka618 »

Anyone who knows how to fix "connection to the server has been lost" thing? please help

b10nutz
Noobzor
Noobzor
Posts: 7
Joined: Thu Mar 08, 2018 8:59 am
Reputation: 4

Re: Anno 2070 v1.01.6234

Post by b10nutz »

Greetings,

Good news, Recifense updated his table check here: viewtopic.php?f=4&t=15715


Old post:

This are the updated AOB Scans for Anno 2070 v2.00.7792-Steam:
Spoiler
Minimum Credits/Liceneses(_MG): Anno5.exe+0F6222 8B 8B 84 00 00 00 0F AC C8 0A
Minimum Ship Cargo(_MC): Anno5.exe+65E160 8B 41 08 C3 CC
Minimum Resources(_MWH): Anno5.exe+470396 8B 50 10 89 55 FC
Minimum Select(_MS): Anno5.exe+67479F 89 BB F4 02 00 00
Minimum Resources(_MWH2(NHP)): Anno5.exe+4702B2 8B 55 08 39 51 10
God Mode(_GM): Anno5.exe+52A679 01 46 08 B8 10 27 00 00
Unlimited Fuel(_MF): Anno5.exe+50C966 8B 46 0C 3B C3
This is the updated script with part of Minimum Resources code comment out*:
Spoiler
{
===========================================
Game Title : Anno 2070 - The Deep Ocean (sea)
Game Version : 2.00.7792 - Steam
Process Name : Anno5.exe
Script Version: 2.0
CE Version : 6.2
Release date : 21-Mar-2021
Author : Recifense
History:
04-Dec-2011: First Release (version 1.01.6234)
26-Oct-2012: Adapted to version 2.00.7780
21-Mar-2021: Adapted to version 2.00.7792 (b10nutz)
Features:
- Wealth (62000)
- License (620)
- Ship Cargo
- Warehouse Items (max/min)
- God Mode
- Unlimited Fuel
- Useful Pointers
===========================================
}

//=========================================
// Definitions
define(LUDO,"Anno5.exe")

//=========================================
[ENABLE]
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded

assert(LUDO+000F6222,8b 8b 84 00 00 00 0f ac c8 0a) //_MG
assert(LUDO+0065E160,8b 41 08 c3 cc) //_MC
assert(LUDO+00470396,8b 50 10 89 55 fc) //_MWH
assert(LUDO+0067479F,89 bb f4 02 00 00) //_MS
//assert(LUDO+004702B2,8b 55 08 39 51 10) //_MWH2 (NHP)
assert(LUDO+0052A679,01 46 08 b8 10 27 00 00) //_GM
assert(LUDO+0050C966,8b 46 0c 3b c3) //_MF

//=========================================
alloc(MyCode,4048,LUDO)
//=========================================
// Declaration section
label(_MonGold)
label(_MonG0)
label(_BackMG)
label(_ExitMG)
label(_MonCargo)
label(_BackMC)
label(_ExitMC)
label(_MonWH)
label(_MonW0)
label(_BackMW)
label(_ExitMW)
label(_MonSel)
label(_BackMS)
label(_ExitMS)
/*
label(_MonWH2)
label(_MonW02)
label(_BackMW2)
label(_ExitMW2)
*/
label(_GodMode)
label(_BackGM)
label(_ExitGM)
label(_MonFuel)
label(_BackMF)
label(_ExitMF)
label(pGold)
label(pCargo)
label(pSel)
label(pResInfo)
label(pIsland)
label(iEnableMG)
label(iEnableML)
label(iEnableMC)
label(iEnableMW)
label(iEnableGM)
label(iEnableMF)
label(aLast)

//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(pGold)
registersymbol(pCargo)
registersymbol(pSel)
registersymbol(pResInfo)
registersymbol(pIsland)
registersymbol(iEnableMG)
registersymbol(iEnableML)
registersymbol(iEnableMC)
registersymbol(iEnableMW)
registersymbol(iEnableGM)
registersymbol(iEnableMF)
registersymbol(aLast)

//=========================================
MyCode:
//========================================= 200
// Activated on the strategic screen
_MonGold:
mov dword ptr [aLast],'MonG'

mov [pGold],ebx

cmp dword ptr [iEnableMG],0
je _MonG0 // Jump if feature is disabled

mov ecx,[ebx+00000084] // Original code
test ecx,ecx
jnz _MonG0

mov ecx,#63488000 // 62000 * 1024
cmp ecx,[ebx+00000080]
jle _MonG0

mov [ebx+00000080],ecx

_MonG0:
cmp dword ptr [iEnableML],0
je _ExitMG // Jump if feature is disabled

mov ecx,[ebx+00000088]
test ecx,ecx
jz _ExitMG

mov ecx,#634880 // 620 * 1024
cmp ecx,[ebx+00000088]
jle _ExitMG

mov [ebx+00000088],ecx

_ExitMG:
mov ecx,[ebx+00000084] // Original code
jmp _BackMG // Back to main code

//========================================= 200
// Activated when a ship is selected
_MonCargo:
mov dword ptr [aLast],'MonC'

mov [pCargo],ecx

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

mov eax,[ecx+04] // Cargo ID
cmp eax,#76
jge _ExitMC

mov eax,#20 // Minimum Load
cmp eax,[ecx+08]
jle _ExitMC

mov [ecx+08],eax

_ExitMC:
mov eax,[ecx+08] // Original code
ret
jmp _BackMC // Back to main code (just the template)

//========================================= 200
// Activated when the WH is visible or selected
_MonWH:
mov dword ptr [aLast],'MWH1'

mov edx,[esi+04] //ppIsland
cmp esi,[edx+00005f70] //5880
jne _ExitMW

mov [pIsland],esi

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

mov edx,[esi+0000039c] //**318
lea edx,[edx-00004e20] //20000
cmp edx,[eax+10]
jle _MonW0

mov [eax+10],edx // Minimum = Max - 20
jmp _ExitMW

_MonW0:
mov edx,[esi+0000039c] //**318
lea edx,[edx-0000176f] // 5999
cmp edx,[eax+10]
jge _ExitMW

mov [eax+10],edx // Maximum = Max - 5

_ExitMW:
mov edx,[eax+10] // Original code
mov [ebp-04],edx // Original code
jmp _BackMW // Back to main code

//========================================= 200
// Activated when a building is selected
_MonSel:
mov dword ptr [aLast],'MSel'

push esi

mov [pSel],edi

test edi,edi
jz _ExitMS

cmp dword ptr [edi+48],0
jne _ExitMS

mov esi,[edi+58] // ppIsland
test esi,esi
jz _ExitMS

mov esi,[esi+00005f70] //**5880 // pIsland
mov [pResInfo],esi

_ExitMS:
pop esi

mov [ebx+000002F4],edi // Original code
jmp _BackMS // Back to main code

//========================================= 200
// Activated when an Item in WH is modified
// ESI = pIsland
/*
_MonWH2:
mov dword ptr [aLast],'MWH2'

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

mov edx,[esi+04]
cmp esi,[edx+00005f70] //**5880 // pIsland
jne _ExitMW2

mov edx,[esi+0000039c] //**318
lea edx,[edx-00004e20]
cmp edx,[ecx+10]
jle _MonW02

mov [ecx+10],edx // Minimum = Max - 20
jmp _ExitMW2

_MonW02:
mov edx,[esi+0000039c] //**318
lea edx,[ecx-0000176f]
cmp edx,[ecx+10]
jge _ExitMW2

mov [ecx+10],edx // Maximum = Max - 5

_ExitMW2:
mov edx,[ebp+08] // Original code (get max value)
cmp [ecx+10],edx // Original code
jmp _BackMW2 // Back to main code
*/

//========================================= 200
// Activated during combat
_GodMode:
mov dword ptr [aLast],'GMod'

push ecx

mov ecx,[esi+04]
test ecx,ecx
jz _ExitGM

cmp dword ptr [ecx+48],0
jne _ExitGM

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

xor eax,eax
mov ecx,#40960000 // 100%

mov [esi+08],ecx
mov [esi+0c],eax
mov edx,eax

_ExitGM:
pop ecx

add [esi+08],eax // Original code
mov eax,00002710 // Original code
jmp _BackGM // Back to main code

//========================================= ???
// Activated when an aircraft is on the air
_MonFuel:
mov dword ptr [aLast],'MFue'

test edi,edi
jz _ExitMF

cmp dword ptr [edi+48],0
jne _ExitMF

cmp dword ptr [iEnableMF],0
je _ExitMF // Jump if feature is disabled

xor ebx,ebx // value2decease = 0

_ExitMF:
mov eax,[esi+0C] // Original code
cmp eax,ebx // Original code
jmp _BackMF // Back to main code

//=========================================
db '======================================>'
db 'CE6.2 Script by Recifense 102612'
//=========================================
// Variables
iEnableMG:
dd 0
iEnableML:
dd 0
iEnableMC:
dd 0
iEnableMW:
dd 0
iEnableGM:
dd 0
iEnableMF:
dd 0
pGold:
dd 0
pCargo:
dd 0
pIsland:
dd 0
pSel:
dd 0
pResInfo:
dd MyCode
aLast:
db 'CE62'

//=========================================
// Hacking Points
LUDO+000F6222:
jmp _MonGold
nop
_BackMG:

LUDO+0065E160:
jmp _MonCargo
_BackMC:

LUDO+00470396:
jmp _MonWH
nop
_BackMW:

LUDO+0067479F:
jmp _MonSel
nop
_BackMS:

/*
LUDO+004702B2:
jmp _MonWH2
nop
_BackMW2:
*/

LUDO+0052A679:
jmp _GodMode
nop
nop
nop
_BackGM:

LUDO+0050C966:
jmp _MonFuel
_BackMF:

//=========================================
// Script for Restoring Original Codes
[DISABLE]
LUDO+000F6222:
// mov ecx,[ebx+00000084]
db 8b 8b 84 00 00 00

LUDO+0065E160:
// mov eax,[ecx+08]
// ret
// int 3
db 8b 41 08 c3 cc

LUDO+00470396:
// mov edx,[eax+10]
// mov [ebp-04],edx
db 8b 50 10 89 55 fc

LUDO+0067479F:
// mov [ebx+000002F4],edi
db 89 bb f4 02 00 00

/*
LUDO+004702B2:
// mov edx,[ebp+08]
// cmp [ecx+10],edx
db 8b 55 08 39 51 10
*/

LUDO+0052A679:
// add [esi+08],eax
// mov eax,00002710
db 01 46 08 b8 10 27 00 00

LUDO+0050C966:
// mov eax,[esi+0C]
// cmp eax,ebx
db 8b 46 0c 3b c3

//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(pGold)
unregistersymbol(pCargo)
unregistersymbol(pSel)
unregistersymbol(pResInfo)
unregistersymbol(pIsland)
unregistersymbol(iEnableMG)
unregistersymbol(iEnableML)
unregistersymbol(iEnableMC)
unregistersymbol(iEnableMW)
unregistersymbol(iEnableGM)
unregistersymbol(iEnableMF)
unregistersymbol(aLast)

//=========================================
dealloc(MyCode)
//============= Scripts End ===============

// ****************************************
// NOTES
// ****************************************
{
struct PLAYER:
0080 = liWealth (integer of 8 bytes) (Display * 1024 => 1 = 1024)
0088 = liLicense (integer of 8 bytes) (Display * 1024 => 1 = 1024)

struct ppSHIP_CARGO:
000c = i#Slots
0010 = iMaxValue
0014 = pp1stCargo
0018 = i#Slots

struct p_SHIP_CARGO:
0000 = pNextCargo
0004 = pPreviousCargo
000c = pCargo

struct SHIP_CARGO:
0004 = iType
0008 = iQuantity (1 = 1)

struct ITEM_WAREHOUSE:
0000 = pPreviousItem
0004 = pNextItem
0008 = pNextItem
000c = iType
0010 = iQuantity (display * 1000 => 1 = 1000)

struct ISLAND:
0004 = ppIsland
0318 = iMaximum per item slot
034c = p1stItemInWarehouse

struct ppISLAND:
5880 = pIsland

struct BUILDING:
000c = iType
0010 = b01
0048 = iPlayerID (=0)
004c = pType
0050 = pType
0058 = ppIsland

struct HP:
0004 = pBuilding/pShip
0008 = i%HP (100% = 4K*10000)

struct FUEL:
000c = iFuel (10T = 10000)

Item Type IDs:
01 = Building Module 02 = Tools 03 = Wood 04 = Glass 05 = Concrete
06 = Steel 07 = Carbon 08 = Fish 09 = Pasta Dish 10 = Health Food
11 = Convenience Food 12 = Luxury Meal 13 = Functional Food 14 = Tea 15 = Bio Drink
16 = Liquor 17 = Champagne 18 = Functional Drink 19 = Plastics 20 = Jewelery
21 = Pharmaceuticals 22 = Communicator 23 = 3D Projector 24 = Service Bots 25 = Coal
26 = Granules 27 = Iron Ore 28 = Iron 29 = Copper 30 = Limestone
31 = Sand 32 = Crude Oil 33 = Oil 34 = Microchips 35 = Sugar
36 = Manganese Nodules 37 = Rare-earth Element 38 = Diamonds 39 = Uranium 40 = Meat
41 = Super Flavor 42 = Explosives 43 = Lobster 44 = Truffle 45 = Grapes
46 = Gold Nuggets 47 = Gold 48 = Omega Acids 49 = Secret Ingredients 50 = Rice
51 = Vegetables 52 = Fruits 53 = Milk 54 = Durum Wheat 55 = Pasta
56 = Corn 57 = Biopolymers 58 = Caffeine 59 = Algae 60 = Fuel Rods
61 = Kerosene 62 = Weapons 63 = Heavy Weapons 64 = High-tech Weapons 65 = Immunity Drugs
66 = Lab Instruments 67 = Neuroimplants 68 = Bionic Suits 69 = Enzymes 70 = Platinum
71 = Sponges 72 = Lithium 73 = Electrolyte Cells 74 = Exoskeletons 75 = Coral
}
*Part of Minimum Resources code is comment out because it causes CTD and I'm unable to fix it, but the option will not work as intended!

NB: Before activating the script you should build something and let some resources to be consumed.

Best regards;
Last edited by b10nutz on Fri Apr 02, 2021 6:33 pm, edited 17 times in total.

Zoe Laroux
Novice Cheater
Novice Cheater
Posts: 19
Joined: Sun Dec 24, 2017 6:13 am
Reputation: 11

Re: Anno 2070 v1.01.6234

Post by Zoe Laroux »

b10nutz wrote:
Sun Feb 28, 2021 6:06 pm
Hi,

I've manage to partially updated Recifense's table to work with the latest version of Anno 2070 (Complete Edition - v2.00.7792), I say partially because I'm still having problems with this part of code:
Spoiler
// Activated when an Item in WH is modified
// ESI = pIsland
_MonWH2:
mov dword ptr [aLast],'MWH2'

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

mov edx,[esi+04]
cmp esi,[edx+00005f70] //**5880 // pIsland
jne _ExitMW2

mov edx,[esi+0000039c] //**318
lea edx,[edx-00004e20]
cmp edx,[ecx+10]
jle _MonW02

mov [ecx+10],edx // Minimum = Max - 20
jmp _ExitMW2

_MonW02:
mov edx,[esi+0000039c] //**318
lea edx,[ecx-0000176f]
cmp edx,[ecx+10]
jge _ExitMW2

mov [ecx+10],edx // Maximum = Max - 5

_ExitMW2:
mov edx,[ebp+08] // Original code (get max value)
cmp [ecx+10],edx // Original code
jmp _BackMW2 // Back to main code
This is related to Minimum Resources option; I think I nail down the right hacking point but unfortunately the game crashes when I activate the option, removing this part of code the game will not crash but the Minimum Resources option will not work as intended, you need to keep the Warehouse always selected for the Resources not to go under the minimum threshold, as soon as you deselected the Resources will continue to drop until 0 (normal game behavior).

Any suggestions or tips would be greatly appreciated, my current thoughts are that the hacking point (Anno5.exe+4702B2 8B 55 08 39 51 10) is not the right one, maybe I'm reading wrong the debugger values.

LE:
At this point I don't think it's the hacking point: Anno5.exe+4702B2 8B 55 08 39 51 10, it's something in the code that it's not compatible with the new version.

LE:

I've notice that when an Item in Wh changes Anno5.exe+4702B2 8B 55 08 39 51 10 becomes Anno5.exe+4702B2 8B 55 08 CC 51 10; this starts driving me crazy.

This are the updated AOB Scans if anyone interested to give it a try:
Spoiler
Minimum Credits/Liceneses(_MG): Anno5.exe+0F6222 8B 8B 84 00 00 00 0F AC C8 0A
Minimum Ship Cargo(_MC): Anno5.exe+65E160 8B 41 08 C3 CC
Minimum Resources(_MWH): Anno5.exe+470396 8B 50 10 89 55 FC
Minimum Select(_MS): Anno5.exe+67479F 89 BB F4 02 00 00
Minimum Resources(_MWH2(NHP)): Anno5.exe+4702B2 8B 55 08 39 51 10
Minimum Resources(_MWH2(NHP)): Anno5.exe+A43E99 8B 55 08 ?? 51 10
God Mode(_GM): Anno5.exe+52A679 01 46 08 B8 10 27 00 00
Unlimited Fuel(_MF): Anno5.exe+50C966 8B 46 0C 3B C3
Best regards;
hoo boy, just picked this back up myself. Any luck on getting stuff working again? Also, how do i use your updated AOB scans? Ive never entered in code to CE before.

Post Reply

Who is online

Users browsing this forum: Aliver, being0919, ctl3d32, DotBot, Maisarah, vinny2k