Hey, thanks for the reply, I tested your code but it didn't work (I prolly misused it)
But there seems to be an easier way.
By spawning the game null on the player position, then just measuring the distance from the gamenull to player, since its on the same location the distance will be the height
So this way I could just add the height and get the object placed exactly to the right place.
Not a genious work but it worked nice with vehicles(another way was let em drop from some height, but this would most likely blow up some vehicles and might give complications in other areas)
I also tested and it works with MGs and I guess with any other object (ehehe pretty cool to see a MG placed on a roof actually)
Here's the code
_caller = _this select 0
_callx=getpos _caller select 0
_cally=getpos _caller select 1
_callz=getpos _caller select 2
_calldir = getdir _caller
#spawn
~0.2
_carxx = sin(_calldir)*_distance
_caryy = cos(_calldir)*_distance
_guide = "Logic" camCreate getPos _caller
_height = _guide distance _caller
_car = "sttklr250" createvehicle [(_callx+_carxx),(_cally+_caryy),50]
_car setpos [(getpos _caller select 0), (getpos _caller select 1), (getpos _guide select 2) +_height];
deletevehicle _guide
the object spawned in this example is the excellent dirt bike, but M2StaticMG is just as much fun
Either way, my problem is solved and I hope it might have helped somebody else too.