Help finding crafting values from ffxiv memory

03/03/2015 06:12 Ahngee#1
Hi everyone,
I have been trying to find crafting info in ffxiv memory. I read and reread this thread: [Only registered and activated users can see links. Click Here To Register...] where lucid explains how to find the crafting widget and then try to follow in memory how it leads to progress, durability, quality, etc variables.

I have also watched this youtube video by Cooleko: [Only registered and activated users can see links. Click Here To Register...]


I have been entirely unable to find quality, progress, etc. Using CE, I text searched widget and looked at each one in memory, but none of them looked like they had anything to do with crafting. They were called bag widget, retainer widget, and then a long list of strange text widgets but nothing that looked like crafting.

When trying to isolate a value, like Quality for instance, I have been unable to trace back to base address pointers. I do pointer scans, but the next scan doesn't match any of the first scan's addresses.

I did this same method for CP, which isn't shown in the crafting gump but is always visible on screen, and easily followed it back to a lv 4 pointer which works reliably now.
I assume this means that the crafting values I need are part of a larger structure, so the pointers aren't leading me to the right place.

Is this correct? Am I on the right track? Can you help me in any way? Thanks.
03/04/2015 05:24 lucid#2
The resources you linked are for 1.0, so no wonder you're having trouble :)

In FFXIV 2.0 the widget data in memory isn't as straightforward as it was in 1.0 imo.

I believe there are memory values at static addresses but Step will be inaccurate for the first step. Steps 2+ will be correct but the static Step value doesn't "reset" to 1 when a craft starts (instead has previous last-step).

So instead of using the 1.0 methods, just search for a 4-byte value; sounds like you're on the right track.
03/05/2015 08:02 Ahngee#3
Quote:
Originally Posted by lucid View Post
The resources you linked are for 1.0, so no wonder you're having trouble :)

In FFXIV 2.0 the widget data in memory isn't as straightforward as it was in 1.0 imo.

I believe there are memory values at static addresses but Step will be inaccurate for the first step. Steps 2+ will be correct but the static Step value doesn't "reset" to 1 when a craft starts (instead has previous last-step).

So instead of using the 1.0 methods, just search for a 4-byte value; sounds like you're on the right track.
Thanks for the reply lucid. I began searching for the steps value tonight. I found a green address that always holds it, and a black address that changes after each game restart. I tried to run multiple pointer scans on the black addresses, but wasn't able to nail it down to a single array of pointer offsets.

Afterwards I started looking more at the green address. It has two operations associated with it. The first writes to the value. I assume this is the game incrementing the step count after each step. The second accesses the value. Is this the game trying to use the step counter to update the crafting gump? Are you hinting that I should try to follow the code in the disassembler to see what is calling for this value or where it is sent? Or am I way off, haha :o

Just realized that you may have been telling me that ALL the values I am looking for are held in static addresses. Maintenance just started, but I will check on that again tomorrow. Wow, if they were really that easy to find, I'm going to feel pretty silly after all the pointer scans I did =)
03/05/2015 17:37 lucid#4
Quote:
Originally Posted by Ahngee View Post
Wow, if they were really that easy to find, I'm going to feel pretty silly after all the pointer scans I did =)
Haha!

btw... maintenance did not change offsets.
03/05/2015 22:53 Ahngee#5
To anyone that is having some trouble finding Crafting values:

All Current values are stored at static addresses. They are easy to find, as long as you remember that you can't search on the first step of a craft; you have to do one step before they will update. Condition is stored as int.

Thanks to lucid for pointing this out to me. :handsdown:

For Total values, like the Total Quality or Total Progress(difficulty) of a craft, they are lv 5 pointers to static addresses. These do update instantly, and while you are scrolling through different recipes in the craft selection menu.
03/11/2015 06:54 foggyspider#6
I'm wondering how you can tell from memory if a craft is currently in progress or not. Any Ideas what to search for?
03/26/2015 10:41 LuckOnCooldown#7
Quote:
Originally Posted by foggyspider View Post
I'm wondering how you can tell from memory if a craft is currently in progress or not. Any Ideas what to search for?
1) Open cheat engine and attach to ffxiv.exe
2) Search for unknown initial value of byte type
3) Begin craft
4) Search for changed value
5) continue craft
6) Search for unchanged value (several times)
7) Repeat the above 2 steps until the craft is finished
8)Search for changed value

Repeat steps 3-8 as necessary until you've found what you're looking for.