Function AttachPlayerObjectToVehicle attach a player object to a vehicle.
Function AttachPlayerObjectToVehicle was added in 0.3e and will not work in earlier versions!

(playerid, objectid, vehicleid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:RotZ)
int playerid The ID of the player the object was created for.
int objectid The ID of the object to attach to the vehicle.
int vehicleid The ID of the vehicle to attach the object to.
float fOffsetX The X position offset for attachment.
float fOffsetY The Y position offset for attachment.
float fOffsetZ The Z position offset for attachment.
float fRotX The X rotation offset for attachment.
float fRotY The Y rotation offset for attachment.
float fRotZ The Z rotation offset for attachment.

Return Values:
This function does not return any specific values.

public OnPlayerStateChange(playerid, newstate, oldstate)
    if(newstate == PLAYER_STATE_DRIVER) // If player enters vehicle
        // Attach massive cow.
        new cow_object = CreatePlayerObject(playerid, 16442, 0, 0, 0, 0, 0, 0);
        AttachPlayerObjectToVehicle(playerid, cow_object, GetPlayerVehicleID(playerid), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);

Related Functions
The following functions may be useful, as they are related to this function in one way or another.