Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- r2 = "Really Black"
- --declarations
- PI=math.pi
- TAU=PI*2
- FLOATFORCE=196.25
- DEBRIS=game:service'Debris'
- mr,md=math.random,math.rad
- cfn,v3n=CFrame.new,Vector3.new
- _A=nils
- ang=function(x,y,z)local a=CFrame.Angles(x or 0,y or 0,z or 0)_A=a return a end
- RS=game:service'RunService'
- numkp=NumberSequenceKeypoint.new
- colkp=ColorSequenceKeypoint.new
- bcol=BrickColor.new
- RS:UnbindFromRenderStep('Anim')
- --player specific...
- player = game:service'Players'.LocalPlayer
- character = player.Character
- torso = character.Torso
- head = character.Head
- rarm = character['Right Arm']
- larm = character['Left Arm']
- rleg = character['Right Leg']
- lleg = character['Left Leg']
- human = character.Humanoid
- root_j=character.HumanoidRootPart.RootJoint
- --Utilities... who needs them?
- function recurseHum(what)
- local res
- local p=what
- if what:IsA'Humanoid'then
- res=what
- else
- repeat
- p=p.Parent
- if p then
- local hum=p:FindFirstChild'Humanoid'
- if hum then
- res=hum
- break
- end
- end
- until p==nil
- end
- return res
- end
- function findHum(pos,rad,hum2)
- local hums={}
- function check(a)
- local res=false
- for i,ho in pairs(hums)do
- if a==ho then res=true end
- end
- return res
- end
- for i,v in pairs(Workspace:children())do
- if v:IsA'Model'and v~=Char and v~=(hum2 or Char) then
- for i,q in pairs(v:children())do
- if q:IsA'Humanoid' and q.Parent:FindFirstChild'Torso'and(q.Torso.Position-pos).magnitude < rad then
- if not check(q)then
- table.insert(hums,q)
- end
- end
- end
- end
- end
- return hums
- end
- function checkY(p1,p2,range,range2)
- local function checko()
- 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) )
- end
- if range2 then
- return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range) and checko()
- else
- return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range)
- end
- end
- udim=function(a,b,c,d)
- if type(a)=='string'then
- x,y=tostring(a):match('([%+%d%.%-%/%*]+),([%+%d%.%-%/%*]+)')
- return UDim2.new(x or 0,x2 or 0,y or 0,y2 or 0)
- else
- return UDim2.new(a or 0,c or 0,b or 0,d or 0)
- end end
- function l(a1,x,y,z,rx,ry,rz)
- local cf
- if tostring(a1):find(',') == nil then
- cf=a1.CFrame
- else cf=a1 end
- return cf*CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(
- rx or 0,ry or 0,yz or 0)
- end
- function f(a) --turns thigns in to function returning the thing... f(l)(torso,0,2,0)
- return function(...)
- local args={...}
- return function() return a(unpack(args)) end
- end
- end
- function isIn(what,tab) --returns true if what is in tab. isIn("Troll", {"Tomato", "Troll", "Strawberry") --> true
- local res=false
- for i,v in next,tab do
- if v==what then
- res = true
- break
- end
- end
- return res
- end
- Weld = function(part0,part1,c0,c1,...) --over-engineered welding function which accepts many things
- local ar = {...}
- local cframe0,cframe1
- local function checkf()local res=true
- for i,v in pairs(ar)do
- if type(v) ~= 'number' then
- res=false
- end
- end
- return res
- end
- if type(c0) == 'table' then
- cframe0 = CFrame.new(c0[1] or 0, c0[2] or 0, c0[3] or 0) * CFrame.Angles(
- c0[4] or 0, c0[5] or 0, c0[6] or 0)
- elseif type(c0) == 'userdata' then
- cframe0 = c0
- elseif type(c0) == 'number' and checkf() then
- 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)
- end
- if type(c1) == 'table' then
- cframe1 = CFrame.new(c1[1] or 0, c1[2] or 0, c1[3] or 0) * CFrame.Angles(
- c1[4] or 0, c1[5] or 0, c1[6] or 0)
- elseif type(c1) == 'userdata' then
- cframe1 = c1
- elseif type(c1) == 'number' and (not c0 or (c0 and type(c0) == 'table')) then
- 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)
- end
- for i,v in pairs(ar)do
- if type(v) == 'table' then
- 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)
- elseif type(v) == 'userdata' then
- cframe1 = v
- end
- end
- cframe0,cframe1 = cframe1,cframe0
- part0.Position=part1.Position
- local weld = Instance.new("Weld")
- weld.Part0 = part0
- weld.Part1 = part1
- weld.C0 = cframe0 or CFrame.new()
- weld.C1 = cframe1 or CFrame.new()
- if weld:IsA'Motor'then weld.MaxVelocity = set_maxvel or .1 end
- weld.Parent = part0
- _2=weld
- return weld
- end
- mesh_ids = {
- spikeball = "rbxassetid://24388358";
- spike = "rbxassetid://1033714";
- ring = "rbxassetid://3270017";
- coil = 'rbxassetid://16606212';
- diamond = 'rbxassetid://9756362';
- rock = 'rbxassetid://1290033';
- gear = 'rbxassetid://156292343';
- crown = 'rbxassetid://20329976';
- orb = 'rbxassetid://34795798';
- heart = 'rbxassetid://431221914';
- dragon = 'rbxassetid://24478215';
- half_sphere = 'rbxassetid://475668276';
- star = 'rbxassetid://45428961';
- }
- mesh_texs = {
- rock = 'rbxassetid://1290030';
- dragon = 'rbxassetid://25665033';
- }
- mesh_scales={
- diamond = v3n(0.75, 0.75, 0.75);
- spikeball = v3n(1.05, 1.05, 1.05);
- spike = v3n(0.5, 1.5, 0.5);
- gear = v3n(1.25,1.25,18);
- ring = v3n(1, 1, 6);
- coil = v3n(0.5, 0.5, 0.3);
- crown = v3n(0.6, 0.6, 0.6);
- orb = v3n(1, 1, 1);
- heart = v3n(0.25, 0.25, 0.4);
- dragon = v3n(0.4, 0.5, 0.4);
- half_sphere= v3n(0.005, 0.01, 0.005);
- star= v3n(4, 1, 4);
- }
- mesh_offsets={
- crown = v3n(0,.15,0);
- }
- function bindMesh(mesh,Size)
- local mesh_name
- local size=Size or mesh.Parent.Size
- for name,id in next,mesh_ids do
- if mesh.MeshId==id then
- mesh_name=name
- end
- end
- if not mesh_name then return end
- local mesh=mesh
- local con
- con=mesh.Parent.Changed:connect(function()
- local siz=mesh.Parent.Size
- mesh.Scale=siz*mesh_scales[mesh_name]
- if mesh_offsets[mesh_name] then
- mesh.Offset=siz*mesh_offsets[mesh_name]
- end
- end)
- return con
- end
- Mesh = function(parent,id,sx,sy,sz)
- local name = ( (id == 'cyl' and 'CylinderMesh') or (id == 'bl' and 'BlockMesh') or 'SpecialMesh')
- local mesh = Instance.new(name)
- if id == 's' then
- mesh.MeshType = Enum.MeshType.Sphere
- elseif id == 'w' then
- mesh.MeshType = Enum.MeshType.Wedge
- elseif id == 'h' then
- mesh.MeshType = Enum.MeshType.Head
- elseif string.find(id,"://") ~= nil then
- mesh.MeshId = id
- end
- mesh.Scale = Vector3.new(sx or 1, sy or 1, sz or 1)
- mesh.Parent = parent
- _3=mesh
- return mesh
- end
- Edit = function(what)
- return function(args)
- for ind,obj in next,what do
- for arg,val in next,args do
- local child,argu = arg:match"(.+)%.(.+)"
- if child and argu then
- if pcall(function()return obj[child][argu] end) then
- obj[child][argu]=val
- end
- else
- if arg=='_F'then
- val(ind,obj)
- elseif pcall(function()return obj[arg]end) then
- obj[arg]=val
- end
- end
- end
- end
- end
- end
- New = function(what) --Synthetic caffeine for Instance.new
- local obj
- if type(what) ~= 'string' then
- obj=what:Clone()
- else
- obj=Instance.new(what)
- end
- if what=='Weld' then obj.Name='mujoint'end
- return function(bar)
- for arg,val in pairs(bar) do
- if arg == "_P" then
- obj.Parent = val
- elseif arg=="_PP" then
- obj.Part0=val[1]
- obj.Part1=val[2]
- elseif arg=='_F'then
- val(obj)
- else
- if pcall(function()return obj[arg] end) then
- obj[arg]=val
- end
- end
- end _4=obj
- return obj
- end
- end
- set_parent,set_material=nil,nil
- set_maxvel,set_anchor=nil,nil
- set_collide=false
- pcall(function() character['Knight']:Destroy() end) --removes old model.
- Main = New"Model"{_P=character;Name = 'Knight'}
- _1,_2,_3,_4,_5,_6,_7,_8 = nil,nil,nil,nil,nil,nil,nil
- Part = function(x,y,z,col,tr)
- local p = New"Part"{
- _P=set_parent or ears or Main;
- BrickColor = BrickColor.new(col or set_color or "White");
- CanCollide = set_collide;
- Transparency = tr or 0;
- Size = Vector3.new(x or 0,y or 0,z or 0);
- Material = set_material or 'SmoothPlastic';
- Anchored = (set_anchor~=nil and set_anchor or false)
- }
- for _,sur in next,Enum.NormalId:GetEnumItems() do
- p[sur.Name..'Surface'] = 10
- end
- _1 = p
- return p
- end
- function platefy(part)
- local x,z=part.Size.x,part.Size.z
- local y=part.Size.y
- local list={}
- --Cylinders...
- local p2=Part(y,x,y)Mesh(_1,'cyl') table.insert(list,_1)
- Weld(p2,p,0,0,-z/2,PI/2,0,PI/2)
- local p2=Part(y,x,y)Mesh(_1,'cyl') table.insert(list,_1)
- Weld(p2,p,0,0,z/2,PI/2,0,PI/2)
- local p2=Part(y,z,y)Mesh(_1,'cyl') table.insert(list,_1)
- Weld(p2,p,x/2,0,0,PI/2)
- local p2=Part(y,z,y)Mesh(_1,'cyl') table.insert(list,_1)
- Weld(p2,p,-x/2,0,0,PI/2)
- --Balls...
- local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
- Weld(p2,p,-x/2,0,-z/2)
- local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
- Weld(p2,p,-x/2,0,z/2)
- local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
- Weld(p2,p,x/2,0,-z/2)
- local p2=Part(y,y,y)Mesh(p2,'s') table.insert(list,_1)
- Weld(p2,p,x/2,0,z/2)
- part.Changed:connect(function(prop)
- Edit(list){Material=part.Material;Color=part.Color}
- end)
- end
- function findAllParts(pos,radius)
- local min,max = math.min,math.max
- local list={}
- local pos1,pos2=l(cfn(pos),-radius*3,-radius*3,-radius*3).p,l(cfn(pos),radius*3,radius*3,radius*3).p
- local reg=Region3.new(v3n(min(pos1.x,pos2.x),min(pos1.y,pos2.y),min(pos1.z,pos2.z)),
- v3n(max(pos1.x,pos2.x),max(pos1.y,pos2.y),max(pos1.z,pos2.z)))
- for i,v in pairs(Workspace:FindPartsInRegion3WithIgnoreList(reg,{character})) do
- if (v.Position-pos).magnitude<radius and v.Name~='Base' then
- table.insert(list,v)
- end
- end
- return list
- end
- --BL_EXPORT
- letters={
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- I='[{"p": [0.01, 0.0, -0.027], "r": [0.0, 0.0, 0.0], "s": [0.1, 0.1, 1.0]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- 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]}]';
- }
- --/BL_EXPORT
- scale=10
- function doLetter(letter,pos,scale,color)
- local letter_mod = New"Model"{_P=Main}
- local list2={}
- local list=game:service'HttpService':JSONDecode(letters[letter])
- local cnt=0
- for i,v in pairs(list)do
- cnt=cnt+1
- Part(1,1,1,color or 'Royal purple')_1.Anchored=true Mesh(_1,'bl',unpack(v.s))_1.Parent=letter_mod
- _3.Scale=_3.Scale*scale+v3n(0,0.001*cnt,0)
- _1.CFrame=l(pos,v.p[1]*scale/2,v.p[2]*scale/2,v.p[3]*scale/2)*ang(unpack(v.r))
- _1.Material='Slate'
- list2[_1]={Scale=_3.Scale,CFrame=_1.CFrame}
- _1.CFrame=pos _3.Scale=v3n(0,0,0)
- end
- Spawn(function()
- for i=0,1.5,.1 do
- for o,v in pairs(list2)do
- o.CFrame=pos:lerp(v.CFrame,i)
- o.Mesh.Scale = v3n(0,0,0):lerp(v.Scale,i)
- end
- wait()
- end
- for i=1.5,1,-.1 do
- for o,v in pairs(list2)do
- o.CFrame=pos:lerp(v.CFrame,i)
- o.Mesh.Scale = v3n(0,0,0):lerp(v.Scale,i)
- end
- wait()
- end
- for o,v in pairs(list2)do
- o.CFrame=v.CFrame
- o.Mesh.Scale = v.Scale,i
- end
- end)
- return letter_mod
- end
- function doWord(word,pos,scale,col)
- stpos=pos
- local prev=0
- local modls={}
- for w in word:gmatch('%w') do
- local p=doLetter(w,stpos*cfn(prev,0,0),scale,(col=='r' and BrickColor.random().Name or (col or 'Cyan')))
- prev=prev+scale
- table.insert(modls,p)
- wait()
- end
- return function()
- for i,v in pairs(modls) do
- -- New"Explosion"{_P=Workspace;Position=pos.p;DestroyJointRadiusPercent=0}DEBRIS:AddItem(_4,0.001)
- for _,v2 in pairs(v:children())do v2.Anchored=false v2.CanCollide=true
- v2.Velocity = cfn(pos.p,l(v2).p).lookVector*30
- New"BodyForce"{_P=v2;force=v3n(0,(v2:GetMass()*FLOATFORCE)*.75,0)}
- end
- Delay(1,function()
- for i=0,1,.1 do
- for _,v2 in pairs(v:children())do v2.Transparency=i end
- wait()
- end
- v:Destroy()
- end)
- end
- end
- end
- sc=4
- -- local br=doWord('HELLOVOIDSB',l(torso,0,sc/2,-3,PI/2,PI),sc,'Cyan')
- while wait()do
- for text in string.gmatch("IN THIS WORLD IS JUST UNFRIEND AND BE THE ENEMY MAKE PEOPLE SAD AND PAINFUL THIS IS MY SPECIAL ATTACK IM JUST A RENDEAR LIKE A UNDERTALE UNDERFELL OVERTALE ERRORTALE GLITCHESTALE UNDERSWAP SWAPFELL SWAPSPIN AND MORE WANNA RP OR RELOPLAY WITH ME DETERMINATION XD FLOWEY THE FLOWER THIS MY CHANNEL PLS SUB AND COMMENT TY FOR THIS DO U WANT HAVE A BADTIMEEEEEE XD HMM IF U MAKE ME MAD U GONNA HAVE A BADTIMEEEEEEEEEEEEEEEEEEEEE HEH BUT IM WANT TO HAVE FUN FOR SOME TIME MY DITERMINATION WANT ME MAKE IT XD IM DARE U TO FIND THIS SCRIPTS IF U FOUND THIS U GONNA GOT NOTHING BUT U NOT WANT TO ME BE MAD RIGHT SO.","%w+") do
- local br=doWord(text,l(torso,0,sc/2,-3,PI/2,PI),sc,col or 'Really red',{[3]='White'})
- wait(1)
- br()wait'.5'
- end
- end
- -- part=Part(4,4,4,'Cyan',.5)Weld(_1,torso)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement