well if terrain_pos is a function which returns a vector there's nothing wrong with it.
if not, just use a vector
ent_create("player.mdl", vector(100, 200, 300), move_player);

then you can either set the player pointer inside the action (move_player) by using player = me; or by creating the player like this:
player = ent_create(...


POTATO-MAN saves the day! - Random