Seedable PRNG
It's not the fastest thing but it doesn't seem to have much if any output skew, and I couldn't detect any periodicity in the first 100,000 cycles.
//new md5 based seedable PRNG
//By: Gigs Taggart
//Released under BSD License.
//http://www.opensource.org/licenses/bsd-license.php
integer gSeed=0;
string gLastHash;
prng_seed(integer seed)
{
gSeed=seed;
}
integer prng_get()
{
gLastHash=llMD5String(gLastHash, gSeed);
return (integer)("0x" + llGetSubString(gLastHash, 0, 7)) & 0x7FFFFFFF; //the bitwise thingy gets rid of negative numbers
}