Create of any object

currentVal2 = pi/2 //If you use smooth mode

 Script scrValFade()

// Makes any variable of the object fade its value.

/*
currentVal - Name of the variable
fadeSpeed - the speed of fading obviously
fadeMode - 0 for fading in, 1 for fading out, 2 for both, 3 for smooth
minVal - minimum value
maxVal - maximum value
mul - multiplier(type it in if you use smooth mode)
Notes: If you use smooth in the create event of the object that will use it type currentVal2 = pi/2;
Example: view_angle[0] = scrValFade(view_angle[0],1/20,3,-10,10,0.5);
*/

var currentVal, fadeSpeed, fadeMode, maxVal, minVal, mul;
currentVal = argument0;
fadeSpeed = argument1;
fadeMode = argument2;
minVal = argument3;
maxVal = argument4;
mul = argument5;
   
if fadeMode == 0
{
 if currentVal < maxVal
 {
  currentVal += fadeSpeed;
 }
 return currentVal;
}

if fadeMode == 1
{
 if currentVal > minVal
 {
  currentVal -= fadeSpeed;
 }
 return currentVal;
}
   
if fadeMode == 2
{
 if currentFade == 0
 {
  currentVal += fadeSpeed;
  if currentVal >= maxVal
  {
   currentFade = 1;
  }
  return currentVal;
 }
 
 if currentFade == 1
 {
  currentVal -= fadeSpeed;
  if currentVal <= minVal
  {
   currentFade = 0;
  }
  return currentVal;
 }
}

if fadeMode == 3
{
 if currentFade == 0
 {
  currentVal2 += fadeSpeed;
  if mul > 0
     currentVal = currentVal + (abs(sin(currentVal2))*mul);
  else
     currentVal = currentVal + (abs(sin(currentVal2))*(-mul));
  if currentVal >= maxVal
  {
   currentVal2 = 0;
   currentFade = 1;
  }
  return currentVal;
 }
 
 if currentFade == 1
 {
  currentVal2 += fadeSpeed;
  if mul > 0
     currentVal = currentVal - (abs(sin(currentVal2))*mul);
  else
     currentVal = currentVal - (abs(sin(currentVal2))*-mul);
  if currentVal <= minVal
  {
   currentVal2 = 0;
   currentFade = 0;
  }
  return currentVal;
 }
}