just update X and Z position of gameobject

Hey Guys,
i have a problem, i want to update just the x and z position of a gameobject which has a collider with rigidbody, so that i can move it with the script but that its still on the ground but with transform.position or vector 3 its not working, i know its a easy thing but i dont get it

here is my script (c#)

using UnityEngine;
using System.Collections;

public class PlCarStarter : MonoBehaviour {
public CanvasGroup ShowCanvas;

public bool Updating = true;

public Transform SpawnPosPlCar;
public GameObject PlayerCar;

public Transform SpawnPosAI1Car;
public GameObject AI1;

public Transform SpawnPosAI2Car;
public GameObject AI2;

public Transform SpawnPosAI3Car;
public GameObject AI3;

public bool CamerasOnOff;
public GameObject Cameras;

void Start () {
	ShowCanvas.alpha = 0f;
PlayerCar = GameObject.Find ("Car");
	PlayerCar.rigidbody.velocity = Vector3.zero;
	PlayerCar.rigidbody.angularVelocity = Vector3.zero;
	PlayerCar.transform.position = SpawnPosPlCar.position;
	PlayerCar.transform.rotation = SpawnPosPlCar.rotation;
	PlayerCar.rigidbody.velocity = Vector3.zero;
	PlayerCar.rigidbody.angularVelocity = Vector3.zero;

}

void Update(){

	if(Updating == true){

	
		PlayerCar.transform.position = SpawnPosPlCar.position;
		PlayerCar.transform.rotation = SpawnPosPlCar.rotation;
		PlayerCar.rigidbody.velocity = Vector3.zero;
		PlayerCar.rigidbody.angularVelocity = Vector3.zero;

		AI1.transform.rotation = SpawnPosAI1Car.rotation;
		AI1.transform.position = SpawnPosAI1Car.position;

		AI2.transform.rotation = SpawnPosAI2Car.rotation;
		AI2.transform.position = SpawnPosAI2Car.position;

		AI3.transform.rotation = SpawnPosAI3Car.rotation;
		AI3.transform.position = SpawnPosAI3Car.position;

	}
	if (CamerasOnOff == true) {
			Cameras.SetActive(true);
		}

	}

public void UpdadtOff(){
	Updating = false;
	
}

public void ShowCanvasAlpha(){
	ShowCanvas.alpha = 1f;
}

}

If you want to only update specific parts of the position you can do the following.

PlayerCar.transform.position = new Vector3(SpawnPosPlCar.position.x, 0 or whatever your y needs to be set to, SpawnPosPICar.position.z);

Granted you never specified which variable you want to set but you can use the idea above on any Vector3.