Better.
Include (-
[ GenerateRandomNumber n m s x;
if (n==m) return n;
if (n>m) { s = n; n = m; m = s; }
x = 1 + m - n;
if (x > 0) return random(x) + n - 1;
#ifdef TARGET_ZCODE;
print "** random range out of range^";
return 1;
#endif;
#ifdef TARGET_GLULX;
while (true) {
@random 0 x;
if ((x >= n) && (x <= m)) return x;
}
#endif;
];
-) replacing "GenerateRandomNumber".
Edited to fix a bug Otis caught.