The magic numbers are offsets within the memory block, not positions (read as write to the start of the memblock PLUS the offset). And each float is 4 bytes in size...
Yes, type 4 indicates a memblock.
The code as it stands only deals with 1 player position ... I guess he thought you'd be better off working it out
` create memblock for sending...
MAKE MEMBLOCK 2, totalplayers*12 : ` 3 coords time 4 bytes per float
pos=0 : ` current position within the memblock
FOR player=1 to totalplayers
WRITE MEMBLOCK FLOAT 2, pos, Player_X#(player)
WRITE MEMBLOCK FLOAT 2, pos+4, Player_Y#(player)
WRITE MEMBLOCK FLOAT 2, pos+8, Player_Z#(player)
INC pos, 12
NEXT player
Reverse the login to get the position out of a memblock ... heh, I guess I think you could do with the practice too
Yes, NET MESSAGE MEMBLOCK 2 is the right syntax, and will clear and then create the memblock if it already exists.