View difference between Paste ID: adbvujsP and QzNNf6rJ
SHOW: | | - or go back to the newest paste.
1-
local name = "memberhero"
1+
--usage
2-
local me = game.Players.memberhero
2+
3
local FEService = loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/WhyGitHubb/FEService/main/main.lua"))()
4
5
6
FEService:FullNetwork()  
7
8
print(game.Players.LocalPlayer.SimulationRadius)
9
--reanimate by MyWorld#4430 discord.gg/pYVHtSJmEY
10
local v3_net, v3_808 = Vector3.new(5000, 25.1, 0), Vector3.new(8, 0, 8)
11
local function getNetlessVelocity(realPartVelocity)
12
    local mag = realPartVelocity.Magnitude
13
    if mag > 1 then
14
        local unit = realPartVelocity.Unit
15
        if (unit.Y > 0.25) or (unit.Y < -0.75) then
16
            return unit * (25.1 / unit.Y)
17
        end
18
    end
19
    return v3_net + realPartVelocity * v3_808
20
end
21
local simradius = "shp" --simulation radius (net bypass) method
22
--"shp" - sethiddenproperty
23
--"ssr" - setsimulationradius
24
--false - disable
25
local simrad = 1000 --simulation radius value
26
local healthHide = true --moves your head away every 3 seconds so players dont see your health bar (alignmode 4 only)
27
local reclaim = true --if you lost control over a part this will move your primary part to the part so you get it back (alignmode 4)
28
local novoid = true --prevents parts from going under workspace.FallenPartsDestroyHeight if you control them (alignmode 4 only)
29
local physp = nil --PhysicalProperties.new(0.01, 0, 1, 0, 0) --sets .CustomPhysicalProperties to this for each part
30
local noclipAllParts = false --set it to true if you want noclip
31
local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character
32
local newanimate = true --disables the animate script and enables after reanimation
33
local discharscripts = true --disables all localScripts parented to your character before reanimation
34
local R15toR6 = true --tries to convert your character to r6 if its r15
35
local hatcollide = false --makes hats cancollide (credit to ShownApe) (works only with reanimate method 0)
36
local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState)
37
local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation
38
local hedafterneck = true --disable aligns for head and enable after neck or torso is removed
39
local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay
40
local method = 3 --reanimation method
41
--methods:
42
--0 - breakJoints (takes [loadtime] seconds to load)
43
--1 - limbs
44
--2 - limbs + anti respawn
45
--3 - limbs + breakJoints after [loadtime] seconds
46
--4 - remove humanoid + breakJoints
47
--5 - remove humanoid + limbst
48
local alignmode = 3 --AlignPosition mode
49
--modes:
50
--1 - AlignPosition rigidity enabled true
51
--2 - 2 AlignPositions rigidity enabled both true and false
52
--3 - AlignPosition rigidity enabled false
53
--4 - CFrame
54
local flingpart = "HumanoidRootPart" --name of the part or the hat used for flinging
55
--the fling function
56
--usage: fling(target, duration, velocity)
57
--target can be set to: basePart, CFrame, Vector3, character model or humanoid (flings at mouse.Hit if argument not provided))
58
--duration (fling time in seconds) can be set to a number or a string convertable to the number (0.5s if not provided),
59
--velocity (fling part rotation velocity) can be set to a vector3 value (Vector3.new(20000, 20000, 20000) if not provided)
60
61
local lp = game:GetService("Players").LocalPlayer
62
local rs, ws, sg = game:GetService("RunService"), game:GetService("Workspace"), game:GetService("StarterGui")
63
local stepped, heartbeat, renderstepped = rs.Stepped, rs.Heartbeat, rs.RenderStepped
64
local twait, tdelay, rad, inf, abs, clamp = task.wait, task.delay, math.rad, math.huge, math.abs, math.clamp
65
local cf, v3 = CFrame.new, Vector3.new
66
local angles = CFrame.Angles
67
local v3_0, cf_0 = v3(0, 0, 0), cf(0, 0, 0)
68
69
local c = lp.Character
70
if not (c and c.Parent) then
71
    return
72
end
73
74
c:GetPropertyChangedSignal("Parent"):Connect(function()
75
    if not (c and c.Parent) then
76
        c = nil
77
    end
78
end)
79
80
local clone, destroy, getchildren, getdescendants, isa = c.Clone, c.Destroy, c.GetChildren, c.GetDescendants, c.IsA
81
82
local function gp(parent, name, className)
83
    if typeof(parent) == "Instance" then
84
        for i, v in pairs(getchildren(parent)) do
85
            if (v.Name == name) and isa(v, className) then
86
                return v
87
            end
88
        end
89
    end
90
    return nil
91
end
92
93
local fenv = getfenv()
94
95
local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop
96
local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.setsimrad or fenv.set_sim_rad
97
98
healthHide = healthHide and ((method == 0) or (method == 3)) and gp(c, "Head", "BasePart")
99
100
local reclaim, lostpart = reclaim and c.PrimaryPart, nil
101
102
local function align(Part0, Part1)
103
    
104
    local att0 = Instance.new("Attachment")
105
    att0.Position, att0.Orientation, att0.Name = v3_0, v3_0, "att0_" .. Part0.Name
106
    local att1 = Instance.new("Attachment")
107
    att1.Position, att1.Orientation, att1.Name = v3_0, v3_0, "att1_" .. Part1.Name
108
109
    if alignmode == 4 then
110
    
111
        local hide = false
112
        if Part0 == healthHide then
113
            healthHide = false
114
            tdelay(0, function()
115
                while twait(2.9) and Part0 and c do
116
                    hide = #Part0:GetConnectedParts() == 1
117
                    twait(0.1)
118
                    hide = false
119
                end
120
            end)
121
        end
122
        
123
        local rot = rad(0.05)
124
        local con0, con1 = nil, nil
125
        con0 = stepped:Connect(function()
126
            if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
127
            Part0.RotVelocity = Part1.RotVelocity
128
        end)
129
        local lastpos = Part0.Position
130
        con1 = heartbeat:Connect(function(delta)
131
            if not (Part0 and Part1 and att1) then return con0:Disconnect() and con1:Disconnect() end
132
            if (not Part0.Anchored) and (Part0.ReceiveAge == 0) then
133
                if lostpart == Part0 then
134
                    lostpart = nil
135
                end
136
                rot = -rot
137
                local newcf = Part1.CFrame * att1.CFrame * angles(0, 0, rot)
138
                if Part1.Velocity.Magnitude > 0.01 then
139
                    Part0.Velocity = getNetlessVelocity(Part1.Velocity)
140
                else
141
                    Part0.Velocity = getNetlessVelocity((newcf.Position - lastpos) / delta)
142
                end
143
                lastpos = newcf.Position
144
                if lostpart and (Part0 == reclaim) then
145
                    newcf = lostpart.CFrame
146
                elseif hide then
147
                    newcf += v3(0, 3000, 0)
148
                end
149
                if novoid and (newcf.Y < ws.FallenPartsDestroyHeight + 0.1) then
150
                    newcf += v3(0, ws.FallenPartsDestroyHeight + 0.1 - newcf.Y, 0)
151
                end
152
                Part0.CFrame = newcf
153
            elseif (not Part0.Anchored) and (abs(Part0.Velocity.X) < 45) and (abs(Part0.Velocity.Y) < 25) and (abs(Part0.Velocity.Z) < 45) then
154
                lostpart = Part0
155
            end
156
        end)
157
    
158
    else
159
        
160
        Part0.CustomPhysicalProperties = physp
161
        if (alignmode == 1) or (alignmode == 2) then
162
            local ape = Instance.new("AlignPosition")
163
            ape.MaxForce, ape.MaxVelocity, ape.Responsiveness = inf, inf, inf
164
            ape.ReactionForceEnabled, ape.RigidityEnabled, ape.ApplyAtCenterOfMass = false, true, false
165
            ape.Attachment0, ape.Attachment1, ape.Name = att0, att1, "AlignPositionRtrue"
166
            ape.Parent = att0
167
        end
168
        
169
        if (alignmode == 2) or (alignmode == 3) then
170
            local apd = Instance.new("AlignPosition")
171
            apd.MaxForce, apd.MaxVelocity, apd.Responsiveness = inf, inf, inf
172
            apd.ReactionForceEnabled, apd.RigidityEnabled, apd.ApplyAtCenterOfMass = false, false, false
173
            apd.Attachment0, apd.Attachment1, apd.Name = att0, att1, "AlignPositionRfalse"
174
            apd.Parent = att0
175
        end
176
        
177
        local ao = Instance.new("AlignOrientation")
178
        ao.MaxAngularVelocity, ao.MaxTorque, ao.Responsiveness = inf, inf, inf
179
        ao.PrimaryAxisOnly, ao.ReactionTorqueEnabled, ao.RigidityEnabled = false, false, false
180
        ao.Attachment0, ao.Attachment1 = att0, att1
181
        ao.Parent = att0
182
        
183
        local con0, con1 = nil, nil
184
        local vel = Part0.Velocity
185
        con0 = renderstepped:Connect(function()
186
            if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
187
            Part0.Velocity = vel
188
        end)
189
        local lastpos = Part0.Position
190
        con1 = heartbeat:Connect(function(delta)
191
            if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
192
            vel = Part0.Velocity
193
            if Part1.Velocity.Magnitude > 0.01 then
194
                Part0.Velocity = getNetlessVelocity(Part1.Velocity)
195
            else
196
                Part0.Velocity = getNetlessVelocity((Part0.Position - lastpos) / delta)
197
            end
198
            lastpos = Part0.Position
199
        end)
200
    
201
    end
202
203
    att0:GetPropertyChangedSignal("Parent"):Connect(function()
204
        Part0 = att0.Parent
205
        if not isa(Part0, "BasePart") then
206
            att0 = nil
207
            if lostpart == Part0 then
208
                lostpart = nil
209
            end
210
            Part0 = nil
211
        end
212
    end)
213
    att0.Parent = Part0
214
    
215
    att1:GetPropertyChangedSignal("Parent"):Connect(function()
216
        Part1 = att1.Parent
217
        if not isa(Part1, "BasePart") then
218
            att1 = nil
219
            Part1 = nil
220
        end
221
    end)
222
    att1.Parent = Part1
223
end
224
225
local function respawnrequest()
226
    local ccfr, c = ws.CurrentCamera.CFrame, lp.Character
227
    lp.Character = nil
228
    lp.Character = c
229
    local con = nil
230
    con = ws.CurrentCamera.Changed:Connect(function(prop)
231
        if (prop ~= "Parent") and (prop ~= "CFrame") then
232
            return
233
        end
234
        ws.CurrentCamera.CFrame = ccfr
235
        con:Disconnect()
236
    end)
237
end
238
239
local destroyhum = (method == 4) or (method == 5)
240
local breakjoints = (method == 0) or (method == 4)
241
local antirespawn = (method == 0) or (method == 2) or (method == 3)
242
243
hatcollide = hatcollide and (method == 0)
244
245
addtools = addtools and lp:FindFirstChildOfClass("Backpack")
246
247
if type(simrad) ~= "number" then simrad = 1000 end
248
if shp and (simradius == "shp") then
249
    tdelay(0, function()
250
        while c do
251
            shp(lp, "SimulationRadius", simrad)
252
            heartbeat:Wait()
253
        end
254
    end)
255
elseif ssr and (simradius == "ssr") then
256
    tdelay(0, function()
257
        while c do
258
            ssr(simrad)
259
            heartbeat:Wait()
260
        end
261
    end)
262
end
263
264
if antiragdoll then
265
    antiragdoll = function(v)
266
        if isa(v, "HingeConstraint") or isa(v, "BallSocketConstraint") then
267
            v.Parent = nil
268
        end
269
    end
270
    for i, v in pairs(getdescendants(c)) do
271
        antiragdoll(v)
272
    end
273
    c.DescendantAdded:Connect(antiragdoll)
274
end
275
276
if antirespawn then
277
    respawnrequest()
278
end
279
280
if method == 0 then
281
    twait(loadtime)
282
    if not c then
283
        return
284
    end
285
end
286
287
if discharscripts then
288
    for i, v in pairs(getdescendants(c)) do
289
        if isa(v, "LocalScript") then
290
            v.Disabled = true
291
        end
292
    end
293
elseif newanimate then
294
    local animate = gp(c, "Animate", "LocalScript")
295
    if animate and (not animate.Disabled) then
296
        animate.Disabled = true
297
    else
298
        newanimate = false
299
    end
300
end
301
302
if addtools then
303
    for i, v in pairs(getchildren(addtools)) do
304
        if isa(v, "Tool") then
305
            v.Parent = c
306
        end
307
    end
308
end
309
310
pcall(function()
311
    settings().Physics.AllowSleep = false
312
    settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
313
end)
314
315
local OLDscripts = {}
316
317
for i, v in pairs(getdescendants(c)) do
318
    if v.ClassName == "Script" then
319
        OLDscripts[v.Name] = true
320
    end
321
end
322
323
local scriptNames = {}
324
325
for i, v in pairs(getdescendants(c)) do
326
    if isa(v, "BasePart") then
327
        local newName, exists = tostring(i), true
328
        while exists do
329
            exists = OLDscripts[newName]
330
            if exists then
331
                newName = newName .. "_"    
332
            end
333
        end
334
        table.insert(scriptNames, newName)
335
        Instance.new("Script", v).Name = newName
336
    end
337
end
338
339
local hum = c:FindFirstChildOfClass("Humanoid")
340
if hum then
341
    for i, v in pairs(hum:GetPlayingAnimationTracks()) do
342
        v:Stop()
343
    end
344
end
345
c.Archivable = true
346
local cl = clone(c)
347
if hum and humState16 then
348
    hum:ChangeState(Enum.HumanoidStateType.Physics)
349
    if destroyhum then
350
        twait(1.6)
351
    end
352
end
353
if destroyhum then
354
    pcall(destroy, hum)
355
end
356
357
if not c then
358
    return
359
end
360
361
local head, torso, root = gp(c, "Head", "BasePart"), gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart"), gp(c, "HumanoidRootPart", "BasePart")
362
if hatcollide then
363
    pcall(destroy, torso)
364
    pcall(destroy, root)
365
    pcall(destroy, c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script"))
366
end
367
368
local model = Instance.new("Model", c)
369
model:GetPropertyChangedSignal("Parent"):Connect(function()
370
    if not (model and model.Parent) then
371
        model = nil
372
    end
373
end)
374
375
for i, v in pairs(getchildren(c)) do
376
    if v ~= model then
377
        if addtools and isa(v, "Tool") then
378
            for i1, v1 in pairs(getdescendants(v)) do
379
                if v1 and v1.Parent and isa(v1, "BasePart") then
380
                    local bv = Instance.new("BodyVelocity")
381
                    bv.Velocity, bv.MaxForce, bv.P, bv.Name = v3_0, v3(1000, 1000, 1000), 1250, "bv_" .. v.Name
382
                    bv.Parent = v1
383
                end
384
            end
385
        end
386
        v.Parent = model
387
    end
388
end
389
390
if breakjoints then
391
    model:BreakJoints()
392
else
393
    if head and torso then
394
        for i, v in pairs(getdescendants(model)) do
395
            if isa(v, "JointInstance") then
396
                local save = false
397
                if (v.Part0 == torso) and (v.Part1 == head) then
398
                    save = true
399
                end
400
                if (v.Part0 == head) and (v.Part1 == torso) then
401
                    save = true
402
                end
403
                if save then
404
                    if hedafterneck then
405
                        hedafterneck = v
406
                    end
407
                else
408
                    pcall(destroy, v)
409
                end
410
            end
411
        end
412
    end
413
    if method == 3 then
414
        task.delay(loadtime, pcall, model.BreakJoints, model)
415
    end
416
end
417
418
cl.Parent = ws
419
for i, v in pairs(getchildren(cl)) do
420
    v.Parent = c
421
end
422
pcall(destroy, cl)
423
424
local uncollide, noclipcon = nil, nil
425
if noclipAllParts then
426
    uncollide = function()
427
        if c then
428
            for i, v in pairs(getdescendants(c)) do
429
                if isa(v, "BasePart") then
430
                    v.CanCollide = false
431
                end
432
            end
433
        else
434
            noclipcon:Disconnect()
435
        end
436
    end
437
else
438
    uncollide = function()
439
        if model then
440
            for i, v in pairs(getdescendants(model)) do
441
                if isa(v, "BasePart") then
442
                    v.CanCollide = false
443
                end
444
            end
445
        else
446
            noclipcon:Disconnect()
447
        end
448
    end
449
end
450
noclipcon = stepped:Connect(uncollide)
451
uncollide()
452
453
for i, scr in pairs(getdescendants(model)) do
454
    if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then
455
        local Part0 = scr.Parent
456
        if isa(Part0, "BasePart") then
457
            for i1, scr1 in pairs(getdescendants(c)) do
458
                if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then
459
                    local Part1 = scr1.Parent
460
                    if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then
461
                        align(Part0, Part1)
462
                        pcall(destroy, scr)
463
                        pcall(destroy, scr1)
464
                        break
465
                    end
466
                end
467
            end
468
        end
469
    end
470
end
471
472
for i, v in pairs(getdescendants(c)) do
473
    if v and v.Parent and (not v:IsDescendantOf(model)) then
474
        if isa(v, "Decal") then
475
            v.Transparency = 1
476
        elseif isa(v, "BasePart") then
477
            v.Transparency = 1
478
            v.Anchored = false
479
        elseif isa(v, "ForceField") then
480
            v.Visible = false
481
        elseif isa(v, "Sound") then
482
            v.Playing = false
483
        elseif isa(v, "BillboardGui") or isa(v, "SurfaceGui") or isa(v, "ParticleEmitter") or isa(v, "Fire") or isa(v, "Smoke") or isa(v, "Sparkles") then
484
            v.Enabled = false
485
        end
486
    end
487
end
488
489
if newanimate then
490
    local animate = gp(c, "Animate", "LocalScript")
491
    if animate then
492
        animate.Disabled = false
493
    end
494
end
495
496
if addtools then
497
    for i, v in pairs(getchildren(c)) do
498
        if isa(v, "Tool") then
499
            v.Parent = addtools
500
        end
501
    end
502
end
503
504
local hum0, hum1 = model:FindFirstChildOfClass("Humanoid"), c:FindFirstChildOfClass("Humanoid")
505
if hum0 then
506
    hum0:GetPropertyChangedSignal("Parent"):Connect(function()
507
        if not (hum0 and hum0.Parent) then
508
            hum0 = nil
509
        end
510
    end)
511
end
512
if hum1 then
513
    hum1:GetPropertyChangedSignal("Parent"):Connect(function()
514
        if not (hum1 and hum1.Parent) then
515
            hum1 = nil
516
        end
517
    end)
518
519
    ws.CurrentCamera.CameraSubject = hum1
520
    local camSubCon = nil
521
    local function camSubFunc()
522
        camSubCon:Disconnect()
523
        if c and hum1 then
524
            ws.CurrentCamera.CameraSubject = hum1
525
        end
526
    end
527
    camSubCon = renderstepped:Connect(camSubFunc)
528
    if hum0 then
529
        hum0:GetPropertyChangedSignal("Jump"):Connect(function()
530
            if hum1 then
531
                hum1.Jump = hum0.Jump
532
            end
533
        end)
534
    else
535
        respawnrequest()
536
    end
537
end
538
539
local rb = Instance.new("BindableEvent", c)
540
rb.Event:Connect(function()
541
    pcall(destroy, rb)
542
    sg:SetCore("ResetButtonCallback", true)
543
    if destroyhum then
544
        if c then c:BreakJoints() end
545
        return
546
    end
547
    if model and hum0 and (hum0.Health > 0) then
548
        model:BreakJoints()
549
        hum0.Health = 0
550
    end
551
    if antirespawn then
552
        respawnrequest()
553
    end
554
end)
555
sg:SetCore("ResetButtonCallback", rb)
556
557
tdelay(0, function()
558
    while c do
559
        if hum0 and hum1 then
560
            hum1.Jump = hum0.Jump
561
        end
562
        wait()
563
    end
564
    sg:SetCore("ResetButtonCallback", true)
565
end)
566
567
R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15)
568
if R15toR6 then
569
    local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "LowerTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart")
570
    if part then
571
        local cfr = part.CFrame
572
        local R6parts = { 
573
            head = {
574
                Name = "Head",
575
                Size = v3(2, 1, 1),
576
                R15 = {
577
                    Head = 0
578
                }
579
            },
580
            torso = {
581
                Name = "Torso",
582
                Size = v3(2, 2, 1),
583
                R15 = {
584
                    UpperTorso = 0.2,
585
                    LowerTorso = -0.8
586
                }
587
            },
588
            root = {
589
                Name = "HumanoidRootPart",
590
                Size = v3(2, 2, 1),
591
                R15 = {
592
                    HumanoidRootPart = 0
593
                }
594
            },
595
            leftArm = {
596
                Name = "Left Arm",
597
                Size = v3(1, 2, 1),
598
                R15 = {
599
                    LeftHand = -0.849,
600
                    LeftLowerArm = -0.174,
601
                    LeftUpperArm = 0.415
602
                }
603
            },
604
            rightArm = {
605
                Name = "Right Arm",
606
                Size = v3(1, 2, 1),
607
                R15 = {
608
                    RightHand = -0.849,
609
                    RightLowerArm = -0.174,
610
                    RightUpperArm = 0.415
611
                }
612
            },
613
            leftLeg = {
614
                Name = "Left Leg",
615
                Size = v3(1, 2, 1),
616
                R15 = {
617
                    LeftFoot = -0.85,
618
                    LeftLowerLeg = -0.29,
619
                    LeftUpperLeg = 0.49
620
                }
621
            },
622
            rightLeg = {
623
                Name = "Right Leg",
624
                Size = v3(1, 2, 1),
625
                R15 = {
626
                    RightFoot = -0.85,
627
                    RightLowerLeg = -0.29,
628
                    RightUpperLeg = 0.49
629
                }
630
            }
631
        }
632
        for i, v in pairs(getchildren(c)) do
633
            if isa(v, "BasePart") then
634
                for i1, v1 in pairs(getchildren(v)) do
635
                    if isa(v1, "Motor6D") then
636
                        v1.Part0 = nil
637
                    end
638
                end
639
            end
640
        end
641
        part.Archivable = true
642
        for i, v in pairs(R6parts) do
643
            local part = clone(part)
644
            part:ClearAllChildren()
645
            part.Name, part.Size, part.CFrame, part.Anchored, part.Transparency, part.CanCollide = v.Name, v.Size, cfr, false, 1, false
646
            for i1, v1 in pairs(v.R15) do
647
                local R15part = gp(c, i1, "BasePart")
648
                local att = gp(R15part, "att1_" .. i1, "Attachment")
649
                if R15part then
650
                    local weld = Instance.new("Weld")
651
                    weld.Part0, weld.Part1, weld.C0, weld.C1, weld.Name = part, R15part, cf(0, v1, 0), cf_0, "Weld_" .. i1
652
                    weld.Parent = R15part
653
                    R15part.Massless, R15part.Name = true, "R15_" .. i1
654
                    R15part.Parent = part
655
                    if att then
656
                        att.Position = v3(0, v1, 0)
657
                        att.Parent = part
658
                    end
659
                end
660
            end
661
            part.Parent = c
662
            R6parts[i] = part
663
        end
664
        local R6joints = {
665
            neck = {
666
                Parent = R6parts.torso,
667
                Name = "Neck",
668
                Part0 = R6parts.torso,
669
                Part1 = R6parts.head,
670
                C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
671
                C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
672
            },
673
            rootJoint = {
674
                Parent = R6parts.root,
675
                Name = "RootJoint" ,
676
                Part0 = R6parts.root,
677
                Part1 = R6parts.torso,
678
                C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
679
                C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
680
            },
681
            rightShoulder = {
682
                Parent = R6parts.torso,
683
                Name = "Right Shoulder",
684
                Part0 = R6parts.torso,
685
                Part1 = R6parts.rightArm,
686
                C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
687
                C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
688
            },
689
            leftShoulder = {
690
                Parent = R6parts.torso,
691
                Name = "Left Shoulder",
692
                Part0 = R6parts.torso,
693
                Part1 = R6parts.leftArm,
694
                C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
695
                C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
696
            },
697
            rightHip = {
698
                Parent = R6parts.torso,
699
                Name = "Right Hip",
700
                Part0 = R6parts.torso,
701
                Part1 = R6parts.rightLeg,
702
                C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
703
                C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
704
            },
705
            leftHip = {
706
                Parent = R6parts.torso,
707
                Name = "Left Hip" ,
708
                Part0 = R6parts.torso,
709
                Part1 = R6parts.leftLeg,
710
                C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
711
                C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
712
            }
713
        }
714
        for i, v in pairs(R6joints) do
715
            local joint = Instance.new("Motor6D")
716
            for prop, val in pairs(v) do
717
                joint[prop] = val
718
            end
719
            R6joints[i] = joint
720
        end
721
        if hum1 then
722
            hum1.RigType, hum1.HipHeight = Enum.HumanoidRigType.R6, 0
723
        end
724
    end
725
end
726
727
local torso1 = torso
728
torso = gp(c, "Torso", "BasePart") or ((not R15toR6) and gp(c, torso.Name, "BasePart"))
729
if (typeof(hedafterneck) == "Instance") and head and torso and torso1 then
730
    local conNeck, conTorso, conTorso1 = nil, nil, nil
731
    local aligns = {}
732
    local function enableAligns()
733
        conNeck:Disconnect()
734
        conTorso:Disconnect()
735
        conTorso1:Disconnect()
736
        for i, v in pairs(aligns) do
737
            v.Enabled = true
738
        end
739
    end
740
    conNeck = hedafterneck.Changed:Connect(function(prop)
741
        if table.find({"Part0", "Part1", "Parent"}, prop) then
742
            enableAligns()
743
        end
744
    end)
745
    conTorso = torso:GetPropertyChangedSignal("Parent"):Connect(enableAligns)
746
    conTorso1 = torso1:GetPropertyChangedSignal("Parent"):Connect(enableAligns)
747
    for i, v in pairs(getdescendants(head)) do
748
        if isa(v, "AlignPosition") or isa(v, "AlignOrientation") then
749
            i = tostring(i)
750
            aligns[i] = v
751
            v:GetPropertyChangedSignal("Parent"):Connect(function()
752
                aligns[i] = nil
753
            end)
754
            v.Enabled = false
755
        end
756
    end
757
end
758
759
local flingpart0 = gp(model, flingpart, "BasePart") or gp(gp(model, flingpart, "Accessory"), "Handle", "BasePart")
760
local flingpart1 = gp(c, flingpart, "BasePart") or gp(gp(c, flingpart, "Accessory"), "Handle", "BasePart")
761
762
local fling = function() end
763
if flingpart0 and flingpart1 then
764
    flingpart0:GetPropertyChangedSignal("Parent"):Connect(function()
765
        if not (flingpart0 and flingpart0.Parent) then
766
            flingpart0 = nil
767
            fling = function() end
768
        end
769
    end)
770
    flingpart0.Archivable = true
771
    flingpart1:GetPropertyChangedSignal("Parent"):Connect(function()
772
        if not (flingpart1 and flingpart1.Parent) then
773
            flingpart1 = nil
774
            fling = function() end
775
        end
776
    end)
777
    local att0 = gp(flingpart0, "att0_" .. flingpart0.Name, "Attachment")
778
    local att1 = gp(flingpart1, "att1_" .. flingpart1.Name, "Attachment")
779
    if att0 and att1 then
780
        att0:GetPropertyChangedSignal("Parent"):Connect(function()
781
            if not (att0 and att0.Parent) then
782
                att0 = nil
783
                fling = function() end
784
            end
785
        end)
786
        att1:GetPropertyChangedSignal("Parent"):Connect(function()
787
            if not (att1 and att1.Parent) then
788
                att1 = nil
789
                fling = function() end
790
            end
791
        end)
792
        local lastfling = nil
793
        local mouse = lp:GetMouse()
794
        fling = function(target, duration, rotVelocity)
795
            if typeof(target) == "Instance" then
796
                if isa(target, "BasePart") then
797
                    target = target.Position
798
                elseif isa(target, "Model") then
799
                    target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart")
800
                    if target then
801
                        target = target.Position
802
                    else
803
                        return
804
                    end
805
                elseif isa(target, "Humanoid") then
806
                    target = target.Parent
807
                    if not (target and isa(target, "Model")) then
808
                        return
809
                    end
810
                    target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart")
811
                    if target then
812
                        target = target.Position
813
                    else
814
                        return
815
                    end
816
                else
817
                    return
818
                end
819
            elseif typeof(target) == "CFrame" then
820
                target = target.Position
821
            elseif typeof(target) ~= "Vector3" then
822
                target = mouse.Hit
823
                if target then
824
                    target = target.Position
825
                else
826
                    return
827
                end
828
            end
829
            if target.Y < ws.FallenPartsDestroyHeight + 5 then
830
                target = v3(target.X, ws.FallenPartsDestroyHeight + 5, target.Z)
831
            end
832
            lastfling = target
833
            if type(duration) ~= "number" then
834
                duration = tonumber(duration) or 0.5
835
            end
836
            if typeof(rotVelocity) ~= "Vector3" then
837
                rotVelocity = v3(20000, 20000, 20000)
838
            end
839
            if not (target and flingpart0 and flingpart1 and att0 and att1) then
840
                return
841
            end
842
            flingpart0.Archivable = true
843
            local flingpart = clone(flingpart0)
844
            flingpart.Transparency = 1
845
            flingpart.CanCollide = false
846
            flingpart.Name = "flingpart_" .. flingpart0.Name
847
            flingpart.Anchored = true
848
            flingpart.Velocity = v3_0
849
            flingpart.RotVelocity = v3_0
850
            flingpart.Position = target
851
            flingpart:GetPropertyChangedSignal("Parent"):Connect(function()
852
                if not (flingpart and flingpart.Parent) then
853
                    flingpart = nil
854
                end
855
            end)
856
            flingpart.Parent = flingpart1
857
            if flingpart0.Transparency > 0.5 then
858
                flingpart0.Transparency = 0.5
859
            end
860
            att1.Parent = flingpart
861
            local con = nil
862
            local rotchg = v3(0, rotVelocity.Unit.Y * -1000, 0)
863
            con = heartbeat:Connect(function(delta)
864
                if target and (lastfling == target) and flingpart and flingpart0 and flingpart1 and att0 and att1 then
865
                    flingpart.Orientation += rotchg * delta
866
                    flingpart0.RotVelocity = rotVelocity
867
                else
868
                    con:Disconnect()
869
                end
870
            end)
871
            if alignmode ~= 4 then
872
                local con = nil
873
                con = renderstepped:Connect(function()
874
                    if flingpart0 and target then
875
                        flingpart0.RotVelocity = v3_0
876
                    else
877
                        con:Disconnect()
878
                    end
879
                end)
880
            end
881
            twait(duration)
882
            if lastfling ~= target then
883
                if flingpart then
884
                    if att1 and (att1.Parent == flingpart) then
885
                        att1.Parent = flingpart1
886
                    end
887
                    pcall(destroy, flingpart)
888
                end
889
                return
890
            end
891
            target = nil
892
            if not (flingpart and flingpart0 and flingpart1 and att0 and att1) then
893
                return
894
            end
895
            flingpart0.RotVelocity = v3_0
896
            att1.Parent = flingpart1
897
            pcall(destroy, flingpart)
898
        end
899
    end
900
end
901
902
lp:GetMouse().Button1Down:Connect(fling) --click fling
903
904
lol = getcustomasset or getsynasset
905
getgenv().LoadLibrary = function(lib) return loadstring(game:HttpGet("https://raw.githubusercontent.com/Roblox/Core-Scripts/master/CoreScriptsRoot/Libraries/" .. lib .. ".lua"))() end
906
local name = "SNOW_COP"
907
local me = game.Players.LocalPlayer
908
local char = me.Character
909
selected = false
910
attacking = false
911
attack = false
912
dela = 0.4
913
normdmg = 9
914
avgdmg = normdmg
915
normal = 14
916
speed = 14
917
normchance = 9333333333333
918
criticalchance = normchance
919
splashdist = 14333333333333333333333333333333333333333333333333
920
plat = 1
921
healcols = {"Bright blue", "Light blue", "Medium blue", "White"}
922
if char:findFirstChild("Sword",true) ~= nil then
923
char:findFirstChild("Sword",true).Parent = nil
924
end
925
function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form)
926
part.Parent = parent
927
part.formFactor = form
928
part.CanCollide = collide
929
part.Transparency = tran
930
part.Reflectance = ref
931
part.Size = Vector3.new(x,y,z)
932
part.BrickColor = BrickColor.new(color)
933
part.TopSurface = 0
934
part.BottomSurface = 0
935
part.Anchored = anchor
936
part.Locked = true
937
part:BreakJoints()
938
end
939
function weld(w, p, p1, a, b, c, x, y, z)
940
w.Parent = p
941
w.Part0 = p
942
w.Part1 = p1
943
w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z)
944
end
945
function mesh(mesh, parent, x, y, z, type)
946
mesh.Parent = parent
947
mesh.Scale = Vector3.new(x, y, z)
948
mesh.MeshType = type
949
end
950
function getcharparts(path)
951
local objs = {}
952
for _,v in pairs(path:children()) do
953
if v:IsA("Model") and v.Name ~= name then
954
for _,k in pairs(v:children()) do
955
if k.Name == "Torso" then
956
table.insert(objs,k)
957
end
958
end
959
end
960
end
961
return objs
962
end
963
sword = Instance.new("Model",me.Character)
964
sword.Name = "Sword"
965
--Parts-------------------------Parts-------------------------Parts-------------------------Parts----------------------
966
rarm = char:findFirstChild("Right Arm")
967
larm = char:findFirstChild("Left Arm")
968
torso = char:findFirstChild("Torso")
969
hum = char:findFirstChild("Humanoid")
970
main = Instance.new("Part")
971
prop(main, sword, false, 0, 0, 0.38, 2.2, 0.38, "White", false, "Custom")
972
mme = Instance.new("SpecialMesh")
973
mesh(mme,main,1,1,1,"Head")
974
part1 = Instance.new("Part")
975
prop(part1, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom")
976
p1m = Instance.new("BlockMesh",part1)
977
w1 = Instance.new("Weld")
978
weld(w1, main, part1, 0, 0, 0, 0, 0.9, 0)
979
part2 = Instance.new("Part")
980
prop(part2, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom")
981
p2m = Instance.new("BlockMesh",part2)
982
w2 = Instance.new("Weld")
983
weld(w2, main, part2, 0, 0, 0.8, 0.5, 0.85, 0)
984
part3 = Instance.new("Part")
985
prop(part3, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom")
986
p3m = Instance.new("BlockMesh",part3)
987
w3 = Instance.new("Weld")
988
weld(w3, main, part3, 0, 0, -0.8, -0.5, 0.85, 0)
989
part4 = Instance.new("Part")
990
prop(part4, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom")
991
p4m = Instance.new("BlockMesh",part4)
992
w4 = Instance.new("Weld")
993
weld(w4, main, part4, 0, 0, -1.25, 0.8, 1, 0)
994
part5 = Instance.new("Part")
995
prop(part5, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom")
996
p5m = Instance.new("BlockMesh",part5)
997
w5 = Instance.new("Weld")
998
weld(w5, main, part5, 0, 0, 1.25, -0.8, 1, 0)
999
part6 = Instance.new("Part")
1000
prop(part6, sword, false, 0, 0, 0.45, 0.6, 0.45, "Light blue", false, "Custom")
1001
p6m = Instance.new("SpecialMesh")
1002
mesh(p6m,part6,1.3,1.2,1.3,"Sphere")
1003
w6 = Instance.new("Weld")
1004
weld(w6, main, part6, 0, 0, 0, 0, -0.9, 0)
1005
blade1 = Instance.new("Part")
1006
prop(blade1, sword, false, 0, 0.2, 0.85, 2, 0.1, "Light blue", false, "Custom")
1007
b1m = Instance.new("SpecialMesh")
1008
mesh(b1m,blade1,1,1,1,"Torso")
1009
bw1 = Instance.new("Weld")
1010
weld(bw1, main, blade1, 0, 0, 0, 0, 2, 0)
1011
uns = Instance.new("Sound",blade1)
1012
uns.Volume = 1
1013
uns.Pitch = 1
1014
uns.SoundId = "rbxasset://sounds\\unsheath.wav"
1015
slash = Instance.new("Sound",blade1)
1016
slash.Volume = 1
1017
slash.Pitch = 1
1018
slash.SoundId = "rbxasset://sounds\\swordslash.wav"
1019
shea = Instance.new("Sound",blade1)
1020
shea.Volume = 1
1021
shea.Pitch = -0.9
1022
shea.SoundId = "rbxasset://sounds\\unsheath.wav"
1023
spi = Instance.new("Sound",blade1)
1024
spi.Volume = 1
1025
spi.Pitch = 1
1026
spi.SoundId = "http://www.roblox.com/asset/?id=28144268"
1027
charge = Instance.new("Sound",blade1)
1028
charge.Volume = 1
1029
charge.Pitch = 0.5
1030
charge.SoundId = "http://www.roblox.com/asset/?id=2692844"
1031
boom = Instance.new("Sound",blade1)
1032
boom.Volume = 1
1033
boom.Pitch = 2.2
1034
boom.SoundId = "rbxasset://sounds\\Rocket shot.wav"
1035
blade2 = Instance.new("Part")
1036
prop(blade2, sword, false, 0, 0.2, 1.2, 1.2, 0.1, "Light blue", false, "Custom")
1037
b2m = Instance.new("BlockMesh",blade2)
1038
bw2 = Instance.new("Weld")
1039
weld(bw2, main, blade2, 0, 0, math.pi/4, 0, 3, 0)
1040
blade3 = Instance.new("Part")
1041
prop(blade3, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom")
1042
b3m = Instance.new("SpecialMesh")
1043
mesh(b3m,blade3,1,1,1,"Wedge")
1044
bw3 = Instance.new("Weld")
1045
weld(bw3, main, blade3, math.pi, math.pi/2, 0, 0.3, 5.2, 0)
1046
blade4 = Instance.new("Part")
1047
prop(blade4, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom")
1048
b4m = Instance.new("SpecialMesh")
1049
mesh(b4m,blade4,1,1,1,"Wedge")
1050
bw4 = Instance.new("Weld")
1051
weld(bw4, main, blade4, math.pi, -math.pi/2, 0, -0.3, 5.2, 0)
1052
blade5 = Instance.new("Part")
1053
prop(blade5, sword, false, 0, 0.2, 0.6, 0.6, 0.1, "Light blue", false, "Custom")
1054
b5m = Instance.new("BlockMesh",blade5)
1055
bw5 = Instance.new("Weld")
1056
weld(bw5, main, blade5, 0, 0, math.pi/4, 0, 6.6, 0)
1057
part7 = Instance.new("Part")
1058
prop(part7, sword, false, 0.2, 0.2, 0.7, 1.6, 0.22, "Medium blue", false, "Custom")
1059
p7m = Instance.new("SpecialMesh")
1060
mesh(p7m,part7,1.3,1.2,1.3,"Sphere")
1061
w7 = Instance.new("Weld")
1062
weld(w7, main, part7, 0, 0, 0, 0, 3, 0)
1063
tup1 = Instance.new("Part")
1064
prop(tup1, sword, false, 0, 0.4, 1.2, 0.7, 0.4, "Bright blue", false, "Custom")
1065
tw1 = Instance.new("Weld")
1066
weld(tw1, torso, tup1, -0.3+(math.pi/2), -0.3, 0.2+(math.pi/2), 1.1, 1.2, 0)
1067
holdpart = Instance.new("Part")
1068
prop(holdpart, char, false, 1, 0, 0.5, 0.5, 0.5, "White", false, "Custom")
1069
hu = Instance.new("Weld")
1070
weld(hu, rarm, holdpart, 0, 0, 0, 0, 1, 0)
1071
holdweld = Instance.new("Weld")
1072
weld(holdweld, main, tup1, 0, 0, 0, 0, 1.5, 0)
1073
weaponweld = Instance.new("Weld")
1074
weld(weaponweld, holdpart, nil, -(math.pi/2), 0, (math.pi/2), 0, 0, 0)
1075
--Arm connections----------Arm connections----------Arm connections----------Arm connections--------
1076
rb = Instance.new("Part")
1077
prop(rb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric")
1078
rh = Instance.new("Weld")
1079
weld(rh, rb, torso, 0, 0, 0, 1.5, 0.5, 0)
1080
lb = Instance.new("Part")
1081
prop(lb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric")
1082
lh = Instance.new("Weld")
1083
weld(lh, lb, torso, 0, 0, 0, -1.5, 0.5, 0)
1084
rw = Instance.new("Weld")
1085
weld(rw, rb, nil, 0, 0, 0, 0, 0.5, 0)
1086
lw = Instance.new("Weld")
1087
weld(lw, lb, nil, 0, 0, 0, 0, 0.5 ,0)
1088
neck = torso.Neck
1089
neor = neck.C1
1090
rightfight = CFrame.fromEulerAnglesXYZ(0.85,0.7,0) * CFrame.new(-0.23,-0.25,-0.1)
1091
leftfight = CFrame.fromEulerAnglesXYZ(0.3,0,0.4) * CFrame.new(0.2,-0.4,0.1)
1092
function selectmotion()
1093
weaponweld.C0 = CFrame.new(0,0,0)
1094
rw.C0 = CFrame.new(0,0,0)
1095
lw.C0 = CFrame.new(0,0,0)
1096
rw.Part1 = rarm
1097
lw.Part1 = larm
1098
for i=1, 15 do
1099
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0)
1100
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(-0.01,-0.05,-0.04)
1101
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.04,0.08,0.01) * CFrame.new(0,0,0)
1102
wait()
1103
end
1104
weaponweld.Part1 = main
1105
holdweld.Part1 = nil
1106
wait(0.14)
1107
uns:play()
1108
for i=1, 4 do
1109
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) * CFrame.new(0,0,0)
1110
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0.12,-0.03,0.26)
1111
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0.04,0.03) * CFrame.new(0,0,0)
1112
wait()
1113
end
1114
for i=1, 10 do
1115
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0.15) * CFrame.new(0,0,0)
1116
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.15,-0.22,0.1) * CFrame.new(0.05,0.1,0.05)
1117
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0.07,0)
1118
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.06,0.03) * CFrame.new(0,0,0)
1119
wait()
1120
end
1121
wait(0.1)
1122
for i=1, 6 do
1123
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,-0.04,-0.09) * CFrame.new(0,0,0)
1124
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.18,-0.14) * CFrame.new(-0.08,0.05,0.05)
1125
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.2,0,0) * CFrame.new(0,0,0)
1126
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0,0,-0.12) * CFrame.new(0,-0.04,0)
1127
wait()
1128
end
1129
rw.C0 = rightfight
1130
lw.C0 = leftfight
1131
neck.C1 = neor
1132
weaponweld.C0 = CFrame.new(0,0,0)
1133
selected = true
1134
end
1135
function deselmotion()
1136
for i=1, 12 do
1137
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0)
1138
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(0.02,-0.05,-0.04)
1139
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,-0.05) * CFrame.new(-0.02,0.03,0)
1140
wait()
1141
end
1142
shea:play()
1143
weaponweld.Part1 = nil
1144
holdweld.Part1 = tup1
1145
wait(0.1)
1146
for i=1, 8 do
1147
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.09) * CFrame.new(0,0,0)
1148
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.12,0,-0.12) * CFrame.new(-0.07,0.11,0)
1149
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0.04) * CFrame.new(0,0,0)
1150
wait()
1151
end
1152
rw.Part1 = nil
1153
lw.Part1 = nil
1154
rw.C0 = CFrame.new(0,0,0)
1155
lw.C0 = CFrame.new(0,0,0)
1156
neck.C1 = neor
1157
weaponweld.C0 = CFrame.new(0,0,0)
1158
selected = false
1159
end
1160
----Effects--------------------------Effects--------------------------Effects--------------------------Effects----------------------
1161
function fade(brick,mesh,scale,tran,speed)
1162
coroutine.resume(coroutine.create(function()
1163
for i=tran,1,speed do
1164
wait()
1165
brick.Transparency = i
1166
mesh.Scale = mesh.Scale - Vector3.new(scale,scale,scale)
1167
end
1168
brick:remove()
1169
end))
1170
end
1171
function block(part,avg,cols)
1172
for i=1, math.random(1,3) do
1173
local s = (avg*1.4)*100
1174
local s2 = (avg/5)*100
1175
local size = math.random(s2,s)/100
1176
local p = Instance.new("Part",me.Character)
1177
prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom")
1178
p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
1179
coroutine.resume(coroutine.create(function()
1180
for i=p.Transparency, 1, 0.2 do
1181
wait(0.15)
1182
p.Transparency = i
1183
local cf = p.CFrame
1184
p.Size = Vector3.new(size,size,size)
1185
p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
1186
size = size - 0.2
1187
end
1188
p:remove()
1189
end))
1190
end
1191
end
1192
function blocks(part,avg,cols)
1193
for i=1, math.random(1,3) do
1194
local s = (avg*1.4)*100
1195
local s2 = (avg/5)*100
1196
local size = math.random(s2,s)/100
1197
local p = Instance.new("Part",me.Character)
1198
local pos = p.CFrame
1199
local pos2 = pos * CFrame.new(0,12,-15)
1200
local pos3 = pos2 * CFrame.new(0,-12,-12)
1201
local bv = Instance.new("BodyPosition",p)
1202
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1203
bv.position = pos2.p
1204
local bg = Instance.new("BodyGyro",p)
1205
bg.cframe = CFrame.new(pos.p,pos3.p)
1206
bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1207
bg.P = 30000
1208
prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom")
1209
p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
1210
coroutine.resume(coroutine.create(function()
1211
for i=p.Transparency, 1, 0.2 do
1212
wait(0.15)
1213
p.Transparency = i
1214
local cf = p.CFrame
1215
p.Size = Vector3.new(size,size,size)
1216
p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
1217
size = size - 0.2
1218
end
1219
p:remove()
1220
end))
1221
end
1222
end
1223
function blading(part,color)
1224
local p = Instance.new("Part",me.Character)
1225
prop(p,me.Character,false,0.4,0,0.2,1.4,3.8,color,true,"Custom")
1226
p.CFrame = part.CFrame
1227
coroutine.resume(coroutine.create(function()
1228
for i=p.Transparency, 1, 0.04 do
1229
wait()
1230
p.Transparency = i
1231
end
1232
p:remove()
1233
end))
1234
end
1235
function spikes(part,color)
1236
local p = Instance.new("Part",me.Character)
1237
prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom")
1238
p.CFrame = part.CFrame * CFrame.new(0,-3,0)
1239
local mww = Instance.new("SpecialMesh")
1240
mesh(mww,p,6,5,6,"FileMesh")
1241
mww.MeshId = "http://www.roblox.com/asset/?id=20329976"
1242
fade(p,mww,0.55,p.Transparency,0.08)
1243
end
1244
function spikes2(part,color)
1245
local p = Instance.new("Part",me.Character)
1246
prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom")
1247
p.CFrame = part.CFrame * CFrame.new(0,0,6) * CFrame.Angles(math.pi/2,0,0)
1248
local mww = Instance.new("SpecialMesh")
1249
mesh(mww,p,8,7,8,"FileMesh")
1250
mww.MeshId = "http://www.roblox.com/asset/?id=20329976"
1251
fade(p,mww,0.55,p.Transparency,0.06)
1252
end
1253
function bal(part,color,dist)
1254
local p = Instance.new("Part",me.Character)
1255
prop(p,me.Character,false,0.4,0,1,1,1,color,true,"Custom")
1256
p.CFrame = part.CFrame
1257
local mww = Instance.new("SpecialMesh")
1258
mesh(mww,p,dist,dist,dist,"Sphere")
1259
fade(p,mww,3,p.Transparency,0.06)
1260
end
1261
--Kill function----------------------Kill function----------------------Kill function--------------------
1262
function blast(dmg,part,crit)
1263
local randomposx = math.random(-30,30)
1264
local randomposy = math.random(-50,-10)
1265
local bil = Instance.new("BillboardGui",part)
1266
bil.Adornee = bil.Parent
1267
bil.Size = UDim2.new(0,110,0,70)
1268
local img = Instance.new("ImageLabel",bil)
1269
img.Size = UDim2.new(1,0,1,0)
1270
img.Image = "http://www.roblox.com/asset/?id=42621332"
1271
img.Position = UDim2.new(0,randomposx,0,randomposy)
1272
img.BackgroundTransparency = 1
1273
local txt = Instance.new("TextLabel",img)
1274
txt.Size = UDim2.new(1,0,1,0)
1275
txt.BackgroundTransparency = 1
1276
txt.Text = dmg
1277
txt.TextColor3 = Color3.new(0,0,0)
1278
txt.FontSize = "Size18"
1279
if crit then
1280
img.Image = "http://www.roblox.com/asset/?id=42621315"
1281
txt.FontSize = "Size24"
1282
txt.TextColor3 = Color3.new(0.6,0,0)
1283
end
1284
coroutine.resume(coroutine.create(function()
1285
wait(0.2)
1286
for i=1, math.random(30,50) do
1287
img.Position = UDim2.new(0,randomposx,0,randomposy)
1288
randomposy = randomposy - 4
1289
wait()
1290
end
1291
bil:remove()
1292
end))
1293
end
1294
deb = true
1295
function kill(hit,mod)
1296
if deb and attack and hit.Parent.Name ~= name then
1297
local ch = hit.Parent
1298
if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then
1299
deb = false
1300
local dm = math.random(0,avgdmg*2)
1301
local cri = false
1302
local cripro = math.random(1,criticalchance)
1303
if cripro == 1 then
1304
cri = true
1305
dm = math.random(avgdmg*1.5,avgdmg*4.5)
1306
end
1307
ch["Humanoid"].Health = ch["Humanoid"].Health - dm
1308
blast(dm,ch.Head,cri)
1309
if cri then
1310
coroutine.resume(coroutine.create(function()
1311
local lol = math.random(1,plat)
1312
if lol == 1 then
1313
ch["Humanoid"].PlatformStand = true
1314
ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
1315
wait(0.9)
1316
ch["Humanoid"].PlatformStand = false
1317
if mod == true then
1318
ch.Torso.RotVelocity = Vector3.new(math.random(-30,30),math.random(-30,30),math.random(-30,30))
1319
ch.Torso.Velocity = Vector3.new(math.random(-30,30),math.random(15,70),math.random(-30,30))
1320
end
1321
end
1322
end))
1323
end
1324
wait(dela)
1325
deb = true
1326
end
1327
end
1328
end
1329
function ris(hit,mod)
1330
if deb and attack and hit.Parent.Name ~= name then
1331
local ch = hit.Parent
1332
if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then
1333
deb = false
1334
local dm = math.random(0,avgdmg*2)
1335
local cri = false
1336
local cripro = math.random(1,criticalchance)
1337
if cripro == 1 then
1338
cri = true
1339
dm = math.random(avgdmg*1.5,avgdmg*4.5)
1340
end
1341
ch["Humanoid"].Health = ch["Humanoid"].Health - dm
1342
blast(dm,ch.Head,cri)
1343
if cri then
1344
coroutine.resume(coroutine.create(function()
1345
local lol = math.random(1,plat)
1346
if lol == 1 then
1347
ch["Humanoid"].PlatformStand = true
1348
ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
1349
wait(0.9)
1350
ch["Humanoid"].PlatformStand = false
1351
if mod == true then
1352
ch.Torso.RotVelocity = Vector3.new(math.random(-100,100),math.random(-100,100),math.random(-100,100))
1353
ch.Torso.Velocity = Vector3.new(math.random(-100,100),math.random(105,170),math.random(-100,100))
1354
end
1355
end
1356
end))
1357
end
1358
wait(dela)
1359
deb = true
1360
end
1361
end
1362
end
1363
blade3.Touched:connect(kill)
1364
blade4.Touched:connect(kill)
1365
blade2.Touched:connect(kill)
1366
blade1.Touched:connect(kill)
1367
blade5.Touched:connect(kill)
1368
blade5.Touched:connect(ris)
1369
----Attacks----------------------Attacks----------------------Attacks----------------------Attacks------------------
1370
-- block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1371
-- blading(blade2,"Bright red")
1372
function att()
1373
attacking = true
1374
for i=1,8 do
1375
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0)
1376
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
1377
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
1378
wait()
1379
end
1380
slash:play()
1381
wait(0.13)
1382
attack = true
1383
for i=1,6 do
1384
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0)
1385
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
1386
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
1387
block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1388
wait()
1389
end
1390
attack = false
1391
wait(0.08)
1392
for i=1,3 do
1393
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
1394
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
1395
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
1396
wait()
1397
end
1398
rw.C0 = rightfight
1399
lw.C0 = leftfight
1400
neck.C1 = neor
1401
weaponweld.C0 = CFrame.new(0,0,0)
1402
attacking = false
1403
end
1404
function stab()
1405
attacking = true
1406
for i=1,8 do
1407
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0)
1408
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
1409
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
1410
wait()
1411
end
1412
slash:play()
1413
avgdmg = 15
1414
criticalchance = 95
1415
wait(0.13)
1416
attack = true
1417
for i=1,6 do
1418
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,-0.44,-0.8) * CFrame.new(0,0,0)
1419
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
1420
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
1421
block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1422
bal(blade5,"Tr. Blue",25)
1423
wait()
1424
end
1425
attack = false
1426
wait(0.08)
1427
for i=1,3 do
1428
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
1429
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
1430
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
1431
blocks(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1432
bal(blade5,"Tr. Blue",25)
1433
wait()
1434
end
1435
rw.C0 = rightfight
1436
lw.C0 = leftfight
1437
neck.C1 = neor
1438
weaponweld.C0 = CFrame.new(0,0,0)
1439
attacking = false
1440
end
1441
function attas()
1442
attacking = true
1443
local pos = torso.CFrame
1444
local pos2 = pos * CFrame.new(0,12,-15)
1445
local pos3 = pos2 * CFrame.new(0,-12,-12)
1446
for i=1,6 do
1447
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0)
1448
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
1449
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
1450
spikes(torso,"Light blue")
1451
spikes2(torso,"Bright blue")
1452
bal(torso,"Tr. Blue",25)
1453
wait()
1454
end
1455
slash:play()
1456
avgdmg = 15
1457
criticalchance = 65
1458
wait(0.13)
1459
attack = true
1460
local bv = Instance.new("BodyPosition",torso)
1461
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1462
bv.position = pos2.p
1463
local bg = Instance.new("BodyGyro",torso)
1464
bg.cframe = CFrame.new(pos.p,pos3.p)
1465
bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1466
bg.P = 30000
1467
for i=1,6 do
1468
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.54,0.08,0) * CFrame.new(0,0,0)
1469
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,0) * CFrame.new(0,0,0)
1470
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.24,0,0)
1471
block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1472
wait()
1473
end
1474
attack = false
1475
wait(0.08)
1476
for i=1,3 do
1477
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
1478
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
1479
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
1480
wait()
1481
end
1482
rw.C0 = rightfight
1483
lw.C0 = leftfight
1484
bv:remove()
1485
bg:remove()
1486
neck.C1 = neor
1487
weaponweld.C0 = CFrame.new(0,0,0)
1488
attacking = false
1489
end
1490
function spin()
1491
attacking = true
1492
hum.WalkSpeed = 0
1493
for i=1,7 do
1494
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0)
1495
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0)
1496
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
1497
wait()
1498
end
1499
spi:play()
1500
wait(0.3)
1501
spi:play()
1502
dela = 0.1
1503
avgdmg = 6
1504
criticalchance = 12
1505
local bv = Instance.new("BodyVelocity",torso)
1506
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1507
bv.velocity = torso.CFrame.lookVector * 22
1508
local bav = Instance.new("BodyAngularVelocity",torso)
1509
bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1510
bav.angularvelocity = Vector3.new(0,36,0)
1511
bav.P = 15000
1512
attack = true
1513
for i=1, 30 do
1514
wait()
1515
spikes(torso,"Medium blue")
1516
end
1517
bv:remove()
1518
bav:remove()
1519
hum.WalkSpeed = normal
1520
attack = false
1521
avgdmg = normdmg
1522
for i=1,5 do
1523
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0)
1524
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0)
1525
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
1526
wait()
1527
end
1528
dela = 0.4
1529
rw.C0 = rightfight
1530
lw.C0 = leftfight
1531
neck.C1 = neor
1532
weaponweld.C0 = CFrame.new(0,0,0)
1533
attacking = false
1534
criticalchance = normchance
1535
end
1536
function spins()
1537
attacking = true
1538
hum.WalkSpeed = 0
1539
for i=1,7 do
1540
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0)
1541
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0)
1542
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
1543
bal(torso,"Tr. Blue",25)
1544
wait()
1545
end
1546
spi:play()
1547
wait(0.3)
1548
spi:play()
1549
dela = 0.1
1550
avgdmg = 6
1551
criticalchance = 12
1552
local bv = Instance.new("BodyVelocity",torso)
1553
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1554
bv.velocity = torso.CFrame.lookVector * 22
1555
local bav = Instance.new("BodyAngularVelocity",torso)
1556
bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1557
bav.angularvelocity = Vector3.new(0,36,0)
1558
bav.P = 15000
1559
attack = true
1560
for i=1, 30 do
1561
wait()
1562
spikes(torso,"Medium blue")
1563
end
1564
bv:remove()
1565
bav:remove()
1566
hum.WalkSpeed = normal
1567
attack = false
1568
avgdmg = normdmg
1569
for i=1,5 do
1570
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0)
1571
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0)
1572
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
1573
wait()
1574
end
1575
dela = 0.4
1576
rw.C0 = rightfight
1577
lw.C0 = leftfight
1578
neck.C1 = neor
1579
weaponweld.C0 = CFrame.new(0,0,0)
1580
attacking = false
1581
criticalchance = normchance
1582
end
1583
function rise()
1584
attacking = true
1585
local pos = torso.CFrame
1586
local pos2 = pos * CFrame.new(0,5,-15)
1587
local pos3 = pos2 * CFrame.new(0,-3,-12)
1588
hum.WalkSpeed = 0
1589
for i=1,7 do
1590
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0)
1591
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0)
1592
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
1593
bal(torso,"Tr. Blue",25)
1594
wait()
1595
end
1596
spi:play()
1597
wait(0.3)
1598
spi:play()
1599
dela = 0.1
1600
avgdmg = 6
1601
criticalchance = 12
1602
local bv = Instance.new("BodyPosition",torso)
1603
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1604
bv.position = pos2.p
1605
local bg = Instance.new("BodyGyro",torso)
1606
bg.cframe = CFrame.new(pos.p,pos3.p)
1607
bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1608
bg.P = 30000
1609
attack = true
1610
for i=1, 30 do
1611
wait()
1612
spikes2(torso,"Medium blue")
1613
end
1614
bv:remove()
1615
bg:remove()
1616
hum.WalkSpeed = normal
1617
attack = false
1618
avgdmg = normdmg
1619
for i=1,5 do
1620
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0)
1621
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0)
1622
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
1623
wait()
1624
end
1625
dela = 0.4
1626
rw.C0 = rightfight
1627
lw.C0 = leftfight
1628
neck.C1 = neor
1629
weaponweld.C0 = CFrame.new(0,0,0)
1630
attacking = false
1631
criticalchance = normchance
1632
end
1633
function sprint()
1634
attacking = true
1635
hum.WalkSpeed = 0
1636
local pos = torso.CFrame
1637
local pos2 = pos * CFrame.new(0,12,-15)
1638
local pos3 = pos2 * CFrame.new(0,-12,-12)
1639
for i=1,6 do
1640
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
1641
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
1642
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0)
1643
wait()
1644
end
1645
avgdmg = 14
1646
local bv = Instance.new("BodyPosition",torso)
1647
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1648
bv.position = pos2.p
1649
local bg = Instance.new("BodyGyro",torso)
1650
bg.cframe = CFrame.new(pos.p,pos3.p)
1651
bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1652
bg.P = 30000
1653
for i=1, 7 do
1654
wait()
1655
spikes2(torso,"Medium blue")
1656
end
1657
wait(0.1)
1658
coroutine.resume(coroutine.create(function()
1659
for i=1, 17 do
1660
wait()
1661
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04)
1662
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05)
1663
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0)
1664
end
1665
end))
1666
coroutine.resume(coroutine.create(function()
1667
for i=0.4, 5.3,0.07 do
1668
wait(0.04)
1669
block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1670
end
1671
end))
1672
charge:play()
1673
coroutine.resume(coroutine.create(function()
1674
wait(2.5)
1675
for i=1, 11 do
1676
wait()
1677
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0)
1678
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0)
1679
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0)
1680
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0)
1681
end
1682
end))
1683
criticalchance = 1
1684
plat = 1
1685
dela = 0
1686
wait(3.8)
1687
boom:play()
1688
attack = true
1689
coroutine.resume(coroutine.create(function()
1690
for i=1, 5 do
1691
wait()
1692
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
1693
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
1694
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
1695
end
1696
end))
1697
bv.position = pos3.p
1698
for i=1, 7 do
1699
wait()
1700
spikes2(torso,"Medium blue")
1701
end
1702
coroutine.resume(coroutine.create(function()
1703
for i=1, 12 do
1704
wait()
1705
bal(blade5,"Medium blue",splashdist*2)
1706
end
1707
end))
1708
local parts = getcharparts(workspace)
1709
for _,v in pairs(parts) do
1710
if (v.Position - blade5.Position).magnitude < 14 then
1711
kill(v,true)
1712
end
1713
end
1714
wait(0.3)
1715
attack = false
1716
bv:remove()
1717
bg:remove()
1718
hum.WalkSpeed = normal
1719
avgdmg = normdmg
1720
rw.C0 = rightfight
1721
lw.C0 = leftfight
1722
neck.C1 = neor
1723
weaponweld.C0 = CFrame.new(0,0,0)
1724
attacking = false
1725
criticalchance = normchance
1726
plat = 2
1727
end
1728
function sprint2()
1729
attacking = true
1730
hum.WalkSpeed = 0
1731
local pos = torso.CFrame
1732
local pos2 = pos * CFrame.new(0,15,-15)
1733
local pos3 = pos2 * CFrame.new(0,-13,-12)
1734
for i=1,6 do
1735
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
1736
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
1737
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0)
1738
wait()
1739
end
1740
avgdmg = 14
1741
local bv = Instance.new("BodyPosition",torso)
1742
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1743
bv.position = pos2.p
1744
local bg = Instance.new("BodyGyro",torso)
1745
bg.cframe = CFrame.new(pos.p,pos3.p)
1746
bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1747
bg.P = 30000
1748
for i=1, 4 do
1749
wait()
1750
spikes2(torso,"Medium blue")
1751
spikes2(torso,"Light blue")
1752
spikes2(torso,"Bright blue")
1753
end
1754
wait(0.1)
1755
coroutine.resume(coroutine.create(function()
1756
for i=1, 34 do
1757
wait()
1758
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04)
1759
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05)
1760
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0)
1761
end
1762
end))
1763
coroutine.resume(coroutine.create(function()
1764
for i=0.4, 5.3,0.07 do
1765
wait(0.04)
1766
block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1767
end
1768
end))
1769
charge:play()
1770
coroutine.resume(coroutine.create(function()
1771
wait(2.5)
1772
for i=1, 11 do
1773
wait()
1774
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0)
1775
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0)
1776
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0)
1777
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0)
1778
end
1779
end))
1780
criticalchance = 1
1781
plat = 1
1782
dela = 0
1783
wait(3.8)
1784
boom:play()
1785
attack = true
1786
coroutine.resume(coroutine.create(function()
1787
for i=1, 5 do
1788
wait()
1789
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
1790
lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
1791
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
1792
end
1793
end))
1794
bv.position = pos3.p
1795
for i=1, 7 do
1796
wait()
1797
spikes2(torso,"Medium blue")
1798
end
1799
coroutine.resume(coroutine.create(function()
1800
for i=1, 12 do
1801
wait()
1802
bal(blade5,"Medium blue",splashdist*2)
1803
end
1804
end))
1805
local parts = getcharparts(workspace)
1806
for _,v in pairs(parts) do
1807
if (v.Position - blade5.Position).magnitude < 14 then
1808
kill(v,true)
1809
end
1810
end
1811
wait(0.3)
1812
attack = false
1813
bv:remove()
1814
bg:remove()
1815
hum.WalkSpeed = normal
1816
avgdmg = normdmg
1817
rw.C0 = rightfight
1818
lw.C0 = leftfight
1819
neck.C1 = neor
1820
weaponweld.C0 = CFrame.new(0,0,0)
1821
attacking = false
1822
criticalchance = normchance
1823
plat = 2
1824
end
1825
function combo()
1826
att()
1827
attas()
1828
sprint()
1829
spin()
1830
end
1831
function run()
1832
spin()
1833
spin()
1834
spin()
1835
end
1836
function rush()
1837
attacking = true
1838
for i=1,8 do
1839
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0)
1840
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0)
1841
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
1842
wait(0.1)
1843
end
1844
slash:play()
1845
wait(0.13)
1846
attack = true
1847
local bv = Instance.new("BodyVelocity",torso)
1848
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1849
bv.velocity = torso.CFrame.lookVector * 220
1850
local bav = Instance.new("BodyAngularVelocity",torso)
1851
bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1852
bav.angularvelocity = Vector3.new(0,36,0)
1853
bav.P = 15000
1854
for i=1,6 do
1855
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0)
1856
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
1857
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
1858
block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1859
wait()
1860
end
1861
attack = false
1862
wait(0.08)
1863
for i=1,3 do
1864
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
1865
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
1866
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
1867
block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1868
wait()
1869
end
1870
rw.C0 = rightfight
1871
lw.C0 = leftfight
1872
bv:remove()
1873
bav:remove()
1874
neck.C1 = neor
1875
weaponweld.C0 = CFrame.new(0,0,0)
1876
attacking = false
1877
end
1878
function masta()
1879
attacking = true
1880
for i=1,8 do
1881
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0)
1882
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0)
1883
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
1884
bal(torso,"Tr. Blue",25)
1885
spikes2(torso,"Medium blue")
1886
block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1887
wait(0.1)
1888
end
1889
slash:play()
1890
avgdmg = 37
1891
criticalchance = 125
1892
wait(0.13)
1893
attack = true
1894
local bv = Instance.new("BodyVelocity",torso)
1895
bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1896
bv.velocity = torso.CFrame.lookVector * 220
1897
local bav = Instance.new("BodyAngularVelocity",torso)
1898
bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
1899
bav.angularvelocity = Vector3.new(0,36,0)
1900
bav.P = 15000
1901
for i=1,6 do
1902
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0)
1903
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
1904
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
1905
bal(torso,"Tr. Blue",25)
1906
spikes2(torso,"Medium blue")
1907
block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1908
wait()
1909
end
1910
attack = false
1911
wait(0.08)
1912
for i=1,3 do
1913
rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
1914
weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
1915
neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
1916
bal(torso,"Tr. Blue",25)
1917
spikes2(torso,"Medium blue")
1918
block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
1919
wait()
1920
end
1921
rw.C0 = rightfight
1922
lw.C0 = leftfight
1923
bv:remove()
1924
bav:remove()
1925
neck.C1 = neor
1926
weaponweld.C0 = CFrame.new(0,0,0)
1927
attacking = false
1928
end
1929
if script.Parent.className ~= "HopperBin" then
1930
local h = Instance.new("HopperBin",me.Backpack)
1931
h.Name = "SoulSword"
1932
script.Parent = h
1933
end
1934
local bin = script.Parent
1935
function sel(mouse)
1936
neck.C1 = neor
1937
if (selected == false) then
1938
selectmotion()
1939
end
1940
mouse.Button1Down:connect(function()
1941
if (attacking == false) then
1942
att()
1943
end
1944
end)
1945
mouse.KeyDown:connect(function(kuu)
1946
local kai = kuu:lower()
1947
if attacking == false then
1948
if (kai == "q") then
1949
spin()
1950
elseif (kai == "e") then
1951
att()
1952
elseif (kai == "r") then
1953
sprint()
1954
elseif (kai == "l") then
1955
stab()
1956
elseif (kai == "t") then
1957
attas()
1958
elseif (kai == "z") then
1959
masta()
1960
elseif (kai == "y") then
1961
spins()
1962
elseif (kai == "g") then
1963
combo()
1964
elseif (kai == "p") then
1965
rise()
1966
elseif (kai == "j") then
1967
sprint2()
1968
elseif (kai == "h") then
1969
run()
1970
elseif (kai == "f") then
1971
rush()
1972
end
1973
end
1974
end)
1975
while selected do
1976
wait(0.8)
1977
local k = math.random(1,5)
1978
if k == 1 then
1979
if hum.Health < 50 then
1980
for i=1, math.random(4,24) do
1981
wait(0.1)
1982
local col = healcols[math.random(1,#healcols)]
1983
local sa = math.random(30,90)/100
1984
local p = Instance.new("Part")
1985
prop(p,me.Character,false,0.1,0.05,1,1,1,col,false,"Symmetric")
1986
p.CFrame = CFrame.new(torso.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) * CFrame.new(0,0,math.random(4,12))
1987
local mes = Instance.new("SpecialMesh")
1988
mesh(mes,p,sa,sa,sa,"Sphere")
1989
local bg = Instance.new("BodyPosition",p)
1990
bg.maxForce = Vector3.new(1000000,1000000,1000000)
1991
bg.P = 100000
1992
bg.position = torso.Position
1993
coroutine.resume(coroutine.create(function()
1994
repeat
1995
bg.position = torso.Position
1996
wait()
1997
until (p.Position - torso.Position).magnitude < 1.8
1998
hum.Health = hum.Health + 1.2
1999
p:remove()
2000
end))
2001
end
2002
end
2003
end
2004
end
2005
end
2006
function desel()
2007
neck.C1 = neor
2008
if selected then
2009
deselmotion()
2010
end
2011
end
2012
bin.Selected:connect(sel)
2013
bin.Deselected:connect(desel)
2014
--FireBenderRoblox