La logica mi sembra corretta (anche se non ho tutti gli elementi per un giudizio completo, che lascio ai tuoi tentativi), ma la realizzazione ha un buco:
offerta="document.lista_g." + nome_campo
Questa e` una stringa, non un oggetto, quindi non puoi applicare la proprieta` value. Vedi questa sintassi:
nome_campo = "off_" + id_giocatore
arr_soldi[i] = document.lista_g.elements(nome_campo).value;
Dove si presume che lista_g sia il nome del form, e che in nome_campo ci sia una stringa che designa il nome di un campo in tale form.
Ciao
Michele