New to blueprints, I’ve created a data table with all of components needed to generate items including weights for random selection. Is it possible to look up rows by that weight if the weight is not the row name? All of the tutorials I’ve seen use a map variable which would work but I’ve got a list of 60 affixes and I’m trying to avoid manually entering each map element. Below is a screenshot of my data table for reference.
you can think of a DataTable as a TSet<FName, MyDataTableStruct>
in that way as long as you have a way to generate a valid FName (the DataTable has a Contains function if you need to take multiple attempts)
then on top of that those Names don’t absolutely need to be strings/names they could be integers if you really wanted.
for example lets say I have a DataTable of Items, and these Items could have 1 of 10 modifiers attached to them (really it is 8 because I am using a uint8 bitflag, my “Lightning Broadsword” in the DataTable is just 15 (item ID 1, and then Lightning is 5 concatenated into an int32), then that is turned into a FName to go seeking in the DataTable, and when I go to add the item to an inventory instead of putting in “Lighning BroadSword” I put in that same 15 into an integer field.
To put this into further perspective if you have say 10 or fewer “categories” you can generate a random integer in what is visible 1-27, then concatenate a 2 for defensive (num * 10 + modifier)
and then convert that to an FName into the GetRow function and there is your Defensive DataTableRow.