I have typed out the code, this belongs in a local script inside of a part, when the player touches the part, the terrain color lerps to the part's color. Please explain in your answers if you can.
local Terrain = workspace.Terrain script.Parent.Touched:Connect(function(hit) if hit.Parent == game.Players:GetPlayerFromCharacter(hit.Parent).Character then for i = 0,1,.1 do wait() Terrain:SetMaterialColor("CrackedLava",Terrain:GetMaterialColor("CrackedLava"):Lerp(script.Parent.Color)) -- line above here is probably too long to be seen but it lerps the returned value for cracked lava's color to the new color. end end end)