It's been a while since I have been writing .ash files but I found myself with some free time and have been back at it. A long time ago (can't remember the version) mafia used to make a directory if it didn't exist when writing a file. I'm assuming it just used the default file creation call of whatever OS you are running on. However, it doesn't seem to work anymore (same OS) and always puts the files in the \data directory.
Code:
void main(){
string charPath = "characters\\" + my_name() + "\\";
string file = charPath+"test.txt";
print("File: "+file);
int[string] junk;
junk["test"] = 100;
map_to_file(junk,file);
}