Qowyn / ark-tools

Tools to work with the binary files of ark. Extract information, manipulate them or write them from scratch.
MIT License
70 stars 25 forks source link

Extract Wild Dino Level? #46

Closed AkitaAttribute closed 3 years ago

AkitaAttribute commented 3 years ago

Currently looking for the wild level of dinos with this tool has not been successful. I feel as though this can be assumed from the RequiredTameAffinity, but I'd probably need some information about that specific dinosaur type (Spino). Wondering if there is something I'm missing?

{
    'id': 149125,
    'uuid': 'd3790cea-44b6-ad95-7713-e6a7620a5ceb',
    'class': 'Spino_Character_BP_C',
    'names': ['Spino_Character_BP_C_361'],
    'location': {
        'x': 22960.11,
        'y': 193279.66,
        'z': -14471.428,
        'yaw': -174.56764
    },
    'properties': [{
            'name': 'bServerInitializedDino',
            'type': 'BoolProperty',
            'value': True
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'value': 24
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 1,
            'value': 19
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 2,
            'value': 26
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 4,
            'value': 19
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 5,
            'value': 21
        }, {
            'name': 'RequiredTameAffinity',
            'type': 'FloatProperty',
            'value': 5450.0
        }, {
            'name': 'DinoID1',
            'type': 'UInt32Property',
            'value': 19515963
        }, {
            'name': 'DinoID2',
            'type': 'UInt32Property',
            'value': 492158214
        }, {
            'name': 'UntamedPoopTimeCache',
            'type': 'FloatProperty',
            'value': 683.6919
        }, {
            'name': 'LastEggSpawnChanceTime',
            'type': 'DoubleProperty',
            'value': 1212865.779094547
        }, {
            'name': 'OriginalNPCVolumeName',
            'type': 'NameProperty',
            'value': 'NPCZoneVolume_71'
        }, {
            'name': 'LastInAllyRangeTime',
            'type': 'DoubleProperty',
            'value': 1212865.779094547
        }, {
            'name': 'NonDedicatedFreezeDinoPhysicsIfLevelUnloaded',
            'type': 'NameProperty',
            'value': 'TheIsland'
        }, {
            'name': 'MyCharacterStatusComponent',
            'type': 'ObjectProperty',
            'size': 8,
            'value': 149126
        }, {
            'name': 'LastEnterStasisTime',
            'type': 'DoubleProperty',
            'value': 1562275.75
        }, {
            'name': 'TargetingTeam',
            'type': 'IntProperty',
            'value': 7
        }, {
            'name': 'Instigator',
            'type': 'ObjectProperty',
            'size': 8,
            'value': 149125
        }, {
            'name': 'OriginalCreationTime',
            'type': 'DoubleProperty',
            'value': 1212865.779094547
        }
    ],
    'extra': None
}
AkitaAttribute commented 3 years ago

In the code for properties related to creatures, I see that there is a baseCharacterLevel field. But I'm thinking this may only be available for tamed?

zokradonh commented 3 years ago

You search for wild levels of wild dinos? So wild leveling of health, oxygen, etc?

AkitaAttribute commented 3 years ago

@zokradonh no, just their "level" pre tame. I am fine calculating it if the only option is adding all the different attributes such as health, oxygen, etc. But I don't see that either I guess.

AkitaAttribute commented 3 years ago

Example of post-tame output. I'm not seeing level there either...:

{
    'id': 152902,
    'uuid': 'd3790cea-44b6-ad95-7713-e6a7620a5ceb',
    'class': 'Spino_Character_BP_C',
    'names': ['Spino_Character_BP_C_379'],
    'location': {
        'x': 272047.97,
        'y': 265655.47,
        'z': -14310.82,
        'yaw': 57.533577
    },
    'properties': [{
            'name': 'bIsFemale',
            'type': 'BoolProperty',
            'value': True
        }, {
            'name': 'bServerInitializedDino',
            'type': 'BoolProperty',
            'value': True
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'value': 94
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 1,
            'value': 93
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 2,
            'value': 35
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 4,
            'value': 28
        }, {
            'name': 'ColorSetIndices',
            'type': 'ByteProperty',
            'index': 5,
            'value': 21
        }, {
            'name': 'ColorSetNames',
            'type': 'NameProperty',
            'value': 'PowderBlue'
        }, {
            'name': 'ColorSetNames',
            'type': 'NameProperty',
            'index': 1,
            'value': 'Teal'
        }, {
            'name': 'ColorSetNames',
            'type': 'NameProperty',
            'index': 2,
            'value': 'Dino Albino'
        }, {
            'name': 'ColorSetNames',
            'type': 'NameProperty',
            'index': 3,
            'value': 'Unused'
        }, {
            'name': 'ColorSetNames',
            'type': 'NameProperty',
            'index': 4,
            'value': 'Dino Dark Blue'
        }, {
            'name': 'ColorSetNames',
            'type': 'NameProperty',
            'index': 5,
            'value': 'Dino Dark Orange'
        }, {
            'name': 'RequiredTameAffinity',
            'type': 'FloatProperty',
            'value': 9950.0
        }, {
            'name': 'TamingTeamID',
            'type': 'IntProperty',
            'value': 2000000000
        }, {
            'name': 'TamingLastFoodConsumptionTime',
            'type': 'DoubleProperty',
            'value': 1563438.6398909763
        }, {
            'name': 'DinoID1',
            'type': 'UInt32Property',
            'value': 403325457
        }, {
            'name': 'DinoID2',
            'type': 'UInt32Property',
            'value': 221143626
        }, {
            'name': 'UntamedPoopTimeCache',
            'type': 'FloatProperty',
            'value': 616.9023
        }, {
            'name': 'LastEggSpawnChanceTime',
            'type': 'DoubleProperty',
            'value': 1563321.684989486
        }, {
            'name': 'OriginalNPCVolumeName',
            'type': 'NameProperty',
            'value': 'NPCZoneVolume_734'
        }, {
            'name': 'TamedAtTime',
            'type': 'DoubleProperty',
            'value': 1352676.2422874346
        }, {
            'name': 'LastInAllyRangeTime',
            'type': 'DoubleProperty',
            'value': 1563446.9965346009
        }, {
            'name': 'LastUpdatedBabyAgeAtTime',
            'type': 'DoubleProperty',
            'value': 1359088.5955793373
        }, {
            'name': 'LastUpdatedMatingAtTime',
            'type': 'DoubleProperty',
            'value': 1563438.6398909763
        }, {
            'name': 'ImprinterName',
            'type': 'StrProperty',
            'value': '****'
        }, {
            'name': 'ImprinterPlayerDataID',
            'type': 'UInt64Property',
            'value': 222501983
        }, {
            'name': 'BabyCuddleWalkStartingLocation',
            'type': 'StructProperty',
            'structType': 'Vector',
            'value': {
                'x': 272047.97,
                'y': 265655.47,
                'z': -14310.82
            }
        }, {
            'name': 'BabyNextCuddleTime',
            'type': 'DoubleProperty',
            'value': 1381478.3478395715
        }, {
            'name': 'BabyCuddleType',
            'type': 'ByteProperty',
            'enum': 'EBabyCuddleType',
            'value': 'EBabyCuddleType::WALK'
        }, {
            'name': 'BabyCuddleFood',
            'type': 'ObjectProperty',
            'size': 12,
            'value': 'BlueprintGeneratedClass /Game/PrimalEarth/CoreBlueprints/Items/Consumables/PrimalItemConsumable_CookedMeat_Fish.PrimalItemConsumable_CookedMeat_Fish_C'
        }, {
            'name': 'bHadStaticBase',
            'type': 'BoolProperty',
            'value': True
        }, {
            'name': 'UploadedFromServerName',
            'type': 'StrProperty',
            'value': "****"
        }, {
            'name': 'TamedOnServerName',
            'type': 'StrProperty',
            'value': "****"
        }, {
            'name': 'DinoAncestors',
            'type': 'ArrayProperty',
            'size': 1655,
            'arrayType': 'StructProperty',
            'value': [[{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 79'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 124537962
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 241556867
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 56'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 219487987
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 276498291
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': '43 - Lvl 43'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 198185192
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 270531625
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': '39 - Lvl 94'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 74674566
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 209858046
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': '43 - Lvl 43'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 215760228
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 140382223
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': '41f-b - Lvl 41'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 448279944
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 266250942
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': '51m - Lvl 51'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 189581263
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 95080355
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 47'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 136691281
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 46829543
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Albino Rhino - Lvl 53'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 468811593
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 125464779
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Gemini - Lvl 53'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 285804627
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 279262865
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 57'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 81424726
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 323360879
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 57'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 93373078
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 12497978
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 57'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 136761269
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 482170394
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 63'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 447262181
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 156207395
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': '63m - GBmat - Lvl 63'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 487535648
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 38211015
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 63'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 18855339
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 388066723
                    }
                ]]
        }, {
            'name': 'DinoAncestorsMale',
            'type': 'ArrayProperty',
            'size': 1878,
            'arrayType': 'StructProperty',
            'value': [[{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 80'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 124537962
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 241556867
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 88'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 219487987
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 276498291
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 64'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 81237480
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 342361347
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Stamina - Lvl 93'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 219487987
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 276498291
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 45'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 299124408
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 283014548
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': '43f - Lvl 43'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 103551755
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 310783360
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': '51m - Lvl 51'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 189581263
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 95080355
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': '51f - bbo - Lvl 51'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 298606630
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 105782348
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Albino Rhino - Lvl 53'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 468811593
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 125464779
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Gemini - Lvl 53'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 285804627
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 279262865
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 57'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 81424726
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 323360879
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 57'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 93373078
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 12497978
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 57'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 136761269
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 482170394
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 63'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 447262181
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 156207395
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 63'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 23902913
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 119471223
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': '51f - bbo - Lvl 89'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 298606630
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 105782348
                    }
                ], [{
                        'name': 'MaleName',
                        'type': 'StrProperty',
                        'value': '63m - GBmat - Lvl 63'
                    }, {
                        'name': 'MaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 487535648
                    }, {
                        'name': 'MaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 38211015
                    }, {
                        'name': 'FemaleName',
                        'type': 'StrProperty',
                        'value': 'Spino - Lvl 63'
                    }, {
                        'name': 'FemaleDinoID1',
                        'type': 'UInt32Property',
                        'value': 18855339
                    }, {
                        'name': 'FemaleDinoID2',
                        'type': 'UInt32Property',
                        'value': 388066723
                    }
                ]]
        }, {
            'name': 'RandomMutationsMale',
            'type': 'IntProperty',
            'value': 54
        }, {
            'name': 'RandomMutationsFemale',
            'type': 'IntProperty',
            'value': 50
        }, {
            'name': 'NonDedicatedFreezeDinoPhysicsIfLevelUnloaded',
            'type': 'NameProperty',
            'value': 'TheIsland'
        }, {
            'name': 'TribeName',
            'type': 'StrProperty',
            'value': '****'
        }, {
            'name': 'MyCharacterStatusComponent',
            'type': 'ObjectProperty',
            'size': 8,
            'value': 152903
        }, {
            'name': 'MyInventoryComponent',
            'type': 'ObjectProperty',
            'size': 8,
            'value': 152904
        }, {
            'name': 'LastEnterStasisTime',
            'type': 'DoubleProperty',
            'value': 1563447.1970939934
        }, {
            'name': 'TargetingTeam',
            'type': 'IntProperty',
            'value': 1184884235
        }, {
            'name': 'Instigator',
            'type': 'ObjectProperty',
            'size': 8,
            'value': 152902
        }, {
            'name': 'OriginalCreationTime',
            'type': 'DoubleProperty',
            'value': 1352676.2422874346
        }
    ],
    'extra': None
}
zokradonh commented 3 years ago

The data of the wild leveling of tames is available. But as you say only as different attributes. As far as I remember. You should find them but I don't remember exactly.

AkitaAttribute commented 3 years ago

@zokradonh So the json I'm providing is using the m2j command. I'm not exactly sure where else to look...

zokradonh commented 3 years ago

You should use the "tamed" command. This will prepare the output nicely for you.

AkitaAttribute commented 3 years ago

I figured it out. It appears that there are 2 entries for each dino. So Dino Spino_Character_BP_C_361 has an entry for location and such, and a second entry for levels.