Advertisement
deishuu

Untitled

Mar 4th, 2018
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.55 KB | None | 0 0
  1. r2 = "Cyan"
  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=nil
  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. playergui = player.PlayerGui
  31.  
  32. --
  33. gui = Instance.new("ScreenGui", playergui)
  34. gui.Name="Text"
  35. box = Instance.new("TextBox", gui)
  36. box.Active = true
  37. box.BackgroundColor3 = Color3.fromRGB(198, 198, 198)
  38. box.BorderSizePixel = 0
  39. box.Name = "TextBox"
  40. box.Visible = true
  41. box.ZIndex = math.huge
  42. box.Archivable = true
  43. box.Size = UDim2.new(0, 200,0, 50)
  44. box.Position = UDim2.new(0, 0,0, 300)
  45. box.Draggable = false
  46. box.Font = "SciFi"
  47. box.FontSize = "Size14"
  48. box.Text = "CAPITALS ONLY"
  49. --
  50.  
  51.  
  52. --Utilities... who needs them?
  53.  
  54. function recurseHum(what)
  55. local res
  56. local p=what
  57. if what:IsA'Humanoid'then
  58. res=what
  59. else
  60. repeat
  61. p=p.Parent
  62. if p then
  63. local hum=p:FindFirstChild'Humanoid'
  64. if hum then
  65. res=hum
  66. break
  67. end
  68. end
  69. until p==nil
  70. end
  71. return res
  72. end
  73. function findHum(pos,rad,hum2)
  74. local hums={}
  75. function check(a)
  76. local res=false
  77. for i,ho in pairs(hums)do
  78. if a==ho then res=true end
  79. end
  80. return res
  81. end
  82. for i,v in pairs(Workspace:children())do
  83. if v:IsA'Model'and v~=Char and v~=(hum2 or Char) then
  84. for i,q in pairs(v:children())do
  85. if q:IsA'Humanoid' and q.Parent:FindFirstChild'Torso'and(q.Torso.Position-pos).magnitude < rad then
  86. if not check(q)then
  87. table.insert(hums,q)
  88. end
  89. end
  90. end
  91. end
  92. end
  93. return hums
  94. end
  95.  
  96. function checkY(p1,p2,range,range2)
  97. local function checko()
  98. 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) )
  99. end
  100. if range2 then
  101. return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range) and checko()
  102. else
  103. return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range)
  104. end
  105. end
  106.  
  107. udim=function(a,b,c,d)
  108. if type(a)=='string'then
  109. x,y=tostring(a):match('([%+%d%.%-%/%*]+),([%+%d%.%-%/%*]+)')
  110. return UDim2.new(x or 0,x2 or 0,y or 0,y2 or 0)
  111. else
  112. return UDim2.new(a or 0,c or 0,b or 0,d or 0)
  113. end end
  114.  
  115. function l(a1,x,y,z,rx,ry,rz)
  116. local cf
  117. if tostring(a1):find(',') == nil then
  118. cf=a1.CFrame
  119. else cf=a1 end
  120. return cf*CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(
  121. rx or 0,ry or 0,yz or 0)
  122. end
  123. function f(a) --turns thigns in to function returning the thing... f(l)(torso,0,2,0)
  124. return function(...)
  125. local args={...}
  126. return function() return a(unpack(args)) end
  127. end
  128. end
  129.  
  130. function isIn(what,tab) --returns true if what is in tab. isIn("Troll", {"Tomato", "Troll", "Strawberry") --> true
  131. local res=false
  132. for i,v in next,tab do
  133. if v==what then
  134. res = true
  135. break
  136. end
  137. end
  138. return res
  139. end
  140.  
  141. Weld = function(part0,part1,c0,c1,...) --over-engineered welding function which accepts many things
  142. local ar = {...}
  143. local cframe0,cframe1
  144. local function checkf()local res=true
  145. for i,v in pairs(ar)do
  146. if type(v) ~= 'number' then
  147. res=false
  148. end
  149. end
  150. return res
  151. end
  152. if type(c0) == 'table' then
  153. cframe0 = CFrame.new(c0[1] or 0, c0[2] or 0, c0[3] or 0) * CFrame.Angles(
  154. c0[4] or 0, c0[5] or 0, c0[6] or 0)
  155. elseif type(c0) == 'userdata' then
  156. cframe0 = c0
  157. elseif type(c0) == 'number' and checkf() then
  158. 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)
  159. end
  160. if type(c1) == 'table' then
  161. cframe1 = CFrame.new(c1[1] or 0, c1[2] or 0, c1[3] or 0) * CFrame.Angles(
  162. c1[4] or 0, c1[5] or 0, c1[6] or 0)
  163. elseif type(c1) == 'userdata' then
  164. cframe1 = c1
  165. elseif type(c1) == 'number' and (not c0 or (c0 and type(c0) == 'table')) then
  166. 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)
  167. end
  168. for i,v in pairs(ar)do
  169. if type(v) == 'table' then
  170. 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)
  171. elseif type(v) == 'userdata' then
  172. cframe1 = v
  173. end
  174. end
  175.  
  176. cframe0,cframe1 = cframe1,cframe0
  177. part0.Position=part1.Position
  178. local weld = Instance.new("Weld")
  179. weld.Part0 = part0
  180. weld.Part1 = part1
  181. weld.C0 = cframe0 or CFrame.new()
  182. weld.C1 = cframe1 or CFrame.new()
  183. if weld:IsA'Motor'then weld.MaxVelocity = set_maxvel or .1 end
  184. weld.Parent = part0
  185. _2=weld
  186. return weld
  187. end
  188.  
  189. mesh_ids = {
  190. spikeball = "rbxassetid://24388358";
  191. spike = "rbxassetid://1033714";
  192. ring = "rbxassetid://3270017";
  193. coil = 'rbxassetid://16606212';
  194. diamond = 'rbxassetid://9756362';
  195. rock = 'rbxassetid://1290033';
  196. gear = 'rbxassetid://156292343';
  197. crown = 'rbxassetid://20329976';
  198. orb = 'rbxassetid://34795798';
  199. heart = 'rbxassetid://431221914';
  200. dragon = 'rbxassetid://24478215';
  201. half_sphere = 'rbxassetid://475668276';
  202. star = 'rbxassetid://45428961';
  203. }
  204. mesh_texs = {
  205. rock = 'rbxassetid://1290030';
  206. dragon = 'rbxassetid://25665033';
  207. }
  208. mesh_scales={
  209. diamond = v3n(0.75, 0.75, 0.75);
  210. spikeball = v3n(1.05, 1.05, 1.05);
  211. spike = v3n(0.5, 1.5, 0.5);
  212. gear = v3n(1.25,1.25,18);
  213. ring = v3n(1, 1, 6);
  214. coil = v3n(0.5, 0.5, 0.3);
  215. crown = v3n(0.6, 0.6, 0.6);
  216. orb = v3n(1, 1, 1);
  217. heart = v3n(0.25, 0.25, 0.4);
  218. dragon = v3n(0.4, 0.5, 0.4);
  219. half_sphere= v3n(0.005, 0.01, 0.005);
  220. star= v3n(4, 1, 4);
  221. }
  222. mesh_offsets={
  223. crown = v3n(0,.15,0);
  224. }
  225.  
  226. function bindMesh(mesh,Size)
  227. local mesh_name
  228. local size=Size or mesh.Parent.Size
  229. for name,id in next,mesh_ids do
  230. if mesh.MeshId==id then
  231. mesh_name=name
  232. end
  233. end
  234.  
  235. if not mesh_name then return end
  236. local mesh=mesh
  237. local con
  238. con=mesh.Parent.Changed:connect(function()
  239. local siz=mesh.Parent.Size
  240. mesh.Scale=siz*mesh_scales[mesh_name]
  241. if mesh_offsets[mesh_name] then
  242. mesh.Offset=siz*mesh_offsets[mesh_name]
  243. end
  244. end)
  245. return con
  246. end
  247. Mesh = function(parent,id,sx,sy,sz)
  248. local name = ( (id == 'cyl' and 'CylinderMesh') or (id == 'bl' and 'BlockMesh') or 'SpecialMesh')
  249. local mesh = Instance.new(name)
  250. if id == 's' then
  251. mesh.MeshType = Enum.MeshType.Sphere
  252. elseif id == 'w' then
  253. mesh.MeshType = Enum.MeshType.Wedge
  254. elseif id == 'h' then
  255. mesh.MeshType = Enum.MeshType.Head
  256. elseif string.find(id,"://") ~= nil then
  257. mesh.MeshId = id
  258. end
  259. mesh.Scale = Vector3.new(sx or 1, sy or 1, sz or 1)
  260. mesh.Parent = parent
  261. _3=mesh
  262. return mesh
  263. end
  264.  
  265. Edit = function(what)
  266. return function(args)
  267. for ind,obj in next,what do
  268. for arg,val in next,args do
  269. local child,argu = arg:match"(.+)%.(.+)"
  270. if child and argu then
  271. if pcall(function()return obj[child][argu] end) then
  272. obj[child][argu]=val
  273. end
  274. else
  275. if arg=='_F'then
  276. val(ind,obj)
  277. elseif pcall(function()return obj[arg]end) then
  278. obj[arg]=val
  279. end
  280. end
  281. end
  282. end
  283. end
  284. end
  285. New = function(what) --Synthetic caffeine for Instance.new
  286. local obj
  287. if type(what) ~= 'string' then
  288. obj=what:Clone()
  289. else
  290. obj=Instance.new(what)
  291. end
  292. if what=='Weld' then obj.Name='mujoint'end
  293. return function(bar)
  294. for arg,val in pairs(bar) do
  295. if arg == "_P" then
  296. obj.Parent = val
  297. elseif arg=="_PP" then
  298. obj.Part0=val[1]
  299. obj.Part1=val[2]
  300. elseif arg=='_F'then
  301. val(obj)
  302. else
  303. if pcall(function()return obj[arg] end) then
  304. obj[arg]=val
  305. end
  306. end
  307. end _4=obj
  308. return obj
  309. end
  310. end
  311.  
  312. set_parent,set_material=nil,nil
  313. set_maxvel,set_anchor=nil,nil
  314. set_collide=false
  315.  
  316. pcall(function() character['Knight']:Destroy() end) --removes old model.
  317. Main = New"Model"{_P=character;Name = 'Knight'}
  318.  
  319. _1,_2,_3,_4,_5,_6,_7,_8 = nil,nil,nil,nil,nil,nil,nil
  320. Part = function(x,y,z,col,tr)
  321. local p = New"Part"{
  322. _P=set_parent or ears or Main;
  323. BrickColor = BrickColor.new(col or set_color or "White");
  324. CanCollide = set_collide;
  325. Transparency = tr or 0;
  326. Size = Vector3.new(x or 0,y or 0,z or 0);
  327. Material = set_material or 'SmoothPlastic';
  328. Anchored = (set_anchor~=nil and set_anchor or false)
  329. }
  330. for _,sur in next,Enum.NormalId:GetEnumItems() do
  331. p[sur.Name..'Surface'] = 10
  332. end
  333. _1 = p
  334. return p
  335. end
  336.  
  337. function platefy(part)
  338. local x,z=part.Size.x,part.Size.z
  339. local y=part.Size.y
  340. local list={}
  341. --Cylinders...
  342. local p2=Part(y,x,y)Mesh(_1,'cyl') table.insert(list,_1)
  343. Weld(p2,p,0,0,-z/2,PI/2,0,PI/2)
  344.  
  345. local p2=Part(y,x,y)Mesh(_1,'cyl') table.insert(list,_1)
  346. Weld(p2,p,0,0,z/2,PI/2,0,PI/2)
  347.  
  348. local p2=Part(y,z,y)Mesh(_1,'cyl') table.insert(list,_1)
  349. Weld(p2,p,x/2,0,0,PI/2)
  350.  
  351. local p2=Part(y,z,y)Mesh(_1,'cyl') table.insert(list,_1)
  352. Weld(p2,p,-x/2,0,0,PI/2)
  353.  
  354. --Balls...
  355. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  356. Weld(p2,p,-x/2,0,-z/2)
  357.  
  358. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  359. Weld(p2,p,-x/2,0,z/2)
  360.  
  361. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  362. Weld(p2,p,x/2,0,-z/2)
  363.  
  364. local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
  365. Weld(p2,p,x/2,0,z/2)
  366.  
  367. part.Changed:connect(function(prop)
  368. Edit(list){Material=part.Material;Color=part.Color}
  369. end)
  370. end
  371.  
  372.  
  373. function findAllParts(pos,radius)
  374. local min,max = math.min,math.max
  375. local list={}
  376. local pos1,pos2=l(cfn(pos),-radius*3,-radius*3,-radius*3).p,l(cfn(pos),radius*3,radius*3,radius*3).p
  377. local reg=Region3.new(v3n(min(pos1.x,pos2.x),min(pos1.y,pos2.y),min(pos1.z,pos2.z)),
  378. v3n(max(pos1.x,pos2.x),max(pos1.y,pos2.y),max(pos1.z,pos2.z)))
  379. for i,v in pairs(Workspace:FindPartsInRegion3WithIgnoreList(reg,{character})) do
  380. if (v.Position-pos).magnitude<radius and v.Name~='Base' then
  381. table.insert(list,v)
  382. end
  383. end
  384. return list
  385. end
  386.  
  387. --BL_EXPORT
  388. letters={
  389. 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]}]';
  390. 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]}]';
  391. 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]}]';
  392. 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]}]';
  393. 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]}]';
  394. 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]}]';
  395. 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]}]';
  396. 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]}]';
  397. I='[{"p": [0.01, 0.0, -0.027], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}]';
  398. 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]}]';
  399. 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]}]';
  400. 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]}]';
  401. 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]}]';
  402. 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]}]';
  403. 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]}]';
  404. 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]}]';
  405. 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]}]';
  406. 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]}]';
  407. 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]}]';
  408. 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]}]';
  409. 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]}]';
  410. 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]}]';
  411. 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]}]';
  412. 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]}]';
  413. 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]}]';
  414. }
  415. --/BL_EXPORT
  416.  
  417. scale=10
  418.  
  419. function doLetter(letter,pos,scale,color)
  420. local letter_mod = New"Model"{_P=Main}
  421. local list2={}
  422. local list=game:service'HttpService':JSONDecode(letters[letter])
  423. local cnt=0
  424. for i,v in pairs(list)do
  425. cnt=cnt+1
  426. Part(1,1,1,color or 'Royal purple')_1.Anchored=true Mesh(_1,'bl',unpack(v.s))_1.Parent=letter_mod
  427. _3.Scale=_3.Scale*scale+v3n(0,0.001*cnt,0)
  428. _1.CFrame=l(pos,v.p[1]*scale/2,v.p[2]*scale/2,v.p[3]*scale/2)*ang(unpack(v.r))
  429. _1.Material='Slate'
  430. list2[_1]={Scale=_3.Scale,CFrame=_1.CFrame}
  431. _1.CFrame=pos _3.Scale=v3n(0,0,0)
  432. end
  433. Spawn(function()
  434. for i=0,1.5,.1 do
  435. for o,v in pairs(list2)do
  436. o.CFrame=pos:lerp(v.CFrame,i)
  437. o.Mesh.Scale = v3n(0,0,0):lerp(v.Scale,i)
  438. end
  439. wait()
  440. end
  441. for i=1.5,1,-.1 do
  442. for o,v in pairs(list2)do
  443. o.CFrame=pos:lerp(v.CFrame,i)
  444. o.Mesh.Scale = v3n(0,0,0):lerp(v.Scale,i)
  445. end
  446. wait()
  447. end
  448. for o,v in pairs(list2)do
  449. o.CFrame=v.CFrame
  450. o.Mesh.Scale = v.Scale,i
  451. end
  452. end)
  453.  
  454. return letter_mod
  455. end
  456.  
  457. function doWord(word,pos,scale,col)
  458. stpos=pos
  459. local prev=0
  460. local modls={}
  461. for w in word:gmatch('%w') do
  462. local p=doLetter(w,stpos*cfn(prev,0,0),scale,(col=='r' and BrickColor.random().Name or (col or 'Cyan')))
  463. prev=prev+scale
  464. table.insert(modls,p)
  465. wait()
  466. end
  467. return function()
  468. for i,v in pairs(modls) do
  469. -- New"Explosion"{_P=Workspace;Position=pos.p;DestroyJointRadiusPercent=0}DEBRIS:AddItem(_4,0.001)
  470. for _,v2 in pairs(v:children())do v2.Anchored=false v2.CanCollide=true
  471. v2.Velocity = cfn(pos.p,l(v2).p).lookVector*30
  472. New"BodyForce"{_P=v2;force=v3n(0,(v2:GetMass()*FLOATFORCE)*.75,0)}
  473. end
  474. Delay(1,function()
  475. for i=0,1,.1 do
  476.  
  477. for _,v2 in pairs(v:children())do v2.Transparency=i end
  478.  
  479. wait()
  480. end
  481. v:Destroy()
  482. end)
  483.  
  484. end
  485. end
  486. end
  487.  
  488. sc=4
  489. -- local br=doWord('HELLOVOIDSB',l(torso,0,sc/2,-3,PI/2,PI),sc,'Cyan')
  490. while wait()do
  491. thetext=box.Text
  492. for text in string.gmatch(thetext,"%w+") do
  493. local br=doWord(text,l(torso,0,sc/2,-3,PI/2,PI),sc,col or tostring(BrickColor.random()),{[3]='White'})
  494. wait(1)
  495. br()wait'.5'
  496. end
  497. end
  498.  
  499.  
  500. -- part=Part(4,4,4,'Cyan',.5)Weld(_1,torso)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement