I'm working on a project (an RPG utility) but have hit a brick wall, so I hope some of the more skilled IRC programmers out there can help me!

Here is my problem (it is in 2 parts):

1) A user is faced with a dialog box asking them to "Choose a Race", and when they click the "Next" button at the bottom of the screen, this information is saved to a Hash Table. Here is an example of my code:

on *:dialog:new1:sclick:13:{
if ($did(new1,9).state == 1) { hadd CharSheet Race Human }
}

That part works fine. However, in this instance, I also want the program to add some default skills to the "Character" being created, which will vary depending on their choice of race. Each <name> in Hash Tables needs to be unique (so, for example, { hadd CharSheet Skill Athletics | hadd CharSheet Skill Climbing } would only save "Climbing" to the Hash Table, as "Athletics" would be overwritten), so I don't think this is a viable option (however, I would love to be proved wrong!). What would be the best way to store this information so that it could be called upon by other scripts?

2) This information then displays on a "Character Sheet" (another dialog box). There are a few blank edit boxes set aside for these "Skills". I want the skills from the user's race selection to be displayed in these, one skill to each edit box. They don't need to be in any particular order, so I thought some sort of routine that checked to see if an edit box was empty would suffice - and if it was, it would write one skill to the box, and then find the next empty box for the next skill to be written into. Can anybody help me with this?

I apologise for being wordy and confusing, but this has frustrated me for days now. There is probably some blindingly simple solution that I'm overlooking, but any help that could be given (to either part of the problem) would be *greatly* appreciated!