Speed Increase Power up

I am making a 3D physics game and I am having problem with my speed boost. It is supposed to increase the speed of the character for 10 seconds when it comes into contact of a collider that is set beneath it. Here is my code:

pragma strict

private var startTime1;

var timer1:int;

private var time = 10;

static var trigger = false;

function OnCollisionEnter (collision : Collision){

if(collision.gameObject.tag == "Player"){

trigger = true;

}
}
function Update(){

if(trigger == true){

TimerStart();

ballcontrol.jumpHeight = 15;

ballcontrol.listing = 5;

}
if(trigger == false){

ballcontrol.jumpHeight = 10;

ballcontrol.listing = .5;
}
}


function TimerStart(){

startTime1 = Time.time;

timer1 = Time.time;

if(timer1 >= time){

Debug.Log("End high jump");

trigger = false;
}
}

in java script

Firstly, you should use the code thingy when you put code into a question, the code thingy is the button that says “101010”.

Secondly, Time.time is the time in seconds that you’ve been playing the game, this will not work.

Instead use yield WaitForSeconds().

It stops the function until the amount of time is due.

Try this (untested):

#pragma strict

private var startTime1;

var timer1:int;

private var time = 10;

static var trigger = false;
private var tog : boolean = false;

function OnCollisionEnter (collision : Collision){if(collision.gameObject.tag == "Player"){trigger = true; tog = true;}} 

function Update(){
	if(trigger){
		ballcontrol.jumpHeight = 15;
		ballcontrol.listing = 5;
		if(tog){
			TimerStart();
			tog = false;
		}
	}else{
		ballcontrol.jumpHeight = 10;
		ballcontrol.listing = .5; 
	}
}

function TimerStart(){
	yield WaitForSeconds(time);
	trigger = false;
	UnityEngine.Debug.Log("No longer in the trigger!");
}