Advertisement
midlow

Untitled

Mar 27th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.92 KB | None | 0 0
  1. local random2 = {}
  2.  
  3. local NTAB = 32
  4. local IA = 16807
  5. local IM = 2147483647
  6. local IQ = 127773
  7. local IR = 2836
  8. local NDIV = math.floor(1+(IM-1)/NTAB)
  9.  
  10. local AM = (1.0/IM)
  11. local EPS = 1.2e-7
  12. local RNMX = (1.0-EPS)
  13.  
  14. local idum = 0
  15. local iy = 0
  16. local iv = {}
  17.  
  18. function random2.SetSeed( iSeed )
  19. idum = ( ( iSeed < 0 ) and iSeed or -iSeed )
  20. iy = 0
  21. end
  22.  
  23. random2.SetSeed( 0 ) -- CUniformRandomStream implementation; fix
  24.  
  25. function random2.GenerateRandomNumber()
  26. local j = 0
  27. local k = 0
  28.  
  29. if ( idum <= 0 or not iy ) then
  30. if ( -(idum) < 1 ) then
  31. idum = 1
  32. else
  33. idum = -(idum)
  34. end
  35.  
  36. for j = NTAB + 7, 0, -1 do
  37. -- Have to round because k is predicted to be an int
  38. k = math.floor( idum/IQ )
  39. idum = IA * (idum - k * IQ) - IR * k
  40. if ( idum < 0 ) then
  41. idum = idum + IM
  42. end
  43. if ( j < NTAB ) then
  44. iv[j] = idum
  45. end
  46. end
  47.  
  48. iy = iv[0]
  49. end
  50. k = math.floor( idum/IQ )
  51. idum = IA * (idum - k * IQ) - IR * k
  52. if ( idum < 0 ) then
  53. idum = idum + IM
  54. end
  55. j = math.floor( iy/NDIV )
  56.  
  57. -- Fix; temporary
  58. if ( j >= NTAB or j < 0 ) then
  59. error( "CUniformRandomStream had an array overrun: tried to write to element " .. j .. " of 0..31." )
  60. end
  61.  
  62. iy=iv[j]
  63. iv[j] = idum
  64.  
  65. return iy
  66. end
  67.  
  68. function random2.RandomFloat( flLow, flHigh )
  69. flLow = flLow or 0
  70. flHigh = flHigh or 1
  71.  
  72. local fl = AM * random2.GenerateRandomNumber()
  73. if ( fl > RNMX ) then
  74. fl = RNMX
  75. end
  76. return ( fl * ( flHigh - flLow ) ) + flLow
  77. end
  78. // end stolen off https://github.com/DerekSM/Garrys-Mod-Source/blob/master/engine/lua/autorun/random.lua
  79.  
  80.  
  81.  
  82. local bx, ba, bo, br, bl, bn = bit.bxor, bit.band, bit.bor, bit.rshift, bit.lshift, bit.bnot;
  83. // faster?
  84.  
  85. local function NumberToBinary(num)
  86. local TmpStr = ""
  87. for i=0,31 do
  88. TmpStr = TmpStr .. tostring(ba(br(num, i), 1))
  89. end
  90. return TmpStr;
  91. end
  92.  
  93. local function NF(inNum)
  94. local Rtn = inNum;
  95. if (Rtn < 0) then
  96. Rtn = Rtn + (2^32);
  97. end
  98. if (Rtn >= (2^32)) then
  99. Rtn = Rtn - (2^32)
  100. end
  101. return Rtn
  102. end
  103. local function NFMult(a,b,c,d)
  104. return NF(a),NF(b),NF(c),NF(d);
  105. end
  106.  
  107. local function MD5_PseudoRandom(nSeed)
  108. local a = 0x67452301;
  109. local b = 0xefcdab89;
  110. local c = 0x98badcfe;
  111. local d = 0x10325476;
  112. local out = {}
  113. out[0] = nSeed;
  114. out[1] = 128;
  115. 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;
  116. out[14] = 32;
  117. out[15] = 0;
  118. engine.ServerFrameTime()// all frametime calls are needed to prevent fucking up the stack (?????)
  119. 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);
  120. 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);
  121. 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);
  122. 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);
  123. 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);
  124. 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);
  125. 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);
  126. 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);
  127. 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);
  128. 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);
  129. 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);
  130. 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);
  131. 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);
  132. 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);
  133. 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);
  134. 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);
  135.  
  136. 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);
  137. 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);
  138. 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);
  139. 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);
  140. 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);
  141. 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);
  142. 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);
  143. 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);
  144. 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);
  145. 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);
  146. 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);
  147. 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);
  148. 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);
  149. 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);
  150. 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);
  151. 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);
  152.  
  153. 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);
  154. 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);
  155. 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);
  156. 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);
  157. 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);
  158. 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);
  159. 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);
  160. 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);
  161. 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);
  162. 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);
  163. 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);
  164. 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);
  165. 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);
  166. 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);
  167. 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);
  168. 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);
  169.  
  170. 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);
  171. 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);
  172. 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);
  173. 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);
  174. 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);
  175. 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);
  176. 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);
  177. 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);
  178. 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);
  179. 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);
  180. 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);
  181. 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);
  182. 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);
  183. 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);
  184. 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);
  185. 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);
  186.  
  187. local FB = string.sub(NumberToBinary(NF(0xefcdab89 + b)), 17, 32) .. string.sub(NumberToBinary(NF(0x98badcfe + c)), 1, 16);
  188. 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);
  189. // okay, ^ is epic
  190. engine.ServerFrameTime()
  191. return num;
  192. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement