Auto-translated
Why is it impossible? If there's only one hero at the start, it's easy.
Heroesplayer1 = GetPlayerHeroes(1); -- assigns the number of existing heroes to the variable
hero1 = Heroesplayer1[0]; -- assigns the name of the first hero in the list to the variable
-- this can continue indefinitely (until the variable runs out)
and the name of the starting (and first) hero of player 1 = is now hero1