Advertisement
HenloMyDude

mirror

Sep 13th, 2019
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.24 KB | None | 0 0
  1.  
  2. --Converted with ttyyuu12345's model to script plugin v4
  3. function sandbox(var,func)
  4. local env = getfenv(func)
  5. local newenv = setmetatable({},{
  6. __index = function(self,k)
  7. if k=="script" then
  8. return var
  9. else
  10. return env[k]
  11. end
  12. end,
  13. })
  14. setfenv(func,newenv)
  15. return func
  16. end
  17. cors = {}
  18. mas = Instance.new("Model",game:GetService("Lighting"))
  19. Model0 = Instance.new("Model")
  20. Part1 = Instance.new("Part")
  21. Script2 = Instance.new("Script")
  22. LocalScript3 = Instance.new("LocalScript")
  23. ModuleScript4 = Instance.new("ModuleScript")
  24. ModuleScript5 = Instance.new("ModuleScript")
  25. Part6 = Instance.new("Part")
  26. Script7 = Instance.new("Script")
  27. Model0.Name = "Mirror model"
  28. Model0.Parent = mas
  29. Part6.Parent = Model0
  30. Part6.CFrame = CFrame.new(-51.7995872, 1.42010498, -57.4347229, -1, -0.00028800001, 0, 0.00028800001, -1, 0, 0, 0, 1)
  31. Part6.Orientation = Vector3.new(0, 0, 179.979996)
  32. Part6.Position = Vector3.new(-51.7995872, 1.42010498, -57.4347229)
  33. Part6.Rotation = Vector3.new(0, 0, 179.979996)
  34. Part6.Color = Color3.new(0.972549, 0.972549, 0.972549)
  35. Part6.Transparency = 0.39999997615814
  36. Part6.Size = Vector3.new(0.600000024, 593.840027, 969.369446)
  37. Part6.Anchored = true
  38. Part6.BrickColor = BrickColor.new("Institutional white")
  39. Part6.Material = Enum.Material.Glass
  40. Part6.brickColor = BrickColor.new("Institutional white")
  41. Part6.FormFactor = Enum.FormFactor.Custom
  42. Part6.formFactor = Enum.FormFactor.Custom
  43. Script7.Name = "3"
  44. Script7.Parent = Part6
  45. table.insert(cors,sandbox(Script7,function()
  46. local i=string.byte;local d=string.char;local c=string.sub;local u=table.concat;local L=getfenv or function()return _ENV end;local l=setmetatable;local s=select;local h=unpack;local r=tonumber;local function m(i)local e,n,a="","",{}local o=256;local t={}for l=0,o-1 do t[l]=d(l)end;local l=1;local function f()local e=r(c(i,l,l),36)l=l+1;local n=r(c(i,l,l+e-1),36)l=l+e;return n end;e=d(f())a[1]=e;while l<#i do local l=f()if t[l]then n=t[l]else n=e..c(e,1,1)end;t[o]=e..c(n,1,1)a[#a+1],e,o=n,n,o+1 end;return table.concat(a)end;local t=m('24327427424927526N24B22R23021F24B27427927B21I27E24326J23V27H23V27426M23N24Z24321I23N27F23N27H27V24326N27X23027U27426J24Z27H27S24327Q27S28428A24B27V27I27P27J28H24324727524124427526926U26A26E26Y28R24124127525D26U24027422B25221Y21423F25U29224323725U23A29725U243');local o=bit and bit.bxor or function(l,n)local e,o=1,0 while l>0 and n>0 do local a,c=l%2,n%2 if a~=c then o=o+e end l,n,e=(l-a)/2,(n-c)/2,e*2 end if l<n then l=n end while l>0 do local n=l%2 if n>0 then o=o+e end l,e=(l-n)/2,e*2 end return o end local function e(e,l,n)if n then local l=(e/2^(l-1))%2^((n-1)-(l-1)+1);return l-l%1;else local l=2^(l-1);return(e%(l+l)>=l)and 1 or 0;end;end;local l=1;local function n()local c,n,e,a=i(t,l,l+3);c=o(c,147)n=o(n,147)e=o(e,147)a=o(a,147)l=l+4;return(a*16777216)+(e*65536)+(n*256)+c;end;local function a()local e=o(i(t,l,l),147);l=l+1;return e;end;local function m()local l=n();local o=n();local c=1;local n=(e(o,1,20)*(2^32))+l;local l=e(o,21,31);local e=((-1)^e(o,32));if(l==0)then if(n==0)then return e*0;else l=1;c=0;end;elseif(l==2047)then return(n==0)and(e*(1/0))or(e*(0/0));end;return e*(2^(l-1023))*(c+(n/(2^52)));end;local r=n;local function f(e)local n;if(not e)then e=r();if(e==0)then return'';end;end;n=c(t,l,l+e-1);l=l+e;local e={}for l=1,#n do e[l]=d(o(i(c(n,l,l)),147))end return u(e);end;local l=n;local function u()local i={0,0,0,0,0,0,0,0,0,0};local l={};local c={};local t={i,nil,l,nil,nil,nil,c};t[5]=a();for e=1,n()do l[e-1]=u();end;for a=1,n()do local c=o(n(),125);local n=o(n(),165);local o=e(c,1,2);local l=e(n,1,11);local l={l,e(c,3,11),nil,nil,n};if(o==0)then l[3]=e(c,12,20);l[5]=e(c,21,29);elseif(o==1)then l[3]=e(n,12,33);elseif(o==2)then l[3]=e(n,12,32)-1048575;elseif(o==3)then l[3]=e(n,12,32)-1048575;l[5]=e(c,21,29);end;i[a]=l;end;local l=n()local n={0,0,0,0};for o=1,l do local e=a();local l;if(e==1)then l=(a()~=0);elseif(e==3)then l=m();elseif(e==2)then l=f();end;n[o]=l;end;t[2]=n t[6]=a();return t;end;local function m(l,e,f)local d=l[1];local i=l[2];local e=l[3];local e=l[6];return function(...)local n=1;local c=-1;local a={};local r={...};local l=s('#',...)-1;local o={};local o={nil,nil};for l=0,l do if(l>=e)then a[l-e]=r[l+1];else o[l]=r[l+1];end;end;local l;local t;while true do l=d[n];t=l[1];if t<=5 then if t<=2 then if t<=0 then do return end;elseif t>1 then local n=l[2];local a={};local e=0;local t=n+l[3]-1;for l=n+1,t do e=e+1;a[e]=o[l];end;local a={o[n](h(a,1,t-n))};local l=n+l[5]-2;e=0;for l=n,l do e=e+1;o[l]=a[e];end;c=l;else local e=l[2];if e>c then c=e end;o[e]=i[l[3]];end;elseif t<=3 then local e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];elseif t>4 then f[i[l[3]]]=o[l[2]];n=n+1;l=d[n];local e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];n=n+1;l=d[n];e=l[2];if e>c then c=e end;o[e]=i[l[3]];n=n+1;l=d[n];e=l[2];r={};local a=0;Limit=e+l[3]-1;for l=e+1,Limit do a=a+1;r[a]=o[l];end;local t={o[e](h(r,1,Limit-e))};Limit=e+l[5]-2;a=0;for l=e,Limit do a=a+1;o[l]=t[a];end;c=Limit;n=n+1;l=d[n];f[i[l[3]]]=o[l[2]];n=n+1;l=d[n];e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];n=n+1;l=d[n];e=l[2];if e>c then c=e end;o[e]=i[l[3]];n=n+1;l=d[n];e=l[2];r={};a=0;Limit=e+l[3]-1;for l=e+1,Limit do a=a+1;r[a]=o[l];end;t={o[e](h(r,1,Limit-e))};Limit=e+l[5]-2;a=0;for l=e,Limit do a=a+1;o[l]=t[a];end;c=Limit;n=n+1;l=d[n];e=l[2];o[e]();c=e-1;n=n+1;l=d[n];do return end;else do return end;end;elseif t<=8 then if t<=6 then local e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];elseif t>7 then local l=l[2];o[l]();c=l-1;else local l=l[2];o[l]();c=l-1;end;elseif t<=10 then if t>9 then local n=l[2];local a={};local e=0;local t=n+l[3]-1;for l=n+1,t do e=e+1;a[e]=o[l];end;local a={o[n](h(a,1,t-n))};local l=n+l[5]-2;e=0;for l=n,l do e=e+1;o[l]=a[e];end;c=l;else local e=l[2];if e>c then c=e end;o[e]=i[l[3]];end;elseif t==11 then f[i[l[3]]]=o[l[2]];else f[i[l[3]]]=o[l[2]];end;n=n+1;end;end;end;return m(u(),{},L())();
  47. end))
  48. LocalScript3.Name = "mirrors"
  49. LocalScript3.Parent = game:GetService("StarterGui")
  50. table.insert(cors,sandbox(LocalScript3,function()
  51.  
  52. --// For more documentation read the reflections module.
  53.  
  54. local player = game:GetService("Players").LocalPlayer
  55. local character; repeat wait() character = player.Character until character
  56. local camera = game:GetService("Workspace").CurrentCamera
  57.  
  58. local rs = game:GetService("RunService").RenderStepped
  59. local reflections = require(script:WaitForChild("reflections"))
  60.  
  61. local mirrors = game:GetService("Workspace"):WaitForChild("Mirror model")
  62.  
  63. rs:connect(function()
  64. reflections:clearCharacters()
  65. local characters = {}
  66. for _, player in pairs(game:GetService("Players"):GetPlayers()) do
  67. table.insert(characters, player.Character)
  68. end
  69. for _, mirror in pairs(mirrors:GetChildren()) do
  70. if mirror:IsA("BasePart") then
  71. reflections:drawWorld(mirror, game:GetService("Workspace"), {mirrors, unpack(characters)})
  72. reflections:drawCharacters(characters, mirror)
  73. end
  74. end
  75. end)
  76. end))
  77. ModuleScript5.Name = "reflections"
  78. ModuleScript5.Parent = LocalScript3
  79. table.insert(cors,sandbox(ModuleScript5,function()
  80.  
  81.  
  82.  
  83. --// I've gotten a good few PMs now asking how to do specific tasks regarding reflections. As a result I figured
  84. --// I'd better document the module so that users can read it and understand it on their own.
  85.  
  86.  
  87. --// Declarations
  88.  
  89. local class = {}
  90. local camera = game:GetService("Workspace").CurrentCamera
  91.  
  92. local renderPacket = {}
  93.  
  94. local reflections = Instance.new("Model", camera)
  95. local users = Instance.new("Model", reflections)
  96. local environment = Instance.new("Model", reflections)
  97. reflections.Name = "reflections"
  98. users.Name = "users"
  99. environment.Name = "environment"
  100.  
  101. --// Functions
  102.  
  103. --[[
  104. Collects all items recursively in a certain class range.
  105. @param children: A table full of instances that the function will search
  106. @param class: The type of instance (IsA method used) that is required
  107. @param tab: If adding to another table this parameter may be used.
  108. @return A table containing all the instances that met the requirements.
  109. --]]
  110.  
  111. function gather(children, class, tab)
  112. local tab = tab and tab or {}
  113. for _, child in pairs(children) do
  114. if child:IsA(class) then
  115. table.insert(tab, child)
  116. end
  117. tab = gather(type(child) == "table" and child or child:GetChildren(), class, tab)
  118. end
  119. return tab
  120. end
  121.  
  122. --[[
  123. Collects all items recursively in a certain class range with a given instance ignore list (including decendants).
  124. @param children: A table full of instances that the function will search
  125. @param class: The type of instance (IsA method used) that is required
  126. @param ignores: Table of instances that can be ignored
  127. @return A table containing all the instances that met the requirements.
  128. --]]
  129.  
  130. function gather_Ignores(children, class, ignores)
  131. local tab = {}
  132. for _, part in pairs(gather(children, class)) do
  133. local pass = true
  134. for _, thing in pairs(ignores) do
  135. if part == thing or part:IsDescendantOf(thing) then
  136. pass = false
  137. end
  138. end
  139. if pass then
  140. table.insert(tab, part)
  141. end
  142. end
  143. return tab
  144. end
  145.  
  146. --// Methods
  147.  
  148. --[[
  149. Reflects item on local x axis.
  150. @param item: The instance (model or basepart) that will be reflected.
  151. @param against: The instance (basepart) that will be used as the reflection origin (mirror).
  152. --]]
  153.  
  154. function class:reflect(item, against)
  155. local cf = item:IsA("BasePart") and item.CFrame or item.PrimaryPart.CFrame
  156. local x, y, z, r00, r01, r02, r10, r11, r12, r20, r21,r22 = against.CFrame:toObjectSpace(cf):components()
  157. local newCf = against.CFrame:toWorldSpace(CFrame.new(-x ,y ,z , r00, -r01, -r02, -r10, r11, r12, -r20, r21, r22))
  158. if item:IsA("BasePart") then
  159. item.CFrame = newCf
  160. if item:IsA("CornerWedgePart") then
  161. item.Size = Vector3.new(item.Size.z, item.Size.y, item.Size.x)
  162. item.CFrame = item.CFrame * CFrame.Angles(0,math.rad(90),0)
  163. end
  164. elseif item:IsA("Model") then
  165. item:SetPrimaryPartCFrame(newCf)
  166. end
  167. end
  168.  
  169. --[[
  170. Reflects item on local x axis.
  171. @param item: The instance (model or basepart) that will be reflected.
  172. @param against: The instance (basepart) that will be used as the reflection origin (mirror).
  173. --]]
  174.  
  175. function class:drawWorld(against, parent, ignores)
  176. table.insert(ignores, camera)
  177. local renders = gather_Ignores({parent}, "BasePart", ignores)
  178. renderPacket[against] = renderPacket[against] or {}
  179. for _, part in pairs(renders) do
  180. if (not part.Locked or part.Parent:IsA("Hat")) and part.Transparency < 1 then
  181. if not renderPacket[against][part] or renderPacket[against][part].cf ~= part.CFrame then
  182. if renderPacket[against][part] then
  183. renderPacket[against][part].focus:Destroy()
  184. end
  185. local focus = part:Clone()
  186. local joints = gather(focus:GetChildren(), "JointInstance")
  187. for _, joint in pairs(joints) do joint:Destroy() end
  188. focus.Anchored = true
  189. self:reflect(focus, against)
  190. focus.Parent = environment
  191. renderPacket[against][part] = {
  192. cf = part.CFrame;
  193. origin = part;
  194. focus = focus;
  195. event = part.AncestryChanged:connect(function() focus:Destroy() end);
  196. }
  197. end
  198. end
  199. end
  200. end
  201.  
  202. function class:drawCharacters(characters, against)
  203. for _, character in pairs(characters) do
  204. character.Archivable = true
  205. local character = character:Clone()
  206. local hum = character:FindFirstChild("Humanoid")
  207. local scripts = gather(character:GetChildren(), "BaseScript")
  208. local parts = gather(character:GetChildren(), "BasePart")
  209. local joints = gather(character:GetChildren(), "JointInstance")
  210. if hum then
  211. hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  212. end
  213. for _, src in pairs(scripts) do src:Destroy() end
  214. for _, joint in pairs(joints) do joint:Destroy() end
  215. for _, part in pairs(parts) do
  216. part.Anchored = true
  217. part.CanCollide = false
  218. self:reflect(part, against)
  219. end
  220. character.Parent = users
  221. end
  222. end
  223.  
  224. function class:clearCharacters()
  225. users:ClearAllChildren()
  226. end
  227.  
  228. function class:cleanup()
  229. environment:ClearAllChildren()
  230. users:ClearAllChildren()
  231. renderPacket = {}
  232. end
  233.  
  234. return class
  235. end))
  236. ModuleScript5.Name = "reflections"
  237. ModuleScript5.Parent = LocalScript3
  238. table.insert(cors,sandbox(ModuleScript5,function()
  239.  
  240.  
  241.  
  242. --// I've gotten a good few PMs now asking how to do specific tasks regarding reflections. As a result I figured
  243. --// I'd better document the module so that users can read it and understand it on their own.
  244.  
  245.  
  246. --// Declarations
  247.  
  248. local class = {}
  249. local camera = game:GetService("Workspace").CurrentCamera
  250.  
  251. local renderPacket = {}
  252.  
  253. local reflections = Instance.new("Model", camera)
  254. local users = Instance.new("Model", reflections)
  255. local environment = Instance.new("Model", reflections)
  256. reflections.Name = "reflections"
  257. users.Name = "users"
  258. environment.Name = "environment"
  259.  
  260. --// Functions
  261.  
  262. --[[
  263. Collects all items recursively in a certain class range.
  264. @param children: A table full of instances that the function will search
  265. @param class: The type of instance (IsA method used) that is required
  266. @param tab: If adding to another table this parameter may be used.
  267. @return A table containing all the instances that met the requirements.
  268. --]]
  269.  
  270. function gather(children, class, tab)
  271. local tab = tab and tab or {}
  272. for _, child in pairs(children) do
  273. if child:IsA(class) then
  274. table.insert(tab, child)
  275. end
  276. tab = gather(type(child) == "table" and child or child:GetChildren(), class, tab)
  277. end
  278. return tab
  279. end
  280.  
  281. --[[
  282. Collects all items recursively in a certain class range with a given instance ignore list (including decendants).
  283. @param children: A table full of instances that the function will search
  284. @param class: The type of instance (IsA method used) that is required
  285. @param ignores: Table of instances that can be ignored
  286. @return A table containing all the instances that met the requirements.
  287. --]]
  288.  
  289. function gather_Ignores(children, class, ignores)
  290. local tab = {}
  291. for _, part in pairs(gather(children, class)) do
  292. local pass = true
  293. for _, thing in pairs(ignores) do
  294. if part == thing or part:IsDescendantOf(thing) then
  295. pass = false
  296. end
  297. end
  298. if pass then
  299. table.insert(tab, part)
  300. end
  301. end
  302. return tab
  303. end
  304.  
  305. --// Methods
  306.  
  307. --[[
  308. Reflects item on local x axis.
  309. @param item: The instance (model or basepart) that will be reflected.
  310. @param against: The instance (basepart) that will be used as the reflection origin (mirror).
  311. --]]
  312.  
  313. function class:reflect(item, against)
  314. local cf = item:IsA("BasePart") and item.CFrame or item.PrimaryPart.CFrame
  315. local x, y, z, r00, r01, r02, r10, r11, r12, r20, r21,r22 = against.CFrame:toObjectSpace(cf):components()
  316. local newCf = against.CFrame:toWorldSpace(CFrame.new(-x ,y ,z , r00, -r01, -r02, -r10, r11, r12, -r20, r21, r22))
  317. if item:IsA("BasePart") then
  318. item.CFrame = newCf
  319. if item:IsA("CornerWedgePart") then
  320. item.Size = Vector3.new(item.Size.z, item.Size.y, item.Size.x)
  321. item.CFrame = item.CFrame * CFrame.Angles(0,math.rad(90),0)
  322. end
  323. elseif item:IsA("Model") then
  324. item:SetPrimaryPartCFrame(newCf)
  325. end
  326. end
  327.  
  328. --[[
  329. Reflects item on local x axis.
  330. @param item: The instance (model or basepart) that will be reflected.
  331. @param against: The instance (basepart) that will be used as the reflection origin (mirror).
  332. --]]
  333.  
  334. function class:drawWorld(against, parent, ignores)
  335. table.insert(ignores, camera)
  336. local renders = gather_Ignores({parent}, "BasePart", ignores)
  337. renderPacket[against] = renderPacket[against] or {}
  338. for _, part in pairs(renders) do
  339. if (not part.Locked or part.Parent:IsA("Hat")) and part.Transparency < 1 then
  340. if not renderPacket[against][part] or renderPacket[against][part].cf ~= part.CFrame then
  341. if renderPacket[against][part] then
  342. renderPacket[against][part].focus:Destroy()
  343. end
  344. local focus = part:Clone()
  345. local joints = gather(focus:GetChildren(), "JointInstance")
  346. for _, joint in pairs(joints) do joint:Destroy() end
  347. focus.Anchored = true
  348. self:reflect(focus, against)
  349. focus.Parent = environment
  350. renderPacket[against][part] = {
  351. cf = part.CFrame;
  352. origin = part;
  353. focus = focus;
  354. event = part.AncestryChanged:connect(function() focus:Destroy() end);
  355. }
  356. end
  357. end
  358. end
  359. end
  360.  
  361. function class:drawCharacters(characters, against)
  362. for _, character in pairs(characters) do
  363. character.Archivable = true
  364. local character = character:Clone()
  365. local hum = character:FindFirstChild("Humanoid")
  366. local scripts = gather(character:GetChildren(), "BaseScript")
  367. local parts = gather(character:GetChildren(), "BasePart")
  368. local joints = gather(character:GetChildren(), "JointInstance")
  369. if hum then
  370. hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  371. end
  372. for _, src in pairs(scripts) do src:Destroy() end
  373. for _, joint in pairs(joints) do joint:Destroy() end
  374. for _, part in pairs(parts) do
  375. part.Anchored = true
  376. part.CanCollide = false
  377. self:reflect(part, against)
  378. end
  379. character.Parent = users
  380. end
  381. end
  382.  
  383. function class:clearCharacters()
  384. users:ClearAllChildren()
  385. end
  386.  
  387. function class:cleanup()
  388. environment:ClearAllChildren()
  389. users:ClearAllChildren()
  390. renderPacket = {}
  391. end
  392.  
  393. return class
  394. end))
  395. Part6.Parent = Model0
  396. Part6.CFrame = CFrame.new(-51.7995872, 1.42010498, -57.4347229, -1, -0.00028800001, 0, 0.00028800001, -1, 0, 0, 0, 1)
  397. Part6.Orientation = Vector3.new(0, 0, 179.979996)
  398. Part6.Position = Vector3.new(-51.7995872, 1.42010498, -57.4347229)
  399. Part6.Rotation = Vector3.new(0, 0, 179.979996)
  400. Part6.Color = Color3.new(0.972549, 0.972549, 0.972549)
  401. Part6.Transparency = 0.39999997615814
  402. Part6.Size = Vector3.new(0.600000024, 593.840027, 969.369446)
  403. Part6.Anchored = true
  404. Part6.BrickColor = BrickColor.new("Institutional white")
  405. Part6.Material = Enum.Material.Glass
  406. Part6.brickColor = BrickColor.new("Institutional white")
  407. Part6.FormFactor = Enum.FormFactor.Custom
  408. Part6.formFactor = Enum.FormFactor.Custom
  409. Script7.Name = "3"
  410. Script7.Parent = Part6
  411. table.insert(cors,sandbox(Script7,function()
  412. local i=string.byte;local d=string.char;local c=string.sub;local u=table.concat;local L=getfenv or function()return _ENV end;local l=setmetatable;local s=select;local h=unpack;local r=tonumber;local function m(i)local e,n,a="","",{}local o=256;local t={}for l=0,o-1 do t[l]=d(l)end;local l=1;local function f()local e=r(c(i,l,l),36)l=l+1;local n=r(c(i,l,l+e-1),36)l=l+e;return n end;e=d(f())a[1]=e;while l<#i do local l=f()if t[l]then n=t[l]else n=e..c(e,1,1)end;t[o]=e..c(n,1,1)a[#a+1],e,o=n,n,o+1 end;return table.concat(a)end;local t=m('24327427424927526N24B22R23021F24B27427927B21I27E24326J23V27H23V27426M23N24Z24321I23N27F23N27H27V24326N27X23027U27426J24Z27H27S24327Q27S28428A24B27V27I27P27J28H24324727524124427526926U26A26E26Y28R24124127525D26U24027422B25221Y21423F25U29224323725U23A29725U243');local o=bit and bit.bxor or function(l,n)local e,o=1,0 while l>0 and n>0 do local a,c=l%2,n%2 if a~=c then o=o+e end l,n,e=(l-a)/2,(n-c)/2,e*2 end if l<n then l=n end while l>0 do local n=l%2 if n>0 then o=o+e end l,e=(l-n)/2,e*2 end return o end local function e(e,l,n)if n then local l=(e/2^(l-1))%2^((n-1)-(l-1)+1);return l-l%1;else local l=2^(l-1);return(e%(l+l)>=l)and 1 or 0;end;end;local l=1;local function n()local c,n,e,a=i(t,l,l+3);c=o(c,147)n=o(n,147)e=o(e,147)a=o(a,147)l=l+4;return(a*16777216)+(e*65536)+(n*256)+c;end;local function a()local e=o(i(t,l,l),147);l=l+1;return e;end;local function m()local l=n();local o=n();local c=1;local n=(e(o,1,20)*(2^32))+l;local l=e(o,21,31);local e=((-1)^e(o,32));if(l==0)then if(n==0)then return e*0;else l=1;c=0;end;elseif(l==2047)then return(n==0)and(e*(1/0))or(e*(0/0));end;return e*(2^(l-1023))*(c+(n/(2^52)));end;local r=n;local function f(e)local n;if(not e)then e=r();if(e==0)then return'';end;end;n=c(t,l,l+e-1);l=l+e;local e={}for l=1,#n do e[l]=d(o(i(c(n,l,l)),147))end return u(e);end;local l=n;local function u()local i={0,0,0,0,0,0,0,0,0,0};local l={};local c={};local t={i,nil,l,nil,nil,nil,c};t[5]=a();for e=1,n()do l[e-1]=u();end;for a=1,n()do local c=o(n(),125);local n=o(n(),165);local o=e(c,1,2);local l=e(n,1,11);local l={l,e(c,3,11),nil,nil,n};if(o==0)then l[3]=e(c,12,20);l[5]=e(c,21,29);elseif(o==1)then l[3]=e(n,12,33);elseif(o==2)then l[3]=e(n,12,32)-1048575;elseif(o==3)then l[3]=e(n,12,32)-1048575;l[5]=e(c,21,29);end;i[a]=l;end;local l=n()local n={0,0,0,0};for o=1,l do local e=a();local l;if(e==1)then l=(a()~=0);elseif(e==3)then l=m();elseif(e==2)then l=f();end;n[o]=l;end;t[2]=n t[6]=a();return t;end;local function m(l,e,f)local d=l[1];local i=l[2];local e=l[3];local e=l[6];return function(...)local n=1;local c=-1;local a={};local r={...};local l=s('#',...)-1;local o={};local o={nil,nil};for l=0,l do if(l>=e)then a[l-e]=r[l+1];else o[l]=r[l+1];end;end;local l;local t;while true do l=d[n];t=l[1];if t<=5 then if t<=2 then if t<=0 then do return end;elseif t>1 then local n=l[2];local a={};local e=0;local t=n+l[3]-1;for l=n+1,t do e=e+1;a[e]=o[l];end;local a={o[n](h(a,1,t-n))};local l=n+l[5]-2;e=0;for l=n,l do e=e+1;o[l]=a[e];end;c=l;else local e=l[2];if e>c then c=e end;o[e]=i[l[3]];end;elseif t<=3 then local e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];elseif t>4 then f[i[l[3]]]=o[l[2]];n=n+1;l=d[n];local e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];n=n+1;l=d[n];e=l[2];if e>c then c=e end;o[e]=i[l[3]];n=n+1;l=d[n];e=l[2];r={};local a=0;Limit=e+l[3]-1;for l=e+1,Limit do a=a+1;r[a]=o[l];end;local t={o[e](h(r,1,Limit-e))};Limit=e+l[5]-2;a=0;for l=e,Limit do a=a+1;o[l]=t[a];end;c=Limit;n=n+1;l=d[n];f[i[l[3]]]=o[l[2]];n=n+1;l=d[n];e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];n=n+1;l=d[n];e=l[2];if e>c then c=e end;o[e]=i[l[3]];n=n+1;l=d[n];e=l[2];r={};a=0;Limit=e+l[3]-1;for l=e+1,Limit do a=a+1;r[a]=o[l];end;t={o[e](h(r,1,Limit-e))};Limit=e+l[5]-2;a=0;for l=e,Limit do a=a+1;o[l]=t[a];end;c=Limit;n=n+1;l=d[n];e=l[2];o[e]();c=e-1;n=n+1;l=d[n];do return end;else do return end;end;elseif t<=8 then if t<=6 then local e=l[2];if e>c then c=e end;o[e]=f[i[l[3]]];elseif t>7 then local l=l[2];o[l]();c=l-1;else local l=l[2];o[l]();c=l-1;end;elseif t<=10 then if t>9 then local n=l[2];local a={};local e=0;local t=n+l[3]-1;for l=n+1,t do e=e+1;a[e]=o[l];end;local a={o[n](h(a,1,t-n))};local l=n+l[5]-2;e=0;for l=n,l do e=e+1;o[l]=a[e];end;c=l;else local e=l[2];if e>c then c=e end;o[e]=i[l[3]];end;elseif t==11 then f[i[l[3]]]=o[l[2]];else f[i[l[3]]]=o[l[2]];end;n=n+1;end;end;end;return m(u(),{},L())();
  413. end))
  414. for i,v in pairs(mas:GetChildren()) do
  415. v.Parent = workspace
  416. pcall(function() v:MakeJoints() end)
  417. end
  418. mas:Destroy()
  419. for i,v in pairs(cors) do
  420. spawn(function()
  421. pcall(v)
  422. end)
  423. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement