the Random Number Item function looks like in CPP, and yes it is just generating a random number between 0 to 99
void AMyGameMode::RandomItemNumber(int32& Number)
{
TArray<int32> Arr{};
TArray<FName> OutRowNames{};
(OutRowNames).Reset();
if (const UDataTable* DT_ItemNumberProbability = LoadObject<UDataTable>(NULL, TEXT("/Game/DataTables/ItemsGeneration/DT_ItemNumbarProbability")))
{
OutRowNames = DT_ItemNumberProbability->GetRowNames();
for (auto& Array : OutRowNames)
{
if (const UDataTable* DT_ItemNumberProbability{ LoadObject<UDataTable>(GetWorld(), TEXT("/Game/DataTables/ItemsGeneration/DT_ItemNumbarProbability")) })
{
if (const FST_ItemNumberProbability * OutRow{ DT_ItemNumberProbability->FindRow<FST_ItemNumberProbability>(FName(Array), "") })
{
if (OutRow)
{
NumberProbabilityDatas = *OutRow;
for ( int32 i = 1; i <= NumberProbabilityDatas.Percent; i++)
{
Arr.Add(NumberProbabilityDatas.Number);
}
}
}
}
}
//Randomize range between 0 to 99 , set return to Number
FCustomThunkTemplates::Array_Shuffle(Arr);
Number = Arr[FMath::RandRange(0, 99)];
}
}
and in bp looks likes this
