Fed up playing the same characters all the time?
This mini-mod will let you generate a completely random character from all the options available. It pre-sets your abilities score to a minimum of 85, but allocates those points for you. It even chooses your initial proficiencies, skills & spells.
It doesn't:
- allocate a portrait (for the purposes of character generation it will use zzzzzzz.bmp as your portrait which is the ? image - once in the game you can then change your portrait to whatever fits your character better)
- set your colours / voice.
- choose a name for you.
So you will need to do those bits...
Any feedback/questions/suggestions gratefully received...
(Thanks to @lefreut for helping me solve a random crash issue...!)
Screenshot:
![]()
It's really easy to install:
1) Download the attached zip file. Inside are two files:
- Put the file zzzzzzz.bmp into your portraits folder
- Put the file M_random.lua into your override folder.
2) Now open UI.menu and search for the 'CHARGEN' menu (it will be around line 12330). You will find the line 'ignoreesc', just enter this line below it:
3) Only if you are using versions 2.0 or 2.1 of the game, then do the following - at the top of the UI.menu file type the highlighted line in:
![]()
4) Then scroll down a little bit and look for the button marked IMPORT and BIOGRAPHY buttons - they look something like this (may vary a little depending on the game):
![]()
and
![]()
Right, between these two buttons, just insert the following code depending which game you are altering:
BGEE+SOD - use this code:
BGEE and BG2EE - use this code:
And that's it...!
This mini-mod will let you generate a completely random character from all the options available. It pre-sets your abilities score to a minimum of 85, but allocates those points for you. It even chooses your initial proficiencies, skills & spells.
It doesn't:
- allocate a portrait (for the purposes of character generation it will use zzzzzzz.bmp as your portrait which is the ? image - once in the game you can then change your portrait to whatever fits your character better)
- set your colours / voice.
- choose a name for you.
So you will need to do those bits...
Any feedback/questions/suggestions gratefully received...
(Thanks to @lefreut for helping me solve a random crash issue...!)
Screenshot:

It's really easy to install:
1) Download the attached zip file. Inside are two files:
- Put the file zzzzzzz.bmp into your portraits folder
- Put the file M_random.lua into your override folder.
2) Now open UI.menu and search for the 'CHARGEN' menu (it will be around line 12330). You will find the line 'ignoreesc', just enter this line below it:
onopen "randomCharacter = 0;"3) Only if you are using versions 2.0 or 2.1 of the game, then do the following - at the top of the UI.menu file type the highlighted line in:

4) Then scroll down a little bit and look for the button marked IMPORT and BIOGRAPHY buttons - they look something like this (may vary a little depending on the game):

and

Right, between these two buttons, just insert the following code depending which game you are altering:
BGEE+SOD - use this code:
button
{
enabled "createCharScreen:GetCurrentStep() == 0"
area 36 524 340 30
text "????"
text style "button"
pad 8 2 8 2
bam GUIBUTWS
action "randChar()"
}
button
{
enabled "randomCharacter == 1 and createCharScreen:GetCurrentStep() == 15"
area 36 524 340 30
text "Again?"
text style "button"
pad 8 2 8 2
bam GUIBUTWS
action "
chargen.information = nil
randomCharacter = 0
for i=1,5,1 do
createCharScreen:OnMainBackButtonClick()
end
randomCharacter = 1
randChar()
"
}
BGEE and BG2EE - use this code:
button
{
enabled "createCharScreen:GetCurrentStep() == 0"
area 22 574 340 30
text "????"
text style "button"
pad 8 2 8 2
bam GUICHLNG
action "randChar()"
}
button
{
enabled "randomCharacter == 1 and createCharScreen:GetCurrentStep() == 15"
area 22 574 340 30
text "Again?"
text style "button"
pad 8 2 8 2
bam GUICHLNG
action "
chargen.information = nil
randomCharacter = 0
for i=1,5,1 do
createCharScreen:OnMainBackButtonClick()
end
randomCharacter = 1
randChar()
"
}
And that's it...!








