First of all...welcome to the Forum.
And now here some replies to your questions ;D
the getpos command reveals 3 different values, 1 for x coordinates, 1 for y coordinates and 1 for z coordinates.
so in your example with select 0 and select 1, you'll get the coordinates of the object (denlou in your example) and with the value 50, you put it 50 meters above ground.
A setpos command with [1,1,1] would set the object on the top left corner of the map....which is ocean only i think
about the use of loval variables in a script is the following to say.
In general, for map making, it can be useful if you make more general scripts. As example, if you make a script for deleting dead bodies (lag eliminator), you make one script and get the variables with the exec command.
let me explain this a little closer.
in this script you want to delete a loon which is dead. You can define this loon in 2 ways. 1st. you could make a script for each loon or, 2nd. you make one script and replace the loon with a variable.
In the second case, the script would start with the following line:
_guy = _this select 0
as you see, _guy is a local variable..but how do we get the loon's name in there? easy, with the exec command.
usually you call scripts with command line like this
[this] exec "myscript.sqs"
the part between the brackets is the interesting part...there you can pass variables to the script...like this
[denlou] exec "myscript.sqs"
now the local variable _guy will have the value "denlou", and all the following into the script you can make happen to denlou by just using _guy...as example
_guy setpos [getpos _guy select 0, getpos _guy select 1, +50]
Well...i think you have enough now to work with.
I hope i was able to explain it in a way you understand...if not, then i guess it is more cause my bad english and not you intellect ;D