You dont have to be super-experienced, but you have to be comfortable with how packets are read, how constructors work, and modifying the core.
If you arent comfortable with those three things, then you are best off leaving it until the RunUO official release with ML support. However if you are keep on trying, In the core, go into the Network folder, then into the PacketHandlers.cs file. Goto the place where the CreateCharacter packet is read, and work from there. Basicly the female bool, has be read as a byte instead, then you have to change all the constructors and such to accept the new int version of gender, over the boolean.
You will also have to go through and modify all male/female checks, as most of them probably just check the boolean.
Alternatively, you could read it as a byte, check if its 0 or 2 (Male Hum/Elf) and set female to false, and if its 1 or 3 (Female Hum/Elf) set it to true, then just pass a new integer with the gender through and use it where appropriate. This would be less work than reworking all male/female checks.