Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Test Subject
Original Poster
#1 Old 10th Feb 2016 at 9:09 PM
Default How to get a cas part or object ID?(For tuning)
Hi
How can i get the ID of a CASPart or object? I don't mean the InstanceID, i mean the one used in recipes and rewards(XML tuning)
Advertisement
Pettifogging Legalist!
retired moderator
#2 Old 10th Feb 2016 at 10:03 PM
You mean stuff like

Code:
          <V n="reward" t="object_definition">
            <U n="object_definition">
              <T n="definition">72400</T>
            </U>
          </V>


yes?

For objects, that is the resource ID of the OBJD/COBJ -- for CAS parts I am not sure, but it should be easy to figure out if you search the game package for that ID.

Or do you mean the other way around -- you don't have the recipe (since you are about to make it, perhaps), but you do know which (Maxis) object / CAS thing you want to use? Then it is probably easiest to look up its in-game name in your strings_EN_US.package (copy the whole thing from the preview in s4pe, paste in your fave text editor and search there), and then search deltabuild0/fullbuild0 for the key you see in the stbl. For objects filter for COBJ, for cas parts for CASP.

Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Test Subject
Original Poster
#3 Old 10th Feb 2016 at 10:18 PM
Quote: Originally posted by plasticbox
You mean stuff like

Code:
          <V n="reward" t="object_definition">
            <U n="object_definition">
              <T n="definition">72400</T>
            </U>
          </V>


yes?

For objects, that is the resource ID of the OBJD/COBJ -- for CAS parts I am not sure, but it should be easy to figure out if you search the game package for that ID.

Or do you mean the other way around -- you don't have the recipe (since you are about to make it, perhaps), but you do know which (Maxis) object / CAS thing you want to use? Then it is probably easiest to look up its in-game name in your strings_EN_US.package (copy the whole thing from the preview in s4pe, paste in your fave text editor and search there), and then search deltabuild0/fullbuild0 for the key you see in the stbl. For objects filter for COBJ, for cas parts for CASP.

I meant the first
Thanks!
Deceased
#4 Old 11th Feb 2016 at 3:37 AM
For in-game objects that I don't know what their definition ID is I'll use D3OI. I've never really packaged it up, but it's available in a thread here. If you choose the "Dump" option, one of the lines will show the "definition" in decimal, e.g. "definition = <Definition: 38187>", so you can just search the file for that.
Pettifogging Legalist!
retired moderator
#5 Old 11th Feb 2016 at 11:06 AM
Ah, that also makes sense for when you're already in game! (When I make mods I'm usually not, so that is why searching by name is faster fo me)

In the example dump in the D3OI thread, looks like "guid64 = 0x00000000000070d5 (28885 d)" (3rd line from top) is the definition .. yes?

Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Deceased
#6 Old 12th Feb 2016 at 4:02 PM
Quote: Originally posted by plasticbox
Ah, that also makes sense for when you're already in game! (When I make mods I'm usually not, so that is why searching by name is faster fo me)

In the example dump in the D3OI thread, looks like "guid64 = 0x00000000000070d5 (28885 d)" (3rd line from top) is the definition .. yes?
No, that would be the tuning instance. Currently the only way to get the definition would be via the dump to file option and looking for the definition line.
One horse disagreer of the Apocalypse
#7 Old 12th Feb 2016 at 4:31 PM
For objects, I'd use one of the cloning tools, clone the object, then look in its OBJD. Or am I completely missing the point of this question?

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Pettifogging Legalist!
retired moderator
#8 Old 12th Feb 2016 at 4:37 PM
That will tell you the ID of the clone, Inge. And/or of the object tuning, but the tuning ID is not what is needed here.

Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
One horse disagreer of the Apocalypse
#9 Old 12th Feb 2016 at 5:02 PM
Can't you get the original ID from the fallback guid? This is where S3OC was useful, you could clone without renumber and get all sorts of useful information.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Deceased
#10 Old 12th Feb 2016 at 5:13 PM
Added a followup message on the D3OI thread showing how to add the object definition info to the display in game so you don't have to dump the output to a file to get that id.
Screenshots
Pettifogging Legalist!
retired moderator
#11 Old 12th Feb 2016 at 5:30 PM
Quote: Originally posted by Inge Jones
Can't you get the original ID from the fallback guid?


If you are 100% certain that the clone contains the ID of the original as fallback, yes then you could do that too. Seems a little roundabout though, compared with using something DDOI or simply looking it up directly .. not everyone who does XML tuning would even have a cloning tool installed, if they don't happen to be creating objects or other CC as well.


Quote: Originally posted by scumbumbo
Added a followup message on the D3OI thread


Ah, that looks useful! =) Maybe change "guid64" into "object tuning ID" or something, so that it's clearer what this is exactly?

Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Back to top