SHOW:
|
|
- or go back to the newest paste.
1 | -- This script has been converted to FE by iPxter | |
2 | - | local p = game.Players.LocalPlayer |
2 | + | |
3 | ||
4 | - | local mouse = p:GetMouse() |
4 | + | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end |
5 | local Player,Mouse,mouse,UserInputService,ContextActionService = owner | |
6 | do | |
7 | print("FE Compatibility code by Mokiros | Translated to FE by iPxter") | |
8 | script.Parent = Player.Character | |
9 | ||
10 | --RemoteEvent for communicating | |
11 | local Event = Instance.new("RemoteEvent") | |
12 | Event.Name = "UserInput_Event" | |
13 | ||
14 | --Fake event to make stuff like Mouse.KeyDown work | |
15 | local function fakeEvent() | |
16 | local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end} | |
17 | t.connect = t.Connect | |
18 | return t | |
19 | end | |
20 | ||
21 | --Creating fake input objects with fake variables | |
22 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} | |
23 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
24 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
25 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
26 | end} | |
27 | --Merged 2 functions into one by checking amount of arguments | |
28 | CAS.UnbindAction = CAS.BindAction | |
29 | ||
30 | --This function will trigger the events that have been :Connect()'ed | |
31 | local function te(self,ev,...) | |
32 | local t = m[ev] | |
33 | if t and t._fakeEvent and t.Function then | |
34 | t.Function(...) | |
35 | end | |
36 | end | |
37 | m.TrigEvent = te | |
38 | UIS.TrigEvent = te | |
39 | ||
40 | Event.OnServerEvent:Connect(function(plr,io) | |
41 | if plr~=Player then return end | |
42 | if io.isMouse then | |
43 | m.Target = io.Target | |
44 | m.Hit = io.Hit | |
45 | else | |
46 | local b = io.UserInputState == Enum.UserInputState.Begin | |
47 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
48 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
49 | end | |
50 | for _,t in pairs(CAS.Actions) do | |
51 | for _,k in pairs(t.Keys) do | |
52 | if k==io.KeyCode then | |
53 | t.Function(t.Name,io.UserInputState,io) | |
54 | end | |
55 | end | |
56 | end | |
57 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
58 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
59 | end | |
60 | end) | |
61 | Event.Parent = NLS([==[ | |
62 | local Player = game:GetService("Players").LocalPlayer | |
63 | local Event = script:WaitForChild("UserInput_Event") | |
64 | ||
65 | local UIS = game:GetService("UserInputService") | |
66 | local input = function(io,a) | |
67 | if a then return end | |
68 | --Since InputObject is a client-side instance, we create and pass table instead | |
69 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}) | |
70 | end | |
71 | UIS.InputBegan:Connect(input) | |
72 | UIS.InputEnded:Connect(input) | |
73 | ||
74 | local Mouse = Player:GetMouse() | |
75 | local h,t | |
76 | --Give the server mouse data 30 times every second, but only if the values changed | |
77 | --If player is not moving their mouse, client won't fire events | |
78 | while wait(1/30) do | |
79 | if h~=Mouse.Hit or t~=Mouse.Target then | |
80 | h,t=Mouse.Hit,Mouse.Target | |
81 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
82 | end | |
83 | end]==],Player.Character) | |
84 | Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS | |
85 | end | |
86 | ||
87 | --- | |
88 | local p = owner | |
89 | local char = p.Character | |
90 | local larm = char["Left Arm"] | |
91 | local rarm = char["Right Arm"] | |
92 | local lleg = char["Left Leg"] | |
93 | local rleg = char["Right Leg"] | |
94 | local hed = char.Head | |
95 | local torso = char.Torso | |
96 | local ASD = BrickColor.new("Pastel brown") | |
97 | local hum = char.Humanoid | |
98 | local cam = game.Workspace.CurrentCamera | |
99 | local root = char.HumanoidRootPart | |
100 | local deb = false | |
101 | local shot = 0 | |
102 | local l = game:GetService("Lighting") | |
103 | local rs = game:GetService("RunService").RenderStepped | |
104 | local stanceToggle = "Normal" | |
105 | math.randomseed(os.time()) | |
106 | hum.WalkSpeed = 7 | |
107 | char.Health:Destroy() | |
108 | hum.MaxHealth = 5000000 | |
109 | wait(0.1) | |
110 | hum.Health = 5000000 | |
111 | z = Instance.new("Sound", char.Torso) | |
112 | z.SoundId = "rbxassetid://719841541" | |
113 | z.Looped = true | |
114 | z.Pitch = 1 | |
115 | z.Volume = 1 | |
116 | ---------------------------------------------------- | |
117 | local SM = Instance.new("Smoke",torso) | |
118 | SM.Size = 15 | |
119 | local S = Instance.new("Part",char) | |
120 | S.Size = Vector3.new(1,1,1) | |
121 | S.Material = "Neon" | |
122 | S.BrickColor = BrickColor.new("Deep orange") | |
123 | S.Transparency = 0 | |
124 | S.Anchored = true | |
125 | S.CFrame = torso.CFrame*CFrame.new(0,0,0) | |
126 | local Ring = Instance.new("Part",S) | |
127 | Ring.Size = Vector3.new(1,1,1) | |
128 | Ring.BrickColor = BrickColor.new("Deep orange") | |
129 | Ring.Anchored = true | |
130 | Ring.CanCollide = false | |
131 | Ring.CFrame = S.CFrame*CFrame.new(0,0,0)*CFrame.Angles(1.55,0,0) | |
132 | local Ring2 = Instance.new("SpecialMesh",Ring) | |
133 | Ring2.MeshId = "rbxassetid://3270017" | |
134 | Ring2.Scale = Vector3.new(0.1,0.1,0.1) | |
135 | local S2 = Instance.new("SpecialMesh",S) | |
136 | S2.MeshType = "Sphere" | |
137 | S2.Scale = Vector3.new(1,1,1) | |
138 | v = Instance.new("Sound") | |
139 | v.SoundId = "rbxassetid://821439273" | |
140 | v.Parent = char.Torso | |
141 | v.Looped = false | |
142 | v.Pitch = 1 | |
143 | v.Volume = 1 | |
144 | wait(.01) | |
145 | v:Play() | |
146 | local partasdeff = Instance.new("ParticleEmitter",S) | |
147 | partasdeff.Color = ColorSequence.new(Color3.new(0,0,0), Color3.new(204,130,2)) | |
148 | partasdeff.LightEmission = .1 | |
149 | partasdeff.Size = NumberSequence.new(0.2) | |
150 | partasdeff.Texture = "http://www.roblox.com/asset/?ID=300899516" | |
151 | aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)}) | |
152 | bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)}) | |
153 | partasdeff.Transparency = bbb | |
154 | partasdeff.Size = aaa | |
155 | partasdeff.ZOffset = .9 | |
156 | partasdeff.Acceleration = Vector3.new(0, -5, 0) | |
157 | partasdeff.LockedToPart = false | |
158 | partasdeff.EmissionDirection = "Top" | |
159 | partasdeff.Lifetime = NumberRange.new(1, 2) | |
160 | partasdeff.Rate = 1000 | |
161 | partasdeff.Rotation = NumberRange.new(-100, 100) | |
162 | partasdeff.RotSpeed = NumberRange.new(-100, 100) | |
163 | partasdeff.Speed = NumberRange.new(10) | |
164 | partasdeff.VelocitySpread = 300 | |
165 | partasdeff.Enabled = true | |
166 | for i = 1,100 do | |
167 | Ring2.Scale = Ring2.Scale + Vector3.new(2,2,2) | |
168 | Ring.Transparency = Ring.Transparency + 0.01 | |
169 | S2.Scale = S2.Scale + Vector3.new(0.3,0.3,0.3) | |
170 | S.Transparency = S.Transparency + 0.01 | |
171 | game:GetService("RunService").RenderStepped:wait() | |
172 | end | |
173 | S:remove() | |
174 | wait(1) | |
175 | SM:remove() | |
176 | hed.face.Texture = "rbxassetid://141107361" | |
177 | char.Shirt.ShirtTemplate = "rbxassetid://270992313" | |
178 | char.Pants:remove() | |
179 | v = Instance.new("Sound") | |
180 | v.SoundId = "rbxassetid://181384451" | |
181 | v.Parent = torso | |
182 | v.Looped = false | |
183 | v.Pitch = 1.04 | |
184 | v.Volume = 1 | |
185 | wait(.01) | |
186 | v:Play() | |
187 | z:Play() | |
188 | ---------------------------------------------------- | |
189 | Debounces = { | |
190 | on = false; | |
191 | ks = false; | |
192 | CanAttack = true; | |
193 | CanJoke = true; | |
194 | NoIdl = false; | |
195 | Slashing = false; | |
196 | Slashed = false; | |
197 | Grabbing = false; | |
198 | Grabbed = false; | |
199 | } | |
200 | local Touche = {char.Name, } | |
201 | ---------------------------------------------------- | |
202 | function lerp(a, b, t) -- Linear interpolation | |
203 | return a + (b - a)*t | |
204 | end | |
205 | ||
206 | function slerp(a, b, t) --Spherical interpolation | |
207 | dot = a:Dot(b) | |
208 | if dot > 0.99999 or dot < -0.99999 then | |
209 | return t <= 0.5 and a or b | |
210 | else | |
211 | r = math.acos(dot) | |
212 | return (a*math.sin((1 - t)*r) + b*math.sin(t*r)) / math.sin(r) | |
213 | end | |
214 | end | |
215 | ||
216 | function matrixInterpolate(a, b, t) | |
217 | local ax, ay, az, a00, a01, a02, a10, a11, a12, a20, a21, a22 = a:components() | |
218 | local bx, by, bz, b00, b01, b02, b10, b11, b12, b20, b21, b22 = b:components() | |
219 | local v0 = lerp(Vector3.new(ax, ay, az), Vector3.new(bx , by , bz), t) -- Position | |
220 | local v1 = slerp(Vector3.new(a00, a01, a02), Vector3.new(b00, b01, b02), t) -- Vector right | |
221 | local v2 = slerp(Vector3.new(a10, a11, a12), Vector3.new(b10, b11, b12), t) -- Vector up | |
222 | local v3 = slerp(Vector3.new(a20, a21, a22), Vector3.new(b20, b21, b22), t) -- Vector back | |
223 | local t = v1:Dot(v2) | |
224 | if not (t < 0 or t == 0 or t > 0) then -- Failsafe | |
225 | return CFrame.new() | |
226 | end | |
227 | return CFrame.new( | |
228 | v0.x, v0.y, v0.z, | |
229 | v1.x, v1.y, v1.z, | |
230 | v2.x, v2.y, v2.z, | |
231 | v3.x, v3.y, v3.z) | |
232 | end | |
233 | ---------------------------------------------------- | |
234 | function genWeld(a,b) | |
235 | local w = Instance.new("Weld",a) | |
236 | w.Part0 = a | |
237 | w.Part1 = b | |
238 | return w | |
239 | end | |
240 | function weld(a, b) | |
241 | local weld = Instance.new("Weld") | |
242 | weld.Name = "W" | |
243 | weld.Part0 = a | |
244 | weld.Part1 = b | |
245 | weld.C0 = a.CFrame:inverse() * b.CFrame | |
246 | weld.Parent = a | |
247 | return weld; | |
248 | end | |
249 | ---------------------------------------------------- | |
250 | function Lerp(c1,c2,al) | |
251 | local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()} | |
252 | local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()} | |
253 | for i,v in pairs(com1) do | |
254 | com1[i] = v+(com2[i]-v)*al | |
255 | end | |
256 | return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1))) | |
257 | end | |
258 | ---------------------------------------------------- | |
259 | newWeld = function(wp0, wp1, wc0x, wc0y, wc0z) | |
260 | local wld = Instance.new("Weld", wp1) | |
261 | wld.Part0 = wp0 | |
262 | wld.Part1 = wp1 | |
263 | wld.C0 = CFrame.new(wc0x, wc0y, wc0z) | |
264 | end | |
265 | ---------------------------------------------------- | |
266 | for i,v in pairs(char:children()) do | |
267 | if v:IsA("Hat") then | |
268 | v:Destroy() | |
269 | end | |
270 | end | |
271 | for i,v in pairs(hed:children()) do | |
272 | if v:IsA("Sound") then | |
273 | v:Destroy() | |
274 | end | |
275 | end | |
276 | ---------------------------------------------------- | |
277 | function HasntTouched(plrname) | |
278 | local ret = true | |
279 | for _, v in pairs(Touche) do | |
280 | if v == plrname then | |
281 | ret = false | |
282 | end | |
283 | end | |
284 | return ret | |
285 | end | |
286 | ---------------------------------------------------- | |
287 | larm.Size = larm.Size * 5 | |
288 | rarm.Size = rarm.Size * 5 | |
289 | lleg.Size = lleg.Size * 5 | |
290 | rleg.Size = rleg.Size * 5 | |
291 | torso.Size = torso.Size * 5 | |
292 | hed.Size = hed.Size * 5 | |
293 | root.Size = root.Size * 5 | |
294 | ---------------------------------------------------- | |
295 | newWeld(torso, larm, -1.5, 0.5, 0) | |
296 | larm.Weld.C1 = CFrame.new(0, 0.5, 0) | |
297 | newWeld(torso, rarm, 1.5, 0.5, 0) | |
298 | rarm.Weld.C1 = CFrame.new(0, 0.5, 0) | |
299 | newWeld(torso, hed, 0, 1.5, 0) | |
300 | newWeld(torso, lleg, -0.5, -1, 0) | |
301 | lleg.Weld.C1 = CFrame.new(0, 1, 0) | |
302 | newWeld(torso, rleg, 0.5, -1, 0) | |
303 | rleg.Weld.C1 = CFrame.new(0, 1, 0) | |
304 | newWeld(root, torso, 0, -1, 0) | |
305 | torso.Weld.C1 = CFrame.new(0, -1, 0) | |
306 | ---------------------------------------------------- | |
307 | local Part = Instance.new("Part",hed) | |
308 | Part.BrickColor = BrickColor.new("Really black") | |
309 | Part.Size = Vector3.new(1,1,1) | |
310 | Part.CanCollide = false | |
311 | Part.Material = "Neon" | |
312 | local M = Instance.new("SpecialMesh",Part) | |
313 | M.MeshId = "rbxassetid://62246019" | |
314 | M.Scale = Vector3.new(5,5,5) | |
315 | local Part2 = Instance.new("Weld",Part) | |
316 | Part2.Part0 = hed | |
317 | Part2.Part1 = Part | |
318 | Part2.C0 = CFrame.new(-0.2,1.5,0.8) | |
319 | ---------------------------------------------------- | |
320 | ---------------------------------------------------- | |
321 | ---------------------------------------------------- | |
322 | ||
323 | ---------------------------------------------------- | |
324 | function weld5(part0, part1, c0, c1) | |
325 | weeld=Instance.new("Weld", part0) | |
326 | weeld.Part0=part0 | |
327 | weeld.Part1=part1 | |
328 | weeld.C0=c0 | |
329 | weeld.C1=c1 | |
330 | return weeld | |
331 | end | |
332 | ---------------------------------------------------- | |
333 | function newRay(start,face,range,wat) | |
334 | local rey=Ray.new(start.p,(face.p-start.p).Unit*range) | |
335 | hit,pos=Workspace:FindPartOnRayWithIgnoreList(rey,wat) | |
336 | return rey,hit,pos | |
337 | end | |
338 | ---------------------------------------------------- | |
339 | mod5 = Instance.new("Model",char) | |
340 | ||
341 | function FindNearestTorso(Position,Distance,SinglePlayer) | |
342 | if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end | |
343 | local List = {} | |
344 | for i,v in pairs(workspace:GetChildren())do | |
345 | if v:IsA("Model")then | |
346 | if v:findFirstChild("Torso")then | |
347 | if v ~= char then | |
348 | if(v.Torso.Position -Position).magnitude <= Distance then | |
349 | table.insert(List,v) | |
350 | end | |
351 | end | |
352 | end | |
353 | end | |
354 | end | |
355 | return List | |
356 | end | |
357 | ||
358 | function Landing() | |
359 | part=Instance.new('Part',mod5) | |
360 | part.Anchored=true | |
361 | part.CanCollide=false | |
362 | part.FormFactor='Custom' | |
363 | part.Size=Vector3.new(.2,.2,.2) | |
364 | part.CFrame=root.CFrame*CFrame.new(0,-2,0) | |
365 | part.Transparency=.7 | |
366 | part.BrickColor=BrickColor.new('Really black') | |
367 | mesh=Instance.new('SpecialMesh',part) | |
368 | mesh.MeshId='http://www.roblox.com/asset/?id=20329976' | |
369 | mesh.Scale=Vector3.new(10,5,10) | |
370 | ||
371 | for i,v in pairs(FindNearestTorso(torso.CFrame.p,40))do | |
372 | if v:FindFirstChild('Humanoid') then | |
373 | v.Humanoid:TakeDamage(math.random(20,30)) | |
374 | v.Humanoid.PlatformStand = true | |
375 | v:FindFirstChild("Torso").Velocity = hed.CFrame.lookVector * 100 | |
376 | end | |
377 | end | |
378 | ||
379 | coroutine.resume(coroutine.create(function() | |
380 | for i=0,3.8,0.05 do | |
381 | wait() | |
382 | part.CFrame=part.CFrame | |
383 | part.Transparency=i | |
384 | mesh.Scale=mesh.Scale+Vector3.new(1,0.2,1) | |
385 | end | |
386 | part.Parent = nil | |
387 | end)) | |
388 | end | |
389 | ---------------------------------------------------- | |
390 | mod4 = Instance.new("Model",char) | |
391 | ||
392 | ptez = {0.7, 0.8, 0.9, 1} | |
393 | ||
394 | function FindNearestTorso(Position,Distance,SinglePlayer) | |
395 | if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end | |
396 | local List = {} | |
397 | for i,v in pairs(workspace:GetChildren())do | |
398 | if v:IsA("Model")then | |
399 | if v:findFirstChild("Torso")then | |
400 | if v ~= char then | |
401 | if(v.Torso.Position -Position).magnitude <= Distance then | |
402 | table.insert(List,v) | |
403 | end | |
404 | end | |
405 | end | |
406 | end | |
407 | end | |
408 | return List | |
409 | end | |
410 | ||
411 | ---------------------------------------------------- | |
412 | ||
413 | local acos = math.acos | |
414 | local sqrt = math.sqrt | |
415 | local Vec3 = Vector3.new | |
416 | local fromAxisAngle = CFrame.fromAxisAngle | |
417 | ||
418 | local function toAxisAngle(CFr) | |
419 | local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components() | |
420 | local Angle = math.acos((R00+R11+R22-1)/2) | |
421 | local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
422 | A = A == 0 and 0.00001 or A | |
423 | local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
424 | B = B == 0 and 0.00001 or B | |
425 | local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
426 | C = C == 0 and 0.00001 or C | |
427 | local x = (R21-R12)/sqrt(A) | |
428 | local y = (R02-R20)/sqrt(B) | |
429 | local z = (R10-R01)/sqrt(C) | |
430 | return Vec3(x,y,z),Angle | |
431 | end | |
432 | ||
433 | function ApplyTrig(Num,Func) | |
434 | local Min,Max = Func(0),Func(1) | |
435 | local i = Func(Num) | |
436 | return (i-Min)/(Max-Min) | |
437 | --[[if Func == "sin" then | |
438 | return (math.sin((1-Num)*math.pi)+1)/2 | |
439 | elseif Func == "cos" then | |
440 | return (math.cos((1-Num)*math.pi)+1)/2 | |
441 | end]] | |
442 | end | |
443 | ||
444 | function LerpCFrame(CFrame1,CFrame2,Num) | |
445 | local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2) | |
446 | return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num | |
447 | end | |
448 | mouse.KeyDown:connect(function(key) | |
449 | if key == "e" then | |
450 | if Debounces.CanAttack == true then | |
451 | Debounces.CanAttack = false | |
452 | Debounces.on = true | |
453 | Debounces.NoIdl = true | |
454 | for i = 1,20 do | |
455 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.6,1,-3) * CFrame.Angles(1.3,0,0),.3) | |
456 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.6,1,0) * CFrame.Angles(-0.5,0,0),.3) | |
457 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0) * CFrame.Angles(0,0,0),.3) | |
458 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -8, 0) * CFrame.Angles(-0.5,0,0),.3) | |
459 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -3.3,-3.5) *CFrame.Angles(0.5,0,0),.3) | |
460 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -7.6,0.5) * CFrame.Angles(-1.1,0,0),.3) | |
461 | if Debounces.on == false then break end | |
462 | wait() | |
463 | end | |
464 | local HitBox = Instance.new("Part",char) | |
465 | HitBox.Size = Vector3.new(5,5,5) | |
466 | HitBox.CanCollide = false | |
467 | HitBox.Transparency = math.huge | |
468 | local HitBox2 = Instance.new("Weld",HitBox) | |
469 | HitBox2.Part0 = rarm | |
470 | HitBox2.Part1 = HitBox | |
471 | HitBox2.C0 = CFrame.new(0,-4.5,0) | |
472 | HitBox.Touched:connect(function(hit) | |
473 | if hit.Parent:FindFirstChild("Humanoid") and hit.Parent ~= nil then | |
474 | if not DD then DD = true | |
475 | hit.Parent.Humanoid.PlatformStand = true | |
476 | local We = Instance.new("Weld",hit.Parent.Torso) | |
477 | We.Part0 = rarm | |
478 | We.Part1 = hit.Parent.Torso | |
479 | We.C0 = CFrame.new(0,-5,0)*CFrame.Angles(-1.55,0,0) | |
480 | wait(1) | |
481 | for i = 1,20 do | |
482 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.6,4,0) * CFrame.Angles(3.1,0,1),.3) | |
483 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.6,4,0) * CFrame.Angles(-3.1,0,-1),.3) | |
484 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0) * CFrame.Angles(1,0,0),.3) | |
485 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -8, 0) * CFrame.Angles(-0.5,0,0),.3) | |
486 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -3.3,-3.5) *CFrame.Angles(0.5,0,0),.3) | |
487 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -7.6,0.5) * CFrame.Angles(-1.1,0,0),.3) | |
488 | if Debounces.on == false then break end | |
489 | wait() | |
490 | end | |
491 | hit.Parent.Humanoid:TakeDamage(20) | |
492 | for i = 1,20 do | |
493 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(6,4,-1) * CFrame.Angles(1.55,0,-1),.3) | |
494 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-6,4,-1) * CFrame.Angles(1.55,0,1),.3) | |
495 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0) * CFrame.Angles(-0.4,0,0),.3) | |
496 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -8, 0) * CFrame.Angles(-0.5,0,0),.3) | |
497 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -3.3,-3.5) *CFrame.Angles(0.5,0,0),.3) | |
498 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -7.6,0.5) * CFrame.Angles(-1.1,0,0),.3) | |
499 | if Debounces.on == false then break end | |
500 | wait() | |
501 | end | |
502 | for i = 1,20 do | |
503 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(5,4,-1) * CFrame.Angles(1.55,0,-1.3),.3) | |
504 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-5,4,-1) * CFrame.Angles(1.55,0,1.3),.3) | |
505 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0) * CFrame.Angles(-0.4,0,0),.3) | |
506 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -8, 0) * CFrame.Angles(-0.5,0,0),.3) | |
507 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -3.3,-3.5) *CFrame.Angles(0.5,0,0),.3) | |
508 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -7.6,0.5) * CFrame.Angles(-1.1,0,0),.3) | |
509 | if Debounces.on == false then break end | |
510 | wait() | |
511 | end | |
512 | local partasdeff = Instance.new("ParticleEmitter",hit.Parent.Torso) | |
513 | partasdeff.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(1, 0, 0)) | |
514 | partasdeff.LightEmission = .1 | |
515 | partasdeff.Size = NumberSequence.new(0.2) | |
516 | partasdeff.Texture = "http://www.roblox.com/asset/?ID=380529823" | |
517 | aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)}) | |
518 | bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)}) | |
519 | partasdeff.Transparency = bbb | |
520 | partasdeff.Size = aaa | |
521 | partasdeff.ZOffset = .9 | |
522 | partasdeff.Acceleration = Vector3.new(0, -5, 0) | |
523 | partasdeff.LockedToPart = false | |
524 | partasdeff.EmissionDirection = "Top" | |
525 | partasdeff.Lifetime = NumberRange.new(1, 2) | |
526 | partasdeff.Rate = 1000 | |
527 | partasdeff.Rotation = NumberRange.new(-100, 100) | |
528 | partasdeff.RotSpeed = NumberRange.new(-100, 100) | |
529 | partasdeff.Speed = NumberRange.new(10) | |
530 | partasdeff.VelocitySpread = 300 | |
531 | partasdeff.Enabled = true | |
532 | wait(1.5) | |
533 | hit.Parent:BreakJoints() | |
534 | We:remove() | |
535 | partasdeff.Enabled = false | |
536 | if Debounces.CanAttack == false then | |
537 | Debounces.CanAttack = true | |
538 | Debounces.on = false | |
539 | Debounces.NoIdl = false | |
540 | end | |
541 | wait(1313) | |
542 | DD = false | |
543 | end | |
544 | end | |
545 | end) | |
546 | ---ANIMATION REPLAY | |
547 | end | |
548 | end | |
549 | end) | |
550 | mouse.KeyDown:connect(function(key) | |
551 | if key == "r" then | |
552 | if Debounces.CanAttack == true then | |
553 | Debounces.CanAttack = false | |
554 | Debounces.on = true | |
555 | Debounces.NoIdl = true | |
556 | for i = 1,20 do | |
557 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.6,1,0) * CFrame.Angles(0.5,0,0),.3) | |
558 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.6,1,0) * CFrame.Angles(-0.5,0,0),.3) | |
559 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0) * CFrame.Angles(0,0,0),.3) | |
560 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -2.2, 0) * CFrame.Angles(-0.5,0,0),.3) | |
561 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -8.8, -2) *CFrame.Angles(0.5,0,0),.3) | |
562 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -7.6, 1.2) * CFrame.Angles(-1.5,0,0),.3) | |
563 | if Debounces.on == false then break end | |
564 | wait() | |
565 | end | |
566 | local HitBox = Instance.new("Part",char) | |
567 | HitBox.Size = Vector3.new(5,5,5) | |
568 | HitBox.CanCollide = false | |
569 | HitBox.Transparency = math.huge | |
570 | local HitBox2 = Instance.new("Weld",HitBox) | |
571 | HitBox2.Part0 = rleg | |
572 | HitBox2.Part1 = HitBox | |
573 | HitBox2.C0 = CFrame.new(0,-1.1,0) | |
574 | local SFXZ = Instance.new("Sound",torso) | |
575 | SFXZ.SoundId = "rbxassetid://169259383" | |
576 | SFXZ.Volume = math.huge | |
577 | SFXZ.Pitch = 0.5 | |
578 | SFXZ.Looped = false | |
579 | wait(0.01) | |
580 | SFXZ:Play() | |
581 | HitBox.Touched:connect(function(hit) | |
582 | if hit.Parent:FindFirstChild("Humanoid") and hit.Parent ~= nil then | |
583 | local SFXZ = Instance.new("Sound",torso) | |
584 | SFXZ.SoundId = "rbxassetid://743886825" | |
585 | SFXZ.Volume = 1 | |
586 | SFXZ.Pitch = 0.5 | |
587 | SFXZ.Looped = false | |
588 | SFXZ:Play() | |
589 | HitBox:remove() | |
590 | hit.Parent.Humanoid:TakeDamage(44) | |
591 | hit.Parent.Humanoid.PlatformStand = true | |
592 | local Fl = Instance.new("BodyVelocity",hit.Parent.Torso) | |
593 | Fl.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
594 | Fl.velocity = rleg.CFrame.lookVector*350 | |
595 | wait(0.1) | |
596 | Fl:remove() | |
597 | end | |
598 | end) | |
599 | for i = 1,20 do | |
600 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.6,1,0) * CFrame.Angles(-0.5,0,0),.3) | |
601 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.6,1,0) * CFrame.Angles(0.5,0,0),.3) | |
602 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0) * CFrame.Angles(0,0,0),.3) | |
603 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -2.2, 0) * CFrame.Angles(0.5,0,0),.3) | |
604 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -8.8, 2) *CFrame.Angles(-0.5,0,0),.3) | |
605 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -7.6, -1.2) * CFrame.Angles(1.5,0,0),.3) | |
606 | if Debounces.on == false then break end | |
607 | wait() | |
608 | end | |
609 | if Debounces.CanAttack == false then | |
610 | Debounces.CanAttack = true | |
611 | Debounces.on = false | |
612 | Debounces.NoIdl = false | |
613 | HitBox:remove() | |
614 | end | |
615 | end | |
616 | end | |
617 | end) | |
618 | ---------------------------------------------------- | |
619 | mouse.KeyDown:connect(function(key) | |
620 | if string.byte(key) == 48 then | |
621 | char.Humanoid.WalkSpeed = 34 | |
622 | end | |
623 | end) | |
624 | mouse.KeyUp:connect(function(key) | |
625 | if string.byte(key) == 48 then | |
626 | char.Humanoid.WalkSpeed = 5 | |
627 | end | |
628 | end) | |
629 | ---------------------------------------------------- | |
630 | local animpose = "Idle" | |
631 | local lastanimpose = "Idle" | |
632 | local sine = 0 | |
633 | local change = 1 | |
634 | local val = 0 | |
635 | local ffing = false | |
636 | ---------------------------------------------------- | |
637 | local x = Instance.new("Sound", char.Torso) | |
638 | x.SoundId = "http://www.roblox.com/asset/?id=273962540" | |
639 | x.Looped = true | |
640 | x.Volume = 1 | |
641 | x.Pitch = 1 | |
642 | local footsteps = false | |
643 | ------------------------------- | |
644 | game:GetService("RunService").RenderStepped:connect(function() | |
645 | rarm.BrickColor = ASD | |
646 | larm.BrickColor = ASD | |
647 | rleg.BrickColor = ASD | |
648 | lleg.BrickColor = ASD | |
649 | hed.BrickColor = ASD | |
650 | torso.BrickColor = ASD | |
651 | --[[if char.Humanoid.Jump == true then | |
652 | jump = true | |
653 | else | |
654 | jump = false | |
655 | end]] | |
656 | char.Humanoid.FreeFalling:connect(function(f) | |
657 | if f then | |
658 | ffing = true | |
659 | else | |
660 | ffing = false | |
661 | end | |
662 | end) | |
663 | sine = sine + change | |
664 | if jumpn == true then | |
665 | animpose = "Jumping" | |
666 | elseif ffing == true then | |
667 | animpose = "Freefalling" | |
668 | elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 2 then | |
669 | animpose = "Idle" | |
670 | elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 20 then | |
671 | animpose = "Walking" | |
672 | elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude > 20 then | |
673 | animpose = "Running" | |
674 | end | |
675 | if animpose ~= lastanimpose then | |
676 | sine = 0 | |
677 | if Debounces.NoIdl == false then | |
678 | if animpose == "Idle" then | |
679 | for i = 1, 2 do | |
680 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(8,.9,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(20)), 0.2) | |
681 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-8,.9,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-20)), 0.2) | |
682 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(0),0), 0.2) | |
683 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -2.2, 0) * CFrame.Angles(0, math.rad(0), 0), 0.2) | |
684 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-3, -8.8, 0) * CFrame.Angles(0, 0, math.rad(-10)), 0.2) | |
685 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(3, -8.8, 0) * CFrame.Angles(0, 0, math.rad(10)), 0.2) | |
686 | end | |
687 | elseif animpose == "Walking" then | |
688 | for i = 1, 2 do | |
689 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.3, .9, 0) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(20)), 0.2) | |
690 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.3, .9, 0)*CFrame.Angles(0, math.rad(1), math.rad(-10)), 0.2) | |
691 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0)*CFrame.Angles(math.rad(-8), math.rad(0), math.rad(0)),0.2) | |
692 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -2.2, 0) * CFrame.Angles(math.rad(-4), 0, math.rad(0)), 0.2) | |
693 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -8.8, -.05) * CFrame.Angles(math.rad(-18), 0, 0), .4) | |
694 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -8.8, -.05) * CFrame.Angles(math.rad(-18), 0, 0), .4) | |
695 | end | |
696 | elseif animpose == "Running" then | |
697 | for i = 1, 2 do | |
698 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.8, 0.9, .5) * CFrame.Angles(math.rad(-10), math.rad(-40), math.rad(50)), 0.2) | |
699 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.8, 1.2, 0-1*math.cos(sine/4)/2)*CFrame.Angles(math.rad(50-80*math.cos(sine/8)/2), math.rad(0), math.rad(0-70*math.cos(sine/8)/2)), 0.2) | |
700 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0)*CFrame.Angles(math.rad(6+8*math.cos(sine/4)/1.8), math.rad(0), math.rad(0)),0.2) | |
701 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -2.2+0.2*math.cos(sine/4)/2, 0) * CFrame.Angles(math.rad(-14+4*math.cos(sine/4)/2), 0, math.rad(0)), 0.2) | |
702 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -8.8-0.44*math.cos(sine/8)/2.4, -.15 + math.sin(sine/8)/1.5) * CFrame.Angles(math.rad(-20) + -math.sin(sine/8)/1.7, 0, 0), .4) | |
703 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -8.8+0.44*math.cos(sine/8)/2.4, -.15 + -math.sin(sine/8)/1.5) * CFrame.Angles(math.rad(-20) + math.sin(sine/8)/1.7, 0, 0), .4) | |
704 | end | |
705 | wait() | |
706 | end | |
707 | else | |
708 | end | |
709 | end | |
710 | lastanimpose = animpose | |
711 | if Debounces.NoIdl == false then | |
712 | if animpose == "Idle" then | |
713 | if stanceToggle == "Normal" then | |
714 | change = 0.5 | |
715 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(8,1,0)*CFrame.Angles(0,0,0-.1*math.sin(tick()*1))*CFrame.Angles(0,0,0.3),.2) | |
716 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-8,1,0)*CFrame.Angles(0,0,0+.1*math.sin(tick()*1))*CFrame.Angles(0,0,-0.3),.2) | |
717 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,-.2)*CFrame.Angles(math.rad(-14+1*math.cos(sine/14)),math.rad(40),0), 0.2) | |
718 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -2.2, 0) * CFrame.Angles(0, math.rad(-40), 0), 0.2) | |
719 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-3, -8.8, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2) | |
720 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(3, -8.8, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2) | |
721 | elseif stanceToggle == "Sitting" then | |
722 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(3, .9, 0) * CFrame.Angles(math.rad(100-1*math.cos(sine/14)), math.rad(0), math.rad(20)), 0.2) | |
723 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-2, .9, -1)*CFrame.Angles(math.rad(78+1*math.cos(sine/14)), math.rad(0), math.rad(50)), 0.2) | |
724 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 3, -.3) * CFrame.Angles(math.rad(-14+1*math.cos(sine/14)), math.rad(0), math.rad(0)),0.2) | |
725 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -3, 0) * CFrame.Angles(math.rad(-10+1*math.cos(sine/14)), 0, math.rad(0)), 0.2) | |
726 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-1, -1, -2) * CFrame.Angles(math.rad(-10-1*math.cos(sine/14)), 0, 0), 0.2) | |
727 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1, -3, .6) * CFrame.Angles(math.rad(-50-1*math.cos(sine/14)), 0, 0), 0.2) | |
728 | end | |
729 | elseif animpose == "Walking" then | |
730 | if stanceToggle == "Normal" then | |
731 | change = 1 | |
732 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.3,0.8,0)*CFrame.Angles(0-.5*math.sin(tick()*2/0.7),0,0),.3) | |
733 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.3,0.8,0)*CFrame.Angles(0+.5*math.sin(tick()*2/0.7),0,0),.3) | |
734 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0)*CFrame.Angles(-0.2,0,0),.3) | |
735 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0,-2.2,0)*CFrame.new(0,0-.1*math.sin(tick()*2),0)*CFrame.Angles(0,0,0),.3) | |
736 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -8.8-0.3*math.cos(sine/16)/4, -.05 + math.sin(sine/16)/2) * CFrame.Angles(math.rad(-18) + -math.sin(sine/16)/2.3, 0, 0), .4) | |
737 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -8.8+0.3*math.cos(sine/16)/4, -.05 + -math.sin(sine/16)/2) * CFrame.Angles(math.rad(-18) + math.sin(sine/16)/2.3, 0, 0), .4) | |
738 | end | |
739 | elseif animpose == "Running" then | |
740 | change = 1 | |
741 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(7.8,0.5,0)*CFrame.Angles(0-.5*math.sin(tick()*7),0,0),.3) | |
742 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-7.8,0.5,0)*CFrame.Angles(0+.5*math.sin(tick()*7),0,0),.3) | |
743 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,7.5,0)*CFrame.Angles(math.rad(6+6*math.cos(sine/4)/1.8), math.rad(0), math.rad(0)),0.2) | |
744 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -2.2+0.2*math.cos(sine/4)/2, 0) * CFrame.Angles(math.rad(-14+10*math.cos(sine/4)/2), 0, math.rad(0)), 0.2) | |
745 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-2.5, -8.8-0.44*math.cos(sine/8)/2.4, -.15 + math.sin(sine/8)/1.5) * CFrame.Angles(math.rad(-20) + -math.sin(sine/8)/1.7, 0, 0), .4) | |
746 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(2.5, -8.8+0.44*math.cos(sine/8 )/2.4, -.15 + -math.sin(sine/8)/1.5) * CFrame.Angles(math.rad(-20) + math.sin(sine/8)/1.7, 0, 0), .4) | |
747 | end | |
748 | end | |
749 | if animpose == "Walking" then | |
750 | if footsteps == false then | |
751 | x:Play() | |
752 | footsteps = true | |
753 | end | |
754 | x.Pitch = 1.1 | |
755 | elseif animpose == "Idle" then | |
756 | x:Stop() | |
757 | footsteps = false | |
758 | elseif animpose == "Running" then | |
759 | x.Pitch = 1.2 | |
760 | if footsteps == false then | |
761 | x:Play() | |
762 | footsteps = true | |
763 | end | |
764 | end | |
765 | end) |