NoMansSky:UnlockableItemTrees: Difference between revisions

From Step Mods | Change The Game
m (Text replacement - "\[\[Category:NMS-Index-.*\]\]" to "")
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{PageTitle|logo=nomanssky|title=UnlockableItemTrees File|author=Lo2k}}
{{#set:
NMSIndex=BaseBuilding
|NMSIndex=Tables
}}{{PageTitle|logo=nomanssky|title=UnlockableItemTrees File|author=Lo2k}}
{{NMSPage}}
{{NMSPage}}
{{TOC_right}}[[Category:NMS-Reference-GameFile]]
{{TOC}}
== Introduction ==
== Introduction ==
Crafting is a key point in No Man's Sky and a lot of blueprints can be unlocked via technology trees. All the tech trees, either from Nexus, Freighter or Blueprint Analysis Module are declared in: <code>METADATA\REALITY\TABLES\UNLOCKABLEITEMTREES.MBIN</code>
Crafting is a key point in No Man's Sky and a lot of blueprints can be unlocked via technology trees. All the tech trees, either from Nexus, Freighter or Blueprint Analysis Module are declared in: <code>METADATA\REALITY\TABLES\UNLOCKABLEITEMTREES.MBIN</code>

Latest revision as of 19:06, August 5, 2021

Nomanssky flare.png

UnlockableItemTrees File

by: Lo2k

Introduction

Crafting is a key point in No Man's Sky and a lot of blueprints can be unlocked via technology trees. All the tech trees, either from Nexus, Freighter or Blueprint Analysis Module are declared in: METADATA\REALITY\TABLES\UNLOCKABLEITEMTREES.MBIN

The whole file is composed of 2 parts :

  • Trees themselves, which represents 95% of the file, listing each item in a nested way
  • Cost types, describing currencies used in the trees

Trees Definition

The file structure is pretty simple as it mimics the tech tree it describes.


Here is a small extract of the first branch of the wooden parts tree above :

   <Property name="BasicBaseParts" value="GcUnlockableItemTrees.xml">
     <Property name="Title" value="UI_PURCHASABLE_BASICPARTS_TREE" />        Tree Name. This name is referenced in each language file for translation
     <Property name="Trees">
       <Property value="GcUnlockableItemTree.xml">
         <Property name="Title" value="UI_BASIC_WOOD_SUB" />     Branch Name. This name is referenced in each language file for translation
         <Property name="CostTypeID" value="SALVAGE" />     Currency used, as defined at the end of the file.
         <Property name="Root" value="GcUnlockableItemTreeNode.xml">
           <Property name="Unlockable" value="W_WALL" />     Item Name. This name is referenced in each language file for translation
           <Property name="Children">
             <Property value="GcUnlockableItemTreeNode.xml">
               <Property name="Unlockable" value="W_FLOOR" />     Item Name. This name is referenced in each language file for translation
               <Property name="Children">
                 <Property value="GcUnlockableItemTreeNode.xml">
                   <Property name="Unlockable" value="W_GFLOOR" />
                   <Property name="Children" />
                 </Property>
                 <Property value="GcUnlockableItemTreeNode.xml">
                   <Property name="Unlockable" value="W_RAMP" />
                   <Property name="Children">
                     <Property value="GcUnlockableItemTreeNode.xml">
                       <Property name="Unlockable" value="W_RAMP_H" />
                       <Property name="Children" />
                     </Property>
                   </Property>
                 </Property>

As you can see, each item has children, as in the trees themselves, and you can't unlock a child if you haven't unlocked its parent.

Cost types

Each tree items requires a currency to be unlocked.
All of them are listed at the end of the file.

Here is one of the currencies :

   <Property value="GcUnlockableTreeCostType.xml">
     <Property name="CostTypeID" value="SALVAGE" />    Currency. This is the name used in the trees to define the required currency
     <Property name="TypeOfCost" value="Product" />
     <Property name="CurrencyType" value="GcCurrency.xml">
       <Property name="Currency" value="Units" />
     </Property>
     <Property name="TypeID" value="BP_SALVAGE" />    Currency Name. This name is referenced in each language file for translation
     <Property name="CantAffortString" value="TRADE_BUY_BUILDING_NO_ITEMS" />   Insufficient currency message. This is referenced in each language file for translation
   </Property>