- Home /
Car Enter/Exit Script Problems
Hey Guys. Iam currently trying to create a GTA2 styled game and i have some troubles with a Car Entering component. What I did so far: - Create a top down car movement based on the Free Unity Car tutorial (works fine) - Create a top down player with the third person controller component (works fine) - Player and Car Camera with smooth follow (works fine for each component) - And used this Script for entering/exit the car
// Attach this script to the door trigger gameobject.
// By default any driving/car/control component script in the inspector should start out at disabled
// so it will not move as the Player is being controlled by you, the user.
var car : Transform;
var player : Transform;
var exitPoint : Transform; // Place this empty gameobject next to the driver car door.
var doorTriggerLeft : Transform;
var PlayerCamera : Camera;
var CarCamera : Camera; // By default the camera "component" for the car camera should be set to OFF first.
var isPlayerVisible : boolean;
function Update()
{
if (Input.GetKeyUp("f")&& isPlayerVisible) //Asign any key you want to enter/operate vehicle.
{
Debug.Log("Driving");
// make player invisible and still standing
player.gameObject.SetActiveRecursively(false);
player.gameObject.active = false;
// parent player to Exit Point
player.parent = exitPoint.transform;
player.transform.localPosition = Vector3(-1.5,0,0);
// parent PlayerParent to car
exitPoint.parent = car.transform;
exitPoint.transform.localPosition = Vector3(-0.3,1.5,-0.65); //Driverside exit point, adjust accordingly per vehicle.
// GameObject.Find("VehicleObjectName").GetComponent("DrivingScriptHere").enabled=true;
GameObject.Find("Car").GetComponent("Car").enabled=true; //Enables the script component to operate Vehicle.
PlayerCamera.enabled = false; //Disables the playerCamera
CarCamera.enabled = true; //Enables the carCamera
}
else
{
if (Input.GetKeyUp("r")) //Asign any key you want to exit/park vehicle.
{
Debug.Log("Walking");
// make character visible again
player.gameObject.SetActiveRecursively(true);
player.gameObject.active = true;
// unparent player from everything
player.transform.parent = null;
// exitPoint.parent = doorTriggerLeft.transform;
// parent Exit Point to car gameobject
exitPoint.parent = car.transform;
// GameObject.Find("VehicleObjectName").GetComponent("DrivingScriptHere").enabled=false;
GameObject.Find("Car").GetComponent("Car").enabled=false; //Disables the script component to park Vehicle.
PlayerCamera.enabled = true; //re-enables player camera
CarCamera.enabled = false; //disables car camera
}
}
}
function OnTriggerEnter(Player : Collider)
{
Debug.Log("Trigger Enter");
isPlayerVisible = true;
}
function OnTriggerExit(Player : Collider)
{
Debug.Log("Trigger Exit");
isPlayerVisible = false;
}
From my perspective i did everything that i should do. I defined the right parts in the script. having a Entering point which should work (collision is detected). Exit Point is also set. The Car movement is also disabled by default so that only the player will be controlled at startup and so on. but when i move my player to the enter point and hit "F" nothing happens.
Maybe you see something in the script that i should attend to or give me a hint like "did you maybe forget to do this and this" If you need the project file just let me know and i send it to you
Thanks for any help :)
hey i wrote the script.. if u do everything right it should work
Answer by supercouge · Jul 08, 2013 at 08:45 AM
Are you sure that isPlayerVisible is set to true before pressing F? And if you press F, do you receive at least the "Driving" message?
gracias. thats was it! i forgot to set the player to true. thanks!
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
How to Attack using Animation and Input 0 Answers
Move camera with mouse (2D) 1 Answer