Crusader Kings III | Steam v1.12.2.1 | Updated: 2024-Mar-11

Upload your cheat tables here (No requests)
tfigment
Table Makers
Table Makers
Posts: 641
Joined: Sat Apr 15, 2017 12:49 am
Reputation: 802

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by tfigment »

BrokeIt wrote:
Mon Dec 06, 2021 9:31 pm
So uh ... my debt in-game is horrendous. I tried setting it to 0 via CE. Before, that worked just fine and I was able to get out of debt. Now, however, it displays "-8589874592" when I hover over the gold icon on my character sheet. I read up on how CK3 handles gold and once I saw stuff such as "(2^15)", my brain quit - I'm super bad if it comes to mathematics.
I guess its about as good as any place to ask. I believe you can get the raw data at "Active Player Character | Alive Stats ==> | Gold Raw" . It will be a very large number. You might be able to just change it to zero and then fix normally. Might also be good to run for a month (assuming positive cash flow) and then alter once the game acknowledges a positive number. I don't really know what is in the upper bits so its hard to say what is lost and that there would be no consequences but I think I did this once or twice and saw no issues.

This would be a good save to keep before changing to ensure no bad behaviors. You might also just save the previous number.

You can always kill the game from task manager if you dont want it saving automatically for you (at least I think).

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

NaSmieci
What is cheating?
What is cheating?
Posts: 2
Joined: Sat Jan 08, 2022 6:57 pm
Reputation: 0

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by NaSmieci »

Hi,

and thank you, to everyone involved, for this great cheat table.
The only thing I am still missing is a way to raise the holdings limit or lower the amount of holdings one has without disabling the chievements.
So far I managed to lower the divider from 5 to 1 by looking at what accesses the stewardship stat of my character when I mouse over the domain cap. This way each stewardship stat point corresponds to one supported holding.
I get additional 27 holding cap if I change the rbx+00000088 to rbx+05. I guess it is clear at this point that I am just guessing numbers and trying to maximize the one value I care most about without knowing what it is really what I am doing. These two changes however have no negative impact on the game (except for the loading time of about 2s to 3s when opening the realm tab). The 2nd change does however impact the holding cap for NPC as well.
[Link]

There is also a multiplier value, but it seems to change only the onscreen value not the mechanics:
[Link]

Since my assembler coding capabilities are clearly 0 my question to the pros here is: is it possibile to further increase the holding cap?


Btw: Changing the raw date of the Birth Day seems to make the newly assigned age stick, whereas changing the Age Value alone does not stick if I reload the save game. That at least is the use I got out of it.

tfigment
Table Makers
Table Makers
Posts: 641
Joined: Sat Apr 15, 2017 12:49 am
Reputation: 802

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by tfigment »

NaSmieci wrote:
Sun Jan 09, 2022 1:18 am
Btw: Changing the raw date of the Birth Day seems to make the newly assigned age stick, whereas changing the Age Value alone does not stick if I reload the save game. That at least is the use I got out of it.
Yep. that is correct age is view only. I think the immortal age though has an impact though if immortal. I personally haven't used it but that is my understanding.


All of this is going from memory as I actually haven't played the game seriously for about a year. Regarding the demense number, the game loads the base number from lua define files when it starts. There is a different number for the level of ruler you are (count, king, emperor) and in this case I think you are overriding the stewardship number. I'm assuming one of the addresses you found was that number stored in global memory after loading the game. I havent explored so not sure. I suspect there is no way to permanently fix the number but presumably we can edit that global value and change it before loading game or something but would have to be done every game I suspect.

I'm sure there are other ways but we need to locate where that is used and calculated and then optionally restrict the calculation for only the player. I think you have intercepted this calculation which is good work.

Those edits sound dangerous (changing RBX+88 to RBX+5) but hard to say. I suspect you would be better off just overriding the return value and then just allow the player to pick what that number is. Also probably only want on the player as its hard to say what changing the value globally would do probably nothing. I may spend a few minutes on this as its an annoying limit in some game types and with the expansion coming probably will want this and you did enough work for me to quickly find it.

Edit:
Here is a version which seems to work. Limited testing was done. Have to advance at least one day to take effect. Requires my table since it is using the pRootCharacter reference to only apply to the player character.

The value I think you were looking at is for the tooltip display and has no impact on actual code. This will just override the value for player and you can set to any value (it defaults to 20 which is arbitrary, maybe I'll rewrite and default it to player actual value in future version). This code was in a separate function that is loaded beneath the code you were looking at and used in the in game calculations.
Stewardship Demense Limit Override

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>26129</ID>
      <Description>"Stewardship Demense Limit Override"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ck3.exe
  Version: 
  Date   : 2022-01-09
  Author : User

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(StewardshipDemenseLimit,ck3.exe,03 C7 4C 8D 5C 24 60 49 8B 5B 20 49 8B 73 28) // should be unique
alloc(newmem,$1000,StewardshipDemenseLimit)

label(code)
label(return)
label(iDemeseLimit)

newmem:

iDemeseLimit:
  dq #20

align 8
code:
  add eax,edi

  // rbx holds player pointer
  // rax is return value
  push r11
  mov r11, [pRootCharacter]
  cmp rbx, r11
  pop r11

  jne @f
  mov rax, [iDemeseLimit]
@@:

  lea r11,[rsp+60]
  jmp return

StewardshipDemenseLimit:
  jmp code
  nop 2
return:
registersymbol(StewardshipDemenseLimit)
registersymbol(iDemeseLimit)

[DISABLE]

StewardshipDemenseLimit:
  db 03 C7 4C 8D 5C 24 60 49 8B 5B 20 49 8B 73 28

unregistersymbol(StewardshipDemenseLimit)
unregistersymbol(iDemeseLimit)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ck3.exe+DC34F2

ck3.exe+DC34D3: 49 8B E3              - mov rsp,r11
ck3.exe+DC34D6: 5F                    - pop rdi
ck3.exe+DC34D7: C3                    - ret 
ck3.exe+DC34D8: 0F BE 83 88 00 00 00  - movsx eax,byte ptr [rbx+00000088]
ck3.exe+DC34DF: 8B 0D 33 1F A8 01     - mov ecx,[ck3.exe+2845418]
ck3.exe+DC34E5: BA 01 00 00 00        - mov edx,00000001
ck3.exe+DC34EA: 3B CA                 - cmp ecx,edx
ck3.exe+DC34EC: 0F 4C CA              - cmovl ecx,edx
ck3.exe+DC34EF: 99                    - cdq 
ck3.exe+DC34F0: F7 F9                 - idiv ecx
// ---------- INJECTING HERE ----------
ck3.exe+DC34F2: 03 C7                 - add eax,edi
ck3.exe+DC34F4: 4C 8D 5C 24 60        - lea r11,[rsp+60]
ck3.exe+DC34F9: 49 8B 5B 20           - mov rbx,[r11+20]
ck3.exe+DC34FD: 49 8B 73 28           - mov rsi,[r11+28]
// ---------- DONE INJECTING  ----------
ck3.exe+DC3501: 49 8B E3              - mov rsp,r11
ck3.exe+DC3504: 5F                    - pop rdi
ck3.exe+DC3505: C3                    - ret 
ck3.exe+DC3506: CC                    - int 3 
ck3.exe+DC3507: CC                    - int 3 
ck3.exe+DC3508: CC                    - int 3 
ck3.exe+DC3509: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>26130</ID>
          <Description>"iDemeseLimit"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>8 Bytes</VariableType>
          <Address>iDemeseLimit</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

NaSmieci
What is cheating?
What is cheating?
Posts: 2
Joined: Sat Jan 08, 2022 6:57 pm
Reputation: 0

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by NaSmieci »

tfigment wrote:
Sun Jan 09, 2022 4:45 pm
...There is a different number for the level of ruler you are (count, king, emperor) and in this case I think you are overriding the stewardship number. I'm assuming one of the addresses you found was that number stored in global memory after loading the game. I havent explored so not sure. I suspect there is no way to permanently fix the number but presumably we can edit that global value and change it before loading game or something but would have to be done every game I suspect.
Your assumptions are right. I don't think however anyone would want this number to be carried over into a savegame or be loaded automatically when the game starts. It's perfectly fine if we were able to set it manually in the table during a game.
...Those edits sound dangerous (changing RBX+88 to RBX+5) but hard to say. I suspect you would be better off just overriding the return value and then just allow the player to pick what that number is. Also probably only want on the player as its hard to say what changing the value globally would do probably nothing.
That was my intention I just couldn't find the return value. Still from what I've observed the AI is not programmed to play its NPCs in a way to make use of a high demesne value.
Edit:
Here is a version which seems to work.
That really seems to do the trick. So far I found mods and a modified .ini file to achive this goal. Each of those options disabled achievements. I really appreciate your help, thank you so much.

n0nsense
What is cheating?
What is cheating?
Posts: 1
Joined: Thu Jan 27, 2022 6:52 pm
Reputation: 0

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by n0nsense »

Sorry, but I think I can't change the amount of my character's lifestyle that just replaced my former main character. I played the game at 1.4.2 version btw.

xspeed
Expert Cheater
Expert Cheater
Posts: 137
Joined: Thu Mar 29, 2018 7:14 am
Reputation: 18

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by xspeed »

n0nsense wrote:
Thu Jan 27, 2022 7:04 pm
Sorry, but I think I can't change the amount of my character's lifestyle that just replaced my former main character. I played the game at 1.4.2 version btw.
Yeah unfortunately this works only for character you created. It doesn't works on next you you play after your main one is dead :(

WintermuteX
Cheater
Cheater
Posts: 46
Joined: Sun Oct 29, 2017 10:20 am
Reputation: 8

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by WintermuteX »

Great Table as always!

Unfortunately I found a Problem with the holding table: the owner ID is always 15 (0x0000000f). I'm not sure what the correct offset would be for the real OwnerID. :(

Namelessy
Table Makers
Table Makers
Posts: 280
Joined: Wed Feb 24, 2021 7:46 am
Reputation: 406

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by Namelessy »

WintermuteX wrote:
Mon Jan 31, 2022 3:22 pm
Great Table as always!

Unfortunately I found a Problem with the holding table: the owner ID is always 15 (0x0000000f). I'm not sure what the correct offset would be for the real OwnerID. :(
I don't think a holding has an owner, at least I couldn't find it (granted, that is not proof). A holding belongs to a province, which belongs to a landed title, and the landed title has an owner (pointer + ... something around 160... 168 possibly). Need to do some digging to verify, which probably won't happen until next Tuesday when the DLC drops :)

Anyway, I played around a bit with changing the owner when I looked, and while it does change the owner, and if you click on the title, the owner is someone else, the borders aren't updated and I still had my title (when you click on it, another owner shows up), so there are more things to changing owner, which I assume is what you want to do.

If you just want to change the owner of an area, you can use the "give_title" console command.

WintermuteX
Cheater
Cheater
Posts: 46
Joined: Sun Oct 29, 2017 10:20 am
Reputation: 8

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by WintermuteX »

Namelessy wrote:
Mon Jan 31, 2022 6:00 pm
I don't think a holding has an owner, at least I couldn't find it (granted, that is not proof). A holding belongs to a province, which belongs to a landed title, and the landed title has an owner (pointer + ... something around 160... 168 possibly). Need to do some digging to verify, which probably won't happen until next Tuesday when the DLC drops :)

Anyway, I played around a bit with changing the owner when I looked, and while it does change the owner, and if you click on the title, the owner is someone else, the borders aren't updated and I still had my title (when you click on it, another owner shows up), so there are more things to changing owner, which I assume is what you want to do.

If you just want to change the owner of an area, you can use the "give_title" console command.
Thank you very much for clarifying. This makes totally sense.

tfigment
Table Makers
Table Makers
Posts: 641
Joined: Sat Apr 15, 2017 12:49 am
Reputation: 802

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by tfigment »

This is a preemptive request to not ask for updates as I am aware that 1.5.0.1 is released so there is no need to request updates.

I will update it when I have time please be patient as much of the table and addresses have moved so it will take time to update and I have other things I have to attend to so it may be a couple of days.

Thanks for your patience.

xspeed
Expert Cheater
Expert Cheater
Posts: 137
Joined: Thu Mar 29, 2018 7:14 am
Reputation: 18

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by xspeed »

Thanks in advance :)

Crusader22
What is cheating?
What is cheating?
Posts: 1
Joined: Tue Feb 08, 2022 10:51 pm
Reputation: 0

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by Crusader22 »

Hi,

When i try to extract the file, it requires a password. Could you please tell me ?

shaklefur
Noobzor
Noobzor
Posts: 7
Joined: Sat Apr 11, 2020 12:19 am
Reputation: 2

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by shaklefur »

Crusader22 wrote:
Tue Feb 08, 2022 10:52 pm
Hi,

When i try to extract the file, it requires a password. Could you please tell me ?
It says on the download right underneath the name,but the password is fearless.

tfigment
Table Makers
Table Makers
Posts: 641
Joined: Sat Apr 15, 2017 12:49 am
Reputation: 802

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by tfigment »

Thanks to everyone for continued patience and not overwhelming the thread with update requests.

I'm posting a Work in Progress version as I have most of the Character Pointers worked out and those are quite useful to people by themselves.
Things to note:
  • I'm now using CE 7.4 with Dark Mode so colors need some adjustment. Should still load in CE 7.2.
  • Values are scaled differently. x100000 instead of x10000. Added new datatype to assist in display/searching
  • Gold value is no longer funky and is just a x100000 value
  • Traits are 4 byte instead of 2 byte values
The table is not complete please don't complain that its not working fully yet it will likely take several days to update to restore all of the previous functionally.
Attachments
ck3_1.5.0.1_figment_v42_WorkInProgress_220213.ct
13/Feb: Work in progress. Armies, Dynasty, Title Integration
(559.34 KiB) Downloaded 1157 times
ck3_1.5.0.1_figment_v42_WorkInProgress_220212.ct
12/Feb: Work in Progress. Added Holdings
(568.17 KiB) Downloaded 971 times
0FR-ck3_1.5.0.1_figment_v42_WorkInProgress_080222.ct
08/Feb: Work In Progress
(503.1 KiB) Downloaded 3188 times
Last edited by tfigment on Mon Feb 14, 2022 5:15 am, edited 2 times in total.

DivineBeef
What is cheating?
What is cheating?
Posts: 1
Joined: Wed Feb 09, 2022 7:20 am
Reputation: 1

Re: Crusader Kings III | Steam v1.4.2 | Updated: 2021-Jun-22

Post by DivineBeef »

Hey, thank you so much for your work. Is there any way to donate/ financially support you?

Post Reply

Who is online

Users browsing this forum: Baidu [Spider], Bing [Bot], com1612, Djossi09, Eren, Giony, Google [Bot], Isan, Psitama, rausrh, Shira, Sleepy698244, Ziro99