I did some testing today, and came to this conclussion:
on *:text:!loc:#:{
if ($readini(Locations.ini,$+(#,.,$nick),Location) >= !$null) { | halt }
writeini -n Locations.ini $nick Location someplace
}
@westor I also tested out your suggestions, and both times, the command with on text worked. The on join tho dosn't work at all. Any idea why this could be?