I don't see that your code is correct, because it does not take 1,000 draws from anything, which is what you said you want to do.
Actually, it is not clear what you mean by "univariate t-distribution with mean=1.5, scale=2" and any specific df value. Apparently you want a noncentral t-distribution, which is required to give you a nonzero mean. That distribution has a noncentrality parameter and a df parameter, but that is all--there is no separate scale parameter.
Using the Cupid routines, maybe this will give you what you want: df = 10;
noncentrality_guess = 0.8;
myt = tNoncentral(df,noncentrality_guess);
myt.EstMom(1.5,'fr');
randvals = myt.Random(1000,1);