Assassin's Creed Odyssey v1.3.0/v1.5.1 +21 (table Update18.3)

Upload your cheat tables here (No requests)
User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4629

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by SunBeam »

As an extra, say you want to refill that bar manually, but not via editing that 100 value you see in CE; you may have already noticed that changing 100 to 700 in Current field will not update it on-screen ;) What's to do.. well, let's use back-tracing to determine where the write happens, its parameters and how to set things up so CE-Lua can do it for us. Just for fun ;)

Note that I am using another game session, as CE froze in-between for some reason, so I had to kill it. So the addresses in the script above are different this time around:

Image

Bottom line: CSrvPlayerFightAdrenalin == 0x918098600 for this run.

Now.. in the fearlessrevolution trainer I am using this location that runs once you hit 0; if you are out of combat the bar starts to refill slowly and stops at 100:

Code: Select all

ACOdyssey.exe+21C420C - 03 54 24 30           - add edx,[rsp+30] // set calculated amount
ACOdyssey.exe+21C4210 - 41 B0 01              - mov r8l,01 // flip bool; 0 = fill up to max; 1 = fill up to min
ACOdyssey.exe+21C4213 - 48 8B CF              - mov rcx,rdi // CSrvPlayerFightAdrenalin
ACOdyssey.exe+21C4216 - E8 154FFAFF           - call ACOdyssey.exe+2169130 // call this
ACOdyssey.exe+21C421B - 8B 87 8C020000        - mov eax,[rdi+0000028C]
ACOdyssey.exe+21C4221 - 39 87 78020000        - cmp [rdi+00000278],eax // check current with some other value
So we know these:

- edx = amount
- r8d has to be 0 so filling is allowed up to max
- rcx = CSrvPlayerFightAdrenalin pointer

Additionally, if we want to fill Adrenaline to max elegantly, we can feed the max into edx (maximum value is stored at 0x27C offset in CSrvPlayerFightAdrenalin struct).

Then we want to call "ACOdyssey.exe+2169130" function with these 3 parameters ;) I will ignore the one in r8d (cuz it's set manually in the script below - - you'll see) - so 2 parameters :D

Using Lua, we can do this:

Code: Select all

function RefillAdrenalineLua( structptr, amount )
  if RefillAdrenaline == nil then
    if autoAssemble([[
      alloc( RefillAdrenaline, 128 )
      registersymbol( RefillAdrenaline )
      RefillAdrenaline:
      sub rsp,28
      xor r8d,r8d           // flag
      mov edx,[rcx+8]       // amount
      mov rcx,[rcx]         // CSrvPlayerFightAdrenalin
      call ACOdyssey.exe+2169130
      add rsp,28
      ret
    ]]) then RefillAdrenaline = getAddressSafe( 'RefillAdrenaline' )
    end
  end
  if RefillAdrenaline == nil then
    error( 'autoAssemble failed' )
  end
  local params = allocateMemory( 16 )
  unregisterSymbol( "params" )
  registerSymbol( "params", params, true )
  writeQword( params+0x0, structptr )
  writeQword( params+0x8, amount )
  local result = executeCode( RefillAdrenaline, params )
  unregisterSymbol( "params" )
  deAlloc( params )
end

RefillAdrenalineLua( 0x918098600, 7000 ) -- pointer and amount
And running the script triggers this (do it while windowed, to see it happen):

Image

Once you click Execute, you will see the Adrenaline GFX refill (the yellow gradient running all over your player's body) :P

Enjoy!

BR,
Sun

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
Last edited by SunBeam on Fri Oct 19, 2018 1:15 am, edited 3 times in total.

axellslade
Expert Cheater
Expert Cheater
Posts: 186
Joined: Sat Mar 04, 2017 1:49 am
Reputation: 7

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by axellslade »

Cielos wrote:
Thu Oct 18, 2018 6:24 pm
^
ha, thanks for the report. I'll have a look. in the mean time, you can use back the previous version.

EDIT:
I've tried enable the script in-game, no crash.
the newly added injection point is in 14bytes, so that's not the problem either.
any more details you can share?
EDIT2:
it's quite late here, I'll play some more to test later and/or wait for my friend further reports.
so, until I can recreate the crash, see if you can describe it in more details, or just use back the old version.
Have been playing with it(11.1) for the past 2 hours and found no problems!

john_101891
Noobzor
Noobzor
Posts: 14
Joined: Sun Oct 14, 2018 8:07 pm
Reputation: 1

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by john_101891 »

What a script to make merchants to restock items everytime you acess their stock? I wish I could get a response but everyone is more worried about the orc ores and shards to upgrade the spear lol

WingedBeing
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Oct 18, 2018 9:04 pm
Reputation: 0

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by WingedBeing »

Does anybody know if this can be used to toggle headgear visibility in cutscenes and during dialogue?

OleMagne
Fearless Donors
Fearless Donors
Posts: 111
Joined: Wed Mar 14, 2018 7:54 pm
Reputation: 56

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by OleMagne »

SunBeam wrote:
Fri Oct 19, 2018 12:59 am
I fucking love your ass. :wub: This should be posted as a tutorial for people to start learning instead of spamrequesting for things that have been answered twenty times already.

Been trying to get at the inventory for ages. I can get the id of whatever you're equipping and I can swap them just fine -- until you exit the inventory. The memory gets removed and sent elsewhere. Oh, and the item id's are totally different at that point as well. :roll: Will use your way to see if I can find the big D pointer.

At least I can open the forge files now, somewhat. Maybe that'll help.
WingedBeing wrote:
Fri Oct 19, 2018 4:26 pm
It most likely is the best starting point for much anything in this game. The game does some funky stuff compared to what at least I've experimented with. Download CE and just follow along his two posts. Just get at the stamina/adrenaline as he does. It'll help you tremendously in learning how this works.

Now I'm off to follow his tutorial also. 8-)

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4629

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by SunBeam »

I wanted to post a bit more, but am in Tuscany now. That iterator exposes the pointer to a structure budabum used in Origins. ESrvInventory. Find his posts and see if you can mimic the logic to have the shop give you the item you want ;)

Here: xen/threads/assassins-creed-origins.5267/

And this, the Editor: xen/threads/assassins-creed-origins.5267/attachlist

OleMagne
Fearless Donors
Fearless Donors
Posts: 111
Joined: Wed Mar 14, 2018 7:54 pm
Reputation: 56

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by OleMagne »

SunBeam wrote:
Fri Oct 19, 2018 5:17 pm
I wanted to post a bit more, but am in Tuscany now. That iterator exposes the pointer to a structure budabum used in Origins. ESrvInventory. Find his posts and see if you can mimic the logic to have the shop give you the item you want ;)

Here: xen/threads/assassins-creed-origins.5267/

And this, the Editor: xen/threads/assassins-creed-origins.5267/attachlist
Will do! Hope your vacation is awesome. I heard you've been traveling a lot lately.

IStruct: 0x1337A95A0
IName: 0x144FCE9B0
ObjStr: ItemSet
ObjHash: 0x65CACDCE

:wub:

hummus
Cheater
Cheater
Posts: 30
Joined: Mon Oct 16, 2017 8:43 am
Reputation: 11

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by hummus »

^
Get a room you two and make more cheats together ;)

I found out why my game froze\crash when I used the new version.
For some reason the game will start in borderless mode (at least for me) and when I enabled the script the game crashed.
So going to fullscreen fixed it.

eyelsi
Expert Cheater
Expert Cheater
Posts: 54
Joined: Thu Feb 01, 2018 2:13 am
Reputation: 11

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by eyelsi »

I'm getting crashes today when I enable the cheats.
Anyone else? I'm only enabling inf.adrenaline, onehitkillmod, and ikaros teleport

nemesis688
Noobzor
Noobzor
Posts: 7
Joined: Sun Feb 04, 2018 1:05 am
Reputation: 0

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by nemesis688 »

Crashes here too. As soon as I enable the exp multiplier I crash. Nothing else enabled.

PlayerGmon
Cheater
Cheater
Posts: 43
Joined: Fri Mar 03, 2017 2:35 am
Reputation: 7

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by PlayerGmon »

Crashes here too

User avatar
Cielos
RCE Fanatics
RCE Fanatics
Posts: 845
Joined: Fri Mar 03, 2017 4:35 am
Reputation: 1865

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by Cielos »

@all
about the crash for Update11.1, I've pin-pointed the problem. but I have to finish the job at hand first. the "hotfix" should be readied later today.

@hummus
thanks for testing again! but it's actually have nothing to do with fullscreen/borderless window. the actual reason is that I rely on "reassemble" to deal with a possible 14bytes logical jmp, and it failed to generate the correct code WHEN it IS really a 14 bytes logical jmp. I should have do it manually myself...

@SunBeam
it's been bugging me for the adrenalin, as I was doing multiple other cheats that time, I fall back to the quick solution in stead of following it through. than I forgot all about it.
so, thanks for the info! as always~

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4629

Re: Assassin's Creed Odyssey +16 (table Update11.1)

Post by SunBeam »

@Cielos: Just use PE header or any other 00s free spot in memory, fullaccess it and you're OK with 5-bytes JMPs. Considering the commodity, you'd be better off with 5-bytes than fixing "possible" issues and reassembling. Trust me on this :) Plus you avoid the allocations happening and failing after game has loaded and turned pages read-only. Possibly CE 6.8 fixed that, though I still had the issue of not allocating (script not enabling).
Last edited by SunBeam on Sat Oct 20, 2018 11:08 am, edited 1 time in total.

User avatar
Cielos
RCE Fanatics
RCE Fanatics
Posts: 845
Joined: Fri Mar 03, 2017 4:35 am
Reputation: 1865

Re: Assassin's Creed Odyssey +16 (table Update11.2)

Post by Cielos »

^ one of the reasons I rely on 14 bytes jmp for these memory eating game, is that I don't want others to just use them directly into their trainer.
if they want to use my findings for some quick bucks, they will have to either include CE in the scene (i.e. re-post the table as is), or at least do some work to adapt it to their own solution (which is much slower compare to creating your own solution from scratch most of the time).

another reason is, I'm under the illusion that by using this method the scripts would have a better chance to survive the game patches. which is true most of the time. but I don't have solid evidence, so...

/////////////////////////////////////////////////
@all
Update11.2
- updated enable. fixed a possible crash. it's handling the logical jmp for the havePetFlagChkForPetHealthRegenAOB hook manually now, instead of using reassemble().
now, back to work....

User avatar
sage3k
Fearless Donors
Fearless Donors
Posts: 86
Joined: Mon Aug 21, 2017 5:34 am
Reputation: 2

Re: Assassin's Creed Odyssey +16 (table Update11.2)

Post by sage3k »

Thank you for the updates to the table. Love this!!

is there anyway to change the main character you are playing as without having to start over? I'm playing with Alexios and he's kinda MEH... (looks confused most of the time)

Post Reply