How would I go about creating static transitions?

Hey. You may be confused. So let me explain. How would I go about doing something like changing the color of a part slowly from grey to red without using tweens? So for an example, I have a value. Lets say the transition is told to start at 0.8 and end at 0.9, this means that if that value crawled up to 0.9 it would transition like that. But if it crawled up to 0.9 but stopped at 0.85, it would be halfway done with the transition instead of continuing (because the value stopped moving)

I don’t know if this will help, but you could try get the distance from your starting value to your ending value. For example, if you want to turn a part with a color of RGB(0, 100, 50) to the color RGB(100, 150, 0), and you want the change only halfway, you could do something like this:

  1. Get the difference of each value in the RGB (R: 0 => 100, G: 100 => 150, B: 50 => 0)
  2. Multiply each difference by 0.5 (R: 100 * 0.5 = 50, G: 50 * 0.5 = 25, B: -50 * 0.5 = -25)
  3. Add each of these values from the original values (R: 0 + 50 = 50, G: 100 + 25 = 125, B: 50 - 25 = 25)
  4. Then combine these numbers in RGB(50, 125, 25)
    Well hopefully you get the idea. You could do this for any values with numbers. If you’re wondering about CFrames, there’s already a built-in function CFrame:Lerp().