Advertisement
Dark_EccentricYT

Untitled

Sep 5th, 2017 (edited)
1,345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.17 KB | None | 0 0
  1. r2 = "Really Black"
  2.  
  3. --declarations
  4. PI=math.pi
  5. TAU=PI*2
  6. FLOATFORCE=196.25
  7. DEBRIS=game:service'Debris'
  8. mr,md=math.random,math.rad
  9. cfn,v3n=CFrame.new,Vector3.new
  10. _A=nils
  11. ang=function(x,y,z)local a=CFrame.Angles(x or 0,y or 0,z or 0)_A=a return a end
  12. RS=game:service'RunService'
  13. numkp=NumberSequenceKeypoint.new
  14. colkp=ColorSequenceKeypoint.new
  15. bcol=BrickColor.new
  16.  
  17. RS:UnbindFromRenderStep('Anim')
  18.  
  19. --player specific...
  20. player = game:service'Players'.LocalPlayer
  21. character = player.Character
  22. torso = character.Torso
  23. head = character.Head
  24. rarm = character['Right Arm']
  25. larm = character['Left Arm']
  26. rleg = character['Right Leg']
  27. lleg = character['Left Leg']
  28. human = character.Humanoid
  29. root_j=character.HumanoidRootPart.RootJoint
  30.  
  31. --Utilities... who needs them?
  32.  
  33. function recurseHum(what)
  34. local res
  35. local p=what
  36. if what:IsA'Humanoid'then
  37. res=what
  38. else
  39. repeat
  40. p=p.Parent
  41. if p then
  42. local hum=p:FindFirstChild'Humanoid'
  43. if hum then
  44. res=hum
  45. break
  46. end
  47. end
  48. until p==nil
  49. end
  50. return res
  51. end
  52. function findHum(pos,rad,hum2)
  53. local hums={}
  54. function check(a)
  55. local res=false
  56. for i,ho in pairs(hums)do
  57. if a==ho then res=true end
  58. end
  59. return res
  60. end
  61. for i,v in pairs(Workspace:children())do
  62. if v:IsA'Model'and v~=Char and v~=(hum2 or Char) then
  63. for i,q in pairs(v:children())do
  64. if q:IsA'Humanoid' and q.Parent:FindFirstChild'Torso'and(q.Torso.Position-pos).magnitude < rad then
  65. if not check(q)then
  66. table.insert(hums,q)
  67. end
  68. end
  69. end
  70. end
  71. end
  72. return hums
  73. end
  74.  
  75. function checkY(p1,p2,range,range2)
  76. local function checko()
  77. return ( (l(p1).X>l(p2).X-range2 and l(p1).X<l(p2).X+range2) and (l(p1).Z>l(p2).Z-range2 and l(p1).Z<l(p2).Z+range2) )
  78. end
  79. if range2 then
  80. return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range) and checko()
  81. else
  82. return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range)
  83. end
  84. end
  85.  
  86. udim=function(a,b,c,d)
  87. if type(a)=='string'then
  88. x,y=tostring(a):match('([%+%d%.%-%/%*]+),([%+%d%.%-%/%*]+)')
  89. return UDim2.new(x or 0,x2 or 0,y or 0,y2 or 0)
  90. else
  91. return UDim2.new(a or 0,c or 0,b or 0,d or 0)
  92. end end
  93.  
  94. function l(a1,x,y,z,rx,ry,rz)
  95. local cf
  96. if tostring(a1):find(',') == nil then
  97. cf=a1.CFrame
  98. else cf=a1 end
  99. return cf*CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(
  100. rx or 0,ry or 0,yz or 0)
  101. end
  102. function f(a) --turns thigns in to function returning the thing... f(l)(torso,0,2,0)
  103. return function(...)
  104. local args={...}
  105. return function() return a(unpack(args)) end
  106. end
  107. end
  108.  
  109. function isIn(what,tab) --returns true if what is in tab. isIn("Troll", {"Tomato", "Troll", "Strawberry") --> true
  110. local res=false
  111. for i,v in next,tab do
  112. if v==what then
  113. res = true
  114. break
  115. end
  116. end
  117. return res
  118. end
  119.  
  120. Weld = function(part0,part1,c0,c1,...) --over-engineered welding function which accepts many things
  121. local ar = {...}
  122. local cframe0,cframe1
  123. local function checkf()local res=true
  124. for i,v in pairs(ar)do
  125. if type(v) ~= 'number' then
  126. res=false
  127. end
  128. end
  129. return res
  130. end
  131. if type(c0) == 'table' then
  132. cframe0 = CFrame.new(c0[1] or 0, c0[2] or 0, c0[3] or 0) * CFrame.Angles(
  133. c0[4] or 0, c0[5] or 0, c0[6] or 0)
  134. elseif type(c0) == 'userdata' then
  135. cframe0 = c0
  136. elseif type(c0) == 'number' and checkf() then
  137. cframe0 = CFrame.new(c0 or 0,c1 or 0,ar[1] or 0) * CFrame.Angles(ar[2] or 0, ar[3] or 0, ar[4] or 0)
  138. end
  139. if type(c1) == 'table' then
  140. cframe1 = CFrame.new(c1[1] or 0, c1[2] or 0, c1[3] or 0) * CFrame.Angles(
  141. c1[4] or 0, c1[5] or 0, c1[6] or 0)
  142. elseif type(c1) == 'userdata' then
  143. cframe1 = c1
  144. elseif type(c1) == 'number' and (not c0 or (c0 and type(c0) == 'table')) then
  145. cframe1 = CFrame.new(c1 or 0, ar[1] or 0, ar[2] or 0) * CFrame.Angles(ar[3] or 0, ar[4] or 0, ar[5] or 0)
  146. end
  147. for i,v in pairs(ar)do
  148. if type(v) == 'table' then
  149. cframe1 = CFrame.new(v[1] or 0, v[2] or 0, v[3] or 0) * CFrame.new(v[4] or 0, v[5] or 0, v[6] or 0)
  150. elseif type(v) == 'userdata' then
  151. cframe1 = v
  152. end
  153. end
  154.  
  155. cframe0,cframe1 = cframe1,cframe0
  156. part0.Position=part1.Position
  157. local weld = Instance.new("Weld")
  158. weld.Part0 = part0
  159. weld.Part1 = part1
  160. weld.C0 = cframe0 or CFrame.new()
  161. weld.C1 = cframe1 or CFrame.new()
  162. if weld:IsA'Motor'then weld.MaxVelocity = set_maxvel or .1 end
  163. weld.Parent = part0
  164. _2=weld
  165. return weld
  166. end
  167.  
  168. mesh_ids = {
  169. spikeball = "rbxassetid://24388358";
  170. spike = "rbxassetid://1033714";
  171. ring = "rbxassetid://3270017";
  172. coil = 'rbxassetid://16606212';
  173. diamond = 'rbxassetid://9756362';
  174. rock = 'rbxassetid://1290033';
  175. gear = 'rbxassetid://156292343';
  176. crown = 'rbxassetid://20329976';
  177. orb = 'rbxassetid://34795798';
  178. heart = 'rbxassetid://431221914';
  179. dragon = 'rbxassetid://24478215';
  180. half_sphere = 'rbxassetid://475668276';
  181. star = 'rbxassetid://45428961';
  182. }
  183. mesh_texs = {
  184. rock = 'rbxassetid://1290030';
  185. dragon = 'rbxassetid://25665033';
  186. }
  187. mesh_scales={
  188. diamond = v3n(0.75, 0.75, 0.75);
  189. spikeball = v3n(1.05, 1.05, 1.05);
  190. spike = v3n(0.5, 1.5, 0.5);
  191. gear = v3n(1.25,1.25,18);
  192. ring = v3n(1, 1, 6);
  193. coil = v3n(0.5, 0.5, 0.3);
  194. crown = v3n(0.6, 0.6, 0.6);
  195. orb = v3n(1, 1, 1);
  196. heart = v3n(0.25, 0.25, 0.4);
  197. dragon = v3n(0.4, 0.5, 0.4);
  198. half_sphere= v3n(0.005, 0.01, 0.005);
  199. star= v3n(4, 1, 4);
  200. }
  201. mesh_offsets={
  202. crown = v3n(0,.15,0);
  203. }
  204.  
  205. function bindMesh(mesh,Size)
  206. local mesh_name
  207. local size=Size or mesh.Parent.Size
  208. for name,id in next,mesh_ids do
  209. if mesh.MeshId==id then
  210. mesh_name=name
  211. end
  212. end
  213.  
  214. if not mesh_name then return end
  215. local mesh=mesh
  216. local con
  217. con=mesh.Parent.Changed:connect(function()
  218. local siz=mesh.Parent.Size
  219. mesh.Scale=siz*mesh_scales[mesh_name]
  220. if mesh_offsets[mesh_name] then
  221. mesh.Offset=siz*mesh_offsets[mesh_name]
  222. end
  223. end)
  224. return con
  225. end
  226. Mesh = function(parent,id,sx,sy,sz)
  227. local name = ( (id == 'cyl' and 'CylinderMesh') or (id == 'bl' and 'BlockMesh') or 'SpecialMesh')
  228. local mesh = Instance.new(name)
  229. if id == 's' then
  230. mesh.MeshType = Enum.MeshType.Sphere
  231. elseif id == 'w' then
  232. mesh.MeshType = Enum.MeshType.Wedge
  233. elseif id == 'h' then
  234. mesh.MeshType = Enum.MeshType.Head
  235. elseif string.find(id,"://") ~= nil then
  236. mesh.MeshId = id
  237. end
  238. mesh.Scale = Vector3.new(sx or 1, sy or 1, sz or 1)
  239. mesh.Parent = parent
  240. _3=mesh
  241. return mesh
  242. end
  243.  
  244. Edit = function(what)
  245. return function(args)
  246. for ind,obj in next,what do
  247. for arg,val in next,args do
  248. local child,argu = arg:match"(.+)%.(.+)"
  249. if child and argu then
  250. if pcall(function()return obj[child][argu] end) then
  251. obj[child][argu]=val
  252. end
  253. else
  254. if arg=='_F'then
  255. val(ind,obj)
  256. elseif pcall(function()return obj[arg]end) then
  257. obj[arg]=val
  258. end
  259. end
  260. end
  261. end
  262. end
  263. end
  264. New = function(what) --Synthetic caffeine for Instance.new
  265. local obj
  266. if type(what) ~= 'string' then
  267. obj=what:Clone()
  268. else
  269. obj=Instance.new(what)
  270. end
  271. if what=='Weld' then obj.Name='mujoint'end
  272. return function(bar)
  273. for arg,val in pairs(bar) do
  274. if arg == "_P" then
  275. obj.Parent = val
  276. elseif arg=="_PP" then
  277. obj.Part0=val[1]
  278. obj.Part1=val[2]
  279. elseif arg=='_F'then
  280. val(obj)
  281. else
  282. if pcall(function()return obj[arg] end) then
  283. obj[arg]=val
  284. end
  285. end
  286. end _4=obj
  287. return obj
  288. end
  289. end
  290.  
  291. set_parent,set_material=nil,nil
  292. set_maxvel,set_anchor=nil,nil
  293. set_collide=false
  294.  
  295. pcall(function() character['Knight']:Destroy() end) --removes old model.
  296. Main = New"Model"{_P=character;Name = 'Knight'}
  297.  
  298. _1,_2,_3,_4,_5,_6,_7,_8 = nil,nil,nil,nil,nil,nil,nil
  299. Part = function(x,y,z,col,tr)
  300. local p = New"Part"{
  301. _P=set_parent or ears or Main;
  302. BrickColor = BrickColor.new(col or set_color or "White");
  303. CanCollide = set_collide;
  304. Transparency = tr or 0;
  305. Size = Vector3.new(x or 0,y or 0,z or 0);
  306. Material = set_material or 'SmoothPlastic';
  307. Anchored = (set_anchor~=nil and set_anchor or false)
  308. }
  309. for _,sur in next,Enum.NormalId:GetEnumItems() do
  310. p[sur.Name..'Surface'] = 10
  311. end
  312. _1 = p
  313. return p
  314. end
  315.  
  316. function platefy(part)
  317. local x,z=part.Size.x,part.Size.z
  318. local y=part.Size.y
  319. local list={}
  320. --Cylinders...
  321. local p2=Part(y,x,y)Mesh(_1,'cyl') table.insert(list,_1)
  322. Weld(p2,p,0,0,-z/2,PI/2,0,PI/2)
  323.  
  324. local p2=Part(y,x,y)Mesh(_1,'cyl') table.insert(list,_1)
  325. Weld(p2,p,0,0,z/2,PI/2,0,PI/2)
  326.  
  327. local p2=Part(y,z,y)Mesh(_1,'cyl') table.insert(list,_1)
  328. Weld(p2,p,x/2,0,0,PI/2)
  329.  
  330. local p2=Part(y,z,y)Mesh(_1,'cyl') table.insert(list,_1)
  331. Weld(p2,p,-x/2,0,0,PI/2)
  332.  
  333. --Balls...
  334. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  335. Weld(p2,p,-x/2,0,-z/2)
  336.  
  337. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  338. Weld(p2,p,-x/2,0,z/2)
  339.  
  340. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  341. Weld(p2,p,x/2,0,-z/2)
  342.  
  343. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  344. Weld(p2,p,x/2,0,z/2)
  345.  
  346. part.Changed:connect(function(prop)
  347. Edit(list){Material=part.Material;Color=part.Color}
  348. end)
  349. end
  350.  
  351.  
  352. function findAllParts(pos,radius)
  353. local min,max = math.min,math.max
  354. local list={}
  355. local pos1,pos2=l(cfn(pos),-radius*3,-radius*3,-radius*3).p,l(cfn(pos),radius*3,radius*3,radius*3).p
  356. local reg=Region3.new(v3n(min(pos1.x,pos2.x),min(pos1.y,pos2.y),min(pos1.z,pos2.z)),
  357. v3n(max(pos1.x,pos2.x),max(pos1.y,pos2.y),max(pos1.z,pos2.z)))
  358. for i,v in pairs(Workspace:FindPartsInRegion3WithIgnoreList(reg,{character})) do
  359. if (v.Position-pos).magnitude<radius and v.Name~='Base' then
  360. table.insert(list,v)
  361. end
  362. end
  363. return list
  364. end
  365.  
  366. --BL_EXPORT
  367. letters={
  368. A='[{"p": [0.001, -0.05, -0.09], "r": [0.0, 0.0, 0.0], "s": [0.34, 0.1, 0.102]}, {"p": [0.289, 0.05, 0.036], "r": [0.0, -0.262, -0.0], "s": [0.1, 0.1, 1.051]}, {"p": [-0.268, 0.05, 0.011], "r": [0.0, 0.262, 0.0], "s": [0.1, 0.1, 1.031]}]';
  369. B='[{"p": [0.283, 0.0, -0.822], "r": [-0.0, -1.931, 0.0], "s": [0.1, 0.1, 0.389]}, {"p": [0.226, 0.0, -0.292], "r": [0.0, -0.7, -0.0], "s": [0.1, 0.1, 0.48]}, {"p": [0.375, 0.0, 0.245], "r": [-0.0, -2.094, 0.0], "s": [0.1, 0.1, 0.48]}, {"p": [0.293, -0.0, 0.762], "r": [0.0, -0.96, -0.0], "s": [0.1, 0.1, 0.48]}, {"p": [-0.142, -0.0, 0.033], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.087]}]';
  370. C='[{"p": [0.121, 0.006, 0.939], "r": [-0.0, 1.571, 0.0], "s": [0.133, 0.103, 0.411]}, {"p": [-0.512, 0.006, 0.732], "r": [-0.0, 0.913, 0.0], "s": [0.133, 0.103, 0.385]}, {"p": [-0.765, 0.006, 0.103], "r": [-0.0, 0.0, 0.0], "s": [0.133, 0.103, 0.499]}, {"p": [-0.411, 0.006, -0.569], "r": [-0.0, -0.966, -0.0], "s": [0.133, 0.103, 0.499]}, {"p": [0.241, 0.006, -0.777], "r": [0.0, 1.419, 0.0], "s": [0.133, 0.103, 0.349]}]';
  371. D='[{"p": [0.06, 0.0, 0.617], "r": [-0.0, -1.047, 0.0], "s": [0.1, 0.1, 0.586]}, {"p": [0.518, -0.0, -0.027], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 0.437]}, {"p": [-0.497, -0.0, -0.027], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.024]}, {"p": [0.06, -0.0, -0.671], "r": [-0.0, 1.047, -0.0], "s": [0.1, 0.1, 0.586]}]';
  372. E='[{"p": [0.011, 0.0, -0.927], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.5]}, {"p": [0.011, 0.0, -0.027], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.5]}, {"p": [-0.533, 0.0, -0.027], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}, {"p": [0.011, 0.0, 0.873], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.5]}]';
  373. F='[{"p": [0.011, 0.0, 0.877], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.5]}, {"p": [-0.533, -0.0, -0.022], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}, {"p": [0.011, 0.0, 0.177], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.5]}]';
  374. G='[{"p": [0.386, 0.006, -0.755], "r": [0.0, 1.419, 0.0], "s": [0.133, 0.103, 0.499]}, {"p": [0.121, 0.006, 0.939], "r": [-0.0, 1.571, 0.0], "s": [0.133, 0.103, 0.411]}, {"p": [0.4, 0.006, 0.053], "r": [-0.0, -1.571, 0.0], "s": [0.133, 0.103, 0.238]}, {"p": [-0.512, 0.006, 0.732], "r": [-0.0, 0.913, 0.0], "s": [0.133, 0.103, 0.385]}, {"p": [-0.765, 0.006, 0.103], "r": [-0.0, 0.0, 0.0], "s": [0.133, 0.103, 0.499]}, {"p": [-0.411, 0.006, -0.569], "r": [-0.0, -0.966, -0.0], "s": [0.133, 0.103, 0.499]}, {"p": [0.765, 0.006, -0.313], "r": [0.0, 0.0, 0.0], "s": [0.133, 0.103, 0.499]}]';
  375. H='[{"p": [-0.002, 0.0, -0.023], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.547]}, {"p": [0.599, -0.0, -0.022], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}, {"p": [-0.601, -0.0, -0.022], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}]';
  376. I='[{"p": [0.01, 0.0, -0.027], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}]';
  377. J='[{"p": [0.308, -0.0, -0.686], "r": [0.0, 0.607, 0.0], "s": [0.1, 0.1, 0.247]}, {"p": [-0.431, 0.0, -0.46], "r": [-0.0, 0.009, -0.0], "s": [0.1, 0.1, 0.221]}, {"p": [-0.297, 0.0, -0.733], "r": [-0.0, -0.929, -0.0], "s": [0.1, 0.1, 0.221]}, {"p": [0.036, 0.0, -0.846], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.216]}, {"p": [0.431, -0.0, 0.246], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 0.786]}]';
  378. K='[{"p": [0.298, 0.0, -0.486], "r": [-0.0, -0.785, -0.0], "s": [0.104, 0.104, 0.707]}, {"p": [0.25, -0.0, 0.486], "r": [0.0, 0.785, 0.0], "s": [0.104, 0.104, 0.679]}, {"p": [-0.298, -0.0, 0.003], "r": [0.0, 0.0, 0.0], "s": [0.104, 0.104, 1.04]}]';
  379. L='[{"p": [-0.242, -0.0, -0.033], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.023]}, {"p": [0.244, 0.0, -0.956], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.586]}]';
  380. M='[{"p": [0.182, 0.0, -0.029], "r": [0.0, 0.175, 0.0], "s": [0.106, 0.169, 1.014]}, {"p": [0.515, 0.0, -0.025], "r": [0.0, -0.175, -0.0], "s": [0.106, 0.169, 1.014]}, {"p": [-0.161, 0.0, -0.025], "r": [0.0, -0.175, -0.0], "s": [0.106, 0.169, 1.014]}, {"p": [-0.494, 0.0, -0.029], "r": [0.0, 0.175, 0.0], "s": [0.106, 0.169, 1.014]}]';
  381. N='[{"p": [-0.365, 0.0, 0.011], "r": [0.0, 0.0, 0.0], "s": [0.106, 0.169, 1.014]}, {"p": [0.179, 0.0, 0.004], "r": [0.0, -0.501, -0.0], "s": [0.106, 0.169, 1.105]}, {"p": [0.723, 0.0, -0.003], "r": [0.0, 0.0, 0.0], "s": [0.106, 0.169, 1.014]}]';
  382. O='[{"p": [0.323, 0.0, 0.67], "r": [-0.0, -0.611, 0.0], "s": [0.15, 0.15, 0.276]}, {"p": [-0.302, 0.0, 0.67], "r": [-0.0, 0.611, 0.0], "s": [0.15, 0.15, 0.276]}, {"p": [0.01, 0.0, 0.833], "r": [-0.0, 4.712, 0.0], "s": [0.15, 0.15, 0.277]}, {"p": [0.454, -0.0, -0.022], "r": [0.0, 0.0, 0.0], "s": [0.15, 0.15, 0.553]}, {"p": [0.323, 0.0, -0.716], "r": [-0.0, 0.611, -0.0], "s": [0.15, 0.15, 0.276]}, {"p": [0.011, 0.0, -0.878], "r": [-0.0, 4.712, 0.0], "s": [0.15, 0.15, 0.276]}, {"p": [-0.302, 0.0, -0.715], "r": [-0.0, -0.611, -0.0], "s": [0.15, 0.15, 0.276]}, {"p": [-0.433, -0.0, -0.022], "r": [0.0, 0.0, 0.0], "s": [0.15, 0.15, 0.553]}]';
  383. P='[{"p": [0.412, 0.0, 0.421], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 0.547]}, {"p": [0.011, 0.0, -0.027], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.5]}, {"p": [-0.533, 0.0, -0.027], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}, {"p": [0.011, 0.0, 0.873], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.5]}]';
  384. R='[{"p": [0.238, -0.002, 0.29], "r": [-0.0, 3.235, 0.0], "s": [0.1, 0.1, 0.402]}, {"p": [-0.012, 0.002, -0.5], "r": [-0.0, 2.1, -0.0], "s": [0.104, 0.104, 0.774]}, {"p": [-0.16, -0.002, -0.05], "r": [0.0, 1.506, 0.0], "s": [0.1, 0.1, 0.454]}, {"p": [-0.142, -0.002, 0.738], "r": [0.0, -1.301, -0.0], "s": [0.1, 0.1, 0.5]}, {"p": [-0.687, -0.002, -0.028], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}]';
  385. S='[{"p": [-0.469, -0.022, -0.91], "r": [-0.0, -0.776, -0.0], "s": [0.095, 0.095, 0.205]}, {"p": [-0.082, -0.022, -1.028], "r": [-0.0, 1.571, -0.0], "s": [0.095, 0.095, 0.311]}, {"p": [0.321, -0.022, -0.852], "r": [-0.0, 0.664, 0.0], "s": [0.095, 0.095, 0.27]}, {"p": [0.381, -0.022, -0.475], "r": [-0.0, -0.349, -0.0], "s": [0.095, 0.095, 0.27]}, {"p": [0.109, -0.022, -0.09], "r": [-0.0, -0.881, 0.0], "s": [0.095, 0.095, 0.27]}, {"p": [-0.189, -0.022, 0.294], "r": [-0.0, -0.436, 0.0], "s": [0.095, 0.095, 0.27]}, {"p": [-0.189, -0.022, 0.704], "r": [-0.0, 0.436, 0.0], "s": [0.095, 0.095, 0.27]}, {"p": [0.11, -0.022, 0.894], "r": [-0.0, 1.571, 0.0], "s": [0.095, 0.095, 0.27]}, {"p": [0.505, -0.022, 0.731], "r": [-0.0, -0.785, 0.0], "s": [0.095, 0.095, 0.27]}]';
  386. T='[{"p": [-0.001, -0.0, -0.022], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}, {"p": [-0.006, 0.0, 0.877], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.911]}]';
  387. U='[{"p": [0.415, 0.0, -0.704], "r": [-3.142, 2.313, 3.142], "s": [0.1, 0.175, -0.38]}, {"p": [0.662, 0.0, 0.23], "r": [-3.142, -3.142, 3.142], "s": [0.1, 0.175, -0.75]}, {"p": [0.026, 0.0, -0.935], "r": [-3.141, -1.573, 3.141], "s": [0.1, 0.175, -0.179]}, {"p": [-0.614, 0.0, 0.232], "r": [-3.142, -3.142, 3.142], "s": [0.1, 0.175, -0.75]}, {"p": [-0.367, 0.0, -0.702], "r": [-3.142, -2.313, 3.142], "s": [0.1, 0.175, -0.38]}]';
  388. V='[{"p": [0.313, 0.0, -0.067], "r": [0.0, 0.364, 0.0], "s": [0.106, 0.169, 1.014]}, {"p": [-0.344, 0.0, -0.074], "r": [0.0, -0.364, 0.0], "s": [0.106, 0.169, 1.014]}]';
  389. W='[{"p": [0.515, 0.0, -0.025], "r": [0.0, 0.175, -0.0], "s": [0.106, 0.169, 1.014]}, {"p": [0.182, 0.0, -0.029], "r": [0.0, -0.175, 0.0], "s": [0.106, 0.169, 1.014]}, {"p": [-0.494, 0.0, -0.029], "r": [0.0, -0.175, 0.0], "s": [0.106, 0.169, 1.014]}, {"p": [-0.161, 0.0, -0.025], "r": [0.0, 0.175, -0.0], "s": [0.106, 0.169, 1.014]}]';
  390. X='[{"p": [0.007, -0.0, -0.03], "r": [0.0, -0.785, 0.0], "s": [0.15, 0.15, -1.323]}, {"p": [0.007, -0.0, -0.03], "r": [0.0, 0.785, 0.0], "s": [0.15, 0.15, -1.323]}]';
  391. Y='[{"p": [0.324, 0.01, 0.421], "r": [0.0, 0.611, 0.0], "s": [0.11, 0.11, 0.55]}, {"p": [-0.264, 0.01, 0.453], "r": [0.0, -0.524, -0.0], "s": [0.11, 0.11, 0.55]}, {"p": [0.011, 0.01, -0.576], "r": [0.0, 0.0, 0.0], "s": [0.11, 0.11, 0.55]}]';
  392. Z='[{"p": [0.269, 0.0, 0.915], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.586]}, {"p": [0.257, -0.0, -0.021], "r": [0.0, 0.524, 0.0], "s": [0.1, 0.1, 1.023]}, {"p": [0.244, 0.0, -0.956], "r": [-0.0, 1.571, 0.0], "s": [0.1, 0.1, 0.586]}]';
  393. }
  394. --/BL_EXPORT
  395.  
  396. scale=10
  397.  
  398. function doLetter(letter,pos,scale,color)
  399. local letter_mod = New"Model"{_P=Main}
  400. local list2={}
  401. local list=game:service'HttpService':JSONDecode(letters[letter])
  402. local cnt=0
  403. for i,v in pairs(list)do
  404. cnt=cnt+1
  405. Part(1,1,1,color or 'Royal purple')_1.Anchored=true Mesh(_1,'bl',unpack(v.s))_1.Parent=letter_mod
  406. _3.Scale=_3.Scale*scale+v3n(0,0.001*cnt,0)
  407. _1.CFrame=l(pos,v.p[1]*scale/2,v.p[2]*scale/2,v.p[3]*scale/2)*ang(unpack(v.r))
  408. _1.Material='Slate'
  409. list2[_1]={Scale=_3.Scale,CFrame=_1.CFrame}
  410. _1.CFrame=pos _3.Scale=v3n(0,0,0)
  411. end
  412. Spawn(function()
  413. for i=0,1.5,.1 do
  414. for o,v in pairs(list2)do
  415. o.CFrame=pos:lerp(v.CFrame,i)
  416. o.Mesh.Scale = v3n(0,0,0):lerp(v.Scale,i)
  417. end
  418. wait()
  419. end
  420. for i=1.5,1,-.1 do
  421. for o,v in pairs(list2)do
  422. o.CFrame=pos:lerp(v.CFrame,i)
  423. o.Mesh.Scale = v3n(0,0,0):lerp(v.Scale,i)
  424. end
  425. wait()
  426. end
  427. for o,v in pairs(list2)do
  428. o.CFrame=v.CFrame
  429. o.Mesh.Scale = v.Scale,i
  430. end
  431. end)
  432.  
  433. return letter_mod
  434. end
  435.  
  436. function doWord(word,pos,scale,col)
  437. stpos=pos
  438. local prev=0
  439. local modls={}
  440. for w in word:gmatch('%w') do
  441. local p=doLetter(w,stpos*cfn(prev,0,0),scale,(col=='r' and BrickColor.random().Name or (col or 'Cyan')))
  442. prev=prev+scale
  443. table.insert(modls,p)
  444. wait()
  445. end
  446. return function()
  447. for i,v in pairs(modls) do
  448. -- New"Explosion"{_P=Workspace;Position=pos.p;DestroyJointRadiusPercent=0}DEBRIS:AddItem(_4,0.001)
  449. for _,v2 in pairs(v:children())do v2.Anchored=false v2.CanCollide=true
  450. v2.Velocity = cfn(pos.p,l(v2).p).lookVector*30
  451. New"BodyForce"{_P=v2;force=v3n(0,(v2:GetMass()*FLOATFORCE)*.75,0)}
  452. end
  453. Delay(1,function()
  454. for i=0,1,.1 do
  455.  
  456. for _,v2 in pairs(v:children())do v2.Transparency=i end
  457.  
  458. wait()
  459. end
  460. v:Destroy()
  461. end)
  462.  
  463. end
  464. end
  465. end
  466.  
  467. sc=4
  468. -- local br=doWord('HELLOVOIDSB',l(torso,0,sc/2,-3,PI/2,PI),sc,'Cyan')
  469. while wait()do
  470. for text in string.gmatch("OMG HOLY FUCKING SHIT ITS THE SHOWCASER THE BEST SCRIPT SHOWCASER IN THE WHOLE PLANET OMG HE LOOK SO GOOD HE MAKES THE BEST VIDEOS THERE IS","%w+") do
  471. local br=doWord(text,l(torso,0,sc/2,-3,PI/2,PI),sc,col or 'Cyan',{[3]='White'})
  472. wait(1)
  473. br()wait'.5'
  474. end
  475. end
  476.  
  477.  
  478. -- part=Part(4,4,4,'Cyan',.5)Weld(_1,torso)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement