SHOW:
|
|
- or go back to the newest paste.
1 | local Player = game.Players.localPlayer | |
2 | local Character = Player.Character | |
3 | local red = 255 | |
4 | local green = 255 | |
5 | local blue = 255 | |
6 | local Humanoid = Character.Humanoid | |
7 | local mouse = Player:GetMouse() | |
8 | local m = Instance.new("Model", Character) | |
9 | m.Name = "WeaponModel" | |
10 | local LeftArm = Character["Left Arm"] | |
11 | local RightArm = Character["Right Arm"] | |
12 | local LeftLeg = Character["Left Leg"] | |
13 | local RightLeg = Character["Right Leg"] | |
14 | local Head = Character.Head | |
15 | local Torso = Character.Torso | |
16 | local cam = game.Workspace.CurrentCamera | |
17 | local RootPart = Character.HumanoidRootPart | |
18 | local RootJoint = RootPart.RootJoint | |
19 | local equipped = false | |
20 | local attack = false | |
21 | local Anim = "Idle" | |
22 | local idle = 0 | |
23 | local attacktype = 1 | |
24 | local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
25 | local velocity = RootPart.Velocity.y | |
26 | local sine = 0 | |
27 | local change = 1 | |
28 | local grabbed = false | |
29 | local cn = CFrame.new | |
30 | local mr = math.rad | |
31 | local angles = CFrame.Angles | |
32 | local ud = UDim2.new | |
33 | local c3 = Color3.new | |
34 | local lim = 0 | |
35 | local st = 0 | |
36 | local necko = cn(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
37 | local attacktype = 1 | |
38 | local ZTarget, RocketTarget = nil, nil | |
39 | local euler = CFrame.fromEulerAnglesXYZ | |
40 | function clerp(a,b,t) | |
41 | local qa = {QuaternionFromCFrame(a)} | |
42 | local qb = {QuaternionFromCFrame(b)} | |
43 | local ax, ay, az = a.x, a.y, a.z | |
44 | local bx, by, bz = b.x, b.y, b.z | |
45 | local _t = 1-t | |
46 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) | |
47 | end | |
48 | ||
49 | function QuaternionFromCFrame(cf) | |
50 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
51 | local trace = m00 + m11 + m22 | |
52 | if trace > 0 then | |
53 | local s = math.sqrt(1 + trace) | |
54 | local recip = 0.5/s | |
55 | return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 | |
56 | else | |
57 | local i = 0 | |
58 | if m11 > m00 then | |
59 | i = 1 | |
60 | end | |
61 | if m22 > (i == 0 and m00 or m11) then | |
62 | i = 2 | |
63 | end | |
64 | if i == 0 then | |
65 | local s = math.sqrt(m00-m11-m22+1) | |
66 | local recip = 0.5/s | |
67 | return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip | |
68 | elseif i == 1 then | |
69 | local s = math.sqrt(m11-m22-m00+1) | |
70 | local recip = 0.5/s | |
71 | return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip | |
72 | elseif i == 2 then | |
73 | local s = math.sqrt(m22-m00-m11+1) | |
74 | local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip | |
75 | end | |
76 | end | |
77 | end | |
78 | ||
79 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
80 | local xs, ys, zs = x + x, y + y, z + z | |
81 | local wx, wy, wz = w*xs, w*ys, w*zs | |
82 | local xx = x*xs | |
83 | local xy = x*ys | |
84 | local xz = x*zs | |
85 | local yy = y*ys | |
86 | local yz = y*zs | |
87 | local zz = z*zs | |
88 | 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)) | |
89 | end | |
90 | ||
91 | function QuaternionSlerp(a, b, t) | |
92 | local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] | |
93 | local startInterp, finishInterp; | |
94 | if cosTheta >= 0.0001 then | |
95 | if (1 - cosTheta) > 0.0001 then | |
96 | local theta = math.acos(cosTheta) | |
97 | local invSinTheta = 1/math.sin(theta) | |
98 | startInterp = math.sin((1-t)*theta)*invSinTheta | |
99 | finishInterp = math.sin(t*theta)*invSinTheta | |
100 | else | |
101 | startInterp = 1-t | |
102 | finishInterp = t | |
103 | end | |
104 | else | |
105 | if (1+cosTheta) > 0.0001 then | |
106 | local theta = math.acos(-cosTheta) | |
107 | local invSinTheta = 1/math.sin(theta) | |
108 | startInterp = math.sin((t-1)*theta)*invSinTheta | |
109 | finishInterp = math.sin(t*theta)*invSinTheta | |
110 | else | |
111 | startInterp = t-1 | |
112 | finishInterp = t | |
113 | end | |
114 | end | |
115 | 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 | |
116 | end | |
117 | rayCast = function(Position, Direction, Range, Ignore) | |
118 | return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) | |
119 | end | |
120 | local v = game.Players.localPlayer | |
121 | local torso = v.Character.Torso | |
122 | wait(1) | |
123 | local p = Instance.new("Part", v.Character) | |
124 | p.Name = "kit" | |
125 | p.Anchored = true | |
126 | p.Transparency = 0 | |
127 | p.Material = "Plastic" | |
128 | p.CanCollide = false | |
129 | p.TopSurface = 0 | |
130 | p.BottomSurface = 0 | |
131 | p.Size = Vector3.new(0.2, 0.2, 0.2) | |
132 | p.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
133 | local msh = Instance.new("SpecialMesh", p) | |
134 | msh.Scale = Vector3.new(-2, 2, 2) | |
135 | msh.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
136 | msh.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
137 | msh.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
138 | local pn = Instance.new("Part", v.Character.kit) | |
139 | pn.Name = "tail" | |
140 | pn.Anchored = true | |
141 | pn.Transparency = 0 | |
142 | pn.Material = "Plastic" | |
143 | pn.CanCollide = false | |
144 | pn.TopSurface = 0 | |
145 | pn.BottomSurface = 0 | |
146 | pn.Size = Vector3.new(5, 3, 3) | |
147 | pn.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
148 | local mshn = Instance.new("SpecialMesh", pn) | |
149 | mshn.Scale = Vector3.new(2, 2, 2) | |
150 | mshn.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
151 | mshn.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
152 | mshn.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
153 | local pn3 = Instance.new("Part", v.Character.kit) | |
154 | pn3.Name = "tail" | |
155 | pn3.Anchored = true | |
156 | pn3.Transparency = 0 | |
157 | pn3.Material = "Plastic" | |
158 | pn3.CanCollide = false | |
159 | pn3.TopSurface = 0 | |
160 | pn3.BottomSurface = 0 | |
161 | pn3.Size = Vector3.new(0.2, 0.2, 0.2) | |
162 | pn3.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
163 | local mshn3 = Instance.new("SpecialMesh", pn3) | |
164 | mshn3.Scale = Vector3.new(2, 2, 2) | |
165 | mshn3.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
166 | mshn3.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
167 | mshn3.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
168 | local pn4 = Instance.new("Part", v.Character.kit) | |
169 | pn4.Name = "tail" | |
170 | pn4.Anchored = true | |
171 | pn4.Transparency = 0 | |
172 | pn4.Material = "Plastic" | |
173 | pn4.CanCollide = false | |
174 | pn4.TopSurface = 0 | |
175 | pn4.BottomSurface = 0 | |
176 | pn4.Size = Vector3.new(0.2, 0.2, 0.2) | |
177 | pn4.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
178 | local mshn4 = Instance.new("SpecialMesh", pn4) | |
179 | mshn4.Scale = Vector3.new(-2, 2, 2) | |
180 | mshn4.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
181 | mshn4.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
182 | mshn4.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
183 | local pn5 = Instance.new("Part", v.Character.kit) | |
184 | pn5.Name = "tail" | |
185 | pn5.Anchored = true | |
186 | pn5.Transparency = 0 | |
187 | pn5.Material = "Plastic" | |
188 | pn5.CanCollide = false | |
189 | pn5.TopSurface = 0 | |
190 | pn5.BottomSurface = 0 | |
191 | pn5.Size = Vector3.new(0.2, 0.2, 0.2) | |
192 | pn5.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
193 | local mshn5 = Instance.new("SpecialMesh", pn5) | |
194 | mshn5.Scale = Vector3.new(2, 2, 2) | |
195 | mshn5.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
196 | mshn5.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
197 | mshn5.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
198 | local pn6 = Instance.new("Part", v.Character.kit) | |
199 | pn6.Name = "tail" | |
200 | pn6.Anchored = true | |
201 | pn6.Transparency = 0 | |
202 | pn6.Material = "Plastic" | |
203 | pn6.CanCollide = false | |
204 | pn6.TopSurface = 0 | |
205 | pn6.BottomSurface = 0 | |
206 | pn6.Size = Vector3.new(0.2, 0.2, 0.2) | |
207 | pn6.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
208 | local mshn6 = Instance.new("SpecialMesh", pn6) | |
209 | mshn6.Scale = Vector3.new(2, 2, 2) | |
210 | mshn6.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
211 | mshn6.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
212 | mshn6.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
213 | local pn7 = Instance.new("Part", v.Character.kit) | |
214 | pn7.Name = "tail" | |
215 | pn7.Anchored = true | |
216 | pn7.Transparency = 0 | |
217 | pn7.Material = "Plastic" | |
218 | pn7.CanCollide = false | |
219 | pn7.TopSurface = 0 | |
220 | pn7.BottomSurface = 0 | |
221 | pn7.Size = Vector3.new(0.2, 0.2, 0.2) | |
222 | pn7.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
223 | local mshn7 = Instance.new("SpecialMesh", pn7) | |
224 | mshn7.Scale = Vector3.new(2, 2, 2) | |
225 | mshn7.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
226 | mshn7.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
227 | mshn7.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
228 | local pn8 = Instance.new("Part", v.Character.kit) | |
229 | pn8.Name = "tail" | |
230 | pn8.Anchored = true | |
231 | pn8.Transparency = 0 | |
232 | pn8.Material = "Plastic" | |
233 | pn8.CanCollide = false | |
234 | pn8.TopSurface = 0 | |
235 | pn8.BottomSurface = 0 | |
236 | pn8.Size = Vector3.new(0.2, 0.2, 0.2) | |
237 | pn8.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
238 | local mshn8 = Instance.new("SpecialMesh", pn8) | |
239 | mshn8.Scale = Vector3.new(-2, 2, 2) | |
240 | mshn8.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
241 | mshn8.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
242 | mshn8.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
243 | local pn9 = Instance.new("Part", v.Character.kit) | |
244 | pn9.Name = "tail" | |
245 | pn9.Anchored = true | |
246 | pn9.Transparency = 0 | |
247 | pn9.Material = "Plastic" | |
248 | pn9.CanCollide = false | |
249 | pn9.TopSurface = 0 | |
250 | pn9.BottomSurface = 0 | |
251 | pn9.Size = Vector3.new(0.2, 0.2, 0.2) | |
252 | pn9.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
253 | local mshn9 = Instance.new("SpecialMesh", pn9) | |
254 | mshn9.Scale = Vector3.new(-2, 2, 2) | |
255 | mshn9.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
256 | mshn9.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
257 | mshn9.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
258 | local pn0 = Instance.new("Part", v.Character.kit) | |
259 | pn0.Name = "ears" | |
260 | pn0.Anchored = true | |
261 | pn0.Transparency = 0 | |
262 | pn0.Material = "Plastic" | |
263 | pn0.CanCollide = false | |
264 | pn0.TopSurface = 0 | |
265 | pn0.BottomSurface = 0 | |
266 | pn0.Size = Vector3.new(0.2, 0.2, 0.2) | |
267 | pn0.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
268 | local mshn0 = Instance.new("SpecialMesh", pn0) | |
269 | mshn0.Scale = Vector3.new(0.5, 0.5, 0.5) | |
270 | mshn0.MeshId = "http://www.roblox.com/asset/?id=361948302" | |
271 | mshn0.TextureId = "http://www.roblox.com/asset/?id=50657528" | |
272 | mshn0.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
273 | p.Anchored = false | |
274 | local motor1 = Instance.new("Weld", p) | |
275 | motor1.Part0 = p | |
276 | motor1.Part1 = torso | |
277 | motor1.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
278 | motor1.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
279 | pn.Anchored = false | |
280 | local motor2 = Instance.new("Weld", pn) | |
281 | motor2.Part0 = pn | |
282 | motor2.Part1 = torso | |
283 | motor2.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
284 | motor2.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
285 | pn3.Anchored = false | |
286 | local motor3 = Instance.new("Weld", pn3) | |
287 | motor3.Part0 = pn3 | |
288 | motor3.Part1 = torso | |
289 | motor3.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
290 | motor3.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
291 | pn4.Anchored = false | |
292 | local motor4 = Instance.new("Weld", pn4) | |
293 | motor4.Part0 = pn4 | |
294 | motor4.Part1 = torso | |
295 | motor4.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
296 | motor4.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
297 | pn5.Anchored = false | |
298 | local motor5 = Instance.new("Weld", pn5) | |
299 | motor5.Part0 = pn5 | |
300 | motor5.Part1 = torso | |
301 | motor5.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
302 | motor5.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
303 | pn6.Anchored = false | |
304 | local motor6 = Instance.new("Weld", pn6) | |
305 | motor6.Part0 = pn6 | |
306 | motor6.Part1 = torso | |
307 | motor6.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
308 | motor6.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
309 | pn7.Anchored = false | |
310 | local motor7 = Instance.new("Weld", pn7) | |
311 | motor7.Part0 = pn7 | |
312 | motor7.Part1 = torso | |
313 | motor7.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
314 | motor7.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
315 | pn8.Anchored = false | |
316 | local motor8 = Instance.new("Weld", pn8) | |
317 | motor8.Part0 = pn8 | |
318 | motor8.Part1 = torso | |
319 | motor8.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
320 | motor8.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
321 | pn9.Anchored = false | |
322 | local motor9 = Instance.new("Weld", pn9) | |
323 | motor9.Part0 = pn9 | |
324 | motor9.Part1 = torso | |
325 | motor9.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
326 | motor9.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
327 | pn0.Anchored = false | |
328 | local motor0 = Instance.new("Weld", pn0) | |
329 | motor0.Part0 = pn0 | |
330 | motor0.Part1 = v.Character.Head | |
331 | motor0.C0 = CFrame.new(0, -0.8, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
332 | game:GetService("RunService").Stepped:connect(function() | |
333 | Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
334 | velocity = RootPart.Velocity.y | |
335 | sine = sine + change | |
336 | local hit, pos = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character) | |
337 | if equipped == true or equipped == false then | |
338 | if RootPart.Velocity.y > 1 and hit == nil then | |
339 | Anim = "Jump" | |
340 | if attack == false then | |
341 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(80 + 0 * math.cos(sine / 25))), 0.1) | |
342 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
343 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-110 + 0 * math.cos(sine / 25))), 0.1) | |
344 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(110 + 0 * math.cos(sine / 25))), 0.1) | |
345 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
346 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
347 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
348 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(80 + 0 * math.cos(sine / 25))), 0.1) | |
349 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(80 + 0 * math.cos(sine / 25))), 0.1) | |
350 | end | |
351 | else | |
352 | if RootPart.Velocity.y < -1 and hit == nil then | |
353 | Anim = "Fall" | |
354 | if attack == false then | |
355 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
356 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
357 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
358 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
359 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
360 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
361 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
362 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
363 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
364 | end | |
365 | else | |
366 | if Torsovelocity < 1 and hit ~= nil then | |
367 | Anim = "Idle" | |
368 | if attack == false then | |
369 | change = 1 | |
370 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-5 + 5 * math.cos(sine / 50)), math.rad(0 + 5 * math.cos(sine / 80)), math.rad(0 + 0 * math.cos(sine / 25))), 0.1) | |
371 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-5 + -5 * math.cos(sine / 70)), math.rad(0 + -5 * math.cos(sine / 50)), math.rad(0 + 0 * math.cos(sine / 25))), 0.1) | |
372 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-5 + -5 * math.cos(sine / 80)), math.rad(0 + 5 * math.cos(sine / 65)), math.rad(-50 + 0 * math.cos(sine / 25))), 0.1) | |
373 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(0 + 5 * math.cos(sine / 40)), math.rad(0 + 5 * math.cos(sine / 70)), math.rad(-40 + 0 * math.cos(sine / 25))), 0.1) | |
374 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(0 + 5 * math.cos(sine / 60)), math.rad(0 + 5 * math.cos(sine / 65)), math.rad(40 + 0 * math.cos(sine / 25))), 0.1) | |
375 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 35)), math.rad(0 + 5 * math.cos(sine / 70)), math.rad(0 + 0 * math.cos(sine / 25))), 0.1) | |
376 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 70)), math.rad(0 + 5 * math.cos(sine / 35)), math.rad(-45 + 0 * math.cos(sine / 25))), 0.1) | |
377 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 55)), math.rad(0 + 5 * math.cos(sine / 55)), math.rad(-10 + 0 * math.cos(sine / 25))), 0.1) | |
378 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 65)), math.rad(0 + 5 * math.cos(sine / 60)), math.rad(35 + 0 * math.cos(sine / 25))), 0.1) | |
379 | end | |
380 | else | |
381 | if Torsovelocity > 2 and hit ~= nil then | |
382 | Anim = "Walk" | |
383 | if attack == false then | |
384 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
385 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
386 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
387 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
388 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
389 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
390 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
391 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
392 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
393 | end | |
394 | end | |
395 | end | |
396 | end | |
397 | end | |
398 | end | |
399 | end)local p = game.Players.LocalPlayer | |
400 | local char = p.Character | |
401 | local mouse = p:GetMouse() | |
402 | local larm = char["Left Arm"] | |
403 | local rarm = char["Right Arm"] | |
404 | local lleg = char["Left Leg"] | |
405 | local rleg = char["Right Leg"] | |
406 | local hed = char.Head | |
407 | local torso = char.Torso | |
408 | local hum = char.Humanoid | |
409 | local cam = game.Workspace.CurrentCamera | |
410 | local root = char.HumanoidRootPart | |
411 | local deb = false | |
412 | local shot = 0 | |
413 | local debris=game:service"Debris" | |
414 | local l = game:GetService("Lighting") | |
415 | local rs = game:GetService("RunService").RenderStepped | |
416 | ptz = {0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1} | |
417 | math.randomseed(os.time()) | |
418 | ---------------------------------------------------- | |
419 | Debounces = { | |
420 | CanAttack = true; | |
421 | NoIdl = false; | |
422 | Slashing = false; | |
423 | Slashed = false; | |
424 | RPunch = false; | |
425 | RPunched = false; | |
426 | LPunch = false; | |
427 | LPunched = false; | |
428 | } | |
429 | local Touche = {char.Name, } | |
430 | ---------------------------------------------------- | |
431 | - | hed.face.Texture = "rbxassetid://227969918" |
431 | + | |
432 | - | char["Body Colors"].HeadColor = BrickColor.new("Pastel brown") |
432 | + | |
433 | - | char["Body Colors"].TorsoColor = BrickColor.new("Pastel brown") |
433 | + | |
434 | - | char["Body Colors"].LeftArmColor = BrickColor.new("Pastel brown") |
434 | + | |
435 | - | char["Body Colors"].RightArmColor = BrickColor.new("Pastel brown") |
435 | + | |
436 | - | char["Body Colors"].LeftLegColor = BrickColor.new("Pastel brown") |
436 | + | |
437 | - | char["Body Colors"].RightLegColor = BrickColor.new("Pastel brown") |
437 | + | |
438 | crap.BrickColor=BrickColor.new(25) | |
439 | - | ypcall(function() |
439 | + | |
440 | - | char.Shirt:Destroy() |
440 | + | |
441 | - | char.Pants:Destroy() |
441 | + | |
442 | - | shirt = Instance.new("Shirt", char) |
442 | + | |
443 | - | shirt.Name = "Shirt" |
443 | + | |
444 | - | pants = Instance.new("Pants", char) |
444 | + | |
445 | - | pants.Name = "Pants" |
445 | + | |
446 | - | char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=0" |
446 | + | |
447 | - | char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=0" |
447 | + | |
448 | debris:AddItem(smk,2.5) | |
449 | for i = 0.15,1.3,.02 do | |
450 | - | --------------nico |
450 | + | |
451 | - | local fartids={251309043,251309043} |
451 | + | |
452 | - | local timer=false |
452 | + | |
453 | - | local debris=game:GetService("Debris") |
453 | + | |
454 | - | local char=game.Players.LocalPlayer.Character |
454 | + | |
455 | - | for i = 1,3,2 do |
455 | + | |
456 | - | local asdf=Instance.new("Part",char) |
456 | + | |
457 | - | asdf.Shape="Ball" |
457 | + | |
458 | - | asdf.Locked=true |
458 | + | |
459 | - | asdf.FormFactor="Custom" |
459 | + | |
460 | - | asdf.Material="SmoothPlastic" |
460 | + | |
461 | - | asdf.BrickColor=BrickColor.new(1030) |
461 | + | |
462 | - | asdf.Size=Vector3.new(.4,.4,.4) |
462 | + | |
463 | - | local weld=Instance.new("Weld",char) |
463 | + | |
464 | - | weld.Part0=char.Torso |
464 | + | |
465 | - | weld.Part1=asdf |
465 | + | |
466 | - | weld.C0=CFrame.new((i-2)/2.5,-.9,.4) |
466 | + | |
467 | timer=false | |
468 | end | |
469 | end | |
470 | game.Players.LocalPlayer:GetMouse().KeyDown:connect(function(key) | |
471 | if string.lower(key)=="x" then | |
472 | crap() | |
473 | end | |
474 | end) | |
475 | ||
476 | do --CFrame lerp | |
477 | local function QuaternionFromCFrame(cf) | |
478 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
479 | local trace = m00 + m11 + m22 | |
480 | if trace > 0 then | |
481 | local s = math.sqrt(1 + trace) | |
482 | local recip = 0.5/s | |
483 | return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 | |
484 | else | |
485 | local i = 0 | |
486 | if m11 > m00 then | |
487 | i = 1 | |
488 | end | |
489 | if m22 > (i == 0 and m00 or m11) then | |
490 | i = 2 | |
491 | end | |
492 | if i == 0 then | |
493 | local s = math.sqrt(m00-m11-m22+1) | |
494 | local recip = 0.5/s | |
495 | return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip | |
496 | elseif i == 1 then | |
497 | local s = math.sqrt(m11-m22-m00+1) | |
498 | local recip = 0.5/s | |
499 | return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip | |
500 | elseif i == 2 then | |
501 | local s = math.sqrt(m22-m00-m11+1) | |
502 | local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip | |
503 | end | |
504 | end | |
505 | end | |
506 | local function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
507 | local xs, ys, zs = x + x, y + y, z + z | |
508 | local wx, wy, wz = w*xs, w*ys, w*zs | |
509 | local xx = x*xs | |
510 | local xy = x*ys | |
511 | local xz = x*zs | |
512 | local yy = y*ys | |
513 | local yz = y*zs | |
514 | local zz = z*zs | |
515 | 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)) | |
516 | end | |
517 | local function QuaternionSlerp(a, b, t) | |
518 | local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] | |
519 | local startInterp, finishInterp; | |
520 | if cosTheta >= 0.0001 then | |
521 | if (1 - cosTheta) > 0.0001 then | |
522 | local theta = math.acos(cosTheta) | |
523 | local invSinTheta = 1/math.sin(theta) | |
524 | startInterp = math.sin((1-t)*theta)*invSinTheta | |
525 | finishInterp = math.sin(t*theta)*invSinTheta | |
526 | else | |
527 | startInterp = 1-t | |
528 | finishInterp = t | |
529 | end | |
530 | else | |
531 | if (1+cosTheta) > 0.0001 then | |
532 | local theta = math.acos(-cosTheta) | |
533 | local invSinTheta = 1/math.sin(theta) | |
534 | startInterp = math.sin((t-1)*theta)*invSinTheta | |
535 | finishInterp = math.sin(t*theta)*invSinTheta | |
536 | else | |
537 | startInterp = t-1 | |
538 | finishInterp = t | |
539 | end | |
540 | end | |
541 | 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 | |
542 | end | |
543 | function clerp(a,b,t) | |
544 | local qa = {QuaternionFromCFrame(a)} | |
545 | local qb = {QuaternionFromCFrame(b)} | |
546 | local ax, ay, az = a.x, a.y, a.z | |
547 | local bx, by, bz = b.x, b.y, b.z | |
548 | local _t = 1-t | |
549 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) | |
550 | ||
551 | ||
552 | end | |
553 | ||
554 | ||
555 | local rm = Instance.new("Motor", torso) | |
556 | rm.C0 = CFrame.new(1.5, 0.5, 0) | |
557 | rm.C1 = CFrame.new(0, 0.5, 0) | |
558 | rm.Part0 = torso | |
559 | rm.Part1 = ra | |
560 | local lm = Instance.new("Motor", torso) | |
561 | lm.C0 = CFrame.new(-1.5, 0.5, 0) | |
562 | lm.C1 = CFrame.new(0, 0.5, 0) | |
563 | lm.Part0 = torso | |
564 | lm.Part1 = la | |
565 | ||
566 | local rlegm = Instance.new("Motor", torso) | |
567 | rlegm.C0 = CFrame.new(0.5, -1, 0) | |
568 | rlegm.C1 = CFrame.new(0, 1, 0) | |
569 | rlegm.Part0 = torso | |
570 | rlegm.Part1 = rl | |
571 | local llegm = Instance.new("Motor", torso) | |
572 | llegm.C0 = CFrame.new(-0.5, -1, 0) | |
573 | llegm.C1 = CFrame.new(0, 1, 0) | |
574 | llegm.Part0 = torso | |
575 | llegm.Part1 = ll | |
576 | ||
577 | neck.C0 = CFrame.new(0, 1, 0) | |
578 | neck.C1 = CFrame.new(0, -0.5, 0) | |
579 | ||
580 | ||
581 | rj.C0 = CFrame.new() | |
582 | rj.C1 = CFrame.new() | |
583 | ||
584 | ||
585 | local sound = Instance.new("Sound", head) | |
586 | sound.SoundId = "http://www.roblox.com/asset/?id=130797915" | |
587 | sound.Volume = 0.8 | |
588 | sound.Looped = true | |
589 | - | do --the animating |
589 | + | |
590 | - | plr = game:service'Players'.LocalPlayer |
590 | + | |
591 | - | char = plr.Character |
591 | + | |
592 | - | mouse = plr:GetMouse() |
592 | + | |
593 | - | humanoid = char:findFirstChild("Humanoid") |
593 | + | |
594 | - | torso = char:findFirstChild("Torso") |
594 | + | |
595 | - | head = char.Head |
595 | + | |
596 | - | ra = char:findFirstChild("Right Arm") |
596 | + | |
597 | - | la = char:findFirstChild("Left Arm") |
597 | + | |
598 | - | rl = char:findFirstChild("Right Leg") |
598 | + | |
599 | - | ll = char:findFirstChild("Left Leg") |
599 | + | |
600 | - | rs = torso:findFirstChild("Right Shoulder") |
600 | + | |
601 | - | ls = torso:findFirstChild("Left Shoulder") |
601 | + | |
602 | - | rh = torso:findFirstChild("Right Hip") |
602 | + | |
603 | - | lh = torso:findFirstChild("Left Hip") |
603 | + | |
604 | - | neck = torso:findFirstChild("Neck") |
604 | + | |
605 | - | rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint") |
605 | + | |
606 | - | anim = char:findFirstChild("Animate") |
606 | + | |
607 | - | rootpart = char:findFirstChild("HumanoidRootPart") |
607 | + | |
608 | - | camera = workspace.CurrentCamera |
608 | + | |
609 | - | if anim then |
609 | + | |
610 | - | anim:Destroy() |
610 | + | |
611 | local rlcf = rlc0 | |
612 | local llcf = llc0 | |
613 | local rjcf = CFrame.new() | |
614 | local ncf = neckc0 | |
615 | local rayz = Ray.new(rootpart.Position, Vector3.new(0, -6, 0)) | |
616 | local hitz, enz = workspace:findPartOnRay(rayz, char) | |
617 | if not hitz then | |
618 | if sound.IsPlaying then | |
619 | sound:stop() | |
620 | end | |
621 | ||
622 | if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude > 2 then | |
623 | ||
624 | ncf = neckc0 * CFrame.Angles(math.pi/5, 0, 0) | |
625 | rjcf = CFrame.new() * CFrame.Angles(-math.pi/5, math.sin(angle)*0.05, 0) | |
626 | rscf = rsc0 * CFrame.Angles(math.pi/1.7+math.sin(angle)*0.1, 0, 0) | |
627 | lscf = lsc0 * CFrame.Angles(math.pi/1.7+math.sin(-angle)*0.1, 0, 0) | |
628 | rlcf = rlc0 * CFrame.Angles(-math.pi/10+math.sin(-angle)*0.3, 0, 0) | |
629 | llcf = llc0 * CFrame.Angles(-math.pi/10+math.sin(angle)*0.3, 0, 0) | |
630 | ||
631 | else | |
632 | ||
633 | ncf = neckc0 * CFrame.Angles(math.pi/14, 0, 0) | |
634 | rjcf = CFrame.new() * CFrame.Angles(-math.pi/18, math.sin(angle)*0.05, 0) | |
635 | rscf = rsc0 * CFrame.Angles(-math.pi/10+math.sin(angle)*0.2, 0, 0) | |
636 | lscf = lsc0 * CFrame.Angles(-math.pi/10+math.sin(-angle)*0.2, 0, 0) | |
637 | rlcf = rlc0 * CFrame.new(0, 0.7, -0.5) CFrame.Angles(-math.pi/14, 0, 0) | |
638 | llcf = llc0 * CFrame.Angles(-math.pi/20, 0, 0) | |
639 | ||
640 | end | |
641 | elseif humanoid.Sit then | |
642 | if sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=150794704" then | |
643 | anglespeed = 6 | |
644 | ncf = neckc0 * CFrame.Angles(math.pi/5-math.sin(angle)*0.1, 0, 0) | |
645 | rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, 0, 0) | |
646 | rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15)) | |
647 | lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15)) | |
648 | rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20)) | |
649 | llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20)) | |
650 | elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=135570347" then | |
651 | anglespeed = 4 | |
652 | ncf = neckc0 * CFrame.Angles(math.pi/5-math.abs(math.sin(angle))*0.3, 0, 0) | |
653 | rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, 0, 0) | |
654 | rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15)) | |
655 | lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15)) | |
656 | rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20)) | |
657 | llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20)) | |
658 | elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=149713968" then | |
659 | anglespeed = 2 | |
660 | ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08) | |
661 | rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0) | |
662 | rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15)) | |
663 | lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15)) | |
664 | rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20)) | |
665 | llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20)) | |
666 | else | |
667 | anglespeed = 1/2 | |
668 | ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08) | |
669 | rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0) | |
670 | rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15)) | |
671 | lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15)) | |
672 | rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20)) | |
673 | llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20)) | |
674 | end | |
675 | elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 2 then | |
676 | if sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=130797915" then | |
677 | anglespeed = 6 | |
678 | ncf = neckc0 * CFrame.Angles(math.pi/10-math.sin(angle)*0.07, 0, 0) | |
679 | rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(-math.pi/10, math.sin(angle)*0.001, 0) | |
680 | rscf = rsc0 * CFrame.Angles(math.pi/1+math.sin(angle)*0.5, 0, 0) | |
681 | lscf = lsc0 * CFrame.Angles(math.pi/1+math.sin(angle)*0.5, 0, 0) | |
682 | rlcf = rlc0 * CFrame.Angles(math.pi/10, math.sin(angle)*0.08, math.rad(6.5)) | |
683 | llcf = llc0 * CFrame.Angles(math.pi/10, -math.sin(angle)*0.08, -math.rad(6.5)) | |
684 | elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=149713968" then | |
685 | anglespeed = 2 | |
686 | ncf = neckc0 * CFrame.Angles(math.pi/10-math.abs(math.sin(angle))*0.3, 0, 0) | |
687 | rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(-math.pi/20, math.sin(angle)*0.001, 0) | |
688 | rscf = rsc0 * CFrame.Angles(math.pi/2+math.abs(math.sin(angle)*1), 0, 0) | |
689 | lscf = lsc0 * CFrame.Angles(math.pi/2+math.abs(math.sin(angle)*1), 0, 0) | |
690 | rlcf = rlc0 * CFrame.Angles(math.pi/20, math.sin(angle)*0.08, math.rad(2.5)) | |
691 | llcf = llc0 * CFrame.Angles(math.pi/20, -math.sin(angle)*0.08, -math.rad(2.5)) | |
692 | elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=130802245" then | |
693 | anglespeed = 3 | |
694 | ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.07, math.rad(30), 0) | |
695 | rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(0, math.sin(angle)*0.001, 0) | |
696 | rscf = rsc0 * CFrame.Angles(math.sin(angle)*0.05, 0, 0) | |
697 | lscf = lsc0 * CFrame.Angles(math.sin(-angle)*0.05, 0, 0) | |
698 | rlcf = rlc0 * CFrame.new(0, -0.1 + math.abs(mvmnt)*0.1, -0.1) * CFrame.Angles(0, math.rad(5), math.rad(5)) | |
699 | llcf = llc0 * CFrame.Angles(0, math.rad(2.5), math.rad(1)) | |
700 | else | |
701 | if humanwalk then | |
702 | anglespeed = 1/4 | |
703 | ncf = neckc0 * CFrame.Angles(-math.sin(angle)*0.07, 0, 0) | |
704 | rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(0, math.sin(angle)*0.001, 0) | |
705 | rscf = rsc0 * CFrame.Angles(math.sin(angle)*0.1, 0, 0) | |
706 | lscf = lsc0 * CFrame.Angles(math.sin(-angle)*0.1, 0, 0) | |
707 | rlcf = rlc0 * CFrame.Angles(0, math.sin(angle)*0.08, math.rad(2.5)) | |
708 | llcf = llc0 * CFrame.Angles(0, -math.sin(angle)*0.08, -math.rad(2.5)) | |
709 | else | |
710 | anglespeed = 1/2 | |
711 | ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08) | |
712 | rjcf = CFrame.new(0, -2, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0) | |
713 | rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15)) | |
714 | lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15)) | |
715 | rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20)) | |
716 | llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20)) | |
717 | end | |
718 | end | |
719 | elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 20 then | |
720 | if sound.IsPlaying then | |
721 | sound:stop() | |
722 | end | |
723 | if humanwalk then | |
724 | anglespeed = 4 | |
725 | ncf = neckc0 * CFrame.Angles(math.pi/24, mvmnt*.02, 0) | |
726 | rjcf = CFrame.new(0, math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/24, -mvmnt*.02, 0) | |
727 | rscf = rsc0 * CFrame.Angles(math.sin(angle)*1.25, 0, -math.abs(mvmnt)*0.02) | |
728 | lscf = lsc0 * CFrame.Angles(math.sin(-angle)*1.25, 0, math.abs(mvmnt)*0.02) | |
729 | rlcf = rlc0 * CFrame.Angles(math.sin(-angle)*1, 0, math.rad(.5)) | |
730 | llcf = llc0 * CFrame.Angles(math.sin(angle)*1, 0, -math.rad(.5)) | |
731 | else | |
732 | anglespeed = 4 | |
733 | ncf = neckc0 * CFrame.new(0, 0, .2) * CFrame.Angles(math.pi/1.9, 0, 0) | |
734 | rjcf = CFrame.new(0, -1.5+math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/1.9, math.sin(mvmnt/2)*0.05, 0) | |
735 | rscf = rsc0 * CFrame.new(-.45, 0.2, -.4+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2+math.sin(angle)*0.7, 0, math.rad(5)) | |
736 | lscf = lsc0 * CFrame.new(.45, 0.2, .1-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2+math.sin(-angle)*0.7, 0, -math.rad(5)) | |
737 | rlcf = rlc0 * CFrame.new(0, 0, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*0.6, 0, math.abs(mvmnt)*0.025) | |
738 | llcf = llc0 * CFrame.new(0, 0, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(angle)*.6, 0, -math.abs(mvmnt)*0.025) | |
739 | end | |
740 | elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 20 then | |
741 | if sound.IsPlaying then | |
742 | sound:stop() | |
743 | end | |
744 | if humanwalk then | |
745 | anglespeed = 5 | |
746 | ncf = neckc0 * CFrame.Angles(math.pi/20, math.sin(angle)*.04, 0) | |
747 | rjcf = CFrame.new(0, -.4 + math.abs(mvmnt)*0.25, 0) * CFrame.Angles(-math.pi/20, -math.sin(angle)*.08, 0) | |
748 | rscf = rsc0 * CFrame.new(0, 0, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/18+math.sin(angle)*1.5, 0, -math.abs(mvmnt)*0.02) | |
749 | lscf = lsc0 * CFrame.new(0, 0, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/18+math.sin(-angle)*1.5, 0, math.abs(mvmnt)*0.02) | |
750 | rlcf = rlc0 * CFrame.new(0, 0, -.6+math.abs(mvmnt)*0.125) * CFrame.Angles(-math.pi/18+math.sin(-angle)*1.3, 0, math.rad(.5)) | |
751 | llcf = llc0 * CFrame.new(0, 0, -math.abs(mvmnt)*0.125) * CFrame.Angles(-math.pi/18+math.sin(angle)*1.3, 0, -math.rad(.5)) | |
752 | else | |
753 | anglespeed = 5.5 | |
754 | ncf = neckc0 * CFrame.new(0, 0, .2) * CFrame.Angles(math.pi/1.9+math.sin(mvmnt/2)*0.05, 0, 0) | |
755 | rjcf = CFrame.new(0, -1.3+math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/1.9+math.abs(mvmnt/2)*0.1, 0, 0) | |
756 | rscf = rsc0 * CFrame.new(-1, 0.2, -.5) * CFrame.Angles(math.pi/2+math.sin(angle)*1.8, 0, math.rad(5)) | |
757 | lscf = lsc0 * CFrame.new(1, 0.2, -.5) * CFrame.Angles(math.pi/2+math.sin(angle)*1.8, 0, -math.rad(5)) | |
758 | rlcf = rlc0 * CFrame.new(0, .3-math.abs(mvmnt)*0.125, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*1.4, 0, math.abs(mvmnt)*0.025) | |
759 | llcf = llc0 * CFrame.new(0, .3-math.abs(mvmnt)*0.125, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*1.4, 0, -math.abs(mvmnt)*0.025) | |
760 | end | |
761 | end | |
762 | ||
763 | rm.C0 = clerp(rm.C0,rscf,speed) | |
764 | lm.C0 = clerp(lm.C0,lscf,speed) | |
765 | rj.C0 = clerp(rj.C0,rjcf,speed) | |
766 | neck.C0 = clerp(neck.C0,ncf,speed) | |
767 | rlegm.C0 = clerp(rlegm.C0,rlcf,speed) | |
768 | llegm.C0 = clerp(llegm.C0,llcf,speed) | |
769 | end | |
770 | ||
771 | ||
772 | end |