View difference between Paste ID: YfL63b08 and em1SBsjk
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")
6
    local rp = RealPlayer
7
    script.Parent = rp.Character
8
   
9
    --RemoteEvent for communicating
10
    local Event = Instance.new("RemoteEvent")
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()}
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
            for _,t in pairs(CAS.Actions) do
51
                for _,k in pairs(t.Keys) do
52
                    if k==io.KeyCode then
53
                        t.Function(t.Name,io.UserInputState,io)
54
                    end
55
                end
56
            end
57
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
        end
60
    end)
61
    Event.Parent = NLS([==[
62
    local Player = game:GetService("Players").LocalPlayer
63
    local Event = script:WaitForChild("UserInput_Event")
64
 
65
    local Mouse = Player:GetMouse()
66
    local UIS = game:GetService("UserInputService")
67
    local input = function(io,a)
68
        if a then return end
69
        --Since InputObject is a client-side instance, we create and pass table instead
70
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71
    end
72
    UIS.InputBegan:Connect(input)
73
    UIS.InputEnded:Connect(input)
74
 
75
    local h,t
76
    --Give the server mouse data 30 times every second, but only if the values changed
77
    --If player is not moving their mouse, client won't fire events
78
    while wait(1/30) do
79
        if h~=Mouse.Hit or t~=Mouse.Target then
80
            h,t=Mouse.Hit,Mouse.Target
81
            Event:FireServer({isMouse=true,Target=t,Hit=h})
82
        end
83
    end]==],Player.Character)
84
 
85
    ----Sandboxed game object that allows the usage of client-side methods and services
86
    --Real game object
87
    local _rg = game
88
 
89
    --Metatable for fake service
90
    local fsmt = {
91
        __index = function(self,k)
92
            local s = rawget(self,"_RealService")
93
            if s then return s[k] end
94
        end,
95
        __newindex = function(self,k,v)
96
            local s = rawget(self,"_RealService")
97
            if s then s[k]=v end
98
        end,
99
        __call = function(self,...)
100
            local s = rawget(self,"_RealService")
101
            if s then return s(...) 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 self[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
    }
120
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
    g.service = g.GetService
122
   
123
    g.RunService = FakeService({
124
        RenderStepped = _rg:GetService("RunService").Heartbeat,
125
        BindToRenderStep = function(self,name,_,fun)
126
            self._btrs[name] = self.Heartbeat:Connect(fun)
127
        end,
128
        UnbindFromRenderStep = function(self,name)
129
            self._btrs[name]:Disconnect()
130
        end,
131
    },"RunService")
132
 
133
    setmetatable(g,{
134
        __index=function(self,s)
135
            return _rg:GetService(s) or typeof(_rg[s])=="function"
136
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
        end,
138
        __newindex = fsmt.__newindex,
139
        __call = fsmt.__call
140
    })
141
    --Changing owner to fake player object to support owner:GetMouse()
142
    game,owner = g,g.Players.LocalPlayer
143
end
144
145
print([[
146
147
(Keys)
148
M - Mute/Play Music
149
P - Mechanations
150
151
K/L/J - Change the You Wa Shock song
152
to either the new/old instrumental ver.
153
154
M1 - Telekinesis / Final hour mark
155
T - Teleport
156
N -Trigger
157
]])
158
player = game.Players.LocalPlayer
159
mouse = player:GetMouse()
160
chara = player.Character
161
equipped = false
162
del = false
163
attacking = false
164
atkd = false
165
hum = chara:FindFirstChildOfClass("Humanoid")
166
debby = game.Debris
167
ws = 18.5
168
hum.WalkSpeed = 18.5
169
170
ArtificialHB = Instance.new("BindableEvent", script)
171
ArtificialHB.Name = "Heartbeat"
172
script:WaitForChild("Heartbeat")
173
frame = 0.03333333333333
174
tf = 0
175
allowframeloss = false
176
tossremainder = false
177
lastframe = tick()
178
script.Heartbeat:Fire()
179
game:GetService("RunService").Heartbeat:connect(function(s, p)
180
  tf = tf + s
181
  if tf >= frame then
182
    if allowframeloss then
183
      script.Heartbeat:Fire()
184
      lastframe = tick()
185
    else
186
      for i = 1, math.floor(tf / frame) do
187
        script.Heartbeat:Fire()
188
      end
189
      lastframe = tick()
190
    end
191
    if tossremainder then
192
      tf = 0
193
    else
194
      tf = tf - frame * math.floor(tf / frame)
195
    end
196
  end
197
end)
198
function swait(num)
199
  if num == 0 or num == nil then
200
    ArtificialHB.Event:wait()
201
  else
202
    for i = 0, num*30 do
203
      ArtificialHB.Event:wait()
204
    end
205
  end
206
end
207
208
New = function(Object, Parent, Name, Data)
209
	local Object = Instance.new(Object)
210
	for Index, Value in pairs(Data or {}) do
211
		Object[Index] = Value
212
	end
213
	Object.Parent = Parent
214
	Object.Name = Name
215
	return Object
216
end
217
218
RightArm = New("Model",chara,"RightArm",{})
219
MainPart = New("Part",RightArm,"MainPart",{Transparency = 1,Transparency = 1,Size = Vector3.new(1, 2, 1),CFrame = CFrame.new(0.5, 3.00000787, -3.50019717, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = true,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,})
220
Weld = New("ManualWeld",MainPart,"Weld",{Part0 = MainPart,Part1 = chara["Right Arm"],C1 = CFrame.new(0, -1.00135803e-005, -0.000197172165, 1, 0, 0, 0, 1, 0, 0, 0, 1),})
221
Emit2Part = New("Part",RightArm,"Emit2Part",{BrickColor = BrickColor.new("Royal purple"),Material = Enum.Material.Neon,Transparency = 1,Transparency = 1,Size = Vector3.new(1, 2, 1),CFrame = CFrame.new(0.5, 2.10001373, -3.5001967, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = true,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0, 0, 1),})
222
Mesh = New("SpecialMesh",Emit2Part,"Mesh",{Scale = Vector3.new(1.29999995, 1.29999995, 1.29999995),MeshType = Enum.MeshType.Sphere,})
223
Weld = New("ManualWeld",Emit2Part,"Weld",{Part0 = Emit2Part,Part1 = MainPart,C1 = CFrame.new(0, -0.899994135, 4.76837158e-007, 1, 0, 0, 0, 1, 0, 0, 0, 1),})
224
LeftArm = New("Model",chara,"LeftArm",{})
225
MainPart = New("Part",LeftArm,"MainPart",{Transparency = 1,Transparency = 1,Size = Vector3.new(1, 2, 1),CFrame = CFrame.new(-2.50000024, 3.00000787, -3.50019717, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = true,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,})
226
Weld = New("ManualWeld",MainPart,"Weld",{Part0 = MainPart,Part1 = chara["Left Arm"],C1 = CFrame.new(-2.38418579e-007, -1.00135803e-005, -0.000197172165, 1, 0, 0, 0, 1, 0, 0, 0, 1),})
227
EmitPart = New("Part",LeftArm,"EmitPart",{BrickColor = BrickColor.new("Royal purple"),Material = Enum.Material.Neon,Transparency = 1,Transparency = 1,Size = Vector3.new(1, 2, 1),CFrame = CFrame.new(-2.5, 2.10001373, -3.5001967, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = true,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0, 0, 1),})
228
Mesh = New("SpecialMesh",EmitPart,"Mesh",{Scale = Vector3.new(1.29999995, 1.29999995, 1.29999995),MeshType = Enum.MeshType.Sphere,})
229
Weld = New("ManualWeld",EmitPart,"Weld",{Part0 = EmitPart,Part1 = MainPart,C1 = CFrame.new(2.38418579e-007, -0.899994135, 4.76837158e-007, 1, 0, 0, 0, 1, 0, 0, 0, 1),})
230
231
lach = LeftArm:GetChildren()
232
rach = RightArm:GetChildren()
233
234
local pemit = Instance.new("ParticleEmitter")
235
pemit.Name = "beter"
236
pemit.Enabled = false
237
pemit.LightEmission = 1
238
pemit.Size = NumberSequence.new(1,0)
239
pemit.Transparency = NumberSequence.new(0,1)
240
pemit.Texture = "rbxassetid://2677102618"
241
pemit.Lifetime = NumberRange.new(.5)
242
pemit.Acceleration = Vector3.new(0,20,0)
243
pemit.Rate = 70
244
pemit.Rotation = NumberRange.new(0,360)
245
pemit.Speed = NumberRange.new(3)
246
pemit.RotSpeed = NumberRange.new(100)
247
pemit.VelocitySpread = 120
248
pemit.ZOffset = -.5
249
for i, v in pairs(chara:GetChildren()) do
250
if v ~= chara.HumanoidRootPart and v:IsA("BasePart") then
251
pemit:Clone().Parent = v
252
end
253
if v:IsA("Shirt") or v:IsA("Pants") then
254
v:Destroy()
255
end
256
if v.Name == "Chest" then
257
for a, t in pairs(v:GetChildren()) do
258
if t ~= v.MainPart and t ~= v.Tail then
259
t:Destroy()
260
end
261
end
262
end
263
if v.Name == "FakeHeadM" then
264
v.FakeHead.Normal.Texture = "http://www.roblox.com/asset/?id=1000657824"
265
for a, t in pairs(v:GetChildren()) do
266
if t.Name == "SpecPart" then
267
t:Destroy()
268
end
269
end
270
end
271
end
272
273
ShadowHead = New("Part",chara,"ShadowHeads",{BrickColor = BrickColor.new("Really red"),Size = Vector3.new(1.20000005, 0.600000024, 1),CFrame = CFrame.new(68.5999985, 0.700013041, 9.89999962, 1, 0, 0, 0, 1, 0, 0, 0, 1),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
274
Mesh = New("SpecialMesh",ShadowHead,"Mesh",{Scale = Vector3.new(0, 0, 0),})
275
Weld = New("ManualWeld",ShadowHead,"Weld",{Part0 = ShadowHead,Part1 = chara.Head,C1 = CFrame.new(0, 0.200000048, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),})
276
ShadowHead.Transparency = 1
277
278
--LACM = New("CharacterMesh",chara,"LACM",{MeshId = "32328397",BodyPart = "LeftArm"})
279
--LLCM = New("CharacterMesh",chara,"LLCM",{MeshId = "319336109",BodyPart = "LeftLeg"})
280
--RACM = New("CharacterMesh",chara,"RACM",{MeshId = "32328563",BodyPart = "RightArm"})
281
--RLCM = New("CharacterMesh",chara,"RLCM",{MeshId = "319336155",BodyPart = "RightLeg"})
282
--TOCM = New("CharacterMesh",chara,"TOCM",{MeshId = "32328670",BodyPart = "Torso"})
283
284
local shi = Instance.new("Shirt",chara)
285
shi.ShirtTemplate = "http://www.roblox.com/asset/?id=767533301"
286
local pan = Instance.new("Pants",chara)
287
pan.PantsTemplate = "http://www.roblox.com/asset/?id=2673193810"
288
local gshi = Instance.new("ShirtGraphic",nil)
289
gshi.Graphic = "http://www.roblox.com/asset/?id=114844135"
290
291
--Sounds--
292
function LoadSnd(id,loop,vol,pit)
293
local snd = New("Sound",chara.Head,"Sound",{SoundId = "rbxassetid://"..id,Looped = loop,Volume = vol,Pitch = pit})
294
return snd
295
end
296
--AtataSnd = LoadSnd(160189066,1471213022,false,1,1)
297-
--DeadSnd = LoadSnd(5037247979,false,1,1)
297+
--DeadSnd = LoadSnd(6645293593,false,1,1)
298
Music = LoadSnd(0,true,1,1)
299
Music.Parent = chara
300
301
--Play Sound in Part--
302
function PlaySnd(snd,part,pitch,vol)
303
local sound = Instance.new("Sound",part)
304
sound.PlayOnRemove = true
305
sound.SoundId = "rbxassetid://"..snd
306
sound.PlaybackSpeed = pitch
307
sound.Volume = vol
308
sound:Destroy()
309
end
310
311
function CamShake(par,magni,env,dur)
312
coroutine.wrap(function()
313
for i=0,dur*60 do
314
swait()
315
hum.CameraOffset = Vector3.new(math.random(-(env*10),(env*10))/10,math.random(-(env*10),(env*10))/10,math.random(-(env*10),(env*10))/10)
316
end
317
hum.CameraOffset = Vector3.new(0,0,0)
318
end)()
319
end
320
321
--function PlaySnd2(snd,part)
322
--local sound = snd:Clone()
323
--sound.Parent = part
324
--sound.PlayOnRemove = true
325
--sound:Destroy()
326
--end
327
328
maincol = "Really black"
329
330
function CreateTrailObj(parent,color1,color2,ofsx,ofsz)
331
local Att1 =  New("Attachment",parent,"Att1",{Position = Vector3.new(ofsx,parent.Size.Y/2,ofsz)})
332
local Att2 =  New("Attachment",parent,"Att2",{Position = Vector3.new(ofsx,-(parent.Size.Y/2),ofsz)})
333
local TEff = New("Trail",parent,"TrailEff",{Color = ColorSequence.new({ColorSequenceKeypoint.new(0,BrickColor.new(color1).Color),ColorSequenceKeypoint.new(1,BrickColor.new(color2).Color)}),Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,.5),NumberSequenceKeypoint.new(1,1)}),Attachment0 = Att1,Attachment1 = Att2,Enabled = false,Lifetime = .5,MinLength = .001})
334
return TEff
335
end
336
337
RPunchT = CreateTrailObj(chara["Right Arm"],"Really black","White",0,0)
338
LPunchT = CreateTrailObj(chara["Left Arm"],"New Yeller","Really red",0,0)
339
RKickT = CreateTrailObj(chara["Right Leg"],"White","Really blue",0,0)
340
LKickT = CreateTrailObj(chara["Left Leg"],"White","Really black",0,0)
341
342
--Punch Hit Effect--
343
function PunchEff(pos)
344
local p = Instance.new("Part",game.Workspace)
345
p.Size = Vector3.new(1,1,1)
346
p.BrickColor = BrickColor.new(maincol)
347
p.Material = "Neon"
348
p.Anchored = true
349
p.CanCollide = true
350
p.CFrame = pos
351
CamShake(p,10,.7,.1)
352
local pm = Instance.new("SpecialMesh",p)
353
pm.MeshType = "Torso"
354
coroutine.resume(coroutine.create(function()
355
for i = 0,1,.05 do
356
swait()
357
p.Transparency = i
358
pm.Scale = Vector3.new(2*i,2*i,2*i)
359
end
360
swait()
361
p:Destroy()
362
end))
363
end
364
function BigHitEff(pos)
365
for i = 1, 5 do
366
local p = Instance.new("Part",game.Workspace)
367
p.Size = Vector3.new(1,1,1)
368
p.BrickColor = BrickColor.new("Lime green")
369
p.Material = "Neon"
370
p.Anchored = true
371
p.CanCollide = true
372
p.CFrame = pos * CFrame.fromEulerAnglesXYZ(math.random(0,math.rad(359)),math.random(0,math.rad(359)),math.random(0,math.rad(359)))
373
local pm = Instance.new("SpecialMesh",p)
374
pm.MeshType = "Sphere"
375
pm.Scale = Vector3.new(.5,0,.5)
376
local disp = coroutine.wrap(function()
377
for i = 0,1,.05 do
378
swait()
379
p.Transparency = i
380
pm.Scale = Vector3.new(2*i,2*i,2*i)
381
end
382
swait()
383
p:Destroy()
384
end)
385
disp()
386
local p = Instance.new("Part",game.Workspace)
387
p.Size = Vector3.new(1,1,1)
388
p.BrickColor = BrickColor.new("Really black")
389
p.Material = "Neon"
390
p.Anchored = true
391
p.CanCollide = true
392
p.CFrame = pos * CFrame.fromEulerAnglesXYZ(math.random(0,math.rad(359)),math.random(0,math.rad(359)),math.random(0,math.rad(359)))
393
CamShake(p,10,1,.4)
394
local pm = Instance.new("SpecialMesh",p)
395
pm.MeshType = "Torso"
396
pm.Scale = Vector3.new(.5,.5,.5)
397
local disp = coroutine.wrap(function()
398
for i = 0,1,.05 do
399
swait()
400
p.Transparency = i
401
pm.Scale = Vector3.new(.5*i,.5*i,.5*i)
402
pm.Offset = Vector3.new(0,8*i,0)
403
end
404
swait()
405
p:Destroy()
406
end)
407
disp()
408
end
409
end
410
411
--Damage Function--
412
function dealdmg(dude)
413
if dude ~= chara and dude:IsDescendantOf(chara) == false then
414
if dude:FindFirstChild("IsAlreadyDead") == nil then
415
local vall = Instance.new("ObjectValue",dude)
416
vall.Name = "IsAlreadyDead"
417
local faceg = Instance.new("BillboardGui",dude)
418
faceg.Name = "IsAlreadyDeadBillBoardGui"
419
faceg.Size = UDim2.new(4,0,4,0)
420
faceg.Adornee = dude.Head
421
faceg.StudsOffset = Vector3.new(0,5.5,0)
422
local simgl = Instance.new("ImageLabel",faceg)
423
simgl.Position = UDim2.new(0,0,0,0)
424
simgl.Size = UDim2.new(1,0,1,0)
425-
simgl.Image = "http://www.roblox.com/asset/?id=1600519556" 
425+
simgl.Image = "http://www.roblox.com/asset/?id=338425795" 
426
simgl.BackgroundTransparency = 1
427
end
428
local vall = Instance.new("ObjectValue",dude)
429
vall.Name = "IsHit"
430
debby:AddItem(vall,.01)
431
local bfos = Instance.new("BodyVelocity",dude.Head)
432
bfos.P = 200000
433
bfos.MaxForce = Vector3.new(bfos.P,bfos.P,bfos.P)
434
bfos.Velocity = Vector3.new(0,0,0) --+ chara.HumanoidRootPart.CFrame.lookVector * kbx
435
game.Debris:AddItem(bfos,.5)
436
end
437
end
438
 
439
--Explode Hitbox--
440
function ExHitbox(rad,pos,damage,env,toim,kby,kbx)
441
local E = Instance.new("Explosion") 
442
E.Position = pos
443
E.Parent = game.Workspace
444
E.BlastRadius = rad
445
E.BlastPressure = 0
446
E.Visible = true
447
E.Hit:connect(function(hit)
448
if hit.Parent:FindFirstChildOfClass("Humanoid")~=nil then
449
dealdmg(hit.Parent,damage,env,toim,kby,kbx)
450
end
451
end)
452
end
453
function PExHitbox()
454
local E = Instance.new("Explosion",workspace) 
455
E.Position = chara.HumanoidRootPart.Position + chara.HumanoidRootPart.CFrame.lookVector*3
456
E.BlastRadius = 60
457
E.BlastPressure = 0
458
E.Visible = false
459
debby:AddItem(E,.05)
460
E.Hit:connect(function(hit)
461
if hit.Parent:FindFirstChildOfClass("Humanoid")~=nil then
462
if punchactive == true then
463
if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil and hit.Parent ~= chara and hit.Parent:FindFirstChild("IsHit")==nil and hit.Parent.Name ~= "Salvo_Starly" then
464
dealdmg(hit.Parent)
465
PunchEff(hit.CFrame + Vector3.new(math.random(-1,1),math.random(-1,1),math.random(-1,1)))
466
end
467
end
468
if hpunchactive == true then
469
if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil and hit.Parent ~= chara and hit.Parent.Name ~= "Salvo_Starly" then
470
dealdmg(hit.Parent)
471
coroutine.resume(coroutine.create(function()
472
if hit.Parent.Head:FindFirstChildOfClass("BodyVelocity") then
473
hit.Parent.Head:FindFirstChildOfClass("BodyVelocity"):Destroy()
474
end
475
local bfos = Instance.new("BodyVelocity",hit.Parent.Head)
476
bfos.P = 100000
477
bfos.MaxForce = Vector3.new(bfos.P,bfos.P,bfos.P)
478
bfos.Velocity = chara.HumanoidRootPart.CFrame.lookVector * 100
479
game.Debris:AddItem(bfos,.5)
480
hit.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = true
481
swait(2)
482
hit.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = false
483
end))
484
end
485
end
486
end
487
end)
488
end
489
490
--Punch Touch--
491-
dela = .05
491+
dela = 1
492
punchactive = false
493
function punchhit(hit)
494
if punchactive == true then
495
if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil and hit.Parent ~= chara and hit.Parent:FindFirstChild("IsHit")==nil then
496
dealdmg(hit.Parent)
497
PunchEff(hit.CFrame)
498
end
499
end
500
end
501
Emit2Part.Touched:connect(punchhit)
502
EmitPart.Touched:connect(punchhit)
503
504
--Chat Function--
505
function chatfunc(text,dude)
506
coroutine.resume(coroutine.create(function()
507
if dude:FindFirstChild("TalkingBillBoard")~= nil then
508
dude:FindFirstChild("TalkingBillBoard"):destroy()
509
end
510
local naeeym2 = Instance.new("BillboardGui",chara)
511
naeeym2.Size = UDim2.new(0,100,0,40)
512
naeeym2.StudsOffset = Vector3.new(0,3,0)
513
naeeym2.Adornee = dude.Head
514
naeeym2.Name = "TalkingBillBoard"
515
local tecks2 = Instance.new("TextLabel",naeeym2)
516
tecks2.BackgroundTransparency = 1
517
tecks2.BorderSizePixel = 0
518
tecks2.Text = ""
519-
tecks2.Font = "Antique"
519+
tecks2.Font = "SpecialElite"
520
tecks2.FontSize = "Size24"
521
tecks2.TextStrokeTransparency = 0
522-
tecks2.TextColor3 = Color3.new(0,0.5,1)
522+
tecks2.TextColor3 = Color3.new(1,1,1)
523
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
524
tecks2.Size = UDim2.new(1,0,0.5,0)
525
coroutine.resume(coroutine.create(function()
526
for i = 1,string.len(text),1 do
527
tecks2.Text = string.sub(text,1,i)
528
swait(0.01)
529
end
530
swait(1)
531
for i = 1, 5 do
532
swait(.01)
533
tecks2.Position = tecks2.Position - UDim2.new(0,0,.05,0)
534
tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.2
535
tecks2.TextTransparency = tecks2.TextTransparency + .2
536
end
537
naeeym2:Destroy()
538
end))
539
end))
540
end
541
542
--function onChatted(msg)
543
--chatfunc(msg,chara)
544
--end
545
--player.Chatted:connect(onChatted)
546
547
--Clerp Animations--
548
TC = chara.HumanoidRootPart.RootJoint
549
HC = chara.Torso.Neck
550
RAC = chara.Torso["Right Shoulder"]
551
LAC = chara.Torso["Left Shoulder"]
552
RLC = chara.Torso["Right Hip"]
553
LLC = chara.Torso["Left Hip"]
554
TCF = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
555
HCF = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
556
RACF = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
557
LACF = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
558
RLCF = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
559
LLCF = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
560
RWF = CFrame.new(-1.5, 0, 0) * CFrame.fromEulerAnglesXYZ(0,0,0)
561
LWF = CFrame.new(1.5, 0, 0) * CFrame.fromEulerAnglesXYZ(0,0,0)
562
RLWF = CFrame.new(-.5, 2, 0) * CFrame.fromEulerAnglesXYZ(0,0,0)
563
LLWF = CFrame.new(.5, 2, 0) * CFrame.fromEulerAnglesXYZ(0,0,0)
564
grp = Instance.new("Model",chara)
565
RW = nil
566
LW = nil
567
RLW = nil
568
LLW = nil
569
570
function AddLegWelds()
571
RLW = Instance.new("Weld",chara["Right Leg"])
572
RLW.Part1 = HC.Parent
573
RLW.Part0 = chara["Right Leg"]
574
RLW.C0 = RLWF
575
LLW = Instance.new("Weld",chara["Left Leg"])
576
LLW.Part1 = HC.Parent
577
LLW.Part0 = chara["Left Leg"]
578
LLW.C0 = LLWF
579
end
580
581
function AddArmWelds()
582
RW = Instance.new("Weld",HC.Parent)
583
RW.Part1 = HC.Parent
584
RW.Part0 = chara["Right Arm"]
585
RW.C0 = RWF
586
LW = Instance.new("Weld",HC.Parent)
587
LW.Part1 = HC.Parent
588
LW.Part0 = chara["Left Arm"]
589
LW.C0 = LWF
590
end
591
592
function DestroyLegWelds()
593
RLC = New("Motor6D",chara.Torso,"Right Hip",{Part0 = chara.Torso,Part1 = chara["Right Leg"],C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),})
594
LLC = New("Motor6D",chara.Torso,"Left Hip",{Part0 = chara.Torso,Part1 = chara["Left Leg"],C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),})
595
RLW:Destroy()
596
LLW:Destroy()
597
end
598
599
function DestroyArmWelds()
600
RAC = New("Motor6D",chara.Torso,"Right Shoulder",{Part0 = chara.Torso,Part1 = chara["Right Arm"],C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0),C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)})
601
LAC = New("Motor6D",chara.Torso,"Left Shoulder",{Part0 = chara.Torso,Part1 = chara["Left Arm"],C0 = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)})
602
RW:Destroy()
603
LW:Destroy()
604
end
605
606
function clerp(a,b,c)
607
return a:lerp(b,c)
608
end
609
610
ITCF = TCF
611
IHCF = HCF
612
IRWF = RWF
613
ILWF = LWF
614
615
function res()
616
TC.C0 = ITCF
617
HC.C0 = IHCF
618
end
619
res()
620
621
--Teleport--
622
function Teleport()
623
PlaySnd(6944898181,chara.Head,1,1)
624
for i, v in pairs(chara:GetChildren()) do
625
if v:IsA("BasePart") then
626
local trace = Instance.new("Part",game.Workspace)
627
trace.Size = v.Size
628
trace.Position = v.Position
629
trace.CFrame = v.CFrame
630
trace.Anchored = true
631
trace.CanCollide = true
632
trace.BrickColor = BrickColor.new("Really black")
633
trace.Material = "Neon"
634
coroutine.resume(coroutine.create(function()
635
for i = 0,1,.1 do
636
swait()
637
trace.Transparency = i
638
end
639
trace:Destroy()
640
end))
641
end
642
end
643
chara.Torso.CFrame = mouse.Hit + Vector3.new(0,3,0)
644
end
645
646
--Keys--
647
holdingdown = false
648
function onButton1Down()
649
holdingdown = true
650
if del == false then
651
del = true
652
AddArmWelds()
653
for i = 0,.6,.1 do
654
swait()
655
TC.C0 = clerp(TCF * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),ITCF,.6-i)
656
HC.C0 = clerp(HCF * CFrame.fromEulerAnglesXYZ(math.rad(-10),0,0),IHCF,.6-i)
657
RW.C0 = clerp(RWF * CFrame.fromEulerAnglesXYZ(0,0,math.rad(-20)),IRWF,.6-i)
658
LW.C0 = clerp(LWF * CFrame.fromEulerAnglesXYZ(0,0,math.rad(20)),ILWF,.6-i)
659
end
660
punchactive = true
661
local AtataSnd = LoadSnd(446961725,false,1,1)
662
local hurt = LoadSnd(1471213022,false,1,1)
663
AtataSnd:Play() --PlaySnd(160189066,chara.Head,1,1)
664
hurt:Play() --PlaySnd(1471213022,chara.Head,1,1)
665-
chatfunc("You have been marked",dudes)
665+
chatfunc("You have been marked",IsHit)
666
local punches = 0
667
repeat
668
swait()
669
RW.C0 = (RWF + Vector3.new(math.rad(-10,10),math.random(1,2),math.random(0,1))) * CFrame.fromEulerAnglesXYZ(math.rad(-100+math.random(-15,15)),math.rad(math.random(-15,15)),math.rad(math.random(-15,15)))
670
LW.C0 = (LWF + Vector3.new(math.rad(-10,10),math.random(1,2),math.random(0,1))) * CFrame.fromEulerAnglesXYZ(math.rad(-100+math.random(-15,15)),math.rad(math.random(-15,15)),math.rad(math.random(-15,15)))
671
TC.C0 = TCF * CFrame.fromEulerAnglesXYZ(math.rad(10),math.rad(math.random(-10,10)),0)
672
coroutine.resume(coroutine.create(function()
673
local part1 = Instance.new("Part",workspace)
674
part1.Size = Vector3.new(1,2,1)
675
part1.CanCollide = true
676
part1.Anchored = true
677
part1.BrickColor = chara["Right Arm"].BrickColor
678
part1.CFrame = chara["Right Arm"].CFrame
679
local part2 = Instance.new("Part",workspace)
680
part2.Size = Vector3.new(1,2,1)
681
part2.CanCollide = true
682
part2.Anchored = true
683
part2.BrickColor = chara["Left Arm"].BrickColor
684
part2.CFrame = chara["Left Arm"].CFrame
685
if chara:FindFirstChildOfClass("CharacterMesh") then
686
local mh = Instance.new("SpecialMesh",part1)
687
mh.MeshId = "rbxassetid://279174886"
688
mh.Scale = Vector3.new(1.1,1.1,1.1)
689
local mh = Instance.new("SpecialMesh",part2)
690
mh.MeshId = "rbxassetid://279174949"
691
mh.Scale = Vector3.new(1.1,1.1,1.1)
692
end
693
coroutine.resume(coroutine.create(function()
694
for i = .4,1,.1 do
695
swait()
696
part1.Transparency = i
697
part2.Transparency = i
698
end
699
part1:Destroy()
700
part2:Destroy()
701
end))
702
end))
703
PExHitbox()
704
punches = punches + 1
705
until holdingdown == false or punches >= 0
706
punchactive = false
707
LW.C0 = ILWF
708
AtataSnd:Stop()
709
AtataSnd.TimePosition = 0
710
AtataSnd:Play()
711
hpunchactive = true
712
chatfunc("You have been marked",dude)
713
for i = 0,.6,.2 do
714
swait()
715
TC.C0 = clerp((TCF - Vector3.new(0,0,2)) * CFrame.fromEulerAnglesXYZ(math.rad(10),math.rad(-10),0),TCF * CFrame.fromEulerAnglesXYZ(math.rad(-10),math.rad(10),0),.6-i)
716
HC.C0 = clerp(HCF * CFrame.fromEulerAnglesXYZ(math.rad(-10),math.rad(10),0),HCF * CFrame.fromEulerAnglesXYZ(math.rad(10),math.rad(-10),0),.6-i)
717
RW.C0 = clerp((RWF + Vector3.new(0,1,-1)) * CFrame.fromEulerAnglesXYZ(math.rad(-100),0,0),(RWF + Vector3.new(0,1,0)) * CFrame.fromEulerAnglesXYZ(math.rad(-100),0,0),.6-i)
718
end
719
PExHitbox()
720
swait()
721
TC.C0 = (TCF - Vector3.new(0,0,2)) * CFrame.fromEulerAnglesXYZ(math.rad(10),math.rad(-10),0)
722
HC.C0 = HCF * CFrame.fromEulerAnglesXYZ(math.rad(-10),math.rad(10),0)
723
RW.C0 = (RWF + Vector3.new(0,1,1)) * CFrame.fromEulerAnglesXYZ(math.rad(-100),0,0)
724
swait(.2)
725
hpunchactive = false
726
punchactive = false
727
swait(.5)
728
for i = 0,.6,.1 do
729
swait()
730
TC.C0 = clerp((TCF - Vector3.new(0,0,2)) * CFrame.fromEulerAnglesXYZ(math.rad(10),math.rad(-10),0),ITCF,.4+i)
731
HC.C0 = clerp(HCF * CFrame.fromEulerAnglesXYZ(math.rad(-10),math.rad(10),0),IHCF,.4+i)
732
RW.C0 = clerp((RWF + Vector3.new(0,1,1)) * CFrame.fromEulerAnglesXYZ(math.rad(-100),0,0),IRWF,.4+i)
733
LW.C0 = ILWF
734
end
735
DestroyArmWelds()
736
walking = false
737
AtataSnd.TimePosition = 0
738
debby:AddItem(AtataSnd,2)
739
del = false
740
end
741
end
742
function onButton2Down()
743
if del == false then
744
del = true
745
AddArmWelds()
746
ShadowHead.Transparency = 0
747
for i = 0,.6,.05 do
748
swait()
749
TC.C0 = ITCF
750
HC.C0 = clerp(IHCF,HCF * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),.4+i)
751
RW.C0 = clerp(IRWF,(RWF + Vector3.new(0,.5,.5)) * CFrame.fromEulerAnglesXYZ(math.rad(-90),0,0),.4+i)
752
LW.C0 = ILWF
753
end
754
RW.C0 = (RWF + Vector3.new(0,.5,.5)) * CFrame.fromEulerAnglesXYZ(math.rad(-90),0,0)
755-
local DeadSnd = LoadSnd(5037247979,false,1,1)
755+
local DeadSnd = LoadSnd(6645293593,false,1,1)
756-
DeadSnd:Play() --PlaySnd(5037247979,workspace,1,1)
756+
DeadSnd:Play() --PlaySnd(6645293593,workspace,1,1)
757-
chatfunc("Prepare yourself...",chara)
757+
chatfunc("...",chara)
758
swait(2.8)
759
local dudes = {}
760
for i, v in pairs(workspace:GetDescendants()) do
761
if v:IsA("ObjectValue") and v.Name == "IsAlreadyDead" and v.Parent:FindFirstChildOfClass("Humanoid") then
762
table.insert(dudes,v.Parent)
763
end
764
end
765
if #dudes == 0 then
766
DeadSnd:Destroy()
767
end
768
for no = 1, #dudes do
769
coroutine.resume(coroutine.create(function()
770
--THIS SPOT--
771
if dudes[no]:FindFirstChildOfClass("Humanoid").Health > 1 then
772-
chatfunc("The clock has reached the 12th hour",dudes[no])
772+
chatfunc("?!",dudes[no])
773
end
774
debby:AddItem(DeadSnd,6)
775
swait(.5)
776
for i, v in pairs(dudes[no]:GetChildren()) do
777
if v:IsA("BasePart") then
778
v.Anchored = true
779
end
780
end
781
782
dudes[no]:BreakJoints()
783
for oa = 1, 5 do
784
local effp = Instance.new("Part",workspace)
785
effp.CanCollide = true
786
effp.BottomSurface = 0
787
effp.TopSurface = 0
788
effp.Size = Vector3.new(1,1,1)
789
effp.Anchored = true
790
effp.CFrame = (dudes[no].Head.CFrame * CFrame.new(0,-1.5,0)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0,359)),math.rad(math.random(0,359)),math.rad(math.random(0,359)))
791-
effp.Material = "Glass"
791+
effp.Material = "Neon"
792-
effp.BrickColor = BrickColor.new("Cyan")
792+
effp.BrickColor = BrickColor.new("White")
793
local efm = Instance.new("BlockMesh",effp)
794
CamShake(effp,20,1,.4)
795
coroutine.resume(coroutine.create(function()
796
for a = 0,1,.01 do
797
efm.Scale = Vector3.new(2-a*2,1000*a,2-a*2)
798-
effp.Transparency = 0.5
798+
effp.Transparency = i
799
swait()
800
end
801
effp:Destroy()
802
end))
803
end
804
for i, v in pairs(dudes[no]:GetChildren()) do
805
if v:IsA("BasePart") then
806
v.Anchored = false
807
end
808
end
809
for a, v in pairs(dudes[no]:GetChildren()) do
810
if v:IsA("BasePart") then
811
local bodpos = Instance.new("BodyPosition",v)
812
bodpos.Position = v.Position + Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
813
v.BrickColor = BrickColor.new("White")
814
v.Material = "Neon"
815
end
816
end
817
local blast = LoadSnd(340722848,false,1,1)
818
local hurt = LoadSnd(1471213022,false,1,1)
819
blast:play() --PlaySnd(340722848,chara.Head,1,1)
820
swait()
821
hurt:Play() --PlaySnd(1471213022,chara.Head,1,1)
822
for d = 0,1,.1 do
823
for i, v in pairs(dudes[no]:GetChildren()) do
824
if v:IsA("BasePart") then
825
v.Transparency = d
826
swait()
827
end
828
end
829
end
830
for i, v in pairs(dudes[no]:GetChildren()) do
831
if v:IsA("BasePart") then
832
v:Destroy()
833
end
834
end
835
end))
836
end
837
for i = 0,.6,.05 do
838
swait()
839
TC.C0 = ITCF
840
HC.C0 = clerp(IHCF,HCF * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),.6-i)
841
RW.C0 = clerp(IRWF,(RWF + Vector3.new(0,.5,.5)) * CFrame.fromEulerAnglesXYZ(math.rad(-90),0,0),.6-i)
842
LW.C0 = ILWF
843
end
844
ShadowHead.Transparency = 1
845
DestroyArmWelds()
846
walking = false
847
del = false
848
end
849
end
850
851
rage = false
852
if mouse then
853
mouse.Button1Down:connect(onButton1Down)
854
mouse.Button1Up:connect(function()
855
holdingdown = false
856
end)
857
mouse.KeyDown:connect(function(key)
858
if key == "n" then
859
onButton2Down()
860
elseif key == "p" then
861
if rage == false then
862
for i, v in pairs(chara:GetDescendants()) do
863
if v.Name == "beter" then
864
v.Enabled = true 
865
end
866
end
867
rage = true
868
elseif rage == true then
869
for i, v in pairs(chara:GetDescendants()) do
870
if v.Name == "beter" then
871
v.Enabled = false
872
end
873
end
874
rage = false
875
end
876
elseif key == "t" then
877
Teleport()
878
elseif key == "m" then
879
if Music.IsPlaying == true then
880
Music:Stop()
881
elseif Music.IsPlaying == false then
882
Music:Play()
883
end
884
elseif key == "k" then
885
Music.SoundId = "rbxassetid://6350377739"
886
elseif key == "l" then
887
Music.SoundId = "rbxassetid://2683437205"
888
elseif key == "j" then
889
Music.SoundId = "rbxassetid://5108618911"
890
elseif key == "h" then
891
dudes[no].IsAlreadyDead:Destroy()
892
dudes[no].IsAlreadyDeadBillBoardGui:Destroy()
893
end
894
end)
895
--mouse.KeyUp:connect(onKeyUp)
896
end
897
898
--Loop Function--
899
walking = false
900
toim = 0
901
while true do
902
swait()
903
hum.Name = "hoomanood"
904
hum.Health = math.huge
905
hum.MaxHealth = math.huge
906
--if gkeydown == true then
907
--coroutine.resume(coroutine.create(function()
908
--onButton1Down()
909
--end))
910
--end
911
toim = toim + .1
912
if del == false then attacking = false elseif del == true then attacking = true end
913
torvel = (chara.HumanoidRootPart.Velocity*Vector3.new(1,0,1)).magnitude
914
if torvel < 1 and walking == true and del == false and atkd == false and attacking == false then
915
for i = 0,1,.25 do
916
swait()
917
if del == false and attacking == false then
918
TC.C0 = clerp(TCF * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),ITCF,i)
919
HC.C0 = clerp(HCF * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),IHCF,i)
920
--RW.C0 = IRWF
921
--LW.C0 = IRWF
922
end
923
end
924
walking = false
925
elseif torvel > 1 and walking == false and del == false and atkd == false and attacking == false then
926
for i = 0,1,.25 do
927
swait()
928
if del == false and attacking == false then
929
TC.C0 = clerp(TCF * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),ITCF,1-i)
930
HC.C0 = clerp(HCF * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),IHCF,1-i)
931
--RW.C0 = IRWF
932
--LW.C0 = ILWF
933
end
934
end
935
walking = true
936
else
937
end
938
end