Kattus from Gog forums explained how to transfer characters from EoB2 to EoB3:https://www.gog.com/forum/forgotten_realms_collection/transferring_eye_of_the_beholder_party_to_next_part
From EoB 1 to 2:
-Copy EoBdata.sav file from EoB1 directory to EoB2 directory.
-Run EoB2 and choose "Transfer EoB1 Party" from main menu.
From EoB 2 to 3:
-Copy "final.sav" from EoB2 directory to EoB3 directory, it is automatically created when you win EoB2. Or you can transfer any savegame, just copy "EoBdataX.sav" to EoB3 directory.
-Run "charcopy.exe" which is located in EoB3 directory. Notice that you can only transfer first four characters of your party. If you want to take specific characters to EoB3 you must arrange your party beforehand in EoB2.
Alternatively you can skip the Charcopy program and just copy savegame of your choice to the main EoB3 directory and rename it to "TRANSFER.SAV"
Run game and choose "Summon the Heroes of Darkmoon" from main menu.
(I altered spelling and punctuation to my taste. Ishad Nha
For EoB2 to EoB3, second idea is easy to use in practice.)
Currently I am sure of only 103 out of 627 Bytes but a lot of Bytes seem to be the same for all ten PC/NPC records.
Offsets 549:676 occur in an 8*16 array, when line length is set to 8 you get this pattern:
# 0 255 255 255 255 0 0
where # is from 16 to 31.
Now, 6,947:7,410 is the same story, except # is from 42 to 99.
PC/NPC records start with numbers from 32 to 41.
10*627 = 6,270
676+6,270 = 6,946
Thus the starting offset for each record should be:
Father Jon 3,812
Dalmair Rallyhorn 5,693
End of PC/NPC part 6,947
Mage spells for Bug the NPC Mage start at offset 3,622. Every ten Bytes a new level of Mage spells is covered, so level 9 starts at 3,702.