ajuda com script
2 participantes
Página 1 de 1
ajuda com script
estou com um problema com o script do carro, na hora de fazer o player entrar e sair, quando pressiono f pra ele entrar da um bug ele fica bugando tenho q pressionar 2 ou 3 vezes pra ele entrar, ele n entra de primeira e pa sair é a mesma coisa tenho q ficar pressionando f ate ele sair. por favor ajuda.
#pragma strict
var centerOfMass: Vector3;
var roda1: WheelCollider;
var roda2: WheelCollider;
var roda3: WheelCollider;
var roda4: WheelCollider;
//
var decellarationSpeed: float = 25;
var lowestSteerSpeed: float = 50;
var lowSpeedSteerAngel: float = 10;
var heighsSpeedSteerAngel: float = 1;
var currentSpeed: float;
var topSpeed: float = 20;
var maxTorque: float = 10;
private var braked: boolean = false;
var maxBrakeTorque: float = 100;
private var mySidewayFriction: float;
private var myForwardFriction: float;
private var slipSidewayFriction: float;
private var slipForwardFriction: float;
var Ativo: boolean;
var DisHeroi: Vector3;
var Heroi: Transform;
var PontoDeSaida: Transform;
var CameraDoCarro: Camera;
// Som Do Carro
var gearRation: int[];
var Audio: boolean;
var som: AudioClip;
var AuxDesHeroi: FPSInputController;
function Start () {
Ativo = false;
rigidbody.centerOfMass = centerOfMass;
}
function FixedUpdate () {
Controler ();
}
function Update () {
EngineSound();
}
function Controler (){
if (Ativo)
{
if (Input.GetKeyDown("f"))
{
Ativo=false;
audio.Play();
AuxDesHeroi.Ativo = true;
CameraDoCarro.depth = 0;
AuxDesHeroi.CameraDoPlayer.depth = 1;
Heroi.parent = null;
Heroi.transform.position = PontoDeSaida.transform.position;
Heroi.localScale.x = 1;
Heroi.localScale.y = 1;
Heroi.localScale.z = 1;
}
currentSpeed = 2*22/7*roda3.radius*roda3.rpm*60/1000;
currentSpeed = Mathf.Round(currentSpeed);
if (currentSpeed < topSpeed){
roda4.motorTorque = maxTorque * Input.GetAxis("Vertical");
roda3.motorTorque = maxTorque * Input.GetAxis("Vertical");
}
else
{
roda4.motorTorque = 0;
roda3.motorTorque = 0;
}
var speedFactor = rigidbody.velocity.magnitude/lowestSteerSpeed;
var currentSteerAngel = Mathf.Lerp(lowSpeedSteerAngel, heighsSpeedSteerAngel, speedFactor);
currentSteerAngel *= Input.GetAxis("Horizontal");
roda1.steerAngle = currentSteerAngel;
roda2.steerAngle = currentSteerAngel;
if (Input.GetButton("Vertical")== false){
roda4.brakeTorque = decellarationSpeed;
roda3.brakeTorque = decellarationSpeed;
}
else{
roda4.brakeTorque = 0;
roda3.brakeTorque = 0;
}
}
else
{
DisHeroi = transform.position - Heroi.position;
if (DisHeroi.x>-5 && DisHeroi.x<5 && DisHeroi.z>-5 && DisHeroi.z<5)
{
if (Input.GetKeyDown("f"))
{
CameraDoCarro.depth = 1;
AuxDesHeroi= Heroi.GetComponent("FPSInputController");
AuxDesHeroi.Ativo = false;
AuxDesHeroi.CameraDoPlayer.depth = 0;
Heroi.parent = transform;
Heroi.localScale.x = 0;
Heroi.localScale.y = 0;
Heroi.localScale.z = 0;
Ativo=true;
}
}
}
}
function EngineSound(){
for (var i = 0; i < gearRation.length; i++){
if (gearRation[i] > currentSpeed){
break;
}
}
var gearMinValue: float= 0.00;
var gearMaxValue: float= 0.00;
if (i== 0){
gearMinValue = 0;
}
else{
gearMinValue = gearRation[i-1];
}
gearMaxValue = gearRation[1];
var enginePitch: float = ((currentSpeed - gearMinValue)/(gearMaxValue - gearMinValue)) +1;
audio.pitch = enginePitch;
}
#pragma strict
var centerOfMass: Vector3;
var roda1: WheelCollider;
var roda2: WheelCollider;
var roda3: WheelCollider;
var roda4: WheelCollider;
//
var decellarationSpeed: float = 25;
var lowestSteerSpeed: float = 50;
var lowSpeedSteerAngel: float = 10;
var heighsSpeedSteerAngel: float = 1;
var currentSpeed: float;
var topSpeed: float = 20;
var maxTorque: float = 10;
private var braked: boolean = false;
var maxBrakeTorque: float = 100;
private var mySidewayFriction: float;
private var myForwardFriction: float;
private var slipSidewayFriction: float;
private var slipForwardFriction: float;
var Ativo: boolean;
var DisHeroi: Vector3;
var Heroi: Transform;
var PontoDeSaida: Transform;
var CameraDoCarro: Camera;
// Som Do Carro
var gearRation: int[];
var Audio: boolean;
var som: AudioClip;
var AuxDesHeroi: FPSInputController;
function Start () {
Ativo = false;
rigidbody.centerOfMass = centerOfMass;
}
function FixedUpdate () {
Controler ();
}
function Update () {
EngineSound();
}
function Controler (){
if (Ativo)
{
if (Input.GetKeyDown("f"))
{
Ativo=false;
audio.Play();
AuxDesHeroi.Ativo = true;
CameraDoCarro.depth = 0;
AuxDesHeroi.CameraDoPlayer.depth = 1;
Heroi.parent = null;
Heroi.transform.position = PontoDeSaida.transform.position;
Heroi.localScale.x = 1;
Heroi.localScale.y = 1;
Heroi.localScale.z = 1;
}
currentSpeed = 2*22/7*roda3.radius*roda3.rpm*60/1000;
currentSpeed = Mathf.Round(currentSpeed);
if (currentSpeed < topSpeed){
roda4.motorTorque = maxTorque * Input.GetAxis("Vertical");
roda3.motorTorque = maxTorque * Input.GetAxis("Vertical");
}
else
{
roda4.motorTorque = 0;
roda3.motorTorque = 0;
}
var speedFactor = rigidbody.velocity.magnitude/lowestSteerSpeed;
var currentSteerAngel = Mathf.Lerp(lowSpeedSteerAngel, heighsSpeedSteerAngel, speedFactor);
currentSteerAngel *= Input.GetAxis("Horizontal");
roda1.steerAngle = currentSteerAngel;
roda2.steerAngle = currentSteerAngel;
if (Input.GetButton("Vertical")== false){
roda4.brakeTorque = decellarationSpeed;
roda3.brakeTorque = decellarationSpeed;
}
else{
roda4.brakeTorque = 0;
roda3.brakeTorque = 0;
}
}
else
{
DisHeroi = transform.position - Heroi.position;
if (DisHeroi.x>-5 && DisHeroi.x<5 && DisHeroi.z>-5 && DisHeroi.z<5)
{
if (Input.GetKeyDown("f"))
{
CameraDoCarro.depth = 1;
AuxDesHeroi= Heroi.GetComponent("FPSInputController");
AuxDesHeroi.Ativo = false;
AuxDesHeroi.CameraDoPlayer.depth = 0;
Heroi.parent = transform;
Heroi.localScale.x = 0;
Heroi.localScale.y = 0;
Heroi.localScale.z = 0;
Ativo=true;
}
}
}
}
function EngineSound(){
for (var i = 0; i < gearRation.length; i++){
if (gearRation[i] > currentSpeed){
break;
}
}
var gearMinValue: float= 0.00;
var gearMaxValue: float= 0.00;
if (i== 0){
gearMinValue = 0;
}
else{
gearMinValue = gearRation[i-1];
}
gearMaxValue = gearRation[1];
var enginePitch: float = ((currentSpeed - gearMinValue)/(gearMaxValue - gearMinValue)) +1;
audio.pitch = enginePitch;
}
Will- Avançado
- PONTOS : 3103
REPUTAÇÃO : 10
Idade : 26
Áreas de atuação : Modelagem, Design, Musico
Respeito as regras :
Re: ajuda com script
Bom dia Will! Cara, já desse uma olhada nesse tópico aqui: https://www.schultzgames.com/t1657-sistema-de-combustiveldinheiromultabateriaentregasentrar-e-sair-do-veiculopiscasmarchas-manual-e-defeitos-no-veiculo?highlight=entrar+e+sair+carro e outro conselho, não use JS nos seus scripts, não que a linguagem Java não seja boa, mas no caso do Unity, não tem mais suporte ao JS, somente C#, o Marcos tem vídeo aulas fantásticas para aprender a programar em C#, veja: https://www.youtube.com/playlist?list=PL0TaCOFAHoO-Wpq6FuN9gwr7WAdPEKUnh .
Abraço!
Abraço!
Re: ajuda com script
vou dar uma olhada aqui, obrigado.
Will- Avançado
- PONTOS : 3103
REPUTAÇÃO : 10
Idade : 26
Áreas de atuação : Modelagem, Design, Musico
Respeito as regras :
Tópicos semelhantes
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
» AJUDA COM SCRIPT
» Ajuda com script AI
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
» AJUDA COM SCRIPT
» Ajuda com script AI
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos