Code:
on 1!:join:#shadowlites:{ //notice $nick hi and welcome }

The ! means that the message will go to everyone that joins, except for the person/client that is running the code.

The * wildcard will match any entry, including no entry
The & wildcard will match any single word
The ? wildcard will match any single character

The usage of the first * in the second code, means that it will match any user level. User levels are a bit complicated for a beginner, however, they are explained in the help file under /help user levels

If you want to learn about scripting, I strongly suggest you read through the help file. Don't worry about going through it in any particular order, as many times you'll probably read something, then jump to a 2nd topic, 3rd topic, 4th, see a reference back to the 2nd topic....and so on...many times you'll probably go back and forth reading things that are new, but reference back to stuff you've already read (and it doesn't hurt to re-read those references).