Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local random2 = {}
- local NTAB = 32
- local IA = 16807
- local IM = 2147483647
- local IQ = 127773
- local IR = 2836
- local NDIV = math.floor(1+(IM-1)/NTAB)
- local AM = (1.0/IM)
- local EPS = 1.2e-7
- local RNMX = (1.0-EPS)
- local idum = 0
- local iy = 0
- local iv = {}
- function random2.SetSeed( iSeed )
- idum = ( ( iSeed < 0 ) and iSeed or -iSeed )
- iy = 0
- end
- random2.SetSeed( 0 ) -- CUniformRandomStream implementation; fix
- function random2.GenerateRandomNumber()
- local j = 0
- local k = 0
- if ( idum <= 0 or not iy ) then
- if ( -(idum) < 1 ) then
- idum = 1
- else
- idum = -(idum)
- end
- for j = NTAB + 7, 0, -1 do
- -- Have to round because k is predicted to be an int
- k = math.floor( idum/IQ )
- idum = IA * (idum - k * IQ) - IR * k
- if ( idum < 0 ) then
- idum = idum + IM
- end
- if ( j < NTAB ) then
- iv[j] = idum
- end
- end
- iy = iv[0]
- end
- k = math.floor( idum/IQ )
- idum = IA * (idum - k * IQ) - IR * k
- if ( idum < 0 ) then
- idum = idum + IM
- end
- j = math.floor( iy/NDIV )
- -- Fix; temporary
- if ( j >= NTAB or j < 0 ) then
- error( "CUniformRandomStream had an array overrun: tried to write to element " .. j .. " of 0..31." )
- end
- iy=iv[j]
- iv[j] = idum
- return iy
- end
- function random2.RandomFloat( flLow, flHigh )
- flLow = flLow or 0
- flHigh = flHigh or 1
- local fl = AM * random2.GenerateRandomNumber()
- if ( fl > RNMX ) then
- fl = RNMX
- end
- return ( fl * ( flHigh - flLow ) ) + flLow
- end
- // end stolen off https://github.com/DerekSM/Garrys-Mod-Source/blob/master/engine/lua/autorun/random.lua
- local bx, ba, bo, br, bl, bn = bit.bxor, bit.band, bit.bor, bit.rshift, bit.lshift, bit.bnot;
- // faster?
- local function NumberToBinary(num)
- local TmpStr = ""
- for i=0,31 do
- TmpStr = TmpStr .. tostring(ba(br(num, i), 1))
- end
- return TmpStr;
- end
- local function NF(inNum)
- local Rtn = inNum;
- if (Rtn < 0) then
- Rtn = Rtn + (2^32);
- end
- if (Rtn >= (2^32)) then
- Rtn = Rtn - (2^32)
- end
- return Rtn
- end
- local function NFMult(a,b,c,d)
- return NF(a),NF(b),NF(c),NF(d);
- end
- local function MD5_PseudoRandom(nSeed)
- local a = 0x67452301;
- local b = 0xefcdab89;
- local c = 0x98badcfe;
- local d = 0x10325476;
- local out = {}
- out[0] = nSeed;
- out[1] = 128;
- out[2] = 0;out[3] = 0;out[4] = 0;out[5] = 0;out[6] = 0;out[7] = 0;out[8] = 0;out[9] = 0;out[10] = 0;out[11] = 0;out[12] = 0;out[13] = 0;
- out[14] = 32;
- out[15] = 0;
- engine.ServerFrameTime()// all frametime calls are needed to prevent fucking up the stack (?????)
- a=a+(bx(d,(ba(b,(bx(c,d))))))+out[0]+0xd76aa478;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,7),br(a,(32-7)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(c,(ba(a,(bx(b,c))))))+out[1]+0xe8c7b756;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,12),br(d,(32-12)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(b,(ba(d,(bx(a,b))))))+out[2]+0x242070db;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,17),br(c,(32-17)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(a,(ba(c,(bx(d,a))))))+out[3]+0xc1bdceee;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,22),br(b,(32-22)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(d,(ba(b,(bx(c,d))))))+out[4]+0xf57c0faf;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,7),br(a,(32-7)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(c,(ba(a,(bx(b,c))))))+out[5]+0x4787c62a;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,12),br(d,(32-12)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(b,(ba(d,(bx(a,b))))))+out[6]+0xa8304613;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,17),br(c,(32-17)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(a,(ba(c,(bx(d,a))))))+out[7]+0xfd469501;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,22),br(b,(32-22)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(d,(ba(b,(bx(c,d))))))+out[8]+0x698098d8;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,7),br(a,(32-7)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(c,(ba(a,(bx(b,c))))))+out[9]+0x8b44f7af;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,12),br(d,(32-12)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(b,(ba(d,(bx(a,b))))))+out[10]+0xffff5bb1;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,17),br(c,(32-17)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(a,(ba(c,(bx(d,a))))))+out[11]+0x895cd7be;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,22),br(b,(32-22)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(d,(ba(b,(bx(c,d))))))+out[12]+0x6b901122;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,7),br(a,(32-7)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(c,(ba(a,(bx(b,c))))))+out[13]+0xfd987193;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,12),br(d,(32-12)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(b,(ba(d,(bx(a,b))))))+out[14]+0xa679438e;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,17),br(c,(32-17)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(a,(ba(c,(bx(d,a))))))+out[15]+0x49b40821;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,22),br(b,(32-22)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(ba(d,(bx(b,c))))))+out[1]+0xf61e2562;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,5),br(a,(32-5)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(ba(c,(bx(a,b))))))+out[6]+0xc040b340;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,9),br(d,(32-9)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(ba(b,(bx(d,a))))))+out[11]+0x265e5a51;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,14),br(c,(32-14)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(ba(a,(bx(c,d))))))+out[0]+0xe9b6c7aa;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,20),br(b,(32-20)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(ba(d,(bx(b,c))))))+out[5]+0xd62f105d;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,5),br(a,(32-5)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(ba(c,(bx(a,b))))))+out[10]+0x02441453;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,9),br(d,(32-9)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(ba(b,(bx(d,a))))))+out[15]+0xd8a1e681;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,14),br(c,(32-14)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(ba(a,(bx(c,d))))))+out[4]+0xe7d3fbc8;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,20),br(b,(32-20)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(ba(d,(bx(b,c))))))+out[9]+0x21e1cde6;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,5),br(a,(32-5)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(ba(c,(bx(a,b))))))+out[14]+0xc33707d6;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,9),br(d,(32-9)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(ba(b,(bx(d,a))))))+out[3]+0xf4d50d87;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,14),br(c,(32-14)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(ba(a,(bx(c,d))))))+out[8]+0x455a14ed;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,20),br(b,(32-20)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(ba(d,(bx(b,c))))))+out[13]+0xa9e3e905;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,5),br(a,(32-5)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(ba(c,(bx(a,b))))))+out[2]+0xfcefa3f8;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,9),br(d,(32-9)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(ba(b,(bx(d,a))))))+out[7]+0x676f02d9;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,14),br(c,(32-14)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(ba(a,(bx(c,d))))))+out[12]+0x8d2a4c8a;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,20),br(b,(32-20)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(b,bx(c,d)))+out[5]+0xfffa3942;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,4),br(a,(32-4)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(a,bx(b,c)))+out[8]+0x8771f681;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,11),br(d,(32-11)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(d,bx(a,b)))+out[11]+0x6d9d6122;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,16),br(c,(32-16)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(c,bx(d,a)))+out[14]+0xfde5380c;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,23),br(b,(32-23)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(b,bx(c,d)))+out[1]+0xa4beea44;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,4),br(a,(32-4)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(a,bx(b,c)))+out[4]+0x4bdecfa9;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,11),br(d,(32-11)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(d,bx(a,b)))+out[7]+0xf6bb4b60;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,16),br(c,(32-16)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(c,bx(d,a)))+out[10]+0xbebfbc70;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,23),br(b,(32-23)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(b,bx(c,d)))+out[13]+0x289b7ec6;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,4),br(a,(32-4)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(a,bx(b,c)))+out[0]+0xeaa127fa;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,11),br(d,(32-11)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(d,bx(a,b)))+out[3]+0xd4ef3085;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,16),br(c,(32-16)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(c,bx(d,a)))+out[6]+0x04881d05;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,23),br(b,(32-23)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(b,bx(c,d)))+out[9]+0xd9d4d039;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,4),br(a,(32-4)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(a,bx(b,c)))+out[12]+0xe6db99e5;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,11),br(d,(32-11)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(d,bx(a,b)))+out[15]+0x1fa27cf8;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,16),br(c,(32-16)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(c,bx(d,a)))+out[2]+0xc4ac5665;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,23),br(b,(32-23)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(bo(b,bn(d)))))+out[0]+0xf4292244;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,6),br(a,(32-6)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(bo(a,bn(c)))))+out[7]+0x432aff97;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,10),br(d,(32-10)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(bo(d,bn(b)))))+out[14]+0xab9423a7;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,15),br(c,(32-15)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(bo(c,bn(a)))))+out[5]+0xfc93a039;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,21),br(b,(32-21)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(bo(b,bn(d)))))+out[12]+0x655b59c3;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,6),br(a,(32-6)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(bo(a,bn(c)))))+out[3]+0x8f0ccc92;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,10),br(d,(32-10)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(bo(d,bn(b)))))+out[10]+0xffeff47d;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,15),br(c,(32-15)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(bo(c,bn(a)))))+out[1]+0x85845dd1;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,21),br(b,(32-21)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(bo(b,bn(d)))))+out[8]+0x6fa87e4f;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,6),br(a,(32-6)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(bo(a,bn(c)))))+out[15]+0xfe2ce6e0;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,10),br(d,(32-10)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(bo(d,bn(b)))))+out[6]+0xa3014314;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,15),br(c,(32-15)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(bo(c,bn(a)))))+out[13]+0x4e0811a1;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,21),br(b,(32-21)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- a=a+(bx(c,(bo(b,bn(d)))))+out[4]+0xf7537e82;a,b,c,d=NFMult(a,b,c,d);a=bo(bl(a,6),br(a,(32-6)));a,b,c,d=NFMult(a,b,c,d);a=a+b;a,b,c,d=NFMult(a,b,c,d);
- d=d+(bx(b,(bo(a,bn(c)))))+out[11]+0xbd3af235;a,b,c,d=NFMult(a,b,c,d);d=bo(bl(d,10),br(d,(32-10)));a,b,c,d=NFMult(a,b,c,d);d=d+a;a,b,c,d=NFMult(a,b,c,d);
- c=c+(bx(a,(bo(d,bn(b)))))+out[2]+0x2ad7d2bb;a,b,c,d=NFMult(a,b,c,d);c=bo(bl(c,15),br(c,(32-15)));a,b,c,d=NFMult(a,b,c,d);c=c+d;a,b,c,d=NFMult(a,b,c,d);
- b=b+(bx(d,(bo(c,bn(a)))))+out[9]+0xeb86d391;a,b,c,d=NFMult(a,b,c,d);b=bo(bl(b,21),br(b,(32-21)));a,b,c,d=NFMult(a,b,c,d);b=b+c;a,b,c,d=NFMult(a,b,c,d);
- local FB = string.sub(NumberToBinary(NF(0xefcdab89 + b)), 17, 32) .. string.sub(NumberToBinary(NF(0x98badcfe + c)), 1, 16);
- local num = (FB[1]*1) + (FB[2]*2) + (FB[3]*4) + (FB[4]*8) + (FB[5]*16) + (FB[6]*32) + (FB[7]*64) + (FB[8]*128) + (FB[9]*256) + (FB[10]*512) + (FB[11]*1024) + (FB[12]*2048) + (FB[13]*4096) + (FB[14]*8192) + (FB[15]*16384) + (FB[16]*32768) + (FB[17]*65536) + (FB[18]*131072) + (FB[19]*262144) + (FB[20]*524288) + (FB[21]*1048576) + (FB[22]*2097152) + (FB[23]*4194304) + (FB[24]*8388608) + (FB[25]*16777216) + (FB[26]*33554432) + (FB[27]*67108864) + (FB[28]*134217728) + (FB[29]*268435456) + (FB[30]*536870912) + (FB[31]*1073741824) + (FB[32]*2147483648);
- // okay, ^ is epic
- engine.ServerFrameTime()
- return num;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement