Platform Mover continued

Hi everyone fixed my platform script working pretty well however I want to make the platform stay at its beginning and end positions for a little while instead of the platform going back and forth on a loop and was wondering what script i would need or what I could add to my platform mover script to make that happen

Thanks

Here is the Script

#pragma strict


var Xpos : float;
var Ypos : float;
var max : boolean;

var Vert : boolean;
var maxAmount : int;
var step : float;

function Start () {
	Xpos = transform.position.x;
	Ypos = transform.position.y;
}

function Update () {
	//Set the Max
	if(Vert){
		if(transform.position.y >= Ypos + maxAmount){
		max = true;
		} else if(transform.position.y <= Ypos){
			max = false;
		}
	} else {
		if(transform.position.x >= Xpos + maxAmount){
			max = true;
		} else if(transform.position.x <= Xpos){
			max = false;
		}
	}
	
	//Moving Platform
	if(Vert){
		if(!max){
			transform.position.y += step;
		} else {
			transform.position.y -= step;

		}
	} else {
		if(!max){
			transform.position.x += step;
		} else {
			transform.position.x -= step;
		}
	}

}

found this moving platform script on unify wiki however getting an error on line 68

‘transform’ is not a member of ‘Object’.

anyway here is the script

#pragma strict

class Route{
	var distance : Vector3 = Vector3(0,0,0);
	var speed : Vector3 = Vector3(-1,-1,-1); // Put a negative number to use the default value.
	var waitTime : float=-1; // Put a negative number to use the default value.
}
 
var reverseAtEnd : boolean = true; // Reverse the route when it ends, example TODO
var speedDefault : Vector3 = Vector3(0,0,0); // Must be positive
var waitTimeDefault : float =  1.0f;
var route : Route[] = new Route[1];
 
private var distanceNow : Vector3;
private var speedNow : Vector3;
private var waitTimeNow : float = 0f;
private var waitUntil : float = 0f;
private var index : int = -1;
private var routeIndex : int = 0;
private var way : int = 1;
private var destiny = Vector3(0,0,0);
private var objectsInPlatform : Array = new Array();
 
function Start(){
	if (route.Length==0)
		Debug.Log("MovingPlatform: ERROR! NO ROUTE DEFINED!");
	destiny = transform.position;
	objectsInPlatform.Add(gameObject);
}
 
function Update(){
	if(waitUntil>=0){ // If is waiting. In the first call, go to this part.
		if(waitUntil>Time.timeSinceLevelLoad){
			// Keep waiting
			return;
		}else{
			// Stops waiting and prepares the next index
			waitUntil=-1;
			index++;
			if(index==route.length){
				index=0;
				if(reverseAtEnd) 
					way *= -1;
			}	
			routeIndex = (way==1) ? index : (route.length - 1 - index);
			distanceNow = route[routeIndex].distance;
			speedNow = (route[routeIndex].speed==null || route[routeIndex].speed[0]<0 || route[routeIndex].speed[1]<0
				|| route[routeIndex].speed[2]<0) ? speedDefault : route[routeIndex].speed;
			for(var dv : int = 0;dv<3;dv++){ // Calculates the way of velocity with basis of distance.
				speedNow[dv] *= (distanceNow[dv]*way>0.0) ? 1 : -1;
			}
			waitTimeNow = (route[routeIndex].waitTime<0) ? waitTimeDefault : route[routeIndex].waitTime;
			destiny = distanceNow*way+transform.position;
		}	
	}
	//Calculates the distance to go.
	var distanceToGo : Vector3 = speedNow*Time.deltaTime; 
	var destinyWithoutFix : Vector3 = distanceToGo+transform.position;
	for(var d : int = 0;d<3;d++){
		distanceToGo[d] = (distanceToGo[d]>0) ? 
			Mathf.Min(destinyWithoutFix[d],destiny[d]) : Mathf.Max(destinyWithoutFix[d],destiny[d]);
	}
	distanceToGo-=transform.position;
 
	// Move the objects
	for(var i : int = 0;i<objectsInPlatform.length;i++){ 
		if(objectsInPlatform*){*

_ objectsInPlatform*.transform.position+=distanceToGo;_
_
}else{_
_
objectsInPlatform.RemoveAt(i);_
_
i–;_
_
}_
_
}*_

* // Self explain*
* if(destiny==transform.position)*
* waitUntil = Time.timeSinceLevelLoad+waitTimeNow;*
}

function OnTriggerEnter(collider : Collider){
* //Debug.Log("MovingPlatform OnTriggerEnter "+collider.gameObject);*
* AddObject(collider);*
}

function OnTriggerExit(collider : Collider){
* //Debug.Log(“OnTriggerExit”);*
* RemoveObject(collider);*
}

function OnCollisionEnter(collision : Collision) {
* //Debug.Log("MovingPlatform OnCollisionEnter "+collision.collider.gameObject);*
* AddObject(collision.collider);*
}

function OnCollisionExit(collision : Collision) {
* //Debug.Log(“OnCollisionExit”);*
* RemoveObject(collision.collider);*
}

function AddObject(collider : Collider) {
* objectsInPlatform.Add(collider.gameObject);*
}

function RemoveObject(collider : Collider) {
* // Starts on 1 because that position 0 is always this gameObject*
* for(var i : int = 1;i<objectsInPlatform.length;i++){*
_ if(objectsInPlatform*==collider.gameObject){
objectsInPlatform.RemoveAt(i);
i–;
}
}
}*_