Scripting a change in fps movement speed

Hey, I’m going to school learning basics of game art and the graphic portions of gaming. I’m working on creating a short level that was modeled out in Maya and imported into Unity. I’m trying to set up a script so that when the FPS character moves through a trigger, the movement speed is slowed by about half. My problem is I know nothing about scripting and all of the other questions I can find on here are over my head. Could anyone please help me out with this?

The First Person Controller is now using CharacterMotor.js instead of the old and good FPSWalker.js. Changing the speed is more complicated now:

var slowSpeed: float = 5;
var slowG: float = 5;
var regularSpeed: float = 8;
var regularG: float = 10;

function OnTriggerEnter(other: Collider){
  var chMotor: CharacterMotor = other.GetComponent(CharacterMotor);
  if (chMotor){ // make sure CharacterMotor exists
    chMotor.movement.maxForwardSpeed = slowSpeed;
    chMotor.movement.maxSidewaysSpeed = slowSpeed;
    chMotor.movement.maxBackwardsSpeed = slowSpeed;
    chMotor.movement.gravity = slowG;
  }
}

function OnTriggerExit(other: Collider){
  var chMotor: CharacterMotor = other.GetComponent(CharacterMotor);
  if (chMotor){
    chMotor.movement.maxForwardSpeed = regularSpeed;
    chMotor.movement.maxSidewaysSpeed = regularSpeed;
    chMotor.movement.maxBackwardsSpeed = regularSpeed;
    chMotor.movement.gravity = regularG;
  }
}

Drag this script in the trigger to change any variable in the FPSController

var changeSpeedTo : float;

function OnTriggerEnter ( other : Collider){

    if(other.gameObject.name == "First Person Controller"){  //"First Person Controller" is the default name of the FPS controller after you add it to the scene
        other.gameObject.GetComponent(FPSWalker).speed = changeSpeedTo; //access the speed variable in the script called "FPSWalker" and changes it to the value you want
    }
}

//You can use any other variable instead of speed to access it and change it.

I Hope it helps!