View difference between Paste ID: 3zy423Qd and EE83VGEE
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,game,owner = owner,game
3
local RealPlayer = Player
4
do
5
    print("FE Compatibility code by Mokiros, Edited by StarzoZero")
6
    local rp = RealPlayer
7
    script.Parent = rp.Character
8
   
9
    --RemoteEvent for communicating
10
    local Event = Instance.new("RemoteEvent")
11-
Player = game:GetService("Players").pmcaom -- put your roblox username here 
11+
    Event.Name = "UserInput_Event"
12
 
13
    --Fake event to make stuff like Mouse.KeyDown work
14
    local function fakeEvent()
15
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
        t.connect = t.Connect
17
        return t
18
    end
19
 
20
    --Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
22
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
    end}
26
    --Merged 2 functions into one by checking amount of arguments
27
    CAS.UnbindAction = CAS.BindAction
28
 
29
    --This function will trigger the events that have been :Connect()'ed
30
    local function te(self,ev,...)
31
        local t = m[ev]
32
        if t and t._fakeEvent then
33
            for _,f in pairs(t.Functions) do
34
                f(...)
35
            end
36
        end
37
    end
38
    m.TrigEvent = te
39
    UIS.TrigEvent = te
40
 
41
    Event.OnServerEvent:Connect(function(plr,io)
42
        if plr~=rp then return end
43
        m.Target = io.Target
44
        m.Hit = io.Hit
45
        if not io.isMouse then
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
            if io.UserInputType == Enum.UserInputType.MouseButton2 then
51
                return m:TrigEvent(b and "Button2Down" or "Button2Up")
52
            end
53
            for _,t in pairs(CAS.Actions) do
54
                for _,k in pairs(t.Keys) do
55
                    if k==io.KeyCode then
56
                        t.Function(t.Name,io.UserInputState,io)
57
                    end
58
                end
59
            end
60
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
61
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
62
        end
63
    end)
64
    Event.Parent = NLS([==[
65
    local Player = game:GetService("Players").LocalPlayer
66
    local Event = script:WaitForChild("UserInput_Event")
67
    local Mouse = Player:GetMouse()
68
    local UIS = game:GetService("UserInputService")
69
    local input = function(io,a)
70
        if a then return end
71
        --Since InputObject is a client-side instance, we create and pass table instead
72
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
73
    end
74
    UIS.InputBegan:Connect(input)
75
    UIS.InputEnded:Connect(input)
76
    local h,t
77
    --Give the server mouse data 30 times every second, but only if the values changed
78
    --If player is not moving their mouse, client won't fire events
79
    while wait(1/30) do
80
        if h~=Mouse.Hit or t~=Mouse.Target then
81
            h,t=Mouse.Hit,Mouse.Target
82
            Event:FireServer({isMouse=true,Target=t,Hit=h})
83
        end
84
    end]==],Player.Character)
85
 
86
    ----Sandboxed game object that allows the usage of client-side methods and services
87
    --Real game object
88
    local _rg = game
89
 
90
    --Metatable for fake service
91
    local fsmt = {
92
        __index = function(self,k)
93
            local s = rawget(self,"_RealService")
94
            if s then
95
                return typeof(s[k])=="function"
96
                and function(_,...)return s[k](s,...)end or s[k]
97
            end
98
        end,
99
        __newindex = function(self,k,v)
100
            local s = rawget(self,"_RealService")
101
            if s then s[k]=v end
102
        end
103
    }
104
    local function FakeService(t,RealService)
105
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
        return setmetatable(t,fsmt)
107
    end
108
 
109
    --Fake game object
110
    local g = {
111
        GetService = function(self,s)
112
            return rawget(self,s) or _rg:GetService(s)
113
        end,
114
        Players = FakeService({
115
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
        },"Players"),
117
        UserInputService = FakeService(UIS,"UserInputService"),
118
        ContextActionService = FakeService(CAS,"ContextActionService"),
119
        RunService = FakeService({
120
            _btrs = {},
121
            RenderStepped = _rg:GetService("RunService").Heartbeat,
122
            BindToRenderStep = function(self,name,_,fun)
123
                self._btrs[name] = self.Heartbeat:Connect(fun)
124
            end,
125
            UnbindFromRenderStep = function(self,name)
126
                self._btrs[name]:Disconnect()
127
            end,
128
        },"RunService")
129
    }
130
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
131
    g.service = g.GetService
132
    FakeService(g,game)
133
    --Changing owner to fake player object to support owner:GetMouse()
134
    game,owner = g,g.Players.LocalPlayer
135
end
136
--//====================================================\\--
137
--||			   CREATED BY SHACKLUSTER
138
--\\====================================================//--
139
140
141
142
wait(0.2)
143
144
145
146
Player = game:GetService("Players").LocalPlayer-- put your roblox username here 
147
PlayerGui = Player.PlayerGui
148
Cam = workspace.CurrentCamera
149
Backpack = Player.Backpack
150
Character = Player.Character
151
Humanoid = Character.Humanoid
152
Mouse = Player:GetMouse()
153
RootPart = Character["HumanoidRootPart"]
154
Torso = Character["Torso"]
155
Head = Character["Head"]
156
RightArm = Character["Right Arm"]
157
LeftArm = Character["Left Arm"]
158
RightLeg = Character["Right Leg"]
159
LeftLeg = Character["Left Leg"]
160
RootJoint = RootPart["RootJoint"]
161
Neck = Torso["Neck"]
162
RightShoulder = Torso["Right Shoulder"]
163
LeftShoulder = Torso["Left Shoulder"]
164
RightHip = Torso["Right Hip"]
165
LeftHip = Torso["Left Hip"]
166
local sick = Instance.new("Sound",Character)
167
sick.SoundId = "rbxassetid://165704299"
168
sick.Looped = true
169
sick.Pitch = 0.8
170
sick.Volume = 1
171
sick:Play()
172
Humanoid.DisplayDistanceType = "None"
173
game.Lighting.ClockTime = 22
174
175
IT = Instance.new
176
CF = CFrame.new
177
VT = Vector3.new
178
RAD = math.rad
179
C3 = Color3.new
180
UD2 = UDim2.new
181
BRICKC = BrickColor.new
182
ANGLES = CFrame.Angles
183
EULER = CFrame.fromEulerAnglesXYZ
184
COS = math.cos
185
ACOS = math.acos
186
SIN = math.sin
187
ASIN = math.asin
188
ABS = math.abs
189
MRANDOM = math.random
190
FLOOR = math.floor
191
192
local Sky = IT("Sky")
193
Sky.Parent = game.Lighting
194
Sky.MoonAngularSize = 45
195
Sky.MoonTextureId = "http://www.roblox.com/asset/?id=1055904136"
196
197
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
198
	local NEWMESH = IT(MESH)
199
	if MESH == "SpecialMesh" then
200
		NEWMESH.MeshType = MESHTYPE
201
		if MESHID ~= "nil" and MESHID ~= "" then
202
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
203
		end
204
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
205
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
206
		end
207
	end
208
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
209
	NEWMESH.Scale = SCALE
210
	NEWMESH.Parent = PARENT
211
	return NEWMESH
212
end
213
214
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
215
	local NEWPART = IT("Part")
216
	NEWPART.formFactor = FORMFACTOR
217
	NEWPART.Reflectance = REFLECTANCE
218
	NEWPART.Transparency = TRANSPARENCY
219
	NEWPART.CanCollide = false
220
	NEWPART.Locked = true
221
	NEWPART.Anchored = true
222
	if ANCHOR == false then
223
		NEWPART.Anchored = false
224
	end
225
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
226
	NEWPART.Name = NAME
227
	NEWPART.Size = SIZE
228
	NEWPART.Position = Torso.Position
229
	NEWPART.Material = MATERIAL
230
	NEWPART:BreakJoints()
231
	NEWPART.Parent = PARENT
232
	return NEWPART
233
end
234
235
--//=================================\\
236
--||		  CUSTOMIZATION
237
--\\=================================//
238
239
Player_Size = 1 --Size of the player.
240
Animation_Speed = 3
241
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
242
243
local Speed = 16
244
local Effects2 = {}
245
246
--//=================================\\
247
--|| 	  END OF CUSTOMIZATION
248
--\\=================================//
249
250
	local function weldBetween(a, b)
251
	    local weldd = Instance.new("ManualWeld")
252
	    weldd.Part0 = a
253
	    weldd.Part1 = b
254
	    weldd.C0 = CFrame.new()
255
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
256
	    weldd.Parent = a
257
	    return weldd
258
	end
259
260
--//=================================\\
261
--|| 	      USEFUL VALUES
262
--\\=================================//
263
264
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
265
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
266
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
267
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
268
local CHANGEDEFENSE = 0
269
local CHANGEDAMAGE = 0
270
local CHANGEMOVEMENT = 0
271
local ANIM = "Idle"
272
local ATTACK = false
273
local EQUIPPED = false
274
local HOLD = false
275
local COMBO = 1
276
local Rooted = false
277
local SINE = 0
278
local KEYHOLD = false
279
local CHANGE = 2 / Animation_Speed
280
local WALKINGANIM = false
281
local WALK = 0
282
local VALUE1 = false
283
local VALUE2 = false
284
local ROBLOXIDLEANIMATION = IT("Animation")
285
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
286
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
287
--ROBLOXIDLEANIMATION.Parent = Humanoid
288
local WEAPONGUI = IT("ScreenGui", PlayerGui)
289
WEAPONGUI.Name = "Weapon GUI"
290
local Weapon = IT("Model")
291
Weapon.Name = "Adds"
292
local Effects = IT("Folder", Weapon)
293
Effects.Name = "Effects"
294
local ANIMATOR = Humanoid.Animator
295
local ANIMATE = Character.Animate
296
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
297
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
298
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
299
local HITBLOCKSOUNDS = {"199148933", "199148947"}
300
local UNANCHOR = true
301
local KILLINSTINCT = 0
302
303
local SKILLTEXTCOLOR = C3(1,0,0)
304
305
--//=================================\\
306
--\\=================================//
307
308
309
--//=================================\\
310
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
311
--\\=================================//
312
313
ArtificialHB = Instance.new("BindableEvent", script)
314
ArtificialHB.Name = "ArtificialHB"
315
316
script:WaitForChild("ArtificialHB")
317
318
frame = Frame_Speed
319
tf = 0
320
allowframeloss = false
321
tossremainder = false
322
lastframe = tick()
323
script.ArtificialHB:Fire()
324
325
game:GetService("RunService").Heartbeat:connect(function(s, p)
326
	tf = tf + s
327
	if tf >= frame then
328
		if allowframeloss then
329
			script.ArtificialHB:Fire()
330
			lastframe = tick()
331
		else
332
			for i = 1, math.floor(tf / frame) do
333
				script.ArtificialHB:Fire()
334
			end
335
		lastframe = tick()
336
		end
337
		if tossremainder then
338
			tf = 0
339
		else
340
			tf = tf - frame * math.floor(tf / frame)
341
		end
342
	end
343
end)
344
345
--//=================================\\
346
--\\=================================//
347
348
349
350
351
352
--//=================================\\
353
--|| 	      SOME FUNCTIONS
354
--\\=================================//
355
356
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
357
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
358
end
359
360
function PositiveAngle(NUMBER)
361
	if NUMBER >= 0 then
362
		NUMBER = 0
363
	end
364
	return NUMBER
365
end
366
367
function NegativeAngle(NUMBER)
368
	if NUMBER <= 0 then
369
		NUMBER = 0
370
	end
371
	return NUMBER
372
end
373
374
function Swait(NUMBER)
375
	if NUMBER == 0 or NUMBER == nil then
376
		ArtificialHB.Event:wait()
377
	else
378
		for i = 1, NUMBER do
379
			ArtificialHB.Event:wait()
380
		end
381
	end
382
end
383
384
function QuaternionFromCFrame(cf)
385
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
386
	local trace = m00 + m11 + m22
387
	if trace > 0 then 
388
		local s = math.sqrt(1 + trace)
389
		local recip = 0.5 / s
390
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
391
	else
392
		local i = 0
393
		if m11 > m00 then
394
			i = 1
395
		end
396
		if m22 > (i == 0 and m00 or m11) then
397
			i = 2
398
		end
399
		if i == 0 then
400
			local s = math.sqrt(m00 - m11 - m22 + 1)
401
			local recip = 0.5 / s
402
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
403
		elseif i == 1 then
404
			local s = math.sqrt(m11 - m22 - m00 + 1)
405
			local recip = 0.5 / s
406
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
407
		elseif i == 2 then
408
			local s = math.sqrt(m22 - m00 - m11 + 1)
409
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
410
		end
411
	end
412
end
413
 
414
function QuaternionToCFrame(px, py, pz, x, y, z, w)
415
	local xs, ys, zs = x + x, y + y, z + z
416
	local wx, wy, wz = w * xs, w * ys, w * zs
417
	local xx = x * xs
418
	local xy = x * ys
419
	local xz = x * zs
420
	local yy = y * ys
421
	local yz = y * zs
422
	local zz = z * zs
423
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
424
end
425
 
426
function QuaternionSlerp(a, b, t)
427
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
428
	local startInterp, finishInterp;
429
	if cosTheta >= 0.0001 then
430
		if (1 - cosTheta) > 0.0001 then
431
			local theta = ACOS(cosTheta)
432
			local invSinTheta = 1 / SIN(theta)
433
			startInterp = SIN((1 - t) * theta) * invSinTheta
434
			finishInterp = SIN(t * theta) * invSinTheta
435
		else
436
			startInterp = 1 - t
437
			finishInterp = t
438
		end
439
	else
440
		if (1 + cosTheta) > 0.0001 then
441
			local theta = ACOS(-cosTheta)
442
			local invSinTheta = 1 / SIN(theta)
443
			startInterp = SIN((t - 1) * theta) * invSinTheta
444
			finishInterp = SIN(t * theta) * invSinTheta
445
		else
446
			startInterp = t - 1
447
			finishInterp = t
448
		end
449
	end
450
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
451
end
452
453
function Clerp(a, b, t)
454
	local qa = {QuaternionFromCFrame(a)}
455
	local qb = {QuaternionFromCFrame(b)}
456
	local ax, ay, az = a.x, a.y, a.z
457
	local bx, by, bz = b.x, b.y, b.z
458
	local _t = 1 - t
459
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
460
end
461
462
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
463
	local frame = IT("Frame")
464
	frame.BackgroundTransparency = TRANSPARENCY
465
	frame.BorderSizePixel = BORDERSIZEPIXEL
466
	frame.Position = POSITION
467
	frame.Size = SIZE
468
	frame.BackgroundColor3 = COLOR
469
	frame.BorderColor3 = BORDERCOLOR
470
	frame.Name = NAME
471
	frame.Parent = PARENT
472
	return frame
473
end
474
475
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
476
	local label = IT("TextLabel")
477
	label.BackgroundTransparency = 1
478
	label.Size = UD2(1, 0, 1, 0)
479
	label.Position = UD2(0, 0, 0, 0)
480
	label.TextColor3 = TEXTCOLOR
481
	label.TextStrokeTransparency = STROKETRANSPARENCY
482
	label.TextTransparency = TRANSPARENCY
483
	label.FontSize = TEXTFONTSIZE
484
	label.Font = TEXTFONT
485
	label.BorderSizePixel = BORDERSIZEPIXEL
486
	label.TextScaled = false
487
	label.Text = TEXT
488
	label.Name = NAME
489
	label.Parent = PARENT
490
	return label
491
end
492
493
function NoOutlines(PART)
494
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
495
end
496
497
498
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
499
	local NEWWELD = IT(TYPE)
500
	NEWWELD.Part0 = PART0
501
	NEWWELD.Part1 = PART1
502
	NEWWELD.C0 = C0
503
	NEWWELD.C1 = C1
504
	NEWWELD.Parent = PARENT
505
	return NEWWELD
506
end
507
508
function CreateSound(ID, PARENT, VOLUME, PITCH)
509
	local NEWSOUND = nil
510
	coroutine.resume(coroutine.create(function()
511
		NEWSOUND = IT("Sound", PARENT)
512
		NEWSOUND.Volume = VOLUME
513
		NEWSOUND.Pitch = PITCH
514
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
515
		Swait()
516
		NEWSOUND:play()
517
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
518
	end))
519
	return NEWSOUND
520
end
521
522
function CFrameFromTopBack(at, top, back)
523
	local right = top:Cross(back)
524
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
525
end
526
527
function MakeForm(PART,TYPE)
528
	if TYPE == "Cyl" then
529
		local MSH = IT("CylinderMesh",PART)
530
	elseif TYPE == "Ball" then
531
		local MSH = IT("SpecialMesh",PART)
532
		MSH.MeshType = "Sphere"
533
	elseif TYPE == "Wedge" then
534
		local MSH = IT("SpecialMesh",PART)
535
		MSH.MeshType = "Wedge"
536
	end
537
end
538
539
Debris = game:GetService("Debris")
540
--//=================================\\
541
--||	     WEAPON CREATION
542
--\\=================================//
543
544
local HandlePart = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Handle", VT(0.2, 3.39, 1.61),false)
545
local HandleMesh = CreateMesh("SpecialMesh", HandlePart, "FileMesh", "145815658", "186913315", VT(1,1,1), VT(0, 0, 0))
546
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, RightArm, HandlePart, CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
547
548
local DECAL = IT("Decal",HandlePart)
549
DECAL.Texture = "http://www.roblox.com/asset/?id=116830967"
550
551
for _, c in pairs(Weapon:GetChildren()) do
552
	if c.ClassName == "Part" then
553
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
554
	end
555
end
556
557
local A = IT("Attachment",HandlePart)
558
A.Position = VT(0, -1.5, 0)
559
local B = IT("Attachment",HandlePart)
560
B.Position = VT(0, 2.2, 0.2)
561
local Trail = IT("Trail",HandlePart)
562
Trail.Attachment0 = A
563
Trail.Attachment1 = B
564
Trail.Lifetime = 0.1
565
Trail.Transparency = NumberSequence.new(0.8, 1)
566
Trail.Enabled = false
567
568
Weapon.Parent = Character
569
570
Humanoid.Died:connect(function()
571
	ATTACK = true
572
end)
573
574
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.13, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
575
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.60, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
576
--local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
577
--local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
578
--local SKILL5FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.7, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
579
580
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[CLICK] Swing", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 1")
581
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Enrage", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 2")
582
--local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 3")
583
--local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 4")
584
--local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Ability 5", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 5")
585
586
--//=================================\\
587
--||			DAMAGING
588
--\\=================================//
589
590
local asd = Instance.new("ParticleEmitter")
591
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.1, 0, 0))
592
asd.LightEmission = .1
593
asd.Size = NumberSequence.new(0.2)
594
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
595
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)})
596
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
597
asd.Transparency = bbb
598
asd.Size = aaa
599
asd.ZOffset = .9
600
asd.Acceleration = Vector3.new(0, -5, 0)
601
asd.LockedToPart = false
602
asd.EmissionDirection = "Back"
603
asd.Lifetime = NumberRange.new(1, 2)
604
asd.Rotation = NumberRange.new(-100, 100)
605
asd.RotSpeed = NumberRange.new(-100, 100)
606
asd.Speed = NumberRange.new(2)
607
asd.Enabled = false
608
asd.VelocitySpread = 10000
609
610
function getbloody(victim,amount)
611
	local prtcl = asd:Clone()
612
	prtcl.Parent = victim
613
	prtcl:Emit(amount)
614
end
615
616
local TORSOVELOCITY = 0
617
618
function Ragdoll(Character2,CharTorso)
619
	local svch = Character2
620
	local hum = Character2:findFirstChild("Humanoid")
621
	local q = Character2:GetChildren()
622
	local CLONE = IT("Model",Effects)
623
	local DummyHead = nil
624
	for i = 1,#q do
625
		if q[i].ClassName ~= "Humanoid" and q[i].ClassName ~= "LocalScript" and q[i].ClassName ~= "Script" and q[i].ClassName ~= "Accessory" and q[i].ClassName ~= "Hat" and q[i].ClassName ~= "Gear" then
626
			q[i].Parent = CLONE
627
			if q[i].Name == "Head" then
628
				DummyHead = CLONE.Head:Clone()
629
				q[i]:ClearAllChildren()
630
				q[i].Transparency = 1
631
			end
632
		else
633
			if q[i].ClassName ~= "Humanoid" then
634
				q[i]:remove()
635
			end
636
		end
637
	end
638
	local chrclone = CLONE
639
640
	for _, c in pairs(Character2:GetChildren()) do
641
		if c.ClassName == "Accessory" then
642
			c:remove()
643
		end
644
	end
645
646
	local ch = chrclone:GetChildren()
647
	local i
648
	for i = 1,#ch do
649
		if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" or ch[i].ClassName == "Script" then
650
			ch[i]:remove()
651
		end
652
	end
653
	local function Scan(ch)
654
		local e
655
		for e = 1,#ch do
656
			Scan(ch[e]:GetChildren())
657
			if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
658
				ch[e]:remove()
659
			end
660
		end
661
	end
662
	Scan(chrclone:GetChildren())
663
664
	local ch = Character2:GetChildren()
665
	local i
666
	for i = 1,#ch do
667
		if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
668
			ch[i]:remove()
669
		end
670
	end
671
672
	local ch = Character2:GetChildren()
673
	local i
674
	for i = 1,#ch do
675
		if ch[i].ClassName == "Part" or ch[i].ClassName == "Hat" or ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
676
			ch[i]:remove()
677
		end
678
	end
679
	Character2 = chrclone
680
	local Torso2 = Character2.Torso
681
	local movevector = Vector3.new()
682
683
	if Torso2 then
684
		movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
685
		local Head = Character2:FindFirstChild("Head")
686
		if Head then
687
			local Neck = Instance.new("Weld")
688
			Neck.Name = "Neck"
689
			Neck.Part0 = Torso2
690
			Neck.Part1 = Head
691
			Neck.C0 = CFrame.new(0, 1.5, 0)
692
			Neck.C1 = CFrame.new()
693
			Neck.Parent = Torso2
694
			Head:ClearAllChildren()
695
			Head.Transparency = 1
696
697
		end
698
		local Limb = Character2:FindFirstChild("Right Arm")
699
		if Limb then
700
701
			Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
702
			local Joint = Instance.new("Glue")
703
			Joint.Name = "RightShoulder"
704
			Joint.Part0 = Torso2
705
			Joint.Part1 = Limb
706
			Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
707
			Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
708
			Joint.Parent = Torso2
709
710
			local B = Instance.new("Part")
711
			B.TopSurface = 0
712
			B.BottomSurface = 0
713
			B.formFactor = "Symmetric"
714
			B.Size = Vector3.new(1, 1, 1)
715
			B.Transparency = 1
716
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
717
			B.Parent = Character2
718
			local W = Instance.new("Weld")
719
			W.Part0 = Limb
720
			W.Part1 = B
721
			W.C0 = CFrame.new(0, -0.5, 0)
722
			W.Parent = Limb
723
724
		end
725
		local Limb = Character2:FindFirstChild("Left Arm")
726
		if Limb then
727
728
			Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
729
			local Joint = Instance.new("Glue")
730
			Joint.Name = "LeftShoulder"
731
			Joint.Part0 = Torso2
732
			Joint.Part1 = Limb
733
			Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
734
			Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
735
			Joint.Parent = Torso2
736
737
			local B = Instance.new("Part")
738
			B.TopSurface = 0
739
			B.BottomSurface = 0
740
			B.formFactor = "Symmetric"
741
			B.Size = Vector3.new(1, 1, 1)
742
			B.Transparency = 1
743
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
744
			B.Parent = Character2
745
			local W = Instance.new("Weld")
746
			W.Part0 = Limb
747
			W.Part1 = B
748
			W.C0 = CFrame.new(0, -0.5, 0)
749
			W.Parent = Limb
750
751
		end
752
		local Limb = Character2:FindFirstChild("Right Leg")
753
		if Limb then
754
755
			Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
756
			local Joint = Instance.new("Glue")
757
			Joint.Name = "RightHip"
758
			Joint.Part0 = Torso2
759
			Joint.Part1 = Limb
760
			Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
761
			Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
762
			Joint.Parent = Torso2
763
764
			local B = Instance.new("Part")
765
			B.TopSurface = 0
766
			B.BottomSurface = 0
767
			B.formFactor = "Symmetric"
768
			B.Size = Vector3.new(1, 1, 1)
769
			B.Transparency = 1
770
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
771
			B.Parent = Character2
772
			local W = Instance.new("Weld")
773
			W.Part0 = Limb
774
			W.Part1 = B
775
			W.C0 = CFrame.new(0, -0.5, 0)
776
			W.Parent = Limb
777
778
		end
779
		local Limb = Character2:FindFirstChild("Left Leg")
780
		if Limb then
781
782
			Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
783
			local Joint = Instance.new("Glue")
784
			Joint.Name = "LeftHip"
785
			Joint.Part0 = Torso2
786
			Joint.Part1 = Limb
787
			Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
788
			Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
789
			Joint.Parent = Torso2
790
791
			local B = Instance.new("Part")
792
			B.TopSurface = 0
793
			B.BottomSurface = 0
794
			B.formFactor = "Symmetric"
795
			B.Size = Vector3.new(1, 1, 1)
796
			B.Transparency = 1
797
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
798
			B.Parent = Character2
799
			local W = Instance.new("Weld")
800
			W.Part0 = Limb
801
			W.Part1 = B
802
			W.C0 = CFrame.new(0, -0.5, 0)
803
			W.Parent = Limb
804
805
		end
806
		--[
807
		local Bar = Instance.new("Part")
808
		Bar.TopSurface = 0
809
		Bar.BottomSurface = 0
810
		Bar.formFactor = "Symmetric"
811
		Bar.Size = Vector3.new(1, 1, 1)
812
		Bar.Transparency = 1
813
		Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
814
		Bar.Parent = Character2
815
		local Weld = Instance.new("Weld")
816
		Weld.Part0 = Torso2
817
		Weld.Part1 = Bar
818
		Weld.C0 = CFrame.new(0, 0.5, 0)
819
		Weld.Parent = Torso2
820
		--]]
821
	end
822
	Character2.Parent = Weapon
823
	if movevector ~= Vector3.new() then
824
		for i = 1,10 do
825
			Torso2.Velocity = movevector * 30
826
		end
827
	end
828
	DummyHead.Name = "FakeHead"
829
	DummyHead.Parent = CLONE
830
	local BLOOD = CreatePart(3, DummyHead, "Glass", 0, 0, "Maroon", "Blood", VT(0.65,0.25,0.65),false)
831
	BLOOD.CFrame = DummyHead.CFrame*CF(0,-DummyHead.Size.Y/2,0)
832
	MakeForm(BLOOD,"Cyl")
833
	weldBetween(DummyHead,BLOOD)
834
	local BLOOD = CreatePart(3, Torso2, "Glass", 0, 0, "Maroon", "Blood", VT(0.65,0.2,0.65),false)
835
	BLOOD.CFrame = Torso2.CFrame*CF(0,Torso2.Size.Y/2,0)
836
	MakeForm(BLOOD,"Cyl")
837
	weldBetween(Torso2,BLOOD)
838
	Character2.Name = "Corpse"
839
	local hum2 = svch:findFirstChild("Humanoid")
840
841
	return Character2,Torso2,DummyHead
842
end
843
844
function PuddleOfBlood(Position,MaxDrop,Model,MaxSize)
845
	local HITFLOOR, HITPOS = Raycast(Position, (CF(Position, Position + VT(0, -1, 0))).lookVector, MaxDrop, Model)
846
	if HITFLOOR ~= nil then
847
		if HITFLOOR.Parent ~= Weapon and HITFLOOR.Parent ~= Character then
848
			if HITFLOOR.Name == "BloodPuddle" then
849
				local DIST = (Position - HITFLOOR.Position).Magnitude
850
				if (HITFLOOR.Size.Z <= 5 and HITFLOOR.Size.Z < MaxSize) or (HITFLOOR.Size.Z > 5 and HITFLOOR.Size.Z < MaxSize and DIST < HITFLOOR.Size.Z/3) then
851
					HITFLOOR.Size = HITFLOOR.Size + VT(0.1,0,0.1)
852
				end
853
			else
854
				if HITFLOOR.Anchored == true then
855
					local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(1,0,1))
856
					BLOOD.CFrame = CF(HITPOS)
857
					MakeForm(BLOOD,"Cyl")
858
					coroutine.resume(coroutine.create(function()
859
						Swait(75)
860
						while true do
861
							Swait()
862
							BLOOD.Size = BLOOD.Size - VT(0.02,0,0.02)
863
							if BLOOD.Size.Z < 0.051 then
864
								BLOOD:remove()
865
								break
866
							end
867
						end
868
					end))
869
				end
870
			end
871
		end
872
	end
873
end
874
875
function SprayBlood(POSITION,DIRECTION,BloodSize)
876
	local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(0.5,0.5,0.5),false)
877
	BLOOD.CFrame = CF(POSITION)
878
	MakeForm(BLOOD,"Ball")
879
	local bv = Instance.new("BodyVelocity",BLOOD) 
880
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
881
	bv.velocity = CF(POSITION,DIRECTION+VT(MRANDOM(-3,3)/30,MRANDOM(-3,3)/30,MRANDOM(-3,3)/30)).lookVector*15
882
	bv.Name = "MOVE"
883
	Debris:AddItem(bv,0.05)
884
	coroutine.resume(coroutine.create(function()
885
		local HASTOUCHEDGROUND = false
886
		local HIT = BLOOD.Touched:Connect(function(hit)
887
			if hit.Anchored == true then
888
				HASTOUCHEDGROUND = true
889
				PuddleOfBlood(BLOOD.Position+VT(0,1,0),2,BLOOD,BloodSize)
890
			end
891
		end)
892
		for i = 1, 50 do
893
			Swait()
894
			if HASTOUCHEDGROUND == true then
895
				break
896
			end
897
			BLOOD.Size = BLOOD.Size * 0.9
898
		end
899
		BLOOD:remove()
900
	end))
901
end
902
903
function Kill(Target)
904
	if Target.Parent ~= Weapon and Target:FindFirstChildOfClass("Humanoid") then
905
		Target:BreakJoints()
906
		local CFRAME = Target:FindFirstChild("Torso").CFrame or Target:FindFirstChild("UpperTorso")
907
		local CLONE,TORS2,DummyHead = Ragdoll(Target,Torso)
908
		getbloody(DummyHead,45)
909
		if TORS2 ~= nil then
910
			CreateSound("185688060", TORS2, 10, (math.random(8,12)/10))
911
			CreateSound("337800380", DummyHead, 5, (math.random(8,18)/10))
912
			local HUM = IT("Humanoid")
913
			HUM.MaxHealth = 0
914
			HUM.Health = 0
915
			HUM.Name = "CorpseHumanoid"
916
			HUM.PlatformStand = true
917
			HUM.Parent = CLONE
918
			KILLINSTINCT = KILLINSTINCT + 20
919
			TORS2.CFrame = CFRAME
920
			coroutine.resume(coroutine.create(function()
921
				for i = 1, 450 do
922
					wait()
923
					SprayBlood(DummyHead.CFrame*CF(0,-0.25,0).p,DummyHead.CFrame*CF(0,-0.7,0).p,5)
924
					SprayBlood(TORS2.CFrame*CF(0,TORS2.Size.Y/2,0).p,TORS2.CFrame*CF(0,TORS2.Size.Y,0).p,10)
925
					--PuddleOfBlood(DummyHead.CFrame*CF(0,-0.25,0).p,4,CLONE,3)
926
					--PuddleOfBlood(TORS2.CFrame*CF(0,TORS2.Size.Y/2,0).p,8,CLONE,6)
927
				end
928
				CLONE:Remove()
929
			end))
930
		end
931
	end
932
end
933
934
--//=================================\\
935
--||	ATTACK FUNCTIONS AND STUFF
936
--\\=================================//
937
938
function Swing()
939
	ATTACK = true
940
	Rooted = false
941
	for i=0, 1, 0.1 / Animation_Speed do
942
		Swait()
943
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 0.7 / Animation_Speed)
944
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 0.7 / Animation_Speed)
945
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
946
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
947
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
948
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
949
		HandleWeld.C1 = Clerp(HandleWeld.C1, CF(0, -0.55, 0) * ANGLES(RAD(-125), RAD(0), RAD(180)), 0.5 / Animation_Speed)
950
	end
951
	Trail.Enabled = true
952
	HandlePart.CanCollide = true
953
	CreateSound("185687991", HandlePart, 1, (math.random(8,12)/10))
954
	local HIT = HandlePart.Touched:Connect(function(hit)
955
		Kill(hit.Parent)
956
	end)
957
	for i=0, 0.8, 0.1 / Animation_Speed do
958
		Swait()
959
		if Speed == 25 and TORSOVELOCITY > 0.3 then
960
			RootPart.CFrame = RootPart.CFrame * CF(0,0,-1)
961
		end
962
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.7 / Animation_Speed)
963
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.7 / Animation_Speed)
964
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.7) * ANGLES(RAD(15), RAD(0), RAD(90)) * ANGLES(RAD(140), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
965
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
966
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
967
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
968
		HandleWeld.C1 = Clerp(HandleWeld.C1, CF(0, -0.55, 0) * ANGLES(RAD(25), RAD(0), RAD(180))  * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
969
	end
970
	Trail.Enabled = false
971
	HandlePart.CanCollide = false
972
	HIT:disconnect()
973
	ATTACK = false
974
	Rooted = false
975
end
976
977
function Laugh()
978
	ATTACK = true
979
	Rooted = true
980
	CreateSound("1238240145", Torso, 6, 1)
981
	for i=0, 3.5, 0.1 / Animation_Speed do
982
		Swait()
983
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
984
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-35 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
985
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45 - 0.35 * COS(SINE / 2), 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
986
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
987
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
988
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
989
		HandleWeld.C1 = Clerp(HandleWeld.C1, CF(0, -0.55, 0) * ANGLES(RAD(-125), RAD(0), RAD(0)), 0.15 / Animation_Speed)
990
	end
991
	ATTACK = false
992
	Rooted = false
993
end
994
995
--//=================================\\
996
--||	  ASSIGN THINGS TO KEYS
997
--\\=================================//
998
999
function MouseDown(Mouse)
1000
	if ATTACK == false then
1001
		Swing()
1002
	end
1003
end
1004
1005
function MouseUp(Mouse)
1006
HOLD = false
1007
end
1008
1009
function KeyDown(Key)
1010
	KEYHOLD = true
1011
	if Key == "b" and ATTACK == false then
1012
		if Speed == 10 then
1013
			Speed = 25
1014
		elseif Speed == 25 then
1015
			Speed = 10
1016
		end
1017
	end
1018
1019
	if Key == "t" and ATTACK == false then
1020
		Laugh()
1021
	end
1022
end
1023
1024
function KeyUp(Key)
1025
	KEYHOLD = false
1026
end
1027
1028
	Mouse.Button1Down:connect(function(NEWKEY)
1029
		MouseDown(NEWKEY)
1030
	end)
1031
	Mouse.Button1Up:connect(function(NEWKEY)
1032
		MouseUp(NEWKEY)
1033
	end)
1034
	Mouse.KeyDown:connect(function(NEWKEY)
1035
		KeyDown(NEWKEY)
1036
	end)
1037
	Mouse.KeyUp:connect(function(NEWKEY)
1038
		KeyUp(NEWKEY)
1039
	end)
1040
1041
--//=================================\\
1042
--\\=================================//
1043
1044
1045
function unanchor()
1046
	if UNANCHOR == true then
1047
		g = Character:GetChildren()
1048
		for i = 1, #g do
1049
			if g[i].ClassName == "Part" then
1050
				g[i].Anchored = false
1051
			end
1052
		end
1053
	end
1054
end
1055
1056
1057
--//=================================\\
1058
--||	WRAP THE WHOLE SCRIPT UP
1059
--\\=================================//
1060
1061
Humanoid.Changed:connect(function(Jump)
1062
	if Jump == "Jump" and (Disable_Jump == true) then
1063
		Humanoid.Jump = false
1064
	end
1065
end)
1066
1067
Speed = 10
1068
1069
local naeeym2 = Instance.new("BillboardGui",Character)
1070
naeeym2.AlwaysOnTop = true
1071
naeeym2.Size = UDim2.new(5,35,2,35)
1072
naeeym2.StudsOffset = Vector3.new(0,1,0)
1073
naeeym2.Adornee = Character.Head
1074
naeeym2.Name = "Name"
1075
naeeym2.PlayerToHideFrom = Player
1076
local tecks2 = Instance.new("TextLabel",naeeym2)
1077
tecks2.BackgroundTransparency = 1
1078
tecks2.TextScaled = true
1079
tecks2.BorderSizePixel = 0
1080
tecks2.Text = "PSYCHO"
1081
tecks2.Font = "Antique"
1082
tecks2.TextSize = 30
1083
tecks2.TextStrokeTransparency = 0
1084
tecks2.TextColor3 = Color3.new(0.8,0,0)
1085
tecks2.TextStrokeColor3 = Color3.new(0.8,0,0)
1086
tecks2.Size = UDim2.new(1,0,0.5,0)
1087
tecks2.Parent = naeeym2
1088
1089
while true do
1090
	ANIMATE.Parent = nil
1091
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1092
	IDLEANIMATION:Play()
1093
	SINE = SINE + CHANGE
1094
	TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1095
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1096
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1097
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1098
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1099
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1100
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1101
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1102
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1103
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1104
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1105
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1106
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1107
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1108
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1109
	end
1110
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1111
		ANIM = "Jump"
1112
		if ATTACK == false then
1113
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1114
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1115
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1116
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1117
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1118
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1119
			HandleWeld.C1 = Clerp(HandleWeld.C1, CF(0, -0.55, 0) * ANGLES(RAD(-165), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1120
	    end
1121
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1122
		ANIM = "Fall"
1123
		if ATTACK == false then
1124
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1125
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1126
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1127
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1128
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1129
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1130
			HandleWeld.C1 = Clerp(HandleWeld.C1, CF(0, -0.55, 0) * ANGLES(RAD(-85), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1131
		end
1132
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1133
		ANIM = "Idle"
1134
		if ATTACK == false then
1135
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1136
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(25), RAD(0)), 0.15 / Animation_Speed)
1137
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1138
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1139
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1140
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1141
			HandleWeld.C1 = Clerp(HandleWeld.C1, CF(0, -0.55, 0) * ANGLES(RAD(-125), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1142
			if VALUE1 == false and MRANDOM(1,200) == 1 then
1143
				coroutine.resume(coroutine.create(function()
1144
					VALUE1 = true
1145
					for i = 1, 25 do
1146
						Swait()
1147
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD((15+MRANDOM(-15,15)/15)), RAD(0)), 3 / Animation_Speed)
1148
					end
1149
					VALUE1 = false
1150
				end))
1151
			end
1152
		end
1153
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1154
		ANIM = "Walk"
1155
		WALK = WALK + 1 / Animation_Speed
1156
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1157
			WALK = 0
1158
			if WALKINGANIM == true then
1159
				WALKINGANIM = false
1160
			elseif WALKINGANIM == false then
1161
				WALKINGANIM = true
1162
			end
1163
		end
1164
		--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1165
		--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1166
		if ATTACK == false then
1167
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE/2))) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1168
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(25), RAD(0)), 0.15 / Animation_Speed)
1169
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35 - 0.15 * COS(SINE / (WALKSPEEDVALUE / 2)), 0) * ANGLES(RAD(-20), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1170
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
1171
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1172
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1173
			HandleWeld.C1 = Clerp(HandleWeld.C1, CF(0, -0.75 + 0.3 * COS(SINE / (WALKSPEEDVALUE/2)), 0) * ANGLES(RAD(-145), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1174
		end
1175
	end
1176
	unanchor()
1177
	Humanoid.MaxHealth = "inf"
1178
	Humanoid.Health = "inf"
1179
	if Rooted == false then
1180
		Disable_Jump = false
1181
		Humanoid.WalkSpeed = Speed
1182
	elseif Rooted == true then
1183
		Disable_Jump = true
1184
		Humanoid.WalkSpeed = 0
1185
	end
1186
	if KILLINSTINCT > 0 then
1187
		PuddleOfBlood(HandlePart.CFrame*CF(0,1,0).p,3,HandlePart,2)
1188
		KILLINSTINCT = KILLINSTINCT - 0.1
1189
	end
1190
	if Head:FindFirstChild("face") then
1191
		Head.face.Texture = "http://www.roblox.com/asset/?id=120463437"
1192
	end
1193
	Trail.Color = ColorSequence.new(C3(1,1-KILLINSTINCT/70,1-KILLINSTINCT/70))
1194
	local MATHS = {"0","1"}
1195
	Humanoid.Name = MATHS[MRANDOM(1,#MATHS)].."P"..MATHS[MRANDOM(1,#MATHS)].."S"..MATHS[MRANDOM(1,#MATHS)].."Y"..MATHS[MRANDOM(1,#MATHS)].."C"..MATHS[MRANDOM(1,#MATHS)].."H"..MATHS[MRANDOM(1,#MATHS)].."O"..MATHS[MRANDOM(1,#MATHS)]
1196
	Humanoid.PlatformStand = false
1197
	script.Name = Humanoid.Name
1198
	if math.random(1,70-Speed) == 1 then
1199
		tecks2.Text = "FAILURE"
1200
	elseif math.random(1,70-Speed) == 2 then
1201
		tecks2.Text = "WHY BOTHER"
1202
	elseif math.random(1,70-Speed) == 3 then
1203
		tecks2.Text = "WORTHLESS"
1204
	else
1205
		if KILLINSTINCT > 0 then
1206
			if KILLINSTINCT < 100 then
1207
				if MRANDOM(1,math.ceil(100-KILLINSTINCT)) == 1 then
1208
					tecks2.Text = "HA AH AHA HA HA HA HA"
1209
				else
1210
					tecks2.Text = "boss_kiddos the KILLER."
1211
				end
1212
			elseif KILLINSTINCT >= 100 then
1213
				if MRANDOM(1,5) == 1 then
1214
					tecks2.Text = "ESFIJKDSFBBJDSFBUKJDSFKMD DA NUB"
1215
				end
1216
			else
1217
				tecks2.Text = "boss_kiddos the KILLER."
1218
			end
1219
		else
1220
			tecks2.Text = "boss_kiddos the KILLER."
1221
		end
1222
	end
1223
	DECAL.Transparency = 1-(KILLINSTINCT/25)
1224
	Swait()
1225
	if Head:FindFirstChildOfClass("Sound") then
1226
		Head:FindFirstChildOfClass("Sound"):remove()
1227
	end
1228
	if KILLINSTINCT > 100 then
1229
		KILLINSTINCT = 100
1230
	end
1231
	sick.Parent = Character
1232
	Sky.Parent = game.Lighting
1233
	game.Lighting.ClockTime = 22
1234
	script.Parent = PlayerGui
1235
end
1236
1237
--//=================================\\
1238
--\\=================================//
1239
1240
1241
1242
1243
1244
--//====================================================\\--
1245
--||			  		 END OF SCRIPT
1246
--\\====================================================//--