SHOW:
|
|
- or go back to the newest paste.
1 | Player = game.Players.LocalPlayer | |
2 | char = Player.Character | |
3 | Cha = char | |
4 | Mau5 = Player:GetMouse() | |
5 | hed = char.Head | |
6 | rarm = char["Right Arm"] | |
7 | function nooutline(part) | |
8 | part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10 | |
9 | end | |
10 | Cha.Head.face.Texture = "http://www.roblox.com/asset/?id=101765221" | |
11 | Cha.Shirt:Remove() | |
12 | Cha.Pants:Remove() | |
13 | ||
14 | Shirt = Instance.new("Shirt",Character) | |
15 | Shirt.Parent = Cha | |
16 | Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=249639658" | |
17 | ||
18 | Pant = Instance.new("Pants",Character) | |
19 | Pant.Parent = Cha | |
20 | Pant.PantsTemplate = "http://www.roblox.com/asset/?id=249639685" | |
21 | lite = Instance.new("PointLight") | |
22 | lite.Parent = Cha.Torso | |
23 | lite.Brightness = 100 | |
24 | lite.Range = 8 | |
25 | lite.Color = Color3.new(1,1,1) | |
26 | -------------Chakra Balls-------------------- | |
27 | Sphere = Instance.new("Part",Cha) | |
28 | Sphere.TopSurface = "Smooth" | |
29 | Sphere.BottomSurface = "Smooth" | |
30 | Sphere.FormFactor = "Custom" | |
31 | Sphere.Size = Vector3.new(1,1,1) | |
32 | Sphere.CanCollide = True | |
33 | Sphere.BrickColor = BrickColor.new("Really black") | |
34 | SphereMesh = Instance.new("SpecialMesh", Sphere) | |
35 | SphereMesh.MeshType = "Sphere" | |
36 | SphereMesh.Scale = Vector3.new(1,1,1) | |
37 | SphereWeld = Instance.new("Weld",Cha) | |
38 | SphereWeld.Part0 = Cha.Torso | |
39 | SphereWeld.Part1 = Sphere | |
40 | SphereWeld.C1 = CFrame.new(3, 0, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0) | |
41 | Sphere2 = Instance.new("Part",Cha) | |
42 | Sphere2.TopSurface = "Smooth" | |
43 | Sphere2.BottomSurface = "Smooth" | |
44 | Sphere2.FormFactor = "Custom" | |
45 | Sphere2.Size = Vector3.new(1,1,1) | |
46 | Sphere2.CanCollide = True | |
47 | Sphere2.BrickColor = BrickColor.new("Really black") | |
48 | Sphere2Mesh = Instance.new("SpecialMesh", Sphere2) | |
49 | Sphere2Mesh.MeshType = "Sphere" | |
50 | Sphere2Mesh.Scale = Vector3.new(1,1,1) | |
51 | Sphere2Weld = Instance.new("Weld",Cha) | |
52 | Sphere2Weld.Part0 = Cha.Torso | |
53 | Sphere2Weld.Part1 = Sphere2 | |
54 | Sphere2Weld.C1 = CFrame.new(-3, 0, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0) | |
55 | Sphere3 = Instance.new("Part",Cha) | |
56 | Sphere3.TopSurface = "Smooth" | |
57 | Sphere3.BottomSurface = "Smooth" | |
58 | Sphere3.FormFactor = "Custom" | |
59 | Sphere3.Size = Vector3.new(1,1,1) | |
60 | Sphere3.CanCollide = True | |
61 | Sphere3.BrickColor = BrickColor.new("Really black") | |
62 | Sphere3Mesh = Instance.new("SpecialMesh", Sphere3) | |
63 | Sphere3Mesh.MeshType = "Sphere" | |
64 | Sphere3Mesh.Scale = Vector3.new(1,1,1) | |
65 | Sphere3Weld = Instance.new("Weld",Cha) | |
66 | Sphere3Weld.Part0 = Cha.Torso | |
67 | Sphere3Weld.Part1 = Sphere3 | |
68 | Sphere3Weld.C1 = CFrame.new(-2, -2, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0) | |
69 | Sphere4 = Instance.new("Part",Cha) | |
70 | Sphere4.TopSurface = "Smooth" | |
71 | Sphere4.BottomSurface = "Smooth" | |
72 | Sphere4.FormFactor = "Custom" | |
73 | Sphere4.Size = Vector3.new(1,1,1) | |
74 | Sphere4.CanCollide = True | |
75 | Sphere4.BrickColor = BrickColor.new("Really black") | |
76 | Sphere4Mesh = Instance.new("SpecialMesh", Sphere4) | |
77 | Sphere4Mesh.MeshType = "Sphere" | |
78 | Sphere4Mesh.Scale = Vector3.new(1,1,1) | |
79 | Sphere4Weld = Instance.new("Weld",Cha) | |
80 | Sphere4Weld.Part0 = Cha.Torso | |
81 | Sphere4Weld.Part1 = Sphere4 | |
82 | Sphere4Weld.C1 = CFrame.new(2, -2, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0) | |
83 | Sphere5 = Instance.new("Part",Cha) | |
84 | Sphere5.TopSurface = "Smooth" | |
85 | Sphere5.BottomSurface = "Smooth" | |
86 | Sphere5.FormFactor = "Custom" | |
87 | Sphere5.Size = Vector3.new(1,1,1) | |
88 | Sphere5.CanCollide = True | |
89 | Sphere5.BrickColor = BrickColor.new("Really black") | |
90 | Sphere5Mesh = Instance.new("SpecialMesh", Sphere5) | |
91 | Sphere5Mesh.MeshType = "Sphere" | |
92 | Sphere5Mesh.Scale = Vector3.new(1,1,1) | |
93 | Sphere5Weld = Instance.new("Weld",Cha) | |
94 | Sphere5Weld.Part0 = Cha.Torso | |
95 | Sphere5Weld.Part1 = Sphere5 | |
96 | Sphere5Weld.C1 = CFrame.new(0, -4, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0) | |
97 | ---------------------------------------------------- | |
98 | local m = Instance.new("Model") | |
99 | m.Name = "Hair" | |
100 | p1 = Instance.new("Part", m) | |
101 | p1.BrickColor = BrickColor.new("Institutional white") | |
102 | p1.FormFactor = Enum.FormFactor.Symmetric | |
103 | p1.Size = Vector3.new(1, 1, 1) | |
104 | p1.CFrame = CFrame.new(12.5095692, 22.9280014, 28.5988674, -1.79592973e-007, -0.978694081, 0.205298647, -1.48348063e-008, -0.205299929, -0.978699148, 0.999994814, 2.38417414e-007, -2.98021181e-008) | |
105 | p1.CanCollide = false | |
106 | p1.Locked = true | |
107 | p1.BottomSurface = Enum.SurfaceType.Smooth | |
108 | p1.TopSurface = Enum.SurfaceType.Smooth | |
109 | b1 = Instance.new("SpecialMesh", p1) | |
110 | b1.MeshId = "http://www.roblox.com/asset/?id=12212520" | |
111 | b1.TextureId = "" | |
112 | b1.MeshType = Enum.MeshType.FileMesh | |
113 | b1.Name = "Mesh" | |
114 | b1.VertexColor = Vector3.new(0, 0, 0) | |
115 | b1.Scale = Vector3.new(1, 1.60000002, 1.29999995) | |
116 | p2 = Instance.new("Part", m) | |
117 | p2.BrickColor = BrickColor.new("Pastel brown") | |
118 | p2.Transparency = 1 | |
119 | p2.Name = "Head" | |
120 | p2.FormFactor = Enum.FormFactor.Symmetric | |
121 | p2.Size = Vector3.new(2, 1, 1) | |
122 | p2.CFrame = CFrame.new(13.299921, 22.8300076, 28.5998688, -1.19988712e-007, 8.94068393e-008, -0.999995589, -1.48348125e-008, 1, -8.94068108e-008, 0.999995589, -1.48348231e-008, 2.39197504e-007) | |
123 | p2.CanCollide = false | |
124 | p2.Locked = true | |
125 | p2.TopSurface = Enum.SurfaceType.Smooth | |
126 | b2 = Instance.new("SpecialMesh", p2) | |
127 | b2.MeshType = Enum.MeshType.Head | |
128 | b2.Name = "Mesh" | |
129 | b2.Scale = Vector3.new(1.25, 1.25, 1.25) | |
130 | p3 = Instance.new("Part", m) | |
131 | p3.BrickColor = BrickColor.new("Institutional white") | |
132 | p3.FormFactor = Enum.FormFactor.Symmetric | |
133 | p3.Size = Vector3.new(2, 2, 2) | |
134 | p3.CFrame = CFrame.new(13.2999649, 23.4000015, 28.5999584, -1.19728938e-007, 5.96046092e-008, -0.999997199, -9.88988447e-009, 1, -5.96045844e-008, 0.999997199, -9.88988802e-009, 1.19728938e-007) | |
135 | p3.CanCollide = false | |
136 | p3.Locked = true | |
137 | p3.BottomSurface = Enum.SurfaceType.Smooth | |
138 | p3.TopSurface = Enum.SurfaceType.Smooth | |
139 | b3 = Instance.new("SpecialMesh", p3) | |
140 | b3.MeshId = "http://www.roblox.com/asset/?id=16627529" | |
141 | b3.TextureId = "" | |
142 | b3.MeshType = Enum.MeshType.FileMesh | |
143 | b3.Name = "Mesh" | |
144 | b3.VertexColor = Vector3.new(0, 0, 0) | |
145 | b3.Scale = Vector3.new(1.04999995, 1.04999995, 1.04999995) | |
146 | p4 = Instance.new("Part", m) | |
147 | p4.BrickColor = BrickColor.new("Institutional white") | |
148 | p4.FormFactor = Enum.FormFactor.Symmetric | |
149 | p4.Size = Vector3.new(1, 1, 1) | |
150 | p4.CFrame = CFrame.new(13.220191, 23.5300064, 28.5998363, -2.39457108e-007, 1.19209027e-007, -0.99999398, -1.97797441e-008, 1, -1.19208977e-007, 0.99999398, -1.97797512e-008, 2.39457108e-007) | |
151 | p4.CanCollide = false | |
152 | p4.Locked = true | |
153 | p4.BottomSurface = Enum.SurfaceType.Smooth | |
154 | p4.TopSurface = Enum.SurfaceType.Smooth | |
155 | b4 = Instance.new("SpecialMesh", p4) | |
156 | b4.MeshId = "http://www.roblox.com/asset/?id=19326912" | |
157 | b4.TextureId = "" | |
158 | b4.MeshType = Enum.MeshType.FileMesh | |
159 | b4.Name = "Mesh" | |
160 | b4.VertexColor = Vector3.new(0, 0, 0) | |
161 | p5 = Instance.new("Part", m) | |
162 | p5.BrickColor = BrickColor.new("Institutional white") | |
163 | p5.FormFactor = Enum.FormFactor.Symmetric | |
164 | p5.Size = Vector3.new(1, 1, 1) | |
165 | p5.CFrame = CFrame.new(13.299963, 23.1500015, 28.5999584, -4.78911147e-007, 2.384173e-007, -0.999987543, -3.95593887e-008, 1, -2.38417186e-007, 0.999987543, -3.95594029e-008, 4.78911147e-007) | |
166 | p5.CanCollide = false | |
167 | p5.Locked = true | |
168 | p5.BottomSurface = Enum.SurfaceType.Smooth | |
169 | p5.TopSurface = Enum.SurfaceType.Smooth | |
170 | b5 = Instance.new("SpecialMesh", p5) | |
171 | b5.MeshId = "http://www.roblox.com/asset/?id=45916884" | |
172 | b5.TextureId = "" | |
173 | b5.MeshType = Enum.MeshType.FileMesh | |
174 | b5.Name = "Mesh" | |
175 | b5.VertexColor = Vector3.new(0, 0, 0) | |
176 | b5.Scale = Vector3.new(1, 0.899999976, 1) | |
177 | p6 = Instance.new("Part", m) | |
178 | p6.BrickColor = BrickColor.new("Institutional white") | |
179 | p6.FormFactor = Enum.FormFactor.Symmetric | |
180 | p6.Size = Vector3.new(1, 1, 1) | |
181 | p6.CFrame = CFrame.new(13.1003246, 23.2700119, 28.5500946, -9.57822294e-007, 4.76831474e-007, -0.999987543, -7.91193955e-008, 1, -2.84217094e-014, 0.999987543, -4.04650001e-015, 5.68434189e-014) | |
182 | p6.CanCollide = false | |
183 | p6.Locked = true | |
184 | p6.BottomSurface = Enum.SurfaceType.Smooth | |
185 | p6.TopSurface = Enum.SurfaceType.Smooth | |
186 | b6 = Instance.new("SpecialMesh", p6) | |
187 | b6.MeshId = "http://www.roblox.com/asset/?id=62246019" | |
188 | b6.TextureId = "" | |
189 | b6.MeshType = Enum.MeshType.FileMesh | |
190 | b6.Name = "Mesh" | |
191 | b6.VertexColor = Vector3.new(0, 0, 0) | |
192 | p7 = Instance.new("Part", m) | |
193 | p7.BrickColor = BrickColor.new("Institutional white") | |
194 | p7.FormFactor = Enum.FormFactor.Symmetric | |
195 | p7.Size = Vector3.new(1, 1, 1) | |
196 | p7.CFrame = CFrame.new(13.1008148, 23.0000076, 28.4990215, -9.57822294e-007, 4.76831502e-007, -0.999987543, -7.91194026e-008, 1, 3.5914197e-019, 0.999987543, 3.05883884e-015, 5.68434189e-014) | |
197 | p7.CanCollide = false | |
198 | p7.Locked = true | |
199 | p7.BottomSurface = Enum.SurfaceType.Smooth | |
200 | p7.TopSurface = Enum.SurfaceType.Smooth | |
201 | b7 = Instance.new("SpecialMesh", p7) | |
202 | b7.MeshId = "http://www.roblox.com/asset/?id=76056263" | |
203 | b7.TextureId = "" | |
204 | b7.MeshType = Enum.MeshType.FileMesh | |
205 | b7.Name = "Mesh" | |
206 | b7.VertexColor = Vector3.new(0, 0, 0) | |
207 | p8 = Instance.new("Part", m) | |
208 | p8.BrickColor = BrickColor.new("Institutional white") | |
209 | p8.FormFactor = Enum.FormFactor.Symmetric | |
210 | p8.Size = Vector3.new(1, 1, 1) | |
211 | p8.CFrame = CFrame.new(12.3756638, 22.3460064, 28.5989819, -9.57822294e-007, -0.80510509, 0.593111277, -7.91194026e-008, -0.593119025, -0.805114806, 0.999987543, -1.28919533e-014, 2.06653508e-014) | |
212 | p8.CanCollide = false | |
213 | p8.Locked = true | |
214 | p8.BottomSurface = Enum.SurfaceType.Smooth | |
215 | p8.TopSurface = Enum.SurfaceType.Smooth | |
216 | b8 = Instance.new("SpecialMesh", p8) | |
217 | b8.MeshId = "http://www.roblox.com/asset/?id=12212520" | |
218 | b8.TextureId = "" | |
219 | b8.MeshType = Enum.MeshType.FileMesh | |
220 | b8.Name = "Mesh" | |
221 | b8.VertexColor = Vector3.new(0, 0, 0) | |
222 | b8.Scale = Vector3.new(1, 1.60000002, 1.29999995) | |
223 | p9 = Instance.new("Part", m) | |
224 | p9.BrickColor = BrickColor.new("Institutional white") | |
225 | p9.FormFactor = Enum.FormFactor.Symmetric | |
226 | p9.Size = Vector3.new(2, 1, 2) | |
227 | p9.CFrame = CFrame.new(13.2349396, 23.2430096, 28.5993462, -9.57822294e-007, -0.0995007455, -0.995025039, -7.91194097e-008, 0.995037317, -0.0995024443, 0.999987543, -5.41274382e-016, -2.16294996e-014) | |
228 | p9.CanCollide = false | |
229 | p9.Locked = true | |
230 | p9.BottomSurface = Enum.SurfaceType.Smooth | |
231 | p9.TopSurface = Enum.SurfaceType.Smooth | |
232 | b9 = Instance.new("SpecialMesh", p9) | |
233 | b9.MeshId = "http://www.roblox.com/asset/?id=12259089" | |
234 | b9.TextureId = "" | |
235 | b9.MeshType = Enum.MeshType.FileMesh | |
236 | b9.Name = "Mesh" | |
237 | b9.VertexColor = Vector3.new(0, 0, 0) | |
238 | b9.Scale = Vector3.new(1.01999998, 1.04999995, 1.04999995) | |
239 | p10 = Instance.new("Part", m) | |
240 | p10.BrickColor = BrickColor.new("Institutional white") | |
241 | p10.FormFactor = Enum.FormFactor.Symmetric | |
242 | p10.Size = Vector3.new(1, 1, 1) | |
243 | p10.CFrame = CFrame.new(12.9792271, 23.7430058, 28.6003838, -9.57822294e-007, -0.68356514, -0.729872584, -7.91194097e-008, 0.729881346, -0.683573902, 0.999987543, -1.35710662e-014, -1.68509463e-014) | |
244 | p10.CanCollide = false | |
245 | p10.Locked = true | |
246 | p10.BottomSurface = Enum.SurfaceType.Smooth | |
247 | p10.TopSurface = Enum.SurfaceType.Smooth | |
248 | b10 = Instance.new("SpecialMesh", p10) | |
249 | b10.MeshId = "http://www.roblox.com/asset/?id=12212520" | |
250 | b10.TextureId = "" | |
251 | b10.MeshType = Enum.MeshType.FileMesh | |
252 | b10.Name = "Mesh" | |
253 | b10.VertexColor = Vector3.new(0, 0, 0) | |
254 | b10.Scale = Vector3.new(1, 1.60000002, 1.29999995) | |
255 | p11 = Instance.new("Part", m) | |
256 | p11.BrickColor = BrickColor.new("Institutional white") | |
257 | p11.FormFactor = Enum.FormFactor.Symmetric | |
258 | p11.Size = Vector3.new(1, 1, 1) | |
259 | p11.CFrame = CFrame.new(12.8353081, 23.4680061, 28.5991058, -9.57822294e-007, -0.989463568, -0.144696504, -7.91194026e-008, 0.144697905, -0.989475906, 0.999987543, -2.11154641e-014, -4.7186215e-015) | |
260 | p11.CanCollide = false | |
261 | p11.Locked = true | |
262 | p11.BottomSurface = Enum.SurfaceType.Smooth | |
263 | p11.TopSurface = Enum.SurfaceType.Smooth | |
264 | b11 = Instance.new("SpecialMesh", p11) | |
265 | b11.MeshId = "http://www.roblox.com/asset/?id=12212520" | |
266 | b11.TextureId = "" | |
267 | b11.MeshType = Enum.MeshType.FileMesh | |
268 | b11.Name = "Mesh" | |
269 | b11.VertexColor = Vector3.new(0, 0, 0) | |
270 | b11.Scale = Vector3.new(1, 1.60000002, 1.29999995) | |
271 | w1 = Instance.new("Weld", p1) | |
272 | w1.Name = "Head_Weld" | |
273 | w1.Part0 = p1 | |
274 | w1.C0 = CFrame.new(-28.5990181, 16.950285, 19.8713875, 0, 0, 0.999999583, -0.97869873, -0.205299839, 5.96046448e-008, 0.20529972, -0.978699148, -7.4505806e-009) | |
275 | w1.Part1 = p2 | |
276 | w1.C1 = CFrame.new(-28.5999966, -22.8300076, 13.2999811, 5.96046448e-008, 0, 0.999999642, 0, 1, 0, -0.999999642, 0, 5.96046448e-008) | |
277 | w2 = Instance.new("Weld", p2) | |
278 | w2.Name = "Weld" | |
279 | w2.Part0 = p2 | |
280 | w2.C0 = CFrame.new(-28.5999527, -22.8300056, 13.2999592, -2.5997493e-010, -4.94494357e-009, 0.999998808, 2.98023224e-008, 1, -4.94494712e-009, -0.999998808, -2.98023224e-008, 1.19469163e-007) | |
281 | w2.Part1 = p3 | |
282 | w2.C1 = CFrame.new(-28.5999947, -23.3999996, 13.2999821, 0, 0, 0.999999583, 0, 1, 0, -0.999999583, 0, 0) | |
283 | w3 = Instance.new("Weld", p3) | |
284 | w3.Name = "Weld" | |
285 | w3.Part0 = p3 | |
286 | w3.C0 = CFrame.new(-28.5999012, -23.3999996, 13.2999363, -1.19728938e-007, -9.88988447e-009, 0.999997199, 5.96046092e-008, 1, -9.88988802e-009, -0.999997199, -5.96045844e-008, 1.19728938e-007) | |
287 | w3.Part1 = p4 | |
288 | w3.C1 = CFrame.new(-28.5998726, -23.5300045, 13.2202082, 0, 0, 0.999999583, 0, 1, 0, -0.999999583, 0, 0) | |
289 | w4 = Instance.new("Weld", p4) | |
290 | w4.Name = "Weld" | |
291 | w4.Part0 = p4 | |
292 | w4.C0 = CFrame.new(-28.5996857, -23.5300064, 13.2201195, -2.39457108e-007, -1.97797441e-008, 0.99999398, 1.19209027e-007, 1, -1.97797512e-008, -0.99999398, -1.19208977e-007, 2.39457108e-007) | |
293 | w4.Part1 = p5 | |
294 | w4.C1 = CFrame.new(-28.5999947, -23.1499996, 13.2999821, 0, 0, 0.999999583, 0, 1, 0, -0.999999583, 0, 0) | |
295 | w5 = Instance.new("Weld", p5) | |
296 | w5.Name = "Weld" | |
297 | w5.Part0 = p5 | |
298 | w5.C0 = CFrame.new(-28.5996189, -23.1500015, 13.2998009, -4.78911147e-007, -3.95593887e-008, 0.999987543, 2.384173e-007, 1, -3.95594029e-008, -0.999987543, -2.38417186e-007, 4.78911147e-007) | |
299 | w5.Part1 = p6 | |
300 | w5.C1 = CFrame.new(-28.5501289, -23.27001, 13.1003361, 0, 0, 0.999999583, 0, 1, 0, -0.999999583, 0, 0) | |
301 | w6 = Instance.new("Weld", p6) | |
302 | w6.Name = "Weld" | |
303 | w6.Part0 = p6 | |
304 | w6.C0 = CFrame.new(-28.5497494, -23.2700157, 13.100173, -9.57822294e-007, -7.91193955e-008, 0.999987543, 4.76831474e-007, 1, -4.04650001e-015, -0.999987543, -2.84217094e-014, 5.68434189e-014) | |
305 | w6.Part1 = p7 | |
306 | w6.C1 = CFrame.new(-28.4990501, -23.0000057, 13.1008282, 0, 0, 0.999999881, 0, 1, 0, -0.999999881, 0, 0) | |
307 | w7 = Instance.new("Weld", p7) | |
308 | w7.Name = "Weld" | |
309 | w7.Part0 = p7 | |
310 | w7.C0 = CFrame.new(-28.4986763, -23.0000114, 13.1006632, -9.57822294e-007, -7.91194026e-008, 0.999987543, 4.76831502e-007, 1, 3.05883884e-015, -0.999987543, 3.5914197e-019, 5.68434189e-014) | |
311 | w7.Part1 = p8 | |
312 | w7.C1 = CFrame.new(-28.5990181, 23.2175999, 10.6510067, 0, 0, 0.999999583, -0.805118203, -0.59311378, -5.96046448e-008, 0.593113363, -0.80511874, 0) | |
313 | w8 = Instance.new("Weld", p8) | |
314 | w8.Name = "Weld" | |
315 | w8.Part0 = p8 | |
316 | w8.C0 = CFrame.new(-28.5986366, 23.2175598, 10.6509457, -9.57822294e-007, -7.91194026e-008, 0.999987543, -0.80510509, -0.593119025, -1.28919533e-014, 0.593111277, -0.805114806, 2.06653508e-014) | |
317 | w8.Part1 = p9 | |
318 | w8.C1 = CFrame.new(-28.5993843, -21.8107243, 15.4820604, 0, 0, 0.999999583, -0.0995036662, 0.995037258, 0, -0.995036721, -0.0995037258, 0) | |
319 | w9 = Instance.new("Weld", p9) | |
320 | w9.Name = "Weld" | |
321 | w9.Part0 = p9 | |
322 | w9.C0 = CFrame.new(-28.598999, -21.8107738, 15.4818439, -9.57822294e-007, -7.91194097e-008, 0.999987543, -0.0995007455, 0.995037317, -5.41274382e-016, -0.995025039, -0.0995024443, -2.16294996e-014) | |
323 | w9.Part1 = p10 | |
324 | w9.C1 = CFrame.new(-28.6004219, -8.45714283, 25.703455, 0, 0, 0.999999583, -0.683578134, 0.729877055, 2.98023224e-008, -0.729876637, -0.683578491, 8.94069672e-008) | |
325 | w10 = Instance.new("Weld", p10) | |
326 | w10.Name = "Weld" | |
327 | w10.Part0 = p10 | |
328 | w10.C0 = CFrame.new(-28.6000366, -8.4574213, 25.703289, -9.57822294e-007, -7.91194097e-008, 0.999987543, -0.68356514, 0.729881346, -1.35710662e-014, -0.729872584, -0.683573902, -1.68509463e-014) | |
329 | w10.Part1 = p11 | |
330 | w10.C1 = CFrame.new(-28.5991402, 9.30450344, 25.0782566, 0, 0, 0.999999583, -0.989475787, 0.144696504, 8.94069672e-008, -0.144696444, -0.989476025, 7.4505806e-009) | |
331 | m.Parent = char | |
332 | m:MakeJoints() | |
333 | ---------------------------------------------------- | |
334 | local cor = Instance.new("Part", char.Hair) | |
335 | cor.Name = "Link" | |
336 | cor.Locked = true | |
337 | cor.BottomSurface = 0 | |
338 | cor.CanCollide = false | |
339 | cor.Size = Vector3.new(1, 9, 1) | |
340 | cor.Transparency = 1 | |
341 | cor.TopSurface = 0 | |
342 | corw = Instance.new("Weld", cor) | |
343 | corw.Part0 = hed | |
344 | corw.Part1 = cor | |
345 | corw.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
346 | corw.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
347 | weld1 = Instance.new("Weld", char.Hair) | |
348 | weld1.Part0 = cor | |
349 | weld1.Part1 = char.Hair.Head | |
350 | weld1.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
351 | ---------------------------------------------------- | |
352 | local Pole = Instance.new("Part",char) | |
353 | Pole.Locked = true | |
354 | Pole.Size = Vector3.new(1,1,1) | |
355 | Pole.BrickColor = BrickColor.new("Really black") | |
356 | Pole.Material = "SmoothPlastic" | |
357 | Pole.CanCollide = false | |
358 | local pm = Instance.new("CylinderMesh",Pole) | |
359 | pm.Scale = Vector3.new(.3,7,.3) | |
360 | nooutline(Pole) | |
361 | local PoleWeld = Instance.new("Weld") | |
362 | PoleWeld.Part0 = rarm | |
363 | PoleWeld.Part1 = Pole | |
364 | PoleWeld.C0 = CFrame.new(0,-1,-0.65) * CFrame.Angles(math.rad(-90),math.rad(90),0) | |
365 | PoleWeld.Parent = Pole | |
366 | ||
367 | for i = 1,360*(3/4),5 do | |
368 | local Part = Instance.new("Part",char) | |
369 | local pm = Instance.new("CylinderMesh", Part) | |
370 | Part.BrickColor = BrickColor.new("Really black") | |
371 | Part.FormFactor = "Custom" | |
372 | Part.Size = Vector3.new(0.2,0.2,0.2) | |
373 | Part.CanCollide = false | |
374 | Part.Locked = true | |
375 | Part.Material = "SmoothPlastic" | |
376 | nooutline(Part) | |
377 | pm.Scale = Vector3.new(0.3/0.2,0.8,0.3/0.2) | |
378 | local Weld2 = Instance.new("Weld") | |
379 | Weld2.Part0 = Pole | |
380 | Weld2.Part1 = Part | |
381 | Weld2.C0 = CFrame.new(0,4.75,0) * CFrame.Angles(math.rad(90),math.rad(i-45),0) * CFrame.new(0,0,-1) * CFrame.Angles(0,0,math.rad(90)) | |
382 | Weld2.Parent = PoleWeld.Part0 | |
383 | end | |
384 | ----------------------------------------- | |
385 | ---------------- | |
386 | Player=game:GetService("Players").LocalPlayer | |
387 | Character=Player.Character | |
388 | PlayerGui=Player.PlayerGui | |
389 | Backpack=Player.Backpack | |
390 | Torso=Character.Torso | |
391 | Head=Character.Head | |
392 | Humanoid=Character.Humanoid | |
393 | m=Instance.new('Model',Character) | |
394 | LeftArm=Character["Left Arm"] | |
395 | LeftLeg=Character["Left Leg"] | |
396 | RightArm=Character["Right Arm"] | |
397 | RightLeg=Character["Right Leg"] | |
398 | LS=Torso["Left Shoulder"] | |
399 | LH=Torso["Left Hip"] | |
400 | RS=Torso["Right Shoulder"] | |
401 | RH=Torso["Right Hip"] | |
402 | Face = Head.face | |
403 | Neck=Torso.Neck | |
404 | it=Instance.new | |
405 | attacktype=1 | |
406 | vt=Vector3.new | |
407 | cf=CFrame.new | |
408 | euler=CFrame.fromEulerAnglesXYZ | |
409 | angles=CFrame.Angles | |
410 | cloaked=false | |
411 | necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
412 | necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
413 | LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0) | |
414 | LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0) | |
415 | RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0) | |
416 | RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0) | |
417 | RootPart=Character.HumanoidRootPart | |
418 | RootJoint=RootPart.RootJoint | |
419 | RootCF=euler(-1.57,0,3.14) | |
420 | attack = false | |
421 | attackdebounce = false | |
422 | deb=false | |
423 | equipped=true | |
424 | hand=false | |
425 | MMouse=nil | |
426 | combo=0 | |
427 | mana=0 | |
428 | trispeed=.2 | |
429 | attackmode='none' | |
430 | local idle=0 | |
431 | local Anim="Idle" | |
432 | local Effects={} | |
433 | local gun=false | |
434 | local shoot=false | |
435 | player=nil | |
436 | mana=0 | |
437 | Attacking=false | |
438 | asset = "http://www.roblox.com/asset/?id=" | |
439 | meshes = {["blast"] = 20329976,["ring"] = 3270017,["spike"] = 1033714,["cone"] = 1082802,["crown"] = 20329976,["cloud"] = 1095708,["diamond"] = 9756362} | |
440 | sounds = {["explode"] = 130792180;} | |
441 | torsomesh = "rbxasset://fonts/torso.mesh" | |
442 | colours = {"Tr. Red","Black","Tr. Blue","Black","Phosph. White","Royal purple"} | |
443 | local ASpeed = 10 | |
444 | Humanoid.MaxHealth = 500 | |
445 | wait() | |
446 | Humanoid.Health=500 | |
447 | ||
448 | mouse=Player:GetMouse() | |
449 | --save shoulders | |
450 | RSH, LSH=nil, nil | |
451 | --welds | |
452 | RW, LW=Instance.new("Weld"), Instance.new("Weld") | |
453 | RW.Name="Right Shoulder" LW.Name="Left Shoulder" | |
454 | LH=Torso["Left Hip"] | |
455 | RH=Torso["Right Hip"] | |
456 | TorsoColor=Torso.BrickColor | |
457 | function NoOutline(Part) | |
458 | Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10 | |
459 | end | |
460 | player=Player | |
461 | ch=Character | |
462 | RSH=ch.Torso["Right Shoulder"] | |
463 | LSH=ch.Torso["Left Shoulder"] | |
464 | -- | |
465 | --RSH.Parent=nil | |
466 | --LSH.Parent=nil | |
467 | -- | |
468 | RW.Name="Right Shoulder" | |
469 | RW.Part0=ch.Torso | |
470 | RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5) | |
471 | RW.C1=cf(0, 0.5, 0) | |
472 | RW.Part1=ch["Right Arm"] | |
473 | RW.Parent=ch.Torso | |
474 | -- | |
475 | LW.Name="Left Shoulder" | |
476 | LW.Part0=ch.Torso | |
477 | LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8) | |
478 | LW.C1=cf(0, 0.5, 0) | |
479 | LW.Part1=ch["Left Arm"] | |
480 | LW.Parent=ch.Torso | |
481 | newWeld = function(wp0, wp1, wc0x, wc0y, wc0z) | |
482 | wld = Instance.new("Weld", wp1) | |
483 | wld.Part0 = wp0 | |
484 | wld.Part1 = wp1 | |
485 | wld.C0 = CFrame.new(wc0x, wc0y, wc0z) | |
486 | end | |
487 | local larm = char["Left Arm"] | |
488 | local rarm = char["Right Arm"] | |
489 | local lleg = char["Left Leg"] | |
490 | local rleg = char["Right Leg"] | |
491 | local hed = char.Head | |
492 | local torso = char.Torso | |
493 | local root = char.HumanoidRootPart | |
494 | newWeld(torso, lleg, -0.5, -1, 0) | |
495 | lleg.Weld.C1 = CFrame.new(0, 1, 0) | |
496 | newWeld(torso, rleg, 0.5, -1, 0) | |
497 | rleg.Weld.C1 = CFrame.new(0, 1, 0) | |
498 | Player=game:GetService('Players').LocalPlayer | |
499 | Character=Player.Character | |
500 | Mouse=Player:GetMouse() | |
501 | m=Instance.new('Model',Character) | |
502 | ||
503 | ||
504 | local function weldBetween(a, b) | |
505 | local weldd = Instance.new("ManualWeld") | |
506 | weldd.Part0 = a | |
507 | weldd.Part1 = b | |
508 | weldd.C0 = CFrame.new() | |
509 | weldd.C1 = b.CFrame:inverse() * a.CFrame | |
510 | weldd.Parent = a | |
511 | return weldd | |
512 | end | |
513 | ||
514 | it=Instance.new | |
515 | ||
516 | function nooutline(part) | |
517 | part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10 | |
518 | end | |
519 | ||
520 | function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size) | |
521 | local fp=it("Part") | |
522 | fp.formFactor=formfactor | |
523 | fp.Parent=parent | |
524 | fp.Reflectance=reflectance | |
525 | fp.Transparency=transparency | |
526 | fp.CanCollide=false | |
527 | fp.Locked=true | |
528 | fp.BrickColor=BrickColor.new(tostring(brickcolor)) | |
529 | fp.Name=name | |
530 | fp.Size=size | |
531 | fp.Position=Character.Torso.Position | |
532 | nooutline(fp) | |
533 | fp.Material=material | |
534 | fp:BreakJoints() | |
535 | return fp | |
536 | end | |
537 | ||
538 | function mesh(Mesh,part,meshtype,meshid,offset,scale) | |
539 | local mesh=it(Mesh) | |
540 | mesh.Parent=part | |
541 | if Mesh=="SpecialMesh" then | |
542 | mesh.MeshType=meshtype | |
543 | mesh.MeshId=meshid | |
544 | end | |
545 | mesh.Offset=offset | |
546 | mesh.Scale=scale | |
547 | return mesh | |
548 | end | |
549 | ||
550 | function weld(parent,part0,part1,c0,c1) | |
551 | local weld=it("Weld") | |
552 | weld.Parent=parent | |
553 | weld.Part0=part0 | |
554 | weld.Part1=part1 | |
555 | weld.C0=c0 | |
556 | weld.C1=c1 | |
557 | return weld | |
558 | end | |
559 | ||
560 | ||
561 | Player=game:GetService('Players').LocalPlayer | |
562 | Character=Player.Character | |
563 | Mouse=Player:GetMouse() | |
564 | m=Instance.new('Model',Character) | |
565 | ||
566 | ||
567 | local function weldBetween(a, b) | |
568 | local weldd = Instance.new("ManualWeld") | |
569 | weldd.Part0 = a | |
570 | weldd.Part1 = b | |
571 | weldd.C0 = CFrame.new() | |
572 | weldd.C1 = b.CFrame:inverse() * a.CFrame | |
573 | weldd.Parent = a | |
574 | return weldd | |
575 | end | |
576 | ||
577 | it=Instance.new | |
578 | ||
579 | function nooutline(part) | |
580 | part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10 | |
581 | end | |
582 | ||
583 | ||
584 | function swait(num) | |
585 | if num==0 or num==nil then | |
586 | game:service'RunService'.Heartbeat:wait(0) | |
587 | else | |
588 | for i=0,num do | |
589 | game:service'RunService'.Heartbeat:wait(0) | |
590 | end | |
591 | end | |
592 | end | |
593 | ||
594 | function mesh(Mesh,part,meshtype,meshid,offset,scale) | |
595 | local mesh=it(Mesh) | |
596 | mesh.Parent=part | |
597 | if Mesh=="SpecialMesh" then | |
598 | mesh.MeshType=meshtype | |
599 | mesh.MeshId=meshid | |
600 | end | |
601 | mesh.Offset=offset | |
602 | mesh.Scale=scale | |
603 | return mesh | |
604 | end | |
605 | ||
606 | function weld(parent,part0,part1,c0,c1) | |
607 | local weld=it("Weld") | |
608 | weld.Parent=parent | |
609 | weld.Part0=part0 | |
610 | weld.Part1=part1 | |
611 | weld.C0=c0 | |
612 | weld.C1=c1 | |
613 | return weld | |
614 | end | |
615 | ||
616 | ||
617 | local function CFrameFromTopBack(at, top, back) | |
618 | local right = top:Cross(back) | |
619 | return CFrame.new(at.x, at.y, at.z, | |
620 | right.x, top.x, back.x, | |
621 | right.y, top.y, back.y, | |
622 | right.z, top.z, back.z) | |
623 | end | |
624 | ||
625 | function Triangle(a, b, c) | |
626 | local edg1 = (c-a):Dot((b-a).unit) | |
627 | local edg2 = (a-b):Dot((c-b).unit) | |
628 | local edg3 = (b-c):Dot((a-c).unit) | |
629 | if edg1 <= (b-a).magnitude and edg1 >= 0 then | |
630 | a, b, c = a, b, c | |
631 | elseif edg2 <= (c-b).magnitude and edg2 >= 0 then | |
632 | a, b, c = b, c, a | |
633 | elseif edg3 <= (a-c).magnitude and edg3 >= 0 then | |
634 | a, b, c = c, a, b | |
635 | else | |
636 | assert(false, "unreachable") | |
637 | end | |
638 | ||
639 | local len1 = (c-a):Dot((b-a).unit) | |
640 | local len2 = (b-a).magnitude - len1 | |
641 | local width = (a + (b-a).unit*len1 - c).magnitude | |
642 | ||
643 | local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit) | |
644 | ||
645 | local list = {} | |
646 | ||
647 | local Color = BrickColor.new("Really black") | |
648 | ||
649 | if len1 > 0.01 then | |
650 | local w1 = Instance.new('WedgePart', m) | |
651 | game:GetService("Debris"):AddItem(w1,5) | |
652 | w1.Material = "SmoothPlastic" | |
653 | w1.FormFactor = 'Custom' | |
654 | w1.BrickColor = Color | |
655 | w1.Transparency = 0 | |
656 | w1.Reflectance = 0 | |
657 | w1.Material = "SmoothPlastic" | |
658 | w1.CanCollide = false | |
659 | NoOutline(w1) | |
660 | local sz = Vector3.new(0.2, width, len1) | |
661 | w1.Size = sz | |
662 | local sp = Instance.new("SpecialMesh",w1) | |
663 | sp.MeshType = "Wedge" | |
664 | sp.Scale = Vector3.new(0,1,1) * sz/w1.Size | |
665 | w1:BreakJoints() | |
666 | w1.Anchored = true | |
667 | w1.Parent = workspace | |
668 | w1.Transparency = 0.7 | |
669 | table.insert(Effects,{w1,"Disappear",.01}) | |
670 | w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2) | |
671 | table.insert(list,w1) | |
672 | end | |
673 | ||
674 | if len2 > 0.01 then | |
675 | local w2 = Instance.new('WedgePart', m) | |
676 | game:GetService("Debris"):AddItem(w2,5) | |
677 | w2.Material = "SmoothPlastic" | |
678 | w2.FormFactor = 'Custom' | |
679 | w2.BrickColor = Color | |
680 | w2.Transparency = 0 | |
681 | w2.Reflectance = 0 | |
682 | w2.Material = "SmoothPlastic" | |
683 | w2.CanCollide = false | |
684 | NoOutline(w2) | |
685 | local sz = Vector3.new(0.2, width, len2) | |
686 | w2.Size = sz | |
687 | local sp = Instance.new("SpecialMesh",w2) | |
688 | sp.MeshType = "Wedge" | |
689 | sp.Scale = Vector3.new(0,1,1) * sz/w2.Size | |
690 | w2:BreakJoints() | |
691 | w2.Anchored = true | |
692 | w2.Parent = workspace | |
693 | w2.Transparency = 0.7 | |
694 | table.insert(Effects,{w2,"Disappear",.01}) | |
695 | w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2) | |
696 | table.insert(list,w2) | |
697 | end | |
698 | return unpack(list) | |
699 | end | |
700 | ||
701 | ||
702 | so = function(id,par,vol,pit) | |
703 | coroutine.resume(coroutine.create(function() | |
704 | local sou = Instance.new("Sound",par or workspace) | |
705 | sou.Volume=vol | |
706 | sou.Pitch=pit or 1 | |
707 | sou.SoundId=id | |
708 | swait() | |
709 | sou:play() | |
710 | game:GetService("Debris"):AddItem(sou,6) | |
711 | end)) | |
712 | end | |
713 | ||
714 | function clerp(a,b,t) | |
715 | local qa = {QuaternionFromCFrame(a)} | |
716 | local qb = {QuaternionFromCFrame(b)} | |
717 | local ax, ay, az = a.x, a.y, a.z | |
718 | local bx, by, bz = b.x, b.y, b.z | |
719 | local _t = 1-t | |
720 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) | |
721 | end | |
722 | ||
723 | function QuaternionFromCFrame(cf) | |
724 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
725 | local trace = m00 + m11 + m22 | |
726 | if trace > 0 then | |
727 | local s = math.sqrt(1 + trace) | |
728 | local recip = 0.5/s | |
729 | return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 | |
730 | else | |
731 | local i = 0 | |
732 | if m11 > m00 then | |
733 | i = 1 | |
734 | end | |
735 | if m22 > (i == 0 and m00 or m11) then | |
736 | i = 2 | |
737 | end | |
738 | if i == 0 then | |
739 | local s = math.sqrt(m00-m11-m22+1) | |
740 | local recip = 0.5/s | |
741 | return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip | |
742 | elseif i == 1 then | |
743 | local s = math.sqrt(m11-m22-m00+1) | |
744 | local recip = 0.5/s | |
745 | return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip | |
746 | elseif i == 2 then | |
747 | local s = math.sqrt(m22-m00-m11+1) | |
748 | local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip | |
749 | end | |
750 | end | |
751 | end | |
752 | ||
753 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
754 | local xs, ys, zs = x + x, y + y, z + z | |
755 | local wx, wy, wz = w*xs, w*ys, w*zs | |
756 | local xx = x*xs | |
757 | local xy = x*ys | |
758 | local xz = x*zs | |
759 | local yy = y*ys | |
760 | local yz = y*zs | |
761 | local zz = z*zs | |
762 | return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) | |
763 | end | |
764 | ||
765 | function QuaternionSlerp(a, b, t) | |
766 | local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] | |
767 | local startInterp, finishInterp; | |
768 | if cosTheta >= 0.0001 then | |
769 | if (1 - cosTheta) > 0.0001 then | |
770 | local theta = math.acos(cosTheta) | |
771 | local invSinTheta = 1/math.sin(theta) | |
772 | startInterp = math.sin((1-t)*theta)*invSinTheta | |
773 | finishInterp = math.sin(t*theta)*invSinTheta | |
774 | else | |
775 | startInterp = 1-t | |
776 | finishInterp = t | |
777 | end | |
778 | else | |
779 | if (1+cosTheta) > 0.0001 then | |
780 | local theta = math.acos(-cosTheta) | |
781 | local invSinTheta = 1/math.sin(theta) | |
782 | startInterp = math.sin((t-1)*theta)*invSinTheta | |
783 | finishInterp = math.sin(t*theta)*invSinTheta | |
784 | else | |
785 | startInterp = t-1 | |
786 | finishInterp = t | |
787 | end | |
788 | end | |
789 | return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp | |
790 | end | |
791 | ||
792 | function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants | |
793 | return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) | |
794 | end | |
795 | ||
796 | local function CFrameFromTopBack(at, top, back) | |
797 | local right = top:Cross(back) | |
798 | return CFrame.new(at.x, at.y, at.z, | |
799 | right.x, top.x, back.x, | |
800 | right.y, top.y, back.y, | |
801 | right.z, top.z, back.z) | |
802 | end | |
803 | ||
804 | function Triangle(a, b, c) | |
805 | local edg1 = (c-a):Dot((b-a).unit) | |
806 | local edg2 = (a-b):Dot((c-b).unit) | |
807 | local edg3 = (b-c):Dot((a-c).unit) | |
808 | if edg1 <= (b-a).magnitude and edg1 >= 0 then | |
809 | a, b, c = a, b, c | |
810 | elseif edg2 <= (c-b).magnitude and edg2 >= 0 then | |
811 | a, b, c = b, c, a | |
812 | elseif edg3 <= (a-c).magnitude and edg3 >= 0 then | |
813 | a, b, c = c, a, b | |
814 | else | |
815 | assert(false, "unreachable") | |
816 | end | |
817 | ||
818 | local len1 = (c-a):Dot((b-a).unit) | |
819 | local len2 = (b-a).magnitude - len1 | |
820 | local width = (a + (b-a).unit*len1 - c).magnitude | |
821 | ||
822 | local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit) | |
823 | ||
824 | local list = {} | |
825 | ||
826 | if len1 > 0.01 then | |
827 | local w1 = Instance.new('WedgePart', m) | |
828 | game:GetService("Debris"):AddItem(w1,5) | |
829 | w1.Material = "SmoothPlastic" | |
830 | w1.FormFactor = 'Custom' | |
831 | w1.BrickColor = BrickColor.new("Really black") | |
832 | w1.Transparency = 0 | |
833 | w1.Reflectance = 0 | |
834 | w1.Material = "SmoothPlastic" | |
835 | w1.CanCollide = false | |
836 | NoOutline(w1) | |
837 | local sz = Vector3.new(0.2, width, len1) | |
838 | w1.Size = sz | |
839 | local sp = Instance.new("SpecialMesh",w1) | |
840 | sp.MeshType = "Wedge" | |
841 | sp.Scale = Vector3.new(0,1,1) * sz/w1.Size | |
842 | w1:BreakJoints() | |
843 | w1.Anchored = true | |
844 | w1.Parent = workspace | |
845 | w1.Transparency = 0.7 | |
846 | table.insert(Effects,{w1,"Disappear",.01}) | |
847 | w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2) | |
848 | table.insert(list,w1) | |
849 | end | |
850 | ||
851 | if len2 > 0.01 then | |
852 | local w2 = Instance.new('WedgePart', m) | |
853 | game:GetService("Debris"):AddItem(w2,5) | |
854 | w2.Material = "SmoothPlastic" | |
855 | w2.FormFactor = 'Custom' | |
856 | w2.BrickColor = BrickColor.new("Really black") | |
857 | w2.Transparency = 0 | |
858 | w2.Reflectance = 0 | |
859 | w2.Material = "SmoothPlastic" | |
860 | w2.CanCollide = false | |
861 | NoOutline(w2) | |
862 | local sz = Vector3.new(0.2, width, len2) | |
863 | w2.Size = sz | |
864 | local sp = Instance.new("SpecialMesh",w2) | |
865 | sp.MeshType = "Wedge" | |
866 | sp.Scale = Vector3.new(0,1,1) * sz/w2.Size | |
867 | w2:BreakJoints() | |
868 | w2.Anchored = true | |
869 | w2.Parent = workspace | |
870 | w2.Transparency = 0.7 | |
871 | table.insert(Effects,{w2,"Disappear",.01}) | |
872 | w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2) | |
873 | table.insert(list,w2) | |
874 | end | |
875 | return unpack(list) | |
876 | end | |
877 | ||
878 | Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,decreaseblock) | |
879 | if hit.Parent==nil then | |
880 | return | |
881 | end | |
882 | h=hit.Parent:FindFirstChild("Humanoid") | |
883 | for _,v in pairs(hit.Parent:children()) do | |
884 | if v:IsA("Humanoid") then | |
885 | h=v | |
886 | end | |
887 | end | |
888 | if hit.Parent.Parent:FindFirstChild("Torso")~=nil then | |
889 | h=hit.Parent.Parent:FindFirstChild("Humanoid") | |
890 | end | |
891 | if hit.Parent.className=="Hat" then | |
892 | hit=hit.Parent.Parent:findFirstChild("Head") | |
893 | end | |
894 | if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then | |
895 | if hit.Parent:findFirstChild("DebounceHit")~=nil then if hit.Parent.DebounceHit.Value==true then return end end | |
896 | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then | |
897 | return | |
898 | end]] | |
899 | -- hs(hit,1.2) | |
900 | c=Instance.new("ObjectValue") | |
901 | c.Name="creator" | |
902 | c.Value=game:service("Players").LocalPlayer | |
903 | c.Parent=h | |
904 | game:GetService("Debris"):AddItem(c,.5) | |
905 | Damage=math.random(minim,maxim) | |
906 | -- h:TakeDamage(Damage) | |
907 | blocked=false | |
908 | block=hit.Parent:findFirstChild("Block") | |
909 | if block~=nil then | |
910 | print(block.className) | |
911 | if block.className=="NumberValue" then | |
912 | if block.Value>0 then | |
913 | blocked=true | |
914 | if decreaseblock==nil then | |
915 | block.Value=block.Value-1 | |
916 | end | |
917 | end | |
918 | end | |
919 | if block.className=="IntValue" then | |
920 | if block.Value>0 then | |
921 | blocked=true | |
922 | if decreaseblock~=nil then | |
923 | block.Value=block.Value-1 | |
924 | end | |
925 | end | |
926 | end | |
927 | end | |
928 | if blocked==false then | |
929 | -- h:TakeDamage(Damage) | |
930 | h.Health=h.Health-Damage | |
931 | showDamage(hit.Parent,Damage,.5,BrickColor.new("Dark stone grey")) | |
932 | else | |
933 | h.Health=h.Health-(Damage/2) | |
934 | showDamage(hit.Parent,Damage/2,.5,BrickColor.new("Bright blue")) | |
935 | end | |
936 | if Type=="Knockdown" then | |
937 | hum=hit.Parent.Humanoid | |
938 | hum.PlatformStand=true | |
939 | coroutine.resume(coroutine.create(function(HHumanoid) | |
940 | swait(1) | |
941 | HHumanoid.PlatformStand=false | |
942 | end),hum) | |
943 | local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit | |
944 | --hit.CFrame=CFrame.new(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0) | |
945 | local bodvol=Instance.new("BodyVelocity") | |
946 | bodvol.velocity=angle*knockback | |
947 | bodvol.P=5000 | |
948 | bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) | |
949 | bodvol.Parent=hit | |
950 | rl=Instance.new("BodyAngularVelocity") | |
951 | rl.P=3000 | |
952 | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 | |
953 | rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)) | |
954 | rl.Parent=hit | |
955 | game:GetService("Debris"):AddItem(bodvol,.5) | |
956 | game:GetService("Debris"):AddItem(rl,.5) | |
957 | elseif Type=="Normal" then | |
958 | vp=Instance.new("BodyVelocity") | |
959 | vp.P=500 | |
960 | vp.maxForce=Vector3.new(math.huge,0,math.huge) | |
961 | -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback | |
962 | if KnockbackType==1 then | |
963 | vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05 | |
964 | elseif KnockbackType==2 then | |
965 | vp.velocity=Property.CFrame.lookVector*knockback | |
966 | end | |
967 | if knockback>0 then | |
968 | vp.Parent=hit.Parent.Torso | |
969 | end | |
970 | game:GetService("Debris"):AddItem(vp,.5) | |
971 | elseif Type=="Up" then | |
972 | local bodyVelocity=Instance.new("BodyVelocity") | |
973 | bodyVelocity.velocity=vt(0,60,0) | |
974 | bodyVelocity.P=5000 | |
975 | bodyVelocity.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) | |
976 | bodyVelocity.Parent=hit | |
977 | game:GetService("Debris"):AddItem(bodyVelocity,1) | |
978 | rl=Instance.new("BodyAngularVelocity") | |
979 | rl.P=3000 | |
980 | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 | |
981 | rl.angularvelocity=Vector3.new(math.random(-30,30),math.random(-30,30),math.random(-30,30)) | |
982 | rl.Parent=hit | |
983 | game:GetService("Debris"):AddItem(rl,.5) | |
984 | elseif Type=="Snare" then | |
985 | bp=Instance.new("BodyPosition") | |
986 | bp.P=2000 | |
987 | bp.D=100 | |
988 | bp.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
989 | bp.position=hit.Parent.Torso.Position | |
990 | bp.Parent=hit.Parent.Torso | |
991 | game:GetService("Debris"):AddItem(bp,1) | |
992 | elseif Type=="Target" then | |
993 | if Targetting==false then | |
994 | ZTarget=hit.Parent.Torso | |
995 | coroutine.resume(coroutine.create(function(Part) | |
996 | so("http://www.roblox.com/asset/?id=15666462",Part,1,1.5) | |
997 | swait(5) | |
998 | so("http://www.roblox.com/asset/?id=15666462",Part,1,1.5) | |
999 | end),ZTarget) | |
1000 | TargHum=ZTarget.Parent:findFirstChild("Humanoid") | |
1001 | targetgui=Instance.new("BillboardGui") | |
1002 | targetgui.Parent=ZTarget | |
1003 | targetgui.Size=UDim2.new(10,100,10,100) | |
1004 | targ=Instance.new("ImageLabel") | |
1005 | targ.Parent=targetgui | |
1006 | targ.BackgroundTransparency=1 | |
1007 | targ.Image="rbxassetid://4834067" | |
1008 | targ.Size=UDim2.new(1,0,1,0) | |
1009 | cam.CameraType="Scriptable" | |
1010 | cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position) | |
1011 | dir=Vector3.new(cam.CoordinateFrame.lookVector.x,0,cam.CoordinateFrame.lookVector.z) | |
1012 | workspace.CurrentCamera.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position) | |
1013 | Targetting=true | |
1014 | RocketTarget=ZTarget | |
1015 | for i=1,Property do | |
1016 | --while Targetting==true and Humanoid.Health>0 and Character.Parent~=nil do | |
1017 | if Humanoid.Health>0 and Character.Parent~=nil and TargHum.Health>0 and TargHum.Parent~=nil and Targetting==true then | |
1018 | swait() | |
1019 | end | |
1020 | --workspace.CurrentCamera.CoordinateFrame=CFrame.new(Head.CFrame.p,Head.CFrame.p+rmdir*100) | |
1021 | cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position) | |
1022 | dir=Vector3.new(cam.CoordinateFrame.lookVector.x,0,cam.CoordinateFrame.lookVector.z) | |
1023 | cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position)*cf(0,5,10)*euler(-0.3,0,0) | |
1024 | end | |
1025 | Targetting=false | |
1026 | RocketTarget=nil | |
1027 | targetgui.Parent=nil | |
1028 | cam.CameraType="Custom" | |
1029 | end | |
1030 | end | |
1031 | debounce=Instance.new("BoolValue") | |
1032 | debounce.Name="DebounceHit" | |
1033 | debounce.Parent=hit.Parent | |
1034 | debounce.Value=true | |
1035 | game:GetService("Debris"):AddItem(debounce,Delay) | |
1036 | c=Instance.new("ObjectValue") | |
1037 | c.Name="creator" | |
1038 | c.Value=Player | |
1039 | c.Parent=h | |
1040 | game:GetService("Debris"):AddItem(c,.5) | |
1041 | CRIT=false | |
1042 | hitDeb=true | |
1043 | AttackPos=6 | |
1044 | end | |
1045 | end | |
1046 | ||
1047 | showDamage=function(Char,Dealt,du,Color) | |
1048 | m=Instance.new("Model") | |
1049 | m.Name=tostring(Dealt) | |
1050 | h=Instance.new("Humanoid") | |
1051 | h.Health=0 | |
1052 | h.MaxHealth=0 | |
1053 | h.Parent=m | |
1054 | c=Instance.new("Part") | |
1055 | c.Transparency=0 | |
1056 | c.BrickColor=Color | |
1057 | c.Name="Head" | |
1058 | c.TopSurface=0 | |
1059 | c.BottomSurface=0 | |
1060 | c.formFactor="Plate" | |
1061 | c.Size=Vector3.new(1,.4,1) | |
1062 | ms=Instance.new("CylinderMesh") | |
1063 | ms.Scale=Vector3.new(.8,.8,.8) | |
1064 | if CRIT==true then | |
1065 | ms.Scale=Vector3.new(1,1.25,1) | |
1066 | end | |
1067 | ms.Parent=c | |
1068 | c.Reflectance=0 | |
1069 | Instance.new("BodyGyro").Parent=c | |
1070 | c.Parent=m | |
1071 | if Char:findFirstChild("Head")~=nil then | |
1072 | c.CFrame=CFrame.new(Char["Head"].CFrame.p+Vector3.new(0,1.5,0)) | |
1073 | elseif Char.Parent:findFirstChild("Head")~=nil then | |
1074 | c.CFrame=CFrame.new(Char.Parent["Head"].CFrame.p+Vector3.new(0,1.5,0)) | |
1075 | end | |
1076 | f=Instance.new("BodyPosition") | |
1077 | f.P=2000 | |
1078 | f.D=100 | |
1079 | f.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
1080 | f.position=c.Position+Vector3.new(0,3,0) | |
1081 | f.Parent=c | |
1082 | game:GetService("Debris"):AddItem(m,.5+du) | |
1083 | c.CanCollide=false | |
1084 | m.Parent=workspace | |
1085 | c.CanCollide=false | |
1086 | end | |
1087 | ||
1088 | for i,v in pairs (char:GetChildren()) do if v:IsA("Hat") then | |
1089 | v:remove() | |
1090 | end | |
1091 | end | |
1092 | local player = game.Players.LocalPlayer | |
1093 | local pchar = player.Character | |
1094 | local mouse = player:GetMouse() | |
1095 | local cam = workspace.CurrentCamera | |
1096 | ||
1097 | local rad = math.rad | |
1098 | ||
1099 | local keysDown = {} | |
1100 | local flySpeed = 0 | |
1101 | local MAX_FLY_SPEED = 50 | |
1102 | ||
1103 | local canFly = false | |
1104 | local flyToggled = false | |
1105 | ||
1106 | local forward, side = 0, 0 | |
1107 | local lastForward, lastSide = 0, 0 | |
1108 | ||
1109 | local floatBP = Instance.new("BodyPosition") | |
1110 | floatBP.maxForce = Vector3.new(0, math.huge, 0) | |
1111 | local flyBV = Instance.new("BodyVelocity") | |
1112 | flyBV.maxForce = Vector3.new(9e9, 9e9, 9e9) | |
1113 | local turnBG = Instance.new("BodyGyro") | |
1114 | turnBG.maxTorque = Vector3.new(math.huge, math.huge, math.huge) | |
1115 | mouse.KeyDown:connect(function(key) | |
1116 | keysDown[key] = true | |
1117 | ||
1118 | if key == "f" then | |
1119 | flyToggled = not flyToggled | |
1120 | ||
1121 | if not flyToggled then | |
1122 | floatBP.Parent = nil | |
1123 | flyBV.Parent = nil | |
1124 | turnBG.Parent = nil | |
1125 | pchar.Torso.Velocity = Vector3.new() | |
1126 | pchar.Humanoid.PlatformStand = false | |
1127 | end | |
1128 | end | |
1129 | ||
1130 | end) | |
1131 | mouse.KeyUp:connect(function(key) | |
1132 | keysDown[key] = nil | |
1133 | end) | |
1134 | local function updateFly() | |
1135 | ||
1136 | if not flyToggled then return end | |
1137 | ||
1138 | lastForward = forward | |
1139 | lastSide = side | |
1140 | ||
1141 | forward = 0 | |
1142 | side = 0 | |
1143 | ||
1144 | if keysDown.w then | |
1145 | forward = forward + 1 | |
1146 | end | |
1147 | if keysDown.s then | |
1148 | forward = forward - 1 | |
1149 | end | |
1150 | if keysDown.a then | |
1151 | side = side - 1 | |
1152 | end | |
1153 | if keysDown.d then | |
1154 | side = side + 1 | |
1155 | end | |
1156 | ||
1157 | canFly = (forward ~= 0 or side ~= 0) | |
1158 | ||
1159 | if canFly then | |
1160 | turnBG.Parent = pchar.Torso | |
1161 | floatBP.Parent = nil | |
1162 | flyBV.Parent = pchar.Torso | |
1163 | ||
1164 | flySpeed = flySpeed + 1 + (flySpeed / MAX_FLY_SPEED) | |
1165 | if flySpeed > MAX_FLY_SPEED then flySpeed = MAX_FLY_SPEED end | |
1166 | else | |
1167 | floatBP.position = pchar.Torso.Position | |
1168 | floatBP.Parent = pchar.Torso | |
1169 | ||
1170 | flySpeed = flySpeed - 1 | |
1171 | if flySpeed < 0 then flySpeed = 0 end | |
1172 | end | |
1173 | ||
1174 | local camCF = cam.CoordinateFrame | |
1175 | local in_forward = canFly and forward or lastForward | |
1176 | local in_side = canFly and side or lastSide | |
1177 | ||
1178 | flyBV.velocity = ((camCF.lookVector * in_forward) + (camCF * CFrame.new(in_side, | |
1179 | in_forward * 0.2, 0).p) - camCF.p) * flySpeed | |
1180 | ||
1181 | turnBG.cframe = camCF * CFrame.Angles(-rad(forward * (flySpeed / MAX_FLY_SPEED)), 0, | |
1182 | 0) | |
1183 | end | |
1184 | ||
1185 | game:service'RunService'.RenderStepped:connect(function() | |
1186 | if flyToggled then | |
1187 | pchar.Humanoid.PlatformStand = true | |
1188 | end | |
1189 | updateFly() | |
1190 | end) | |
1191 | ---------------------------------------------------- | |
1192 | mouse.KeyDown:connect(function(key) | |
1193 | if key == "e" then | |
1194 | for i,v in pairs(game.Players:getPlayers()) do | |
1195 | if v.Name~=char.Name then | |
1196 | for j,k in pairs(v.Character:GetChildren()) do | |
1197 | if k:IsA("BasePart") and k.Transparency <= 1 then | |
1198 | Chakra=Instance.new("SelectionBox",cam) | |
1199 | Chakra.Color = BrickColor.new("Really blue") | |
1200 | Chakra.Transparency = .5 | |
1201 | Chakra.Adornee = k | |
1202 | end | |
1203 | end | |
1204 | end | |
1205 | end | |
1206 | end | |
1207 | end) | |
1208 | ---------------------------------------------------- | |
1209 | mouse.KeyUp:connect(function(key) | |
1210 | if key == "e" then | |
1211 | for i, v in pairs(cam:children()) do | |
1212 | if v:IsA("SelectionBox") then | |
1213 | v:Destroy() | |
1214 | end | |
1215 | end | |
1216 | end | |
1217 | end) | |
1218 | local plrs=game:service"Players" | |
1219 | local p=plrs.LocalPlayer | |
1220 | local lam=char["Left Arm"] | |
1221 | local ram=char["Right Arm"] | |
1222 | local llg=char["Left Leg"] | |
1223 | local rlg=char["Right Leg"] | |
1224 | local hed=char.Head | |
1225 | local tor=char.Torso | |
1226 | local Cn=CFrame.new | |
1227 | local CA=CFrame.Angles | |
1228 | local hrp=char.HumanoidRootPart | |
1229 | local mr=math.rad | |
1230 | local mc=math.cos | |
1231 | local Vn=Vector3.new | |
1232 | local wrk=game:service"Workspace" | |
1233 | local deb=game:service"Debris" | |
1234 | function nwWld(wp0,wp1,wc0) | |
1235 | wld = Instance.new("Weld",wp1) | |
1236 | wld.Part0=wp0 | |
1237 | wld.Part1=wp1 | |
1238 | wld.C0=wc0 | |
1239 | return wld | |
1240 | end | |
1241 | function FndHm(flnm) | |
1242 | for i,v in pairs(flnm:GetChildren()) do | |
1243 | if v:IsA("Humanoid") then | |
1244 | return v | |
1245 | end | |
1246 | end | |
1247 | end | |
1248 | local hum=FndHm(char) | |
1249 | function get(a) | |
1250 | local cont={} | |
1251 | for i,v in pairs(a:GetChildren()) do | |
1252 | if v==char then | |
1253 | else | |
1254 | table.insert(cont,v) | |
1255 | pcall(function() | |
1256 | for _,b in pairs(get(v)) do | |
1257 | table.insert(cont,b) | |
1258 | end | |
1259 | end) | |
1260 | end | |
1261 | end | |
1262 | return cont | |
1263 | end | |
1264 | ||
1265 | -- | |
1266 | function inT(qur,tbl) | |
1267 | local a=false | |
1268 | for i,v in pairs(tbl) do | |
1269 | if v==qur then | |
1270 | a=true | |
1271 | break | |
1272 | else | |
1273 | a=false | |
1274 | end | |
1275 | end | |
1276 | return a | |
1277 | end | |
1278 | function nwPrt(prnt,siz,cf,col) | |
1279 | local prt=Instance.new("Part") | |
1280 | prt.Parent=prnt | |
1281 | prt.FormFactor=3 | |
1282 | prt.Name="Part" | |
1283 | prt.Size=siz | |
1284 | prt.CanCollide=false | |
1285 | prt.Anchored=true | |
1286 | prt.Locked=true | |
1287 | prt.TopSurface=0 | |
1288 | prt.BottomSurface=0 | |
1289 | prt:BreakJoints() | |
1290 | prt.CFrame=cf or CFrame.new(30,10,30) | |
1291 | prt.Material="SmoothPlastic" | |
1292 | prt.BrickColor=BrickColor.new(col) | |
1293 | m=Instance.new("SpecialMesh",prt) | |
1294 | m.MeshType=6 | |
1295 | return prt | |
1296 | end | |
1297 | function newRay(start,face,range,wat) | |
1298 | local rey=Ray.new(start.p,(face.p-start.p).Unit*range) | |
1299 | hit,pos=Workspace:FindPartOnRayWithIgnoreList(rey,wat) | |
1300 | return rey,hit,pos | |
1301 | end | |
1302 | function ChakraBeam() | |
1303 | attack=true | |
1304 | local sine = 0 | |
1305 | local change = 1 | |
1306 | for i = 0,1,0.005 do | |
1307 | sine = sine + change | |
1308 | swait() | |
1309 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1310 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1311 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(-50),math.rad(0),math.rad(0)),.05) | |
1312 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(90),math.rad(0),math.rad(0)),.05) | |
1313 | PoleWeld.C0=clerp(PoleWeld.C0,cf(0,-1,-1)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1314 | SphereWeld.C1=clerp(SphereWeld.C1,cf(3,0-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1315 | Sphere2Weld.C1=clerp(Sphere2Weld.C1,cf(-3,0-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1316 | Sphere3Weld.C1=clerp(Sphere3Weld.C1,cf(-2,-2-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1317 | Sphere4Weld.C1=clerp(Sphere4Weld.C1,cf(2,-2-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1318 | Sphere5Weld.C1=clerp(Sphere5Weld.C1,cf(0,-4-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1319 | end | |
1320 | local int=0 | |
1321 | local cho=nwPrt(char,Vn(3,3,3),lam.CFrame*Cn(0,-0.7,0),"Really black") | |
1322 | cho.Transparency=0.2 | |
1323 | cho.Reflectance=0.1 | |
1324 | cho.Mesh.MeshType=3 | |
1325 | deb:AddItem(cho,20) | |
1326 | local lfx1=nwPrt(char,Vn(1,1,1),cho.CFrame,"Really black") | |
1327 | lfx1.Transparency=1 | |
1328 | lfx1.Mesh.MeshId="rbxassetid://9982590" | |
1329 | lfx1.Mesh.Scale=Vn(2,2,2) | |
1330 | deb:AddItem(lfx1,20) | |
1331 | local lfx2=nwPrt(char,Vn(1,1,1),cho.CFrame,"Really black") | |
1332 | lfx2.Transparency=1 | |
1333 | lfx2.Mesh.MeshType=3 | |
1334 | lfx2.Mesh.Scale=Vn(4,4,4) | |
1335 | deb:AddItem(lfx2,20) | |
1336 | local bem=nwPrt(wrk,Vn(0.2,cho.Size.X,cho.Size.X),cho.CFrame,"Really black") | |
1337 | bem.Name="Bem" | |
1338 | bem.Transparency=0.2 | |
1339 | bem.Reflectance=0.1 | |
1340 | bem.Mesh.MeshType=4 | |
1341 | deb:AddItem(bem,8) | |
1342 | local ent=0 | |
1343 | local unt=0 | |
1344 | local ant=0 | |
1345 | local ryt={bem} | |
1346 | for _,v in pairs(plrs:GetChildren()) do | |
1347 | pcall(function() | |
1348 | table.insert(ryt,v.Character) | |
1349 | end) | |
1350 | end | |
1351 | for i=1,300,4 do | |
1352 | ent=ent+1 | |
1353 | int=int+1 | |
1354 | unt=unt+1 | |
1355 | if ent==2 then | |
1356 | local htd={char,bem} | |
1357 | local function het(ofs) | |
1358 | con1=bem.Touched:connect(function(hit) Damagefunc(hit,10,20,math.random(20,40),"Normal",RootPart,.2,1) end) | |
1359 | local r1,h1,p1=newRay(bem.CFrame*ofs*Cn(-bem.Size.X/2,0,0),cho.CFrame,bem.Size.X+1,htd) | |
1360 | if h1~=nil and h1.Parent~=nil then | |
1361 | if h1.Parent:IsA("Model") then | |
1362 | pcall(function() | |
1363 | local ht=h1.Parent | |
1364 | FndHm(ht).Health=FndHm(ht).Health-4 | |
1365 | coroutine.wrap(function() | |
1366 | local bv=Instance.new("BodyVelocity",ht:FindFirstChild("Torso")) | |
1367 | bv.maxForce=Vn(math.huge,math.huge,math.huge) | |
1368 | local hrpasd=hrp.CFrame | |
1369 | bv.velocity=hrpasd.lookVector | |
1370 | wait(0.1) | |
1371 | bv:Destroy() | |
1372 | end)() | |
1373 | table.insert(htd,ht) | |
1374 | het(ofs) | |
1375 | end) | |
1376 | if FndHm(h1.Parent)==nil then | |
1377 | table.insert(htd,h1) | |
1378 | het(ofs) | |
1379 | end | |
1380 | end | |
1381 | end | |
1382 | end | |
1383 | het(Cn(0,1,0)) | |
1384 | het(Cn(0,0,1)) | |
1385 | het(Cn(0,-1,0)) | |
1386 | het(Cn(0,0,-1)) | |
1387 | ent=0 | |
1388 | end | |
1389 | if unt==8 then | |
1390 | local fx1=nwPrt(wrk,Vn(0.2,1,1),bem.CFrame*Cn(-bem.Size.X/2,0,0)*CA(0,0,mr(90)),"Really black") | |
1391 | fx1.Mesh.MeshId="rbxassetid://20329976" | |
1392 | fx1.Mesh.Scale=Vn(bem.Size.Y,bem.Size.Y,bem.Size.Y) | |
1393 | deb:AddItem(fx1,1) | |
1394 | fx1.Transparency=0.6 | |
1395 | table.insert(ryt,fx1) | |
1396 | local fx2=nwPrt(wrk,Vn(0.2,1,1),bem.CFrame*Cn(bem.Size.X/2,0,0)*CA(0,0,mr(90)),"Really black") | |
1397 | fx2.Mesh.MeshId="rbxassetid://20329976" | |
1398 | fx2.Mesh.Scale=Vn(bem.Size.Y,bem.Size.Y,bem.Size.Y) | |
1399 | deb:AddItem(fx2,1) | |
1400 | fx2.Transparency=0.6 | |
1401 | table.insert(ryt,fx2) | |
1402 | coroutine.wrap(function() | |
1403 | for i=0.8,1,0.02 do | |
1404 | fx1.Transparency=i | |
1405 | local fx1s=fx1.Mesh.Scale | |
1406 | fx1.Mesh.Scale=Vn(fx1s.X+0.2,fx1s.Y+0.2,fx1s.Z+0.2) | |
1407 | fx2.Transparency=i | |
1408 | local fx2s=fx2.Mesh.Scale | |
1409 | fx2.Mesh.Scale=Vn(fx2s.X+0.2,fx2s.Y+0.2,fx2s.Z+0.2) | |
1410 | wait() | |
1411 | end | |
1412 | fx1:Destroy() | |
1413 | fx2:Destroy() | |
1414 | end)() | |
1415 | unt=0 | |
1416 | end | |
1417 | local function chk() | |
1418 | local r2,h2,p2=newRay(bem.CFrame*Cn(-bem.Size.X/2,0,0),cho.CFrame,bem.Size.X,ryt) | |
1419 | if h2~=nil then | |
1420 | if h2.Parent~=nil then | |
1421 | if FndHm(h2.Parent)==nil then | |
1422 | bem.Size=Vn(((bem.CFrame*Cn(-bem.Size.X/2,0,0)).p-p2).magnitude,bem.Size.Y,bem.Size.Z) | |
1423 | if h2.Name=="Bem" and unt==7 then | |
1424 | local p1=nwPrt(bem,Vn(1,5,5),bem.CFrame*Cn(bem.Size.X/2-2,0,0)*CA(0,mr(90),0),"Bright blue") | |
1425 | p1.Anchored=true | |
1426 | p1.Transparency=0.6 | |
1427 | local m1=p1.Mesh | |
1428 | m1.MeshId="rbxassetid://3270017" | |
1429 | local p2=nwPrt(bem,Vn(1,5,5),bem.CFrame*Cn(bem.Size.X/2-2,0,0)*CA(0,mr(90),0),"Bright blue") | |
1430 | p2.Anchored=true | |
1431 | p2.Transparency=0.6 | |
1432 | local m2=p2.Mesh | |
1433 | m2.MeshId="rbxassetid://3270017" | |
1434 | m2.Scale=Vector3.new(0.1,0.1,0.1) | |
1435 | local p3=nwPrt(bem,Vn(1,5,5),bem.CFrame*Cn(bem.Size.X/2-2,0,0)*CA(0,mr(90),0),"Bright blue") | |
1436 | p3.Anchored=true | |
1437 | p3.Transparency=0.6 | |
1438 | local m3=p3.Mesh | |
1439 | m3.MeshId="rbxassetid://3270017" | |
1440 | m3.Scale=Vector3.new(2,2,2) | |
1441 | deb:AddItem(p1,5) | |
1442 | deb:AddItem(p2,5) | |
1443 | deb:AddItem(p3,5) | |
1444 | coroutine.wrap(function() | |
1445 | for i=1,200 do | |
1446 | m1.Scale=Vector3.new(m1.Scale.X+1,m1.Scale.Y+1,m1.Scale.Z+0.5) | |
1447 | m2.Scale=Vector3.new(m2.Scale.X+1.25,m2.Scale.Y+1.25,m2.Scale.Z+0.5) | |
1448 | m3.Scale=Vector3.new(m3.Scale.X+0.75,m3.Scale.Y+0.75,m3.Scale.Z+0.5) | |
1449 | p1.Transparency=p1.Transparency+0.03 | |
1450 | p2.Transparency=p2.Transparency+0.035 | |
1451 | p3.Transparency=p3.Transparency+0.025 | |
1452 | wait() | |
1453 | end | |
1454 | end)() | |
1455 | end | |
1456 | else | |
1457 | table.insert(ryt,h2.Parent) | |
1458 | chk() | |
1459 | end | |
1460 | end | |
1461 | else | |
1462 | bem.Size=Vn(bem.Size.X+4,bem.Size.Y,bem.Size.Z) | |
1463 | end | |
1464 | end | |
1465 | chk() | |
1466 | bem.CFrame=hrp.CFrame*Cn(-1.5,0.3,-1.2-bem.Size.X/2)*CA(0,mr(90),0) | |
1467 | lfx1.Mesh.Scale=Vn(2+(1*mc(int/18)),2+(1*mc(int/18)),2+(1*mc(int/18))) | |
1468 | lfx2.Mesh.Scale=Vn(4+(3*mc(int/18)),4+(3*mc(int/18)),4+(3*mc(int/18))) | |
1469 | lfx1.CFrame=cho.CFrame*CA(mr(10*mc(int/20)),mr(10*mc(int/20)),mr(10*mc(int/20))) | |
1470 | lfx2.CFrame=cho.CFrame*CA(mr(10*mc(int/18)),mr(10*mc(int/18)),mr(10*mc(int/18))) | |
1471 | wait() | |
1472 | end | |
1473 | pcall(function() | |
1474 | bem:Destroy() | |
1475 | cho:Destroy() | |
1476 | lfx1:Destroy() | |
1477 | lfx2:Destroy() | |
1478 | end) | |
1479 | attack=false | |
1480 | con1:disconnect() | |
1481 | end | |
1482 | function fadein(part) | |
1483 | part.Transparency=1 | |
1484 | for i=1,100 do | |
1485 | wait() | |
1486 | part.Transparency = part.Transparency - 0.01 | |
1487 | end | |
1488 | end | |
1489 | ||
1490 | function ChakraBall() | |
1491 | attack=true | |
1492 | local sine = 0 | |
1493 | local change = 1 | |
1494 | for i = 0,1,0.005 do | |
1495 | sine = sine + change | |
1496 | swait() | |
1497 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1498 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1499 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(-50),math.rad(0),math.rad(0)),.05) | |
1500 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(90),math.rad(0),math.rad(0)),.05) | |
1501 | PoleWeld.C0=clerp(PoleWeld.C0,cf(0,-1,-1)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1502 | SphereWeld.C1=clerp(SphereWeld.C1,cf(3,0-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1503 | Sphere2Weld.C1=clerp(Sphere2Weld.C1,cf(-3,0-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1504 | Sphere3Weld.C1=clerp(Sphere3Weld.C1,cf(-2,-2-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1505 | Sphere4Weld.C1=clerp(Sphere4Weld.C1,cf(2,-2-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1506 | Sphere5Weld.C1=clerp(Sphere5Weld.C1,cf(0,-4-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1507 | end | |
1508 | FireBall=Instance.new('Part',Workspace) | |
1509 | FireBall.Size=Vector3.new(3,3,3) | |
1510 | FireBall.BrickColor=BrickColor.new("Really black") | |
1511 | FireBall.CanCollide = True | |
1512 | FireBall.TopSurface = "Smooth" | |
1513 | FireBall.BottomSurface = "Smooth" | |
1514 | FireBall.Position=torso.Position+torso.CFrame.lookVector*20 | |
1515 | FireBall.Transparency = 0 | |
1516 | FireBall.Reflectance = 0.3 | |
1517 | FireBall:BreakJoints() | |
1518 | FireBallMesh = Instance.new("SpecialMesh", FireBall) | |
1519 | FireBallMesh.MeshType = "Sphere" | |
1520 | FireBallMesh.Scale = Vector3.new(1,1,1) | |
1521 | Shooter = Instance.new('BodyVelocity',FireBall) | |
1522 | Shooter.maxForce = Vector3.new()*math.huge | |
1523 | Shooter.velocity = torso.CFrame.lookVector*100 | |
1524 | con1=FireBall.Touched:connect(function(hit) Damagefunc(hit,10,20,math.random(20,40),"Normal",RootPart,.2,1) end) | |
1525 | wait(5) | |
1526 | FireBall:Destroy() | |
1527 | con1:disconnect() | |
1528 | attack=false | |
1529 | end | |
1530 | function InfiniteTsukyomi() | |
1531 | attack = true | |
1532 | for i = 0,1,0.005 do | |
1533 | swait() | |
1534 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,100)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1535 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1536 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(90),math.rad(0),math.rad(-50)),.05) | |
1537 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(90),math.rad(0),math.rad(50)),.05) | |
1538 | PoleWeld.C0=clerp(PoleWeld.C0,cf(0,10,0)*angles(math.rad(20),math.rad(100),math.rad(40)),.05) | |
1539 | end | |
1540 | Head.face.Texture = "http://www.roblox.com/asset?id=159181532" | |
1541 | game.Lighting.TimeOfDay = "07:00:00" | |
1542 | game.Lighting.Ambient = Color3.new(0,0,0) | |
1543 | sky = Instance.new("Sky") | |
1544 | sky.Parent = game.Lighting | |
1545 | sky.SkyboxBk = "http://www.roblox.com/asset/?id=22079760" | |
1546 | sky.SkyboxDn = "http://www.roblox.com/asset/?id=22079760" | |
1547 | sky.SkyboxFt = "http://www.roblox.com/asset/?id=22079760" | |
1548 | sky.SkyboxLf = "http://www.roblox.com/asset/?id=22079760" | |
1549 | sky.SkyboxRt = "http://www.roblox.com/asset/?id=22079760" | |
1550 | sky.SkyboxUp = "http://www.roblox.com/asset/?id=22079760" | |
1551 | attack=false | |
1552 | end | |
1553 | ||
1554 | attacktype=1 | |
1555 | mouse.Button1Down:connect(function() | |
1556 | if attacktype == 1 then | |
1557 | print("You can't attack with your staff yet!") | |
1558 | end | |
1559 | end) | |
1560 | ||
1561 | colours = {"Tr. Red","Black","Tr. Blue","Black","Phosph. White","Royal purple"} | |
1562 | mouse.KeyDown:connect(function(k) | |
1563 | k:lower() | |
1564 | if k=="r" and attack == false then | |
1565 | ChakraBeam() | |
1566 | end | |
1567 | if k=="q" and attack == false then | |
1568 | ChakraBall() | |
1569 | end | |
1570 | if k=="p" and attack == false then | |
1571 | InfiniteTsukyomi() | |
1572 | end | |
1573 | if k==" " and attack == false then | |
1574 | Humanoid.Jump = false | |
1575 | Torso.Velocity = Vector3.new(0,100,0) | |
1576 | end | |
1577 | end) | |
1578 | function Tween(a,b,c) | |
1579 | return a+(b-a)*c | |
1580 | end | |
1581 | ||
1582 | -- | |
1583 | function Avg(a,b) | |
1584 | return CFrame.new((a.X+b.X)/2,(a.Y+b.Y)/2,(a.Z+b.Z)/2) | |
1585 | end | |
1586 | ||
1587 | -- | |
1588 | function Lerp(c1,c2,tim) | |
1589 | local com1={c1.C0.X,c1.C0.Y,c1.C0.Z,c1.C0:toEulerAnglesXYZ()} | |
1590 | local com2={c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()} | |
1591 | for i,v in pairs(com1) do | |
1592 | com1[i]=v+(com2[i]-v)*tim | |
1593 | end | |
1594 | return Cn(com1[1],com1[2],com1[3])*CA(select(4,unpack(com1))) | |
1595 | end | |
1596 | hld=false | |
1597 | mouse.KeyDown:connect(function(key) | |
1598 | key:lower() | |
1599 | if key == "t" and attack == false then | |
1600 | attack = true | |
1601 | hld=true | |
1602 | for i = 0,1,0.005 do | |
1603 | swait() | |
1604 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.03) | |
1605 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.03) | |
1606 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(90),math.rad(0),math.rad(-50)),.03) | |
1607 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(90),math.rad(0),math.rad(50)),.03) | |
1608 | PoleWeld.C0=clerp(PoleWeld.C0,cf(10,0,0)*angles(math.rad(100),math.rad(10),math.rad(40)),.03) | |
1609 | end | |
1610 | local cho=nwPrt(char,Vn(1,1,1),ram.CFrame*Cn(0,-0.7,0),"Really black") | |
1611 | cho.Transparency=0.2 | |
1612 | cho.Reflectance=0.1 | |
1613 | cho.Mesh.MeshType=3 | |
1614 | deb:AddItem(cho,20) | |
1615 | local lfx1=nwPrt(char,Vn(1,1,1),cho.CFrame,"Really black") | |
1616 | lfx1.Transparency=0.985 | |
1617 | lfx1.Mesh.MeshId="rbxassetid://9982590" | |
1618 | lfx1.Mesh.Scale=Vn(2,2,2) | |
1619 | deb:AddItem(lfx1,20) | |
1620 | local lfx2=nwPrt(char,Vn(1,1,1),cho.CFrame,"Really black") | |
1621 | lfx2.Transparency=0.9 | |
1622 | lfx2.Mesh.MeshType=3 | |
1623 | lfx2.Mesh.Scale=Vn(4,4,4) | |
1624 | deb:AddItem(lfx2,20) | |
1625 | local int=0 | |
1626 | while hld==true do | |
1627 | int=int+1 | |
1628 | if cho.Size.X<30 then | |
1629 | local chs=cho.Size | |
1630 | cho.Size=Vn(chs.X+0.01,chs.Y+0.01,chs.Z+0.01) | |
1631 | cho.CFrame=ram.CFrame*Cn(0,-1.4,0) | |
1632 | else | |
1633 | cho.CFrame=ram.CFrame*Cn(0,-1.4,0) | |
1634 | end | |
1635 | cho.Mesh.Scale=Vn(1+(0.05*mc(int/6)),1+(0.05*mc(int/6)),1+(0.05*mc(int/6))) | |
1636 | lfx1.Mesh.Scale=Vn(2+(1*mc(int/18)),2+(1*mc(int/18)),2+(1*mc(int/18))) | |
1637 | lfx2.Mesh.Scale=Vn(4+(3*mc(int/18)),4+(3*mc(int/18)),4+(3*mc(int/18))) | |
1638 | lfx1.CFrame=cho.CFrame*CA(mr(10*mc(int/20)),mr(10*mc(int/20)),mr(10*mc(int/20))) | |
1639 | lfx2.CFrame=cho.CFrame*CA(mr(10*mc(int/18)),mr(10*mc(int/18)),mr(10*mc(int/18))) | |
1640 | if int>300 then | |
1641 | hld=false | |
1642 | end | |
1643 | wait() | |
1644 | end | |
1645 | for i=1,6 do | |
1646 | int=int+1 | |
1647 | cho.CFrame=ram.CFrame*Cn(-0.2,-1.4,0) | |
1648 | lfx1.Mesh.Scale=Vn(2+(1*mc(int/18)),2+(1*mc(int/18)),2+(1*mc(int/18))) | |
1649 | lfx2.Mesh.Scale=Vn(4+(3*mc(int/18)),4+(3*mc(int/18)),4+(3*mc(int/18))) | |
1650 | lfx1.CFrame=cho.CFrame*CA(mr(10*mc(int/20)),mr(10*mc(int/20)),mr(10*mc(int/20))) | |
1651 | lfx2.CFrame=cho.CFrame | |
1652 | wait() | |
1653 | end | |
1654 | local bem=nwPrt(wrk,Vn(0.2,cho.Size.X,cho.Size.X),hrp.CFrame*Cn(0,0.3,-1.4)*CA(0,mr(90),0),"Really black") | |
1655 | bem.Name="Bem" | |
1656 | bem.Transparency=0.2 | |
1657 | bem.Reflectance=0.1 | |
1658 | bem.Mesh.MeshType=4 | |
1659 | deb:AddItem(bem,8) | |
1660 | local ent=0 | |
1661 | local unt=0 | |
1662 | local ant=0 | |
1663 | local ryt={bem} | |
1664 | for _,v in pairs(plrs:GetChildren()) do | |
1665 | pcall(function() | |
1666 | table.insert(ryt,v.Character) | |
1667 | end) | |
1668 | end | |
1669 | for i=1,850,4 do | |
1670 | ent=ent+1 | |
1671 | int=int+1 | |
1672 | unt=unt+1 | |
1673 | if ent==2 then | |
1674 | local htd={char,bem}--This is the table | |
1675 | local function het(ofs) | |
1676 | local r1,h1,p1=newRay(bem.CFrame*ofs*Cn(-bem.Size.X/2,0,0),bem.CFrame*ofs*Cn(1,0,0),bem.Size.X+1,htd)--The end variable is the table | |
1677 | if h1~=nil and h1.Parent~=nil then | |
1678 | if h1.Parent:IsA("Model") then | |
1679 | pcall(function() | |
1680 | local ht=h1.Parent | |
1681 | FndHm(ht).Health=FndHm(ht).Health-(cho.Size.X) | |
1682 | coroutine.wrap(function() | |
1683 | local bv=Instance.new("BodyVelocity",ht:FindFirstChild("Torso")) | |
1684 | bv.maxForce=Vn(math.huge,math.huge,math.huge) | |
1685 | local hrpasd=hrp.CFrame | |
1686 | bv.velocity=hrpasd.lookVector * 100 | |
1687 | wait(0.1) | |
1688 | bv:Destroy() | |
1689 | end)() | |
1690 | table.insert(htd,ht) | |
1691 | het(ofs) | |
1692 | end) | |
1693 | if FndHm(h1.Parent)==nil then | |
1694 | table.insert(htd,h1) | |
1695 | het(ofs) | |
1696 | end | |
1697 | end | |
1698 | end | |
1699 | end | |
1700 | het(Cn(0,1,0)) | |
1701 | het(Cn(0,0,1)) | |
1702 | het(Cn(0,-1,0)) | |
1703 | het(Cn(0,0,-1)) | |
1704 | ent=0 | |
1705 | end | |
1706 | if unt==44 then | |
1707 | local fx1=nwPrt(wrk,Vn(0.2,1,1),bem.CFrame*Cn(-bem.Size.X/2,0,0)*CA(0,0,mr(90)),"Really black") | |
1708 | fx1.Mesh.MeshId="rbxassetid://20329976" | |
1709 | fx1.Mesh.Scale=Vn(bem.Size.Y,bem.Size.Y,bem.Size.Y) | |
1710 | deb:AddItem(fx1,1) | |
1711 | fx1.Transparency=0.6 | |
1712 | table.insert(ryt,fx1) | |
1713 | local fx2=nwPrt(wrk,Vn(0.2,1,1),bem.CFrame*Cn(bem.Size.X/2,0,0)*CA(0,0,mr(90)),"Really black") | |
1714 | fx2.Mesh.MeshId="rbxassetid://20329976" | |
1715 | fx2.Mesh.Scale=Vn(bem.Size.Y,bem.Size.Y,bem.Size.Y) | |
1716 | deb:AddItem(fx2,1) | |
1717 | fx2.Transparency=0.6 | |
1718 | table.insert(ryt,fx2) | |
1719 | coroutine.wrap(function() | |
1720 | for i=0.8,1,0.02 do | |
1721 | fx1.Transparency=i | |
1722 | local fx1s=fx1.Mesh.Scale | |
1723 | fx1.Mesh.Scale=Vn(fx1s.X+0.2,fx1s.Y+0.2,fx1s.Z+0.2) | |
1724 | fx2.Transparency=i | |
1725 | local fx2s=fx2.Mesh.Scale | |
1726 | fx2.Mesh.Scale=Vn(fx2s.X+0.2,fx2s.Y+0.2,fx2s.Z+0.2) | |
1727 | wait() | |
1728 | end | |
1729 | fx1:Destroy() | |
1730 | fx2:Destroy() | |
1731 | end)() | |
1732 | unt=0 | |
1733 | end | |
1734 | local function chk() | |
1735 | local r2,h2,p2=newRay(bem.CFrame*Cn(-bem.Size.X/2,0,0),bem.CFrame*Cn(1,0,0),bem.Size.X,ryt) | |
1736 | if h2~=nil then | |
1737 | if h2.Parent~=nil then | |
1738 | if FndHm(h2.Parent)==nil then | |
1739 | bem.Size=Vn(((bem.CFrame*Cn(-bem.Size.X/2,0,0)).p-p2).magnitude,bem.Size.Y,bem.Size.Z) | |
1740 | if h2.Name=="Bem" and unt==7 then | |
1741 | local p1=nwPrt(bem,Vn(1,5,5),bem.CFrame*Cn(bem.Size.X/2-2,0,0)*CA(0,mr(90),0),"Really black") | |
1742 | p1.Anchored=true | |
1743 | p1.Transparency=0.6 | |
1744 | local m1=p1.Mesh | |
1745 | m1.MeshId="rbxassetid://3270017" | |
1746 | local p2=nwPrt(bem,Vn(1,5,5),bem.CFrame*Cn(bem.Size.X/2-2,0,0)*CA(0,mr(90),0),"Really black") | |
1747 | p2.Anchored=true | |
1748 | p2.Transparency=0.6 | |
1749 | local m2=p2.Mesh | |
1750 | m2.MeshId="rbxassetid://3270017" | |
1751 | m2.Scale=Vector3.new(0.1,0.1,0.1) | |
1752 | local p3=nwPrt(bem,Vn(1,5,5),bem.CFrame*Cn(bem.Size.X/2-2,0,0)*CA(0,mr(90),0),"Really black") | |
1753 | p3.Anchored=true | |
1754 | p3.Transparency=0.6 | |
1755 | local m3=p3.Mesh | |
1756 | m3.MeshId="rbxassetid://3270017" | |
1757 | m3.Scale=Vector3.new(2,2,2) | |
1758 | deb:AddItem(p1,5) | |
1759 | deb:AddItem(p2,5) | |
1760 | deb:AddItem(p3,5) | |
1761 | coroutine.wrap(function() | |
1762 | for i=1,200 do | |
1763 | m1.Scale=Vector3.new(m1.Scale.X+1,m1.Scale.Y+1,m1.Scale.Z+0.5) | |
1764 | m2.Scale=Vector3.new(m2.Scale.X+1.25,m2.Scale.Y+1.25,m2.Scale.Z+0.5) | |
1765 | m3.Scale=Vector3.new(m3.Scale.X+0.75,m3.Scale.Y+0.75,m3.Scale.Z+0.5) | |
1766 | p1.Transparency=p1.Transparency+0.03 | |
1767 | p2.Transparency=p2.Transparency+0.035 | |
1768 | p3.Transparency=p3.Transparency+0.025 | |
1769 | wait() | |
1770 | end | |
1771 | end)() | |
1772 | end | |
1773 | else | |
1774 | table.insert(ryt,h2.Parent) | |
1775 | chk() | |
1776 | end | |
1777 | end | |
1778 | else | |
1779 | bem.Size=Vn(bem.Size.X+4,bem.Size.Y,bem.Size.Z) | |
1780 | end | |
1781 | end | |
1782 | chk() | |
1783 | bem.CFrame=hrp.CFrame*Cn(0,0.3,-1.2-bem.Size.X/2)*CA(0,mr(90),0) | |
1784 | lfx1.Mesh.Scale=Vn(2+(1*mc(int/18)),2+(1*mc(int/18)),2+(1*mc(int/18))) | |
1785 | lfx2.Mesh.Scale=Vn(4+(3*mc(int/18)),4+(3*mc(int/18)),4+(3*mc(int/18))) | |
1786 | lfx1.CFrame=cho.CFrame*CA(mr(10*mc(int/20)),mr(10*mc(int/20)),mr(10*mc(int/20))) | |
1787 | lfx2.CFrame=cho.CFrame*CA(mr(10*mc(int/18)),mr(10*mc(int/18)),mr(10*mc(int/18))) | |
1788 | wait() | |
1789 | end | |
1790 | pcall(function() | |
1791 | bem:Destroy() | |
1792 | cho:Destroy() | |
1793 | lfx1:Destroy() | |
1794 | lfx2:Destroy() | |
1795 | end) | |
1796 | attack=false | |
1797 | end | |
1798 | end) | |
1799 | mouse.KeyUp:connect(function(key) | |
1800 | key:lower() | |
1801 | if key == "t" then | |
1802 | hld=false | |
1803 | end | |
1804 | end) | |
1805 | mouse.KeyDown:connect(function(key) | |
1806 | key:lower() | |
1807 | if key:byte() == 48 then | |
1808 | Humanoid.WalkSpeed=70 | |
1809 | end | |
1810 | end) | |
1811 | mouse.KeyUp:connect(function(key) | |
1812 | key:lower() | |
1813 | if key:byte() == 48 then | |
1814 | Humanoid.WalkSpeed=6 | |
1815 | end | |
1816 | end) | |
1817 | ||
1818 | Humanoid.WalkSpeed=6 | |
1819 | local sine = 0 | |
1820 | local change = 1 | |
1821 | local val = 0 | |
1822 | --game:GetService("RunService").Heartbeat:connect(function() | |
1823 | while true do | |
1824 | swait() | |
1825 | sine = sine + change | |
1826 | local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude | |
1827 | local velderp=RootPart.Velocity.y | |
1828 | hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,4,Character) | |
1829 | if equipped==true or equipped==false then | |
1830 | if attack==false then | |
1831 | idle=idle+1 | |
1832 | else | |
1833 | idle=0 | |
1834 | end | |
1835 | if idle>=500 then | |
1836 | if attack==false then | |
1837 | --Sheath() | |
1838 | end | |
1839 | end | |
1840 | if RootPart.Velocity.y > 1 and hitfloor==nil then | |
1841 | Anim="Jump" | |
1842 | if attack==false then | |
1843 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),.3) | |
1844 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-20),math.rad(0),math.rad(0)),.3) | |
1845 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(-50),math.rad(-100),math.rad(30)),.3) | |
1846 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(-50),math.rad(100),math.rad(-30)),.3) | |
1847 | lleg.Weld.C0=clerp(lleg.Weld.C0,cf(-0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1848 | rleg.Weld.C0=clerp(rleg.Weld.C0,cf(0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1849 | PoleWeld.C0 =clerp(PoleWeld.C0,CFrame.new(0,-1,-0.65)*CFrame.Angles(math.rad(-90),math.rad(90),0),.05) | |
1850 | end | |
1851 | elseif RootPart.Velocity.y < -1 and hitfloor==nil then | |
1852 | Anim="Fall" | |
1853 | if attack==false then | |
1854 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),.3) | |
1855 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-10),math.rad(0),math.rad(0)),.3) | |
1856 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(-50),math.rad(-100),math.rad(30)),.3) | |
1857 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(-50),math.rad(100),math.rad(-30)),.3) | |
1858 | lleg.Weld.C0=clerp(lleg.Weld.C0,cf(-0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1859 | rleg.Weld.C0=clerp(rleg.Weld.C0,cf(0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1860 | PoleWeld.C0 =clerp(PoleWeld.C0,CFrame.new(0,-1,-0.65)*CFrame.Angles(math.rad(-90),math.rad(90),0),.05) | |
1861 | end | |
1862 | elseif torvel<1 and hitfloor~=nil then | |
1863 | Anim="Idle" | |
1864 | if attack==false then | |
1865 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,1-0.14*math.cos(sine/14))*angles(math.rad(0),math.rad(0),math.rad(20)),.05) | |
1866 | SphereWeld.C1=clerp(SphereWeld.C1,cf(3,0-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1867 | Sphere2Weld.C1=clerp(Sphere2Weld.C1,cf(-3,0-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1868 | Sphere3Weld.C1=clerp(Sphere3Weld.C1,cf(-2,-2-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1869 | Sphere4Weld.C1=clerp(Sphere4Weld.C1,cf(2,-2-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1870 | Sphere5Weld.C1=clerp(Sphere5Weld.C1,cf(0,-4-0.14*math.cos(-sine/14),0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1871 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(-20)),.05) | |
1872 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(90),math.rad(0),math.rad(20)),.05) | |
1873 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(-10),math.rad(0),math.rad(-10)),.05) | |
1874 | lleg.Weld.C0=clerp(lleg.Weld.C0,cf(-0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1875 | rleg.Weld.C0=clerp(rleg.Weld.C0,cf(0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1876 | PoleWeld.C0 =clerp(PoleWeld.C0,CFrame.new(0,-1,-0.65)*CFrame.Angles(math.rad(-90),math.rad(90),0),.05) | |
1877 | end | |
1878 | elseif torvel>2 and torvel<22 and hitfloor~=nil then | |
1879 | Anim="Walk" | |
1880 | if attack==false then | |
1881 | change=3 | |
1882 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,1-0.14*math.cos(sine/14))*angles(math.rad(0),math.rad(0),math.rad(0)),.05) | |
1883 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(10),math.rad(0),math.rad(0)),.3) | |
1884 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(-20),math.rad(0),math.rad(10)),.3) | |
1885 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(-20),math.rad(0),math.rad(-10)),.3) | |
1886 | lleg.Weld.C0=clerp(lleg.Weld.C0,cf(-0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1887 | rleg.Weld.C0=clerp(rleg.Weld.C0,cf(0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1888 | PoleWeld.C0 =clerp(PoleWeld.C0,CFrame.new(0,-1,-0.65)*CFrame.Angles(math.rad(-90),math.rad(90),0),.05) | |
1889 | end | |
1890 | elseif torvel>=22 and hitfloor~=nil then | |
1891 | Anim="Run" | |
1892 | if attack==false then | |
1893 | change=5 | |
1894 | RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,1-0.14*math.cos(sine/14))*angles(math.rad(20),math.rad(0),math.rad(0)),.3) | |
1895 | Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-10),math.rad(0),math.rad(0)),.3) | |
1896 | RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(math.rad(-20),math.rad(-100),math.rad(30)),.3) | |
1897 | LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(math.rad(-20),math.rad(100),math.rad(-30)),.3) | |
1898 | lleg.Weld.C0=clerp(lleg.Weld.C0,cf(-0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1899 | rleg.Weld.C0=clerp(rleg.Weld.C0,cf(0.5,-1,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3) | |
1900 | PoleWeld.C0 =clerp(PoleWeld.C0,CFrame.new(0,-1,-0.65)*CFrame.Angles(math.rad(-90),math.rad(90),0),.05) | |
1901 | end | |
1902 | end | |
1903 | end | |
1904 | end | |
1905 | --end) |