Xenoblade Chronicles 2 v2.1.0

Upload your cheat tables here (No requests)
zFerry
Noobzor
Noobzor
Posts: 11
Joined: Wed Jul 31, 2019 10:09 pm
Reputation: 1

Re: Xenoblade Chronicles 2 v2.1.0

Post by zFerry »

Hi, any version I use of these cht tables I have the error of the AoB not working.
The MEM MAPPED to be checked is already enabled, the game on both Ryuujin (mainline 1.2xx) and Yuzu (Yuzu EA28xx to EA2905 that Yuzu Mainline 13xx) is inside the game (game save loaded) and is an NSP with the base game then on "NAND" is the 2.1.0 update and the Torna DLC.
I don't understand where the mistake is.
I have tried with CheatEngine (7.4) 64b, 64b sse4 avx2 and CE with nothing (as admin).
What I know, the v5 table (before the v6 and v7) if I look for the value of the money and subtract from the address the value "7D0" and use that result for XBC2_1 symbol, it works, for me only v5 (v6 and v7 find wrong values like the level of rex's weapons arts which instead changes those of Nia).
Thanks in advance.

P.S.
I tried to search the byte array directly in the search (doing CTRL + c / v of that mega AoB in the search box and after 5 minutes of searching it finds nothing, just nothing happens)

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

asmoranomar
Expert Cheater
Expert Cheater
Posts: 116
Joined: Sun Oct 20, 2019 10:55 pm
Reputation: 80

Re: Xenoblade Chronicles 2 v2.1.0

Post by asmoranomar »

zFerry wrote:
Mon Aug 15, 2022 2:45 pm
...
The AOB scan between v5 and v6 & v7 did not change. I did change the name of the symbol, but that was because I was working on the unified table and did not want to re-use symbols in case I did need to make a change later on. I didn't need to, but by the time I was finished It would have been a pain to convert all the XBC2_1 symbols back to XC2_1.

To clarify, the address for XBC2_1 is the same as XC2_1. Since the scan did not change, I don't know why it works in v5 and not in v7 for you. I'm still willing to help, but I don't have any ideas at the moment. Does anyone else have this issue?

----

On another note, you identified a major issue I overlooked. Thank you for that.
During my last effort to push thru, I reused some lua code that worked. I forgot to check if it properly found the right addresses, and it did not. This is why in some cases Rex => Nia. Should be fixed in this version. Please keep providing feedback, detail really helps for dumb mistakes like this that I might make.

....
  • Script Changes
    • Fixed issue where refences to a character were incorrect (Rex was Nia, Nia was Tora, etc)
Attachments
XBC2v2.1.0_TGCv1.1.0_CTv8.CT
(548.66 KiB) Downloaded 534 times

Ard
Novice Cheater
Novice Cheater
Posts: 19
Joined: Fri Nov 19, 2021 1:20 am
Reputation: 0

Re: Xenoblade Chronicles 2 v2.1.0

Post by Ard »

how do i use blade editor for affinity chart?

i know there are other ways to do it, but its a new thing to me. I want to know how it works on CT?

asmoranomar
Expert Cheater
Expert Cheater
Posts: 116
Joined: Sun Oct 20, 2019 10:55 pm
Reputation: 80

Re: Xenoblade Chronicles 2 v2.1.0

Post by asmoranomar »

Ard wrote:
Tue Aug 16, 2022 3:38 am
how do i use blade editor for affinity chart?

i know there are other ways to do it, but its a new thing to me. I want to know how it works on CT?
The 'Blade Editor' is a generic editor. When you view a blade in the menu, there will be several cards you can cycle thru in the bottom right. You can think of the Blade Editor as changing the values (and additional hidden values) on those cards. The 'Blade Editor' shares some features with the 'Blade Affinity Chart', but they are NOT the same. It is recommended to use the 'Blade Editor' to change things.
Details
The 'Blade Affinity Chart' on the other hand, actually edits the affinity chart you see in-game. Each node on the affinity chart is actually structured as quest in the game data. Because of how complex the data is, there isn't really an easy way to tell you exactly what ID is for what 'quest'. Furthermore, the game has checks upon loading save data that will reset any complex changes made to the non-generic blades. The generic blades can have their affinity chart changed, but (and I'm speculating) it wouldn't make sense to give a generic blade a rare blade's 'affinity quest', and it may even break the game. There are other values, like Blade ID and Achievement ID's, I'd have to take a deeper look to explain all that -- but to put it simple, It is NOT recommended mess with any of these values unless you know exactly what you are doing. Most users should only change the 'Count' value so they can speed up learning the affinity chart.

Keep in mind that using the 'Blade Editor', you can change things like Field Skills without messing with the 'Blade Affinity Chart'. You can even give someone who maxes out at level 3 on a particular skill, a max of level 5. You couldn't do that on the affinity chart without some real busywork.

If your asking yourself 'why include all these advanced things if it's not recommended to change them':
Well for one, I didn't make the original CT. But if you've ever messed with the save editor, you can see some similarities in how the data is handled. This can be a useful tool for making codes when you know exactly what to look for. I'd imagine the original author used the save editor to make predictable changes to the game, then locate those changes with CE. The save editor is also not perfect, and game corruption can occur, so finding these values in memory can also be used to fix a broken game with CE. And it's also not unthinkable that using this method helped find other, better locations in memory to add to the CT. ---- Or maybe it was the other way around, and this CT was used to help create the save editor. Or maybe they aren't related at all. I don't know - all I noticed is that they use similar names and structures and it's my opinion one probably influenced the other.

I'll also note, due to the blade affinity chart's complexity, even users of the save editor do NOT recommend messing with a blade's affinity chart. The save editor has an import/export feature, so they recommend importing an identical character (Pyra=>Pyra) and only using it for NG+ due to game-breaking progression bugs that could occur.

Finally, if you are still interested in messing with the affinity chart - you are wandering into uncharted territory. Most of the responses I found while digging was more or less 'figure it out yourself' or 'too much work to be bothered'. In the MISC section there are links down at the bottom that will take you to some resources - notably, all the data tables in the game. You can find everything you want in those files, but I can't say it will be easy to make sense of all of it. Good Luck!

zFerry
Noobzor
Noobzor
Posts: 11
Joined: Wed Jul 31, 2019 10:09 pm
Reputation: 1

Re: Xenoblade Chronicles 2 v2.1.0

Post by zFerry »

asmoranomar wrote:
Mon Aug 15, 2022 10:04 pm
----
ok, thanks for the v8 (I confirm that for now it shows the right values, now I can use the new table which is easier to "move" 👍).

However, I think I have explained myself badly.

My main problem is that: the automation to give the correct address to the symbol "XBC2_1", the AoB (Array of Byte) gives me an error (not specifying which error, but I assume it is simply that it did not find anything).
So at the moment my temporary solution is to look for the value of the money and then subtract "0x7D0" from the address associated with the value of the money.

Script I found on google:
Spoiler

Code: Select all

XBC2_1 = 0x27A69E117F0 - 0x7D0

lastValue=0;

function checkKeys(timer)
  if (isKeyPressed(VK_R)) then
    if lastValue ~= 1 then
      writeQword(address, 1)
      lastValue=1
    end
  else
    if lastValue ~= 0 then
      writeQword(address, 0)
      lastValue=0
    end
  end

end

t=createTimer(nil)
timer_setInterval(t, 100)
timer_onTimer(t, checkKeys)
timer_setEnabled(t, true)
My "=== XBC2 v2.1.0 [0100E95004038000] === TGC v1.1.0 [0100C9F009F7A000] ===" lua script version workarround implementation:
Spoiler

Code: Select all

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
{$lua}
if syntaxcheck then return end -- don't run past this point when adding to table/editing

unregisterSymbol("XBC2_1")

--[[
AoB = AOBScan("?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 A8 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 63 00 00 00 00 00 00 00 B8 9F B4 08 00 00 00 00 E0 9F B4 08 00 00 00 00 08 A0 B4 08 00 00 00 00 01 00 00 00 00 00 00 00 68 ?? ?? ?? ?? 00 00 00 00 ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 41 42 43 44 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 83 00 00 00 00 00 00 00 30 AD B4 08 00 00 00 00 58 AD B4 08 00 00 00 00 B0 ?? ?? ?? ?? 00 00 00 E0 ?? ?? ?? ?? 00 00 00 10 ?? ?? ?? ?? 00 00 00 40 ?? ?? ?? ?? 00 00 00 70 ?? ?? ?? ?? 00 00 00 A0 ?? ?? ?? ?? 00 00 00 D0 ?? ?? ?? ?? 00 00 00 00 ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 41 42 43 44 00 00 00 00 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 38 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 E8 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 18 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 18 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 58 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 C8 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 78 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 33 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 41 42 43 44 F3 F3 F3 F3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 63 00 00 00 00 00 00 00 38 AF B4 08 00 00 00 00 60 AF B4 08 00 00 00 00 88 AF B4 08 00 00 00 00 02 00 00 00 00 00 00 00 68 ?? ?? ?? ?? 00 00 00 70 ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 41 42 43 44 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 43 00 00 00 00 00 00 00 68 3F B5 08 00 00 00 00 01 F3 F3 F3 F3 F3 F3 F3 00 00 00 00 00 00 00 00 41 42 43 44 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 ?? ?? ?? ?? 00 00 00 E3 7B 13 00 00 00 00 00 28 3B B5 08 00 00 00 00 5B A1 03 00 F3 F3 F3 F3 ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00", "", 1, 4)

if (AoB) then  -- check if there are results or not
   lngt = AoB.getCount()  -- get the AoB array length
   registerSymbol("XBC2_1", AoB[0])
   AoB.Destroy()  -- destroy the array
   AoB = nil
else
   print("(Error)")
   print("Check:")
   print("The game is loaded")
   print("")
   print("Cheat Engine is attached to .exe")
   print("Cheat Engine Edit Settings - Scan Settings - MEM_MAPPED enabled")
   print("")
end
--]]


XBC2_1 = 0x27A69E117F0 - 0x7D0

lastValue=0;

function checkKeys(timer)
  if (isKeyPressed(VK_R)) then
    if lastValue ~= 1 then
      writeQword(address, 1)
      lastValue=1
    end
  else
    if lastValue ~= 0 then
      writeQword(address, 0)
      lastValue=0
    end
  end

end

t=createTimer(nil)
timer_setInterval(t, 100)
timer_onTimer(t, checkKeys)
timer_setEnabled(t, true)


{$asm}



[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$lua}
if syntaxcheck then return end -- don't run past this point when adding to table/editing
unregisterSymbol("XBC2_1")
GetLuaEngine().mOutput.Clear()
{$asm}
I don't understand why the AoB doesn't work.
As I said in the first post, I tried them all (at least the ones I knew).
---------------------------------------------------------------------------
The question of "XBC2_1" "XC2_1" I didn't pay attention to... (because just add "B" from the lua script I use 😂).
Absolutely, if you have differentiated XC2 with XBC2 it's better and then leave it that way.
I had probably explained myself badly and it was clear that I blamed "REX => NIA" for the "XBC2_1"...BUT NO! I simply found that "bug" (REX => NIA) and the AoB problem.

-----------------------------------------------------------------------------

GO TO END (EDIT1 AND 2) TO THE ANSWER AT THIS STUPID ASK..... 😭😭🤣🤣🤣👍

I noticed that in v8 (I don't know for v7 and v6) that the list of things is "finished" while in v5 it is disproportionate and "free".
I can easily add an item, even if it is not added in the game (and maybe it breaks the game too, because I tried to add 3 "collectible" type items and they weren't seen in game, but they stayed there in the editor, and now when I try to trade some treasures [which are NOT part of the "collectible" menu], it tells me: that I have full inventory ... only for that type of NPC [for now]. The accessories and the rest work).

Well, aside from the "game breaker" I caused (now I have removed them with v5 and see what damage it does me 🤣), is it normal that the list is clean in v8?


Also I noticed that the ordering is different (the last item does not match either name or ID).
Spoiler
Image
Image
⬇ "There is not enough inventory space" ⬇
Image
⬇ It seems clear to me that there is plenty of space... ⬇
Image
It also doesn't make sense that an item in the "collectibles" buggers the "treasures" inventory which, at least in the game UI, is separate.

----------------------------------------------------------------------------
Extrass:
AoB:
If I look for an AoB (this is the one from: "> Party Health 1"), same thing with that megalomaniac to activate the cheats.
I tried to look for it both with "" and without "" (I don't know if I had to put the "()" as well as in lua, but I assume that the rounds are for lua coding)
Spoiler
Image
I am not studied in the sector but I have noticed that the address to make everything work always ends with "1020" like: 27A69E117F0 - 7D0 = 27A 69E1 1020, maybe it can be useful to know.

Another thing, in the script "=== Pointers [DO NOT EDIT] ==="
in V5, "Hexadecimal" is checked for the XC2_1 Address menu
This:
Spoiler
Image
-----------------------------------------------------------------------------------------------------------------------------------------------
EDIT1:

Code: Select all

 --skip if ID is 0
   --if item_id == 0 then goto continue end
Okay, it was this code that hid the list.
Now I have to figure out if having ID 0 between two items is the reason why the inventory is only full for that type of NPC (because the rest of the things are added without problems).
Spoiler
Image
At the moment I fixed a bug where the last item in the "collectibles" was an empty box that made the cursor disappear (moving up or down, which brings you back to the top of the list, the cursor returns).
It was caused by a set Item "ID 500" which does not exist.
However it did not fix the full inventory bug ... I assume I will have to split the data shifting up by hand for the remaining 20 30 items after that "blank" space of "ID 0" 😭.

EDIT2:
I noticed that in the "accessories" section there are some empty spaces between the "Item_id"; I don't understand if it's a "dev bug" in the game, that the items you sell are set to 0 in that slot ID and then leave it to die (not populating the newly reset _id slot by shifting the next one in that free slot) or you have to reach the end and then the game goes to repopulate the slots it finds free starting from the top ... 🤷‍♂️🤔

...
...
I DON'T BELIEVE IT!!!!!!!!!
I FEEL STUPID BUT THE DEV OF THE GAME ARE ALSO PLACED IN IT !!


Basically, I'm stupid, that NPC sell the "Booster" values (justice, mercy etc.), i thinked is a Treasure seller...
If you have "5/5" of these values, you are counted as full Inventory.
But I SAY!: Put in the UI that I have 5/5 of these values and then I can understand that I am already full!?
I got there because I only noticed now, that any items he was selling were for boosters only.

Nothing, at the end of the story I only found an item_id bug (ID 500) which was mostly visual only in the UI. The rest was me who didn't understand how that NPC worked in the game... 🤷‍♂️😂

asmoranomar
Expert Cheater
Expert Cheater
Posts: 116
Joined: Sun Oct 20, 2019 10:55 pm
Reputation: 80

Re: Xenoblade Chronicles 2 v2.1.0

Post by asmoranomar »

Might do some quotes out of order here, but it'll help
My main problem is that: the automation to give the correct address to the symbol "XBC2_1", the AoB (Array of Byte) gives me an error (not specifying which error, but I assume it is simply that it did not find anything).
I am still unsure why your AOB scan fails. The only other thing I can think about that would affect both yuzu and ryuujin is the game itself. Do you have DLC 1,2,3,4,5, and 99 installed? Does the Title ID [0100E95004038000] match?
So at the moment my temporary solution is to look for the value of the money and then subtract "0x7D0" from the address associated with the value of the money.
There is nothing wrong with this. I didn't create the AOB search - but it was likely made during a time when different versions of the game were out and an attempt to make it future proof. Since the game is pretty much finished, and all switches operate the same, and emulators mimic the switch - there's no reason for memory to jump around anymore unlike some PC games. I could even just remove that script entirely and hard-code the address.

Although, looking at your screenshots, your address is different. So, while some things look like they work fine, other things might still be broken.
Another thing, in the script "=== Pointers [DO NOT EDIT] ==="
in V5, "Hexadecimal" is checked for the XC2_1 Address menu
The reason why these values are not to be changed is because the VALUE is irrelevant. We don't care what format the value is in. The ADDRESS is important. I could change it back to HEX but it's not important and wont solve your problem.
I noticed that in v8 (I don't know for v7 and v6) that the list of things is "finished" while in v5 it is disproportionate and "free".
I know you struck this comment out, but I wanted to clarify "why" I did this.

We are talking about the inventory section. In any version of the CT, you were never able to add items. If you tried, it would never show up. The reason is because the game needs more information. One important one is a timestamp of when you obtained the item, as this allows chronological sorting. And more information than just that. --- Because of this, there was never a reason to show empty item fields. It could even potentially corrupt your game or cause buggy behavior (which you are experiencing). I added a filter so that they would not show up. This also had the bonus of speeding things up a bit.

If you need an item, you must change an existing item or pick up at least one of the item you need (and give yourself more than you want to use). If you get messages about a full inventory, removing it from your inventory should fix the issue. You can also use a save editor to remove invalid entries.

Edit: Oh, and since we are on the topic of boosters. It's important to allow the game to properly destroy items. You should not lock any values for ANY item, as part of the garbage collection will destroy other things (like the aforementioned timestamp records) and you'll have partial entries in the item list and cause bugs. I want to highlight boosters specifically, because you can only hold a limited amount, and they tend to be most useful when using ALL of them. If you want to use all of an item, buy/pickup 1 in that category, and then change it to the item you want and give yourself as many as you want.
I noticed that in the "accessories" section there are some empty spaces between the "Item_id"
Cosmetic. The original author used a lot of empty fields to space things out. I left this one alone.

Edit: Actually, I think I understand what your referring to. You have inventory slots in the game, but you don't see it. As you obtain items, they take up a slot (say slot 1000) and when you lose them, they are removed from that slot (so now slot 1000 is empty). The game never moves items around (so the item in slot 1001 stays in 1001) and you never see your empty slots. So if you remove or sell a bunch of items, it's possible to have gaps in the (v5) list.
Also I noticed that the ordering is different (the last item does not match either name or ID).
So I did find another bug, but that was with Core Chips - and it was minor and would not cause your issues.

With the picture you provided, I can't see an issue - There is not enough information. I think you realized I was filtering, but to explain to everyone else: Entries with different "Item ID's" is standard behavior. If there were two "2601" items and one was saying it was a screw and the other saying it was a bolt, then that would be an issue. But we are looking at different item ID's and quantities, with different addresses - and that is a good thing. I would imagine if you scrolled up/down far enough you'd eventually see the items correctly.
If I look for an AoB (this is the one from: "> Party Health 1"), same thing with that megalomaniac to activate the cheats.
Anything in the MISC section is not to be used and is for reference only. Some of it is unworking code, and some of it is just helpers for drop-down menus or links to other sites. Basically, anything grey (MISC is grey) you should leave alone.

...

This was a long post. So let me know if I might have missed some of your concerns
Last edited by asmoranomar on Tue Aug 16, 2022 3:39 pm, edited 2 times in total.

zFerry
Noobzor
Noobzor
Posts: 11
Joined: Wed Jul 31, 2019 10:09 pm
Reputation: 1

Re: Xenoblade Chronicles 2 v2.1.0

Post by zFerry »

asmoranomar wrote:
Tue Aug 16, 2022 2:47 pm
I am still unsure why your AOB scan fails. The only other thing I can think about that would affect both yuzu and ryuujin is the game itself. Do you have DLC 1,2,3,4,5, and 99 installed? Does the Title ID [0100E95004038000] match?
Title ID: 0100E95004038000
DLC 1,2,3,4,5,6 and 99 (I have DLC 6... what will it be?)
Screenshot
Image
Image
Image

-----------------------------------------------------------
asmoranomar wrote:
Tue Aug 16, 2022 2:47 pm
Anything in the MISC section is not to be used and is for reference only.
😲.
I was fighting to find the HP offset of REX (to try to "create a new" AoB by following the noob tutorial here: viewtopic.php?p=231677#p231677) since the one in "MISC" was wrong 😂 (I thought it was for AoB but what you say, it's just a broken code).
Too bad I have to stop at the passage of the Debugger for OPcode (none of the 3 available on the cheat engine works).
So I was beating myself up for 3 hours using "Structure Dissect" and looking for the offset number to use on the "XBC2_1" symbol for HP... search for "38.605.244" instead of the usual "4096" is """"slightly"""" HEAVY 🤣.

-------------------------------------------------------------
For the question of different item_ids.

I got confused and in fact looking at the inventory lists of anything now, "item_id 1 = banana" is also the same in v5.
Thanks for pointing this out to me.


-------------------------------------------------------------
Yes, I understand that adding items is out of the question (not knowing about the timestamps etc., I was lucky enough to still have the game running).

Just to clarify, there are currently no bugs in my game (not that I'm aware of them at least ...).


Anyway thanks again.
For now I have not found any other visible problems 👍.

In the meantime I hope to figure out how to get the AoB to work again or I try to figure out DLC 6 who is in the NAND.

asmoranomar
Expert Cheater
Expert Cheater
Posts: 116
Joined: Sun Oct 20, 2019 10:55 pm
Reputation: 80

Re: Xenoblade Chronicles 2 v2.1.0

Post by asmoranomar »

Before we continue any further - I do not condone Piracy. You need to obtain the files from a legitimate copy of the game you own and can validate yourself. As far as I'm concerned, the issue lies with the copy of the game you are using.

zFerry
Noobzor
Noobzor
Posts: 11
Joined: Wed Jul 31, 2019 10:09 pm
Reputation: 1

Re: Xenoblade Chronicles 2 v2.1.0

Post by zFerry »

The game is the eshop version (NSP) (not dumped from my switch but I own it, bought it).

The problem is that my switch ram is burned out, as you can see from the CTCaer screenshots and speeches (he is literally the guy who updates Hekate, to me, a god).
Those tests he made me do were the last ones before the ram burned out completely (causing me to lose all game data 🤬).
Anyway, the piracy discourse I would like to leave aside as you say (since from the beginning, it is Cheat Engine piracy itself and the fact that a discussion is made on how to use it from a pc requires just as much piracy (switch keys etc. 😉).
And if we want to be precise, I have the full NAND backup and the 128gb SD card with the games still in it.
The reason for the switch mod is because I used it as an Android 8 Smartphone (at the time 8 it was the only stable one).
Thanks to that I noticed the absurd lag spikes and then contacted CTCaer for clarification (finding that the RAM was burned)
Spoiler
Image
Image
Anyway, I'm testing AoB by removing the DLCs one by one ...
It doesn't work anyway.
At this point I will only try the base game + update 2.1.0 + DLC Torna
(I hope not, but I really think the Jappo Voices DLC is what breaks AoB 🤬).
Thanks again for your patience.

Ard
Novice Cheater
Novice Cheater
Posts: 19
Joined: Fri Nov 19, 2021 1:20 am
Reputation: 0

Re: Xenoblade Chronicles 2 v2.1.0

Post by Ard »

how do i change the damage?

Ard
Novice Cheater
Novice Cheater
Posts: 19
Joined: Fri Nov 19, 2021 1:20 am
Reputation: 0

Re: Xenoblade Chronicles 2 v2.1.0

Post by Ard »

asmoranomar wrote:
Tue Aug 16, 2022 4:55 am
Ard wrote:
Tue Aug 16, 2022 3:38 am
how do i use blade editor for affinity chart?

i know there are other ways to do it, but its a new thing to me. I want to know how it works on CT?
The 'Blade Editor' is a generic editor. When you view a blade in the menu, there will be several cards you can cycle thru in the bottom right. You can think of the Blade Editor as changing the values (and additional hidden values) on those cards. The 'Blade Editor' shares some features with the 'Blade Affinity Chart', but they are NOT the same. It is recommended to use the 'Blade Editor' to change things.
Details
The 'Blade Affinity Chart' on the other hand, actually edits the affinity chart you see in-game. Each node on the affinity chart is actually structured as quest in the game data. Because of how complex the data is, there isn't really an easy way to tell you exactly what ID is for what 'quest'. Furthermore, the game has checks upon loading save data that will reset any complex changes made to the non-generic blades. The generic blades can have their affinity chart changed, but (and I'm speculating) it wouldn't make sense to give a generic blade a rare blade's 'affinity quest', and it may even break the game. There are other values, like Blade ID and Achievement ID's, I'd have to take a deeper look to explain all that -- but to put it simple, It is NOT recommended mess with any of these values unless you know exactly what you are doing. Most users should only change the 'Count' value so they can speed up learning the affinity chart.

Keep in mind that using the 'Blade Editor', you can change things like Field Skills without messing with the 'Blade Affinity Chart'. You can even give someone who maxes out at level 3 on a particular skill, a max of level 5. You couldn't do that on the affinity chart without some real busywork.

If your asking yourself 'why include all these advanced things if it's not recommended to change them':
Well for one, I didn't make the original CT. But if you've ever messed with the save editor, you can see some similarities in how the data is handled. This can be a useful tool for making codes when you know exactly what to look for. I'd imagine the original author used the save editor to make predictable changes to the game, then locate those changes with CE. The save editor is also not perfect, and game corruption can occur, so finding these values in memory can also be used to fix a broken game with CE. And it's also not unthinkable that using this method helped find other, better locations in memory to add to the CT. ---- Or maybe it was the other way around, and this CT was used to help create the save editor. Or maybe they aren't related at all. I don't know - all I noticed is that they use similar names and structures and it's my opinion one probably influenced the other.

I'll also note, due to the blade affinity chart's complexity, even users of the save editor do NOT recommend messing with a blade's affinity chart. The save editor has an import/export feature, so they recommend importing an identical character (Pyra=>Pyra) and only using it for NG+ due to game-breaking progression bugs that could occur.

Finally, if you are still interested in messing with the affinity chart - you are wandering into uncharted territory. Most of the responses I found while digging was more or less 'figure it out yourself' or 'too much work to be bothered'. In the MISC section there are links down at the bottom that will take you to some resources - notably, all the data tables in the game. You can find everything you want in those files, but I can't say it will be easy to make sense of all of it. Good Luck!
thanks!

asmoranomar
Expert Cheater
Expert Cheater
Posts: 116
Joined: Sun Oct 20, 2019 10:55 pm
Reputation: 80

Re: Xenoblade Chronicles 2 v2.1.0

Post by asmoranomar »

Ard wrote:
Wed Aug 17, 2022 4:59 am
how do i change the damage?
There are various ways damage is calculated in the game. There is no 'god mode' like cheat. I recommend you consult a guide on the damage formula. With that said, you can change various ways to increase survivability and damage by changing the following:

Ether Crystals (Buy Poppi upgrades)
Driver Skill Points (Level up your skills)
Driver EXP/Bonus EXP/Level
Blade Editor - Decreasing Art Recast
Blade Editor - Increasing Special Damage Multiplier
Blade Editor - Skill Levels
Blade Editor - Changing Blade Stats
Weapon Art Points (level up Weapon Arts)
Inventory - Core Chips (Upgrade Blade Weapons)
Inventory - Accessories (Better Equipment)
Inventory - Aux Cores (Better Blade Equipment)
Inventory - Pouch Items (Consumable Enhancements)

Ard
Novice Cheater
Novice Cheater
Posts: 19
Joined: Fri Nov 19, 2021 1:20 am
Reputation: 0

Re: Xenoblade Chronicles 2 v2.1.0

Post by Ard »

asmoranomar wrote:
Wed Aug 17, 2022 10:06 pm
Ard wrote:
Wed Aug 17, 2022 4:59 am
how do i change the damage?
There are various ways damage is calculated in the game. There is no 'god mode' like cheat. I recommend you consult a guide on the damage formula. With that said, you can change various ways to increase survivability and damage by changing the following:

Ether Crystals (Buy Poppi upgrades)
Driver Skill Points (Level up your skills)
Driver EXP/Bonus EXP/Level
Blade Editor - Decreasing Art Recast
Blade Editor - Increasing Special Damage Multiplier
Blade Editor - Skill Levels
Blade Editor - Changing Blade Stats
Weapon Art Points (level up Weapon Arts)
Inventory - Core Chips (Upgrade Blade Weapons)
Inventory - Accessories (Better Equipment)
Inventory - Aux Cores (Better Blade Equipment)
Inventory - Pouch Items (Consumable Enhancements)
thank you!
i tried to edit blade stats, but it won't go higher than 255. is that mean 255 is the highest I can go?

asmoranomar
Expert Cheater
Expert Cheater
Posts: 116
Joined: Sun Oct 20, 2019 10:55 pm
Reputation: 80

Re: Xenoblade Chronicles 2 v2.1.0

Post by asmoranomar »

Ard wrote:
Wed Aug 17, 2022 11:54 pm
thank you!
i tried to edit blade stats, but it won't go higher than 255. is that mean 255 is the highest I can go?
Yes.
Details
Computers count by 1's and 0's. Each 1 or 0 is a bit. We group bits together in 8 to form a byte. If you've ever used a roll-over counter, computers count the same way, with the bits rolling over.

00000000 = 0
00000001 = 1
00000010 = 2
00000011 = 3
...
11111111 = 255

More:
Humans like to count by 10, because of how orderly it is, but a 10 in computers is '1010'. If we wanted to do this in computers, we could keep counting until we get '1111', which is 15. including 0, that would make 16 numbers. So instead of counting 0-9 (10 numbers) we can count from 0-F (16 'numbers', 0123456789ABCDEF)

But 1111 (F) is just half a byte, so one whole byte would be 0-255 or 0-FF.

You can also keep counting beyond 255, but at that point you will need more bits to roll-over, and since we work with bytes, counting to 256 requires a whole new byte:

00000001 00000000 = 256
00000001 00000001 = 257
...etc

We use 2 bytes, or even more if we wanted to count *really* big numbers.

Addresses:
If you notice the address for 'Stats - Atk - Phys.', it might be 2A91DEBAA5D. This is a byte location in memory. You can write a bigger number, but it would also change the next address.

But wait, the next address is 2A91DEBAA5E and that is the same for 'Stats - Atk - Ether'. So if we write a bigger number than 255 to 'Stats - Atk - Phys.', then it'll write into 'Stats - Atk - Ether'.

The game only uses a byte to read each stat, so we can't tell the game to use more bits. Even worse, writing 256 would make the first byte 0 (see above). So you effectively rolled-over from 255 to 0 and also set the next byte (which is for 'Stats - Atk - Ether') to 1. Not good.

Cheat Engine has a feature that allows you to tell it what type of value is at a given address. It could be a byte, 2 bytes, 4 bytes, or even more complex types (like if your using decimals). So even if you accidently tried to give an address a wrong number, it wont let you and wont mess anything up.

Ard
Novice Cheater
Novice Cheater
Posts: 19
Joined: Fri Nov 19, 2021 1:20 am
Reputation: 0

Re: Xenoblade Chronicles 2 v2.1.0

Post by Ard »

asmoranomar wrote:
Thu Aug 18, 2022 12:46 am
Ard wrote:
Wed Aug 17, 2022 11:54 pm
thank you!
i tried to edit blade stats, but it won't go higher than 255. is that mean 255 is the highest I can go?
Yes.
Details
Computers count by 1's and 0's. Each 1 or 0 is a bit. We group bits together in 8 to form a byte. If you've ever used a roll-over counter, computers count the same way, with the bits rolling over.

00000000 = 0
00000001 = 1
00000010 = 2
00000011 = 3
...
11111111 = 255

More:
Humans like to count by 10, because of how orderly it is, but a 10 in computers is '1010'. If we wanted to do this in computers, we could keep counting until we get '1111', which is 15. including 0, that would make 16 numbers. So instead of counting 0-9 (10 numbers) we can count from 0-F (16 'numbers', 0123456789ABCDEF)

But 1111 (F) is just half a byte, so one whole byte would be 0-255 or 0-FF.

You can also keep counting beyond 255, but at that point you will need more bits to roll-over, and since we work with bytes, counting to 256 requires a whole new byte:

00000001 00000000 = 256
00000001 00000001 = 257
...etc

We use 2 bytes, or even more if we wanted to count *really* big numbers.

Addresses:
If you notice the address for 'Stats - Atk - Phys.', it might be 2A91DEBAA5D. This is a byte location in memory. You can write a bigger number, but it would also change the next address.

But wait, the next address is 2A91DEBAA5E and that is the same for 'Stats - Atk - Ether'. So if we write a bigger number than 255 to 'Stats - Atk - Phys.', then it'll write into 'Stats - Atk - Ether'.

The game only uses a byte to read each stat, so we can't tell the game to use more bits. Even worse, writing 256 would make the first byte 0 (see above). So you effectively rolled-over from 255 to 0 and also set the next byte (which is for 'Stats - Atk - Ether') to 1. Not good.

Cheat Engine has a feature that allows you to tell it what type of value is at a given address. It could be a byte, 2 bytes, 4 bytes, or even more complex types (like if your using decimals). So even if you accidently tried to give an address a wrong number, it wont let you and wont mess anything up.
got it, thank you

Post Reply

Who is online

Users browsing this forum: Bing [Bot], DarDar34, Google [Bot], Google Adsense [Bot], inscape, lordofdemo, toniber, VirgilSouth