Then, the problem is that you are using 'playerSource', but you should use 'localPlayer' instead.
function flip ( )
local theVehicle = getPedOccupiedVehicle ( localPlayer )
if ( theVehicle and getVehicleController ( theVehicle ) == localPlayer ) then
local rx, ry, rz = getVehicleRotation ( theVehicle )
if ( rx > 110 ) and ( rx < 250 ) then
local x, y, z = getElementPosition ( theVehicle )
setVehicleRotation ( theVehicle, rx + 180, ry, rz )
setElementPosition ( theVehicle, x, y, z + 2 )
end
end
end
bindKey ( "x", "down", flip )
addCommandHandler ( "flip" , flip )
addCommandHandler ( "f", flip )