Page 1 of 6

Dune: Spice Wars +11 (Cheat Engine Table)

Posted: Fri Jun 10, 2022 10:32 am
by KUDr
Got a chance to try Dune: Spice Wars and here is the result (should work on future game versions until devs make some brutal changes into code):

How to use it?
- Open the table in CE, open the game process and select cheats you want to use (you will see a lot of logs as the code is dynamically generated from your game's metadata), enjoy
  • ent.Faction:getCachedResNetProd (add static resources, i.e. water)
    • You can set what resources you want to add (open _plus to see options) or populate all (_plus -> Initialize values), or just use the default values that are populated automatically when the cheat is activated.
  • ent.Faction:addRawResource (add collectable resources over time)
  • ent.Refinery:getHarvestRate (you must have some refineries)
  • ent.Entity:hurtBy (God mode, Disadvantage of AIs against free villages)
  • ent.Unit:getSpeedModifier (faster units)
  • ent.Unit:isWormTarget (your units are not targeted by worms)
  • ent.Army:addSupply (your armies will never run out of supplies)
  • ent.Structure:updateRecruitment (faster recruitments of units except militia)
  • logic.Upgrades:update (fast building construction)
  • ent.Structure:addReconProgress (faster recon of ?)
  • ent.HegemonyData:setProd (Hegemony +10000)
Those weird names for cheat entries are names of class:method (basically function) where the cheat was implemented.

Note:
This table does not use any static addresses or AOB scans. It simply locates the game metadata (types, fields, methods) and uses them to generate the code (C header files) so that the cheat code (regular C files) should always work with whatever game version you have.

Therefore when you will request update(s), please specify table version, game version, which option does not work and what are the symptoms (incl. the logs from the Lua Engine window).

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Fri Jun 10, 2022 10:37 am
by KUDr
Version history:

D4X.03.001.R.CT (2022-06-27)
- fixed "update" method not found in class "logic.Upgrades" reported by @russel5

D4X.00.051.R.CT (2022-06-14)
- fixed "ERROR types not found" reported by @dental

D4X.00.047.R.CT (2022-06-12)
- added new cheat: ent.HegemonyData:setProd (Hegemony +10000)

D4X.00.043.R.CT (2022-06-10)
- changed the type of value fields under ent.Faction:getCachedResNetProd -> _plus from 2 bytes to 4 bytes to allow for larger values (i.e. ultra fast research), and the values are automatically initialized upon activation of the cheat

D4X.00.042.R.CT (2022-06-10): First prototype (10 options)

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Fri Jun 10, 2022 4:13 pm
by russel5
Thanks for this table, seems all works on latest version.
One request. Can you add fast research abilities. Thanks again.

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Fri Jun 10, 2022 8:34 pm
by KUDr
@russel5: thanks for your reply. It works also on 2 versions before the current one. And should work many versions after.
Regarding your request:
activate option 1: "ent.Faction:getCachedResNetProd (add static resources, i.e. water)"
- open "_plus" below it
- search for "09 - Knowledge" and set it to 1000 or even more
This should modify your knowledge production which should influence the speed of research.
Please let me know if it worked for you.

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Fri Jun 10, 2022 10:25 pm
by KUDr
There is now a new version (D4X.00.043.R.CT) that has changed the type of value fields under:
ent.Faction:getCachedResNetProd -> _plus
from 2 bytes to 4 bytes
and automatically initializes values that have some meaningful impact on the game, because some values seem to only add "+###" to the resource stats, but have no real impact on actual values (i.e. don't actually add resources)

@russel5: The "09 - Knowledge" now automatically initializes itself to 100000 which makes research so fast that whole trees can be researched within a few seconds. To make it easier, you can set the game to not pause in menus. (ESC -> Options -> Gameplay -> Pause game in menus -> Off). Then Pause the game, Go to research, select 3 boxes, un-pause for a second or two and they are now researched. Continue so until everything is researched.

So yes, fast research is there.

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Sat Jun 11, 2022 12:25 am
by omniwhole
KUDr wrote:
Fri Jun 10, 2022 10:32 am
This is awesome table. Thank you so much!

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Sat Jun 11, 2022 4:28 am
by russel5
KUDr wrote:
Fri Jun 10, 2022 10:25 pm
@russel5: The "09 - Knowledge" now automatically initializes itself to 100000 which makes research so fast that whole trees can be researched within a few seconds. To make it easier, you can set the game to not pause in menus. (ESC -> Options -> Gameplay -> Pause game in menus -> Off). Then Pause the game, Go to research, select 3 boxes, un-pause for a second or two and they are now researched. Continue so until everything is researched.

So yes, fast research is there.
Yes, works perfect. Thank you.

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Sat Jun 11, 2022 9:27 pm
by browdybrembo
KUDr wrote:
Fri Jun 10, 2022 10:32 am
Got a chance to try Dune: Spice Wars and here is the result (first prototype, should work on future game versions until devs make some brutal changes into code):

How to use it?
- Open the table in CE, open the game process and select cheats you want to use (you will see a lot of logs as the code is dynamically generated from your game's metadata), enjoy
  • ent.Faction:getCachedResNetProd (add static resources, i.e. water)
    • You have to set what resources you want to add (open _plus to see options) or populate all (_plus -> Initialize values)
  • ent.Faction:addRawResource (add collectable resources over time)
  • ent.Refinery:getHarvestRate (you must have some refineries)
  • ent.Entity:hurtBy (God mode, Disadvantage of AIs against free villages)
  • ent.Unit:getSpeedModifier (faster units)
  • ent.Unit:isWormTarget (your units are not targeted by worms)
  • ent.Army:addSupply (your armies will never run out of supplies)
  • ent.Structure:updateRecruitment (faster recruitments of units except militia)
  • logic.Upgrades:update (fast building construction)
  • ent.Structure:addReconProgress (faster recon of ?)
Those weird names for cheat entries are names of class:method (basically function) where the cheat was implemented.

Note:
This table does not use any static addresses or AOB scans. It simply locates the game metadata (types, fields, methods) and uses them to generate the code (C header files) so that the cheat code (regular C files) should always work with whatever game version you have.

Therefore when you will request update(s), please specify game version and what option does not work and what are the symptoms (incl. the logs from the Lua Engine window).
Anyways to add hegemony? Btw, trainer is amazing, ty.

Re: Dune: Spice Wars +10 (Cheat Engine Table)

Posted: Sun Jun 12, 2022 5:25 am
by KUDr
browdybrembo wrote:
Sat Jun 11, 2022 9:27 pm
Anyways to add hegemony? ...
Good question. I don't know.

When I played, I always had to switch off Hegemony as a winning condition, because I gained too much off it. I was usually over the last threshold (10k) within 5 minutes of gameplay. So I didn't think about cheating Hegemony.

My way of thinking was to make it easy to play, not to win passively. However, if you think it is good to have a way to cheat it, please explain me why and will do my best to add it (i.e. as a new option).

Re: Dune: Spice Wars +11 (Cheat Engine Table)

Posted: Sun Jun 12, 2022 12:11 pm
by KUDr
New version: D4X.00.047.R.CT
- added new cheat: ent.HegemonyData:setProd (Hegemony +10000)
- - in the Hegemony details the new value can be seen as modified "Researched Developments" value (I had to choose one or it would modify several ones - so I took the "Researched Developments" because it works for any faction type)
- - the added value (10000) can be modified under "Settings" group.

@browdybrembo: please try it and let me know if it works (and please don't forget to tell me why would you need it)

Re: Dune: Spice Wars +11 (Cheat Engine Table)

Posted: Sun Jun 12, 2022 2:38 pm
by dental
Anyone else getting '??' for the Value to everything under "ent.Faction:getCachedResNetProd (add static resources, i.e. water)"?

I checked 'COMMON (Activate/Deactivates all cheats)." I also tried checking 'Initialize values" and I get this message in the Lua Engine window:

"MR (id=246) is now current"
"MR (id=246) is no longer current"

My troops still gets killed by dust storms. They sometimes are invincible against enemies but other times not. I'm not sure what's different that changes this state.

Anyway, I tried it on two versions of Dune with similar results:

0.1.20.15299
0.1.19.14734

Otherwise, this seems like the best Dune table so far.

- Update -

I see error messages in the Lua Engine window when I try to enable any of the cheats:

MR[id=050] is no longer current
MR[id=303] is now current
found 3963 memory regions
No types found
ERROR: No types found
stack traceback:
[string "-- err.lua --
..."]:51: in function 'errn'
[string "-- err.lua --
..."]:56: in function 'err'
[string "-- hl.lua..."]:36: in function 'hl.ResolveTypeName'
[string "-- c_gen.lua..."]:284: in function 'hl_c_gen.GenTypeFile'
(...tail calls...)
[string "-- c_gen.lua..."]:389: in function 'hl_c_gen.FindOrGenCFile'
[string "-- c_gen.lua..."]:460: in function 'hl_c_gen.CheckCFile'
[string "-- c_gen.lua..."]:441: in function 'hl_c_gen.CheckCFileIncludes'
[string "-- c_gen.lua..."]:465: in function 'hl_c_gen.CheckCFile'
[string "-- c_gen.lua..."]:441: in function 'hl_c_gen.CheckCFileIncludes'
[string "-- c_gen.lua..."]:465: in function 'hl_c_gen.CheckCFile'
[string "-- c_gen.lua..."]:494: in upvalue 'CheckCStringsIncludes'
[string "-- c_gen.lua..."]:505: in function <[string "-- c_gen.lua..."]:502>
Error:[string "-- hl.lua..."]:36: No types found
MR[id=303] is no longer current
new mr (id = 304) instance created
MR[id=304] is now current
MR[id=304] is no longer current

That's probably why it's not working but I don't know how to fix it. :(

Re: Dune: Spice Wars +11 (Cheat Engine Table)

Posted: Sun Jun 12, 2022 3:10 pm
by KUDr
@dental: Hmm. MR (id=246) is Memory Record #246 "Initialize values" under "_plus" under "ent.Faction:getCachedResNetProd (add static resources, i.e. water)".
This MR is no longer needed as the values of resources added by "ent.Faction:getCachedResNetProd" are initialized automatically.
However, the values under "_plus" should never show ?? if the "ent.Faction:getCachedResNetProd" is active (checked).

EDIT: Ahh now I see it: ERROR: No types found
This is fatal problem. This means that the game metadata used for everything was not found by my code.

What version of windows do you have? I tested it only on my W10 and it may be related to memory management.

Can you please try to restart the game and also CE and then when still in main menu MANUALLY activate only those 11 records directly under COMMON (without activating COMMON itself)? Do you still see this error? If yes, click in the Lua Engine window text, press CTRL+A to select everything, copy (CTRL+C) and paste it (CTRL+V) into email to me. I will PM you the address.

Re: Dune: Spice Wars +11 (Cheat Engine Table)

Posted: Sun Jun 12, 2022 3:28 pm
by KUDr
@dental: I can't send you PM with my email:
"Some users couldn’t be added as they have disabled private message receipt."

So try to send me PM with whole the log. Or post it somewhere and then post the link here.

Re: Dune: Spice Wars +11 (Cheat Engine Table)

Posted: Sun Jun 12, 2022 4:28 pm
by KUDr
@dental: attached is a modified table file, where I widened criteria for metadata search. Could you please try it?

Re: Dune: Spice Wars +11 (Cheat Engine Table)

Posted: Sun Jun 12, 2022 8:51 pm
by dental
I'm on Win10 21H1 (19043.1741). Cheat Engine 7.4.

It's the same outcome with the new table.

I don't want to flood this thread so here's the start of the ua log:

Module inflate-bwo marked for preload)
Module zzlib marked for preload)
Module serpent marked for preload)
Module hlMain marked for preload)
Module hlUtil marked for preload)
Module hlType marked for preload)
Module hl marked for preload)
Module hlDump marked for preload)
Module stop_watch marked for preload)
Module tables marked for preload)
Module Class marked for preload)
Module util marked for preload)
Module MemRec marked for preload)
Module hlMain marked for preload)
Module hl_c_gen marked for preload)
Can't open lua file C:\Users\Administrator\Documents\My Cheat Tables\lua\stop_watch.lua in r mode (C:\Users\Administrator\Documents\My Cheat Tables\lua\stop_watch.lua: No such file or directory)
Module stop_watch loaded from cheat table
Can't open lua file C:\Users\Administrator\Documents\My Cheat Tables\lua\tables.lua in r mode (C:\Users\Administrator\Documents\My Cheat Tables\lua\tables.lua: No such file or directory)
Module tables loaded from cheat table
Can't open lua file C:\Users\Administrator\Documents\My Cheat Tables\lua\Class.lua in r mode (C:\Users\Administrator\Documents\My Cheat Tables\lua\Class.lua: No such file or directory)
Module Class loaded from cheat table
Can't open lua file C:\Users\Administrator\Documents\My Cheat Tables\lua\util.lua in r mode (C:\Users\Administrator\Documents\My Cheat Tables\lua\util.lua: No such file or directory)
Module util loaded from cheat table

begin CT LUA script Util

end CT LUA script Util
Can't open lua file C:\Users\Administrator\Documents\My Cheat Tables\lua\MemRec.lua in r mode (C:\Users\Administrator\Documents\My Cheat Tables\lua\MemRec.lua: No such file or directory)
Module MemRec loaded from cheat table
...

I think maybe there's a permission issue or something. Maybe it doesn't like it when I run using the built-in administrator account?

Enabling single options at the main game menu results in the same 'No types found' message.

I hope the partial log helps.

-- Update ---

Here's the log part when enabling the single option at the end:

...
ound 3786 memory regions
No types found
ERROR: No types found
stack traceback:
[string "-- err.lua --
..."]:51: in function 'errn'
[string "-- err.lua --
..."]:56: in function 'err'
[string "-- hl.lua..."]:36: in function 'hl.ResolveTypeName'
[string "-- hl_c_gen.lua..."]:284: in function 'hl_c_gen.GenTypeFile'
(...tail calls...)
[string "-- hl_c_gen.lua..."]:389: in function 'hl_c_gen.FindOrGenCFile'
[string "-- hl_c_gen.lua..."]:460: in function 'hl_c_gen.CheckCFile'
[string "-- hl_c_gen.lua..."]:441: in function 'hl_c_gen.CheckCFileIncludes'
[string "-- hl_c_gen.lua..."]:465: in function 'hl_c_gen.CheckCFile'
[string "-- hl_c_gen.lua..."]:441: in function 'hl_c_gen.CheckCFileIncludes'
[string "-- hl_c_gen.lua..."]:465: in function 'hl_c_gen.CheckCFile'
[string "-- hl_c_gen.lua..."]:494: in upvalue 'CheckCStringsIncludes'
[string "-- hl_c_gen.lua..."]:505: in function <[string "-- hl_c_gen.lua..."]:502>
Error:[string "-- hl.lua..."]:36: No types found
MR[id=303] is no longer current
WRN: self.id (096) is not current (nil) (onPostExec)
stack traceback:
[string "-- err.lua --
..."]:44: in function 'wrn'
[string "-- MemRec.lua`..."]:272: in function 'MemRec.onPostExec'
[string "-- MemRec.lua`..."]:150: in function 'MemRec.OnMemRecPostExecute'
[string "-- MemRec.lua`..."]:130: in function 'onMemRecPostExecute'
new mr (id = 197) instance created
MR[id=197] is now current
MR[id=197] is no longer current
new mr (id = 123) instance created
MR[id=123] is now current
MR[id=123] is no longer current