Hi,
This is something that confused me for ages, especially coming as I did from 3D RAD (which only uses variables). If you see the post below ("skills and variables - please help!"), you'll see that they still confuse me occasionally. But basically, this is the answer:
A skill is pretty much the same as a variable, except for the fact that skills can be assigned to particular entities etc. That is, skills remain local whereas variables are global. In other words, if you have a function that you want several characters to use, you will want to use skills more than variables. ie:
variable += 1; //this will apply to ALL entities or whatever that use the variable...
my.skillx += 1; //this will ONLY apply to whichever entity is accessing the function at the time.
For instance, the problem I was having recently was that I was trying to get two characters to use the same function. Because I had used too many variables, though, if I pressed the "up" button for one, they both moved forward. But by replacing a number of the variables with skills, this was solved.
Sorry, this is a really bad explanation: I embarked on trying to explain this knowing that I knew the difference, but tyring to explain it has turned out to be difficult...
Keith