Конечно логичнее воспользоваться скриптами для этого. Там есть массивы.
Но для простой генерации можно использовать переменные.
Допустим переменная ограничена 99 999 999. Возьмем одну переменную для одного героя.
И того у нас получается: 8 разных параметров на каждый порядок числа и 9 возможных значений для каждого из них.
К примеру, сотни миллионов — это место рождения.
9 - в деревне
8 - в городе
7 - в лесу
и т.д.
Десятки миллионов — семья.
9 - в приюте
8 - в большой семье
7 - без отца
и т.д.
Проверяем переменную, начиная с наибольшего порядка.
Если переменная1 > 90 000 000, то герой 1 родился в деревне
Отнимаем от переменной1 90 000 000
Если END
Если переменная1 > 80 000 000, то герой 1 родился в городе
Отнимаем от переменной1 80 000 000
Если END
и т.д.
Дальше следующий порядок
Если переменная1 > 9 000 000, то герой 1 родился в приюте
Отнимаем от переменной1 9 000 000
Если END
Если переменная1 > 8 000 000, то герой 1 родился в большой семье
Отнимаем от переменной1 8 000 000
Если END
Чтобы не потерять переменную1 после вычитаний, можно перед всеми операциями записать ее значение в другую, буферную.
Чтобы сгенерировать такое число случайным образом, нужно сгенерировать каждый порядок от 1 до 9.
Например,
переменная1 = RAND(9) * 10 000 000 #место рождения
переменная1 = переменная1 + RAND(9) * 1 000 000 #семья
переменная1 = переменная1 + RAND(9) * 100 000 #девушка
и т.д.
Социальные закладки