Updates for the script.
Changelog:
Well, I can see why you are having trouble understanding this, it took me a while too. There is a $readini() alias you should use instead of $read() to make things a lot more understandable. The top10 script also seems to use a hidden window to do the actual sorting, which is a bit obscure.
For your actual problem, the function below should return the number of points a nick has:
$readini(points.ini, n, $+(#,.,$nick), Points)
If it returns nothing (or 0) you can message your welcome message. You should do this before add.pts though.
If you later want to edit the top10 script to use $readini() aswell, use $ini(points.ini, %i) to go through nicks instead of searching for lines with "#".
To save the last edited timestamp and user I suggest modifying the ini structure a bit. Namely you might want to consider losing the Define-Explain key in favor of the actual word. This does, however, set some rules to the definable words. For example the words can't have a "=" in them, since that's a crucial character of .ini file format.
Anyway, writing could go as:
/writeini Worddata.ini $2 definition $3-
/writeini Worddata.ini $2 user $nick
/writeini Worddata.ini $2 timestamp $timestamp
And reading:
if ($readini(Worddata.ini,$2,definition)) {
.msg $chan $2 == $v1 set by $readini(Worddata.ini,$2,user) at $readini(Worddata.ini,$2,timestamp)
}
else {
.msg $chan $2 == Not Yet Set.
}