View difference between Paste ID: jtgtSDva and aV6Kj9kj
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("FE Compatibility code V2 by Mokiros")
7
	local RealPlayer = RealPlayer
8
	script.Parent = RealPlayer.Character
9
10
	--Fake event to make stuff like Mouse.KeyDown work
11
	local Disconnect_Function = function(this)
12
		this[1].Functions[this[2]] = nil
13
	end
14
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
	local FakeEvent_Metatable = {__index={
16
		Connect = function(this,f)
17
			local i = tostring(math.random(0,10000))
18
			while this.Functions[i] do
19
				i = tostring(math.random(0,10000))
20
			end
21
			this.Functions[i] = f
22
			return setmetatable({this,i},Disconnect_Metatable)
23
		end
24
	}}
25
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
	local function fakeEvent()
27
		return setmetatable({Functions={}},FakeEvent_Metatable)
28
	end
29
30
	--Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
	end}
38
	--Merged 2 functions into one by checking amount of arguments
39
	CAS.UnbindAction = CAS.BindAction
40
41
	--This function will trigger the events that have been :Connect()'ed
42
	local function TriggerEvent(self,ev,...)
43
		for _,f in pairs(self[ev].Functions) do
44
			f(...)
45
		end
46
	end
47
	FakeMouse.TriggerEvent = TriggerEvent
48
	UIS.TriggerEvent = TriggerEvent
49
50
	--Client communication
51
	local Event = Instance.new("RemoteEvent")
52
	Event.Name = "UserInput_Event"
53
	Event.OnServerEvent:Connect(function(plr,io)
54
	    if plr~=RealPlayer then return end
55
		FakeMouse.Target = io.Target
56
		FakeMouse.Hit = io.Hit
57
		if not io.isMouse then
58
			local b = io.UserInputState == Enum.UserInputState.Begin
59
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
			end
62
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
			end
65
			for _,t in pairs(CAS.Actions) do
66
				for _,k in pairs(t.Keys) do
67
					if k==io.KeyCode then
68
						t.Function(t.Name,io.UserInputState,io)
69
					end
70
				end
71
			end
72
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
	    end
75
	end)
76
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
	local Mouse = owner:GetMouse()
78
	local UIS = game:GetService("UserInputService")
79
	local input = function(io,RobloxHandled)
80
		if RobloxHandled then return end
81
		--Since InputObject is a client-side instance, we create and pass table instead
82
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
	end
84
	UIS.InputBegan:Connect(input)
85
	UIS.InputEnded:Connect(input)
86
	local h,t
87
	--Give the server mouse data every second frame, but only if the values changed
88
	--If player is not moving their mouse, client won't fire events
89
	local HB = game:GetService("RunService").Heartbeat
90
	while true do
91
		if h~=Mouse.Hit or t~=Mouse.Target then
92
			h,t=Mouse.Hit,Mouse.Target
93
			Event:FireServer({isMouse=true,Target=t,Hit=h})
94
		end
95
		--Wait 2 frames
96
		for i=1,2 do
97
			HB:Wait()
98
		end
99
	end]==],script)
100
101
	----Sandboxed game object that allows the usage of client-side methods and services
102
	--Real game object
103
	local RealGame = game
104
105
	--Metatable for fake service
106
	local FakeService_Metatable = {
107
		__index = function(self,k)
108
			local s = rawget(self,"_RealService")
109
			if s then
110
				return typeof(s[k])=="function"
111
				and function(_,...)return s[k](s,...)end or s[k]
112
			end
113
		end,
114
		__newindex = function(self,k,v)
115
			local s = rawget(self,"_RealService")
116
			if s then s[k]=v end
117
		end
118
	}
119
	local function FakeService(t,RealService)
120
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
121
		return setmetatable(t,FakeService_Metatable)
122
	end
123
124
	--Fake game object
125
	local FakeGame = {
126
		GetService = function(self,s)
127
			return rawget(self,s) or RealGame:GetService(s)
128
		end,
129
		Players = FakeService({
130
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
131
		},"Players"),
132
		UserInputService = FakeService(UIS,"UserInputService"),
133
		ContextActionService = FakeService(CAS,"ContextActionService"),
134
		RunService = FakeService({
135
			_btrs = {},
136
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
137
			BindToRenderStep = function(self,name,_,fun)
138
				self._btrs[name] = self.Heartbeat:Connect(fun)
139
			end,
140
			UnbindFromRenderStep = function(self,name)
141
				self._btrs[name]:Disconnect()
142
			end,
143
		},"RunService")
144
	}
145
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
146
	FakeGame.service = FakeGame.GetService
147
	FakeService(FakeGame,game)
148
	--Changing owner to fake player object to support owner:GetMouse()
149
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
150
end
151
152
153
154
--whitelist--
155
if game.Players.LocalPlayer.userId == 67726430 or game.Players.LocalPlayer.userId == 158325526 or game.Players.LocalPlayer.userId == 208192226 or game.Players.LocalPlayer.userId ==  400610816
156
then
157
-- friend list
158
print([[
159
160
161
___________________________________
162
 
163
Whitelist system
164
Build 0001
165
1x1x1x1IAMbck
166
 
167
___________________________________
168
]])
169
 
170
function checkfriendlist(model)
171
local friend = true
172
local target = nil
173
if model.ClassName == "Player" then
174
target = model
175
else
176
target = game:GetService("Players"):GetPlayerFromCharacter(model)
177
end
178
if target ~= nil then
179
if target:IsFriendsWith(153566520) then friend = true end
180
end
181
return friend
182
end
183
 
184
if checkfriendlist(game:GetService("Players").LocalPlayer) == false and not game:GetService("Players").LocalPlayer:FindFirstChild("Kyu's Temp Really blacklist") then
185
warn("You're not whitelisted")
186
--wait(1)
187
--error("Script has been stopped.")
188
end
189
 
190
warn("You're whitelisted, "..game:GetService("Players").LocalPlayer.Name.." :)")
191
192
else
193
while true do
194
wait()
195
local blind = Instance.new('ScreenGui')
196
local user = game.Players.LocalPlayer
197
blind.Parent = user.PlayerGui
198
local scr = Instance.new('TextLabel')
199
scr.Parent = blind
200
scr.Text = "Ur not whitelisted "..game.Players.LocalPlayer.Name.." "
201
scr.TextScaled = true
202
scr.Font = Enum.Font.Arial
203
scr.TextColor = BrickColor.new(1001)
204
scr.BackgroundColor3 = Color3.new(0.235294, 0.235294, 0.235294)
205
scr.BorderColor3 = Color3.new(0, 0, 0)
206
scr.Position = UDim2.new(0, 0, 0, 0)
207
scr.Size = UDim2.new(1, 1, 1, 1)
208
end
209
end
210
211
--whitelist--
212
--chat
213
Player = game:GetService("Players").LocalPlayer
214
PlayerGui = Player.PlayerGui
215
Cam = workspace.CurrentCamera
216
Backpack = Player.Backpack
217
Character = Player.Character
218
char = Player.Character
219
Humanoid = Character.Humanoid
220
Mouse = Player:GetMouse()
221
RootPart = Character["HumanoidRootPart"]
222
Torso = Character["Torso"]
223
Head = Character["Head"]
224
RightArm = Character["Right Arm"]
225
LeftArm = Character["Left Arm"]
226
RightLeg = Character["Right Leg"]
227
LeftLeg = Character["Left Leg"]
228
RootJoint = RootPart["RootJoint"]
229
Neck = Torso["Neck"]
230
RightShoulder = Torso["Right Shoulder"]
231
LeftShoulder = Torso["Left Shoulder"]
232
RightHip = Torso["Right Hip"]
233
LeftHip = Torso["Left Hip"]
234
235
local Orin = "http://www.roblox.com/asset/?id=7074786"
236
Head.face.Texture = Orin
237
function weld(a, b, acf)
238
	local w = Instance.new("Weld", a)
239
	w.Part0 = a
240
	w.Part1 = b
241
	w.C0 = acf
242
end
243
local righteyebrickcolor = "White"
244
local reye = Instance.new("Part", char)
245
reye.CanCollide = false
246
reye.BrickColor = BrickColor.new(righteyebrickcolor)
247
reye.Material = "Neon"
248
reye.Size = Vector3.new(.25,.35,.15)
249
weld(reye, char.Head, CFrame.new(0.15,-0.2,0.55), CFrame.new(1,0,0))
250
m1 = Instance.new("SpecialMesh", reye)
251
m1.MeshType = "Sphere"
252
m1.Scale = Vector3.new(0.9,0.9,0.9)
253
reye.Locked = true
254
reye.Name = "re"
255
256
257
--chat
258
259
local p = game:GetService("Players").LocalPlayer
260
local plr = game:GetService("Players").LocalPlayer
261
local player = game:GetService("Players").LocalPlayer
262
local char = p.Character
263
local mouse = p:GetMouse()
264
local larm = char:WaitForChild("Left Arm")
265
local rarm = char:WaitForChild("Right Arm")
266
local lleg = char:WaitForChild("Left Leg")
267
local rleg = char:WaitForChild("Right Leg")
268
local hed = char:WaitForChild("Head")
269
local torso = char:WaitForChild("Torso")
270
local root = char:WaitForChild("HumanoidRootPart")
271
local hum = char:FindFirstChildOfClass("Humanoid")
272
local debris = game:GetService("Debris")
273
local run = game:GetService("RunService")
274
local rs = run.RenderStepped
275
local cam = workspace.CurrentCamera
276
local movement = 4
277
local change = 0.4
278
local DebrisModel = Instance.new("Model",char)
279
local stealth = false
280
local debounce = false
281
hum.MaxHealth = 50000
282
hum.Health = hum.MaxHealth
283
themeid = 0
284
themepitch = 1.4
285
main = {r = 0;g = 100;b = 255;v = 1}
286
pr = p:FindFirstChild("rcolor")
287
pg = p:FindFirstChild("gcolor")
288
pb = p:FindFirstChild("bcolor")
289
pv = p:FindFirstChild("vcolor")
290
idth = p:FindFirstChild("idtheme")
291
pith = p:FindFirstChild("pitchtheme")
292
main_color = Color3.fromRGB(main.r,main.g,main.b)
293
explosionid = {262562442,144699494,539294959,1388740053}
294
--919941001
295
Prefix = "/"
296
p.Chatted:connect(function(msg)
297
 
298
    if msg:lower():sub(1,#Prefix+#'color r ')==Prefix..'color r ' then
299
    local v = tonumber(msg:sub(#Prefix+#'color r '+1))
300
    main.r = v
301
    elseif msg:lower():sub(1,#Prefix+#'color g ')==Prefix..'color g ' then
302
    local v = tonumber(msg:sub(#Prefix+#'color g '+1))
303
    main.g = v
304
    elseif msg:lower():sub(1,#Prefix+#'color b ')==Prefix..'color b ' then
305
    local v = tonumber(msg:sub(#Prefix+#'color b '+1))
306
    main.b = v
307
    elseif msg:lower():sub(1,#Prefix+#'color v ')==Prefix..'color v ' then
308
    local v = tonumber(msg:sub(#Prefix+#'color v '+1))
309
    if v > 1 then main.v = 1 elseif v < -1 then main.v = -1 else main.v = v end
310
311
    elseif msg:lower():sub(1,#Prefix+#'theme ')==Prefix..'theme ' then
312
    local v = tonumber(msg:sub(#Prefix+#'theme '+1))
313
    themeid = v
314
    music(themeid,themepitch)
315
316
    elseif msg:lower():sub(1,#Prefix+#'pitch ')==Prefix..'pitch ' then
317
    local v = tonumber(msg:sub(#Prefix+#'pitch '+1))
318
    themepitch = v
319
    music(themeid,themepitch)
320
321
    elseif msg:lower():sub(1,#Prefix+#'prefix ')==Prefix..'prefix ' then
322
    local v = msg:sub(#Prefix+#'prefix '+1)
323
    Prefix = v
324
 
325
    elseif msg:lower():sub(1,#Prefix+#'reset')==Prefix..'reset' then
326
    main.r = 0
327
    main.g = 100
328
    main.b = 255
329
    main.v = 1
330
    themeid = 0
331
    themepitch = 1
332
    music(themeid,themepitch)
333
334
    end
335
336
end)
337
----------------------------------------------------------------------------
338
no_anim = false
339
attack = false
340
attacking = false
341
canjump = true
342
aiming_anim = false
343
animid = math.random(0,1)
344
timer = 0
345
bg = Instance.new("BodyGyro",root)
346
bg.P = 100000
347
bg.D = 100
348
----------------------------------------------------------------------------
349
350
function rswait(value)
351
  if value ~= nil and value ~= 0 then
352
    for i=1,value do
353
     rs:wait()
354
    end
355
  else
356
	rs:wait()
357
  end
358
end
359
360
----------------------------------------------------------------------------
361
max = 0
362
function music(id,pitch)
363
max = 0
364
if id == "Stop" then
365
if not torso:FindFirstChild("MusicRuin") then
366
soundz = Instance.new("Sound",torso)
367
end
368
soundz:Stop()
369
else
370
if not torso:FindFirstChild("MusicRuin") then
371
soundz = Instance.new("Sound",torso)
372
end
373
soundz.MaxDistance = 150*5
374
soundz.EmitterSize = 150/5
375
soundz.Volume = 0
376
soundz.Name = "MusicRuin"
377
soundz.Looped = true
378
soundz.PlaybackSpeed = pitch
379
soundz.SoundId = "rbxassetid://"..id
380
soundz:Stop()
381
soundz:Play()
382
end
383
end
384
385
----------------------------------------------------------------------------
386
387
function lerp(a, b, t)
388
  return a + (b - a)*t
389
end
390
391
----------------------------------------------------------------------------
392
393
function Lerp(c1,c2,al)
394
  local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
395
  local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
396
  for i,v in pairs(com1) do
397
    com1[i] = v+(com2[i]-v)*al
398
  end
399
  return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
400
end
401
402
----------------------------------------------------------------------------
403
404
function slerp(a, b, t)
405
  dot = a:Dot(b)
406
  if dot > 0.99999 or dot < -0.99999 then
407
    return t <= 0.5 and a or b
408
  else
409
    r = math.acos(dot)
410
    return (a*math.sin((1 - t)*r) + b*math.sin(t*r)) / math.sin(r)
411
  end
412
end
413
414
----------------------------------------------------------------------------
415
416
function clerp(c1,c2,al)
417
418
  local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
419
420
  local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
421
422
  for i,v in pairs(com1) do
423
424
    com1[i] = lerp(v,com2[i],al)
425
426
  end
427
428
  return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
429
430
end
431
432
----------------------------------------------------------------------------
433
434
function findAllNearestTorso(pos,dist)
435
    local list = game.Workspace:children()
436
    local torso = {}
437
    local temp = nil
438
    local human = nil
439
    local temp2 = nil
440
    for x = 1, #list do
441
        temp2 = list[x]
442
        if (temp2.className == "Model") and (temp2 ~= char) then
443
            local nayem = "Torso"
444
            if temp2:findFirstChild("UpperTorso") then nayem = "UpperTorso" end
445
            temp = temp2:findFirstChild(nayem)
446
            human = temp2:findFirstChildOfClass("Humanoid")
447
            if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
448
                if (temp.Position - pos).magnitude < dist then
449
                    table.insert(torso,temp)
450
                    dist = (temp.Position - pos).magnitude
451
                end
452
            end
453
        end
454
    end
455
    return torso
456
end
457
458
----------------------------------------------------------------------------
459
460
local isAPlayer
461
function checkIfNotPlayer(model)
462
coroutine.resume(coroutine.create(function()
463
if model ~= char and model.Parent ~= char and model.Parent.Parent ~= char and model.Parent ~= DebrisModel and model.Parent.Parent ~= DebrisModel and model.Parent.Parent.Parent ~= DebrisModel then
464
isAPlayer = true
465
else
466
isAPlayer = false
467
end
468
end))
469
return isAPlayer
470
end
471
472
----------------------------------------------------------------------------
473
474
function computeDirection(vec)
475
local lenSquared = vec.magnitude * vec.magnitude
476
local invSqrt = 1 / math.sqrt(lenSquared)
477
return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
478
end
479
480
----------------------------------------------------------------------------
481
482
function newWeld(wp0, wp1, wc0x, wc0y, wc0z)
483
484
  local wld = Instance.new("Weld", wp1)
485
486
  wld.Part0 = wp0
487
488
  wld.Part1 = wp1
489
490
  wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
491
492
  return wld
493
494
end
495
496
----------------------------------------------------------------------------
497
498
function weld(model)
499
	local parts,last = {}
500
	local function scan(parent)
501
		for _,v in pairs(parent:GetChildren()) do
502
			if (v:IsA("BasePart")) then
503
				if (last) then
504
					local w = Instance.new("Weld")
505
					w.Name = ("%s_Weld"):format(v.Name)
506
					w.Part0,w.Part1 = last,v
507
					w.C0 = last.CFrame:inverse()
508
					w.C1 = v.CFrame:inverse()
509
					w.Parent = last
510
				end
511
				last = v
512
				table.insert(parts,v)
513
			end
514
			scan(v)
515
		end
516
	end
517
	scan(model)
518
	for _,v in pairs(parts) do
519
		v.Anchored = false
520
		v.Locked = true
521
	end
522
end
523
524
----------------------------------------------------------------------------
525
526
function sound(id,position,vol,pitch,dist,start,finish)
527
  coroutine.resume(coroutine.create(function()
528
529
  local part = Instance.new("Part",DebrisModel)
530
  part.Anchored = true
531
  part.Position = position
532
  part.Size = Vector3.new(0,0,0)
533
  part.CanCollide = false
534
  part.Transparency = 1
535
536
  soundasd = Instance.new("Sound",part)
537
  
538
  soundasd.SoundId = "rbxassetid://"..id
539
  
540
  if vol ~= nil then
541
    soundasd.Volume = vol
542
  end
543
544
  if pitch ~= nil then
545
    soundasd.PlaybackSpeed = pitch
546
  end
547
  
548
  if dist ~= nil then
549
    soundasd.MaxDistance = dist*5
550
    soundasd.EmitterSize = dist/5
551
  end
552
553
  delay(0.5,function() debris:AddItem(part,soundasd.TimeLength+3) end)
554
  
555
  soundasd:Play()
556
  
557
  end))
558
  return soundasd
559
end
560
561
function createsound(id,parent)
562
563
  local soundz = Instance.new("Sound",parent)
564
565
  soundz.SoundId = "rbxassetid://"..id
566
567
  return soundz
568
569
end
570
571
function playsound(sond,vol,pitch,start)
572
  
573
  if vol ~= nil then
574
    sond.Volume = vol
575
  end
576
577
  if pitch ~= nil then
578
    sond.PlaybackSpeed = pitch
579
  end
580
 
581
  if start ~= nil then
582
    sond.TimePosition = start
583
  end
584
585
  sond:Play()
586
  
587
end
588
589
----------------------------------------------------------------------------
590
eColors={"Really red","Really black"}
591
function Lightning(Part0,Part1,Times,Offset,Color,Thickness,Trans)
592
    local magz = (Part0 - Part1).magnitude
593
    local curpos = Part0
594
    local trz = {-Offset,Offset} 
595
    for i=1,Times do
596
        local li = Instance.new("Part", DebrisModel)
597
        li.TopSurface =0
598
        li.Material = Enum.Material.Neon
599
        li.BottomSurface = 0
600
        li.Anchored = true
601
        li.Locked = true
602
        li.Transparency = Trans or 0.4
603
        li.BrickColor = BrickColor.new(Color)
604
        li.formFactor = "Custom"
605
        li.CanCollide = false
606
        li.Size = Vector3.new(Thickness,Thickness,magz/Times)
607
        local lim = Instance.new("BlockMesh",li)
608
        local Offzet = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
609
        local trolpos = CFrame.new(curpos,Part1)*CFrame.new(0,0,magz/Times).p+Offzet
610
        if Times == i then
611
        local magz2 = (curpos - Part1).magnitude
612
        li.Size = Vector3.new(Thickness,Thickness,magz2)
613
        li.CFrame = CFrame.new(curpos,Part1)*CFrame.new(0,0,-magz2/2)
614
        else
615
        li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
616
        end
617
        curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p
618
        li.Name = "LIGHTNING"
619
    end
620
end
621
622
local hat = workspace.Hat:Clone("11849078")
623
hat.Parent = workspace.Player
624
end
625
626
----------------------------------------------------------------------------
627
628
local HBill = Instance.new("BillboardGui",hed)
629
local HMain, HBar = Instance.new("Frame", HBill), Instance.new("Frame")
630
local HName = Instance.new("TextLabel")
631
HBill.Size = UDim2.new(15,0,2.2,0)
632
HBill.StudsOffset = Vector3.new(3.675,1.2,0)
633
HBill.AlwaysOnTop = true
634
HBill.Enabled = true
635
HMain.BackgroundColor3 = Color3.new(0, 0, 0)
636
HMain.BackgroundTransparency = 1
637
HMain.Size = UDim2.new(.5,0,.2,0)
638
HName.Parent = HMain
639
HName.BackgroundTransparency = 1
640
HName.BackgroundColor3 = Color3.new(244,255,25)
641
HName.BorderColor3 = Color3.new(244,255,25)
642
HName.BorderSizePixel = 2
643
HName.Size = UDim2.new(1,0,.75,0)
644
HName.Font = "Code"
645
HName.Text = [[( Requiem )]]
646
HName.TextScaled = true
647
HName.TextColor3 = Color3.new(244,255,25)
648
HName.TextStrokeColor3 = Color3.new(0.1,0.1,0.1)
649
HName.TextStrokeTransparency = 0
650
HName.TextYAlignment = "Bottom"
651
652
local HBill = Instance.new("BillboardGui",hed)
653
local HMain, HBar = Instance.new("Frame", HBill), Instance.new("Frame")
654
local HName = Instance.new("TextLabel")
655
HBill.Size = UDim2.new(15,0,2.2,0)
656
HBill.StudsOffset = Vector3.new(3.675,2,0)
657
HBill.AlwaysOnTop = true
658
HBill.Enabled = true
659
HMain.BackgroundColor3 = Color3.new(0, 0, 0)
660
HMain.BackgroundTransparency = 1
661
HMain.Size = UDim2.new(.5,0,.5,0)
662
HName.Parent = HMain
663
HName.BackgroundTransparency = 1
664
HName.BackgroundColor3 = Color3.new(0,0,0)
665
HName.BorderColor3 = Color3.new(0,0,0)
666
HName.BorderSizePixel = 2
667
HName.Size = UDim2.new(1,0,.75,0)
668
HName.Font = "Antique"
669
HName.Text = [[The Guest]]
670
HName.TextScaled = true
671
HName.TextColor3 = Color3.new(0,0,0)
672
HName.TextStrokeColor3 = Color3.new(0,0,0)
673
HName.TextStrokeTransparency = 0
674
HName.TextYAlignment = "Bottom"
675
676
function bigboomrektxd()
677
coroutine.resume(coroutine.create(function()
678
local magnitude = nil
679
local Position = nil
680
if animid == 0 then
681
Position = larm.Position
682
else
683
Position = rarm.Position
684
end
685
--sound(743499393,Position,10,math.random(6,8)/10)
686
sound(440145223,Position,10,math.random(10,12)/10,50)
687
688
local Part1 = Instance.new("Part")
689
local mesh2 = Instance.new("SpecialMesh",Part1)
690
mesh2.MeshId = "rbxassetid://559831844"
691
mesh2.Scale = Vector3.new(0,0,0.4)
692
Part1.Material = Enum.Material.Neon
693
Part1.CanCollide = false
694
Part1.Color = Color3.fromHSV(0,0,main.v)
695
Part1.Parent = DebrisModel
696
Part1.Size = Vector3.new(0,0,0)
697
Part1.Anchored = true
698
Part1.CFrame = CFrame.new(Position,mouse.Hit.p)
699
Part1.Name = "EXPLOSION2"
700
701
local Part0 = Instance.new("Part",DebrisModel)
702
local PointLight2 = Instance.new("PointLight")
703
Part0.Name = "Bullet"
704
Part0.Material = Enum.Material.Neon
705
Part0.Color = Color3.fromHSV(0,0,main.v)
706
Part0.Anchored = false
707
Part0.Size = Vector3.new(5, 5, 5)
708
local mesh = Instance.new("SpecialMesh",Part0)
709
mesh.MeshType = Enum.MeshType.Sphere
710
local bforce = Instance.new("BodyForce",Part0)
711
bforce.force = Vector3.new(0, ((bforce.Parent:getMass())*workspace.Gravity), 0)
712
Part0.CanCollide = false
713
PointLight2.Parent = Part0
714
PointLight2.Color = Part0.Color
715
local Target = mouse.Hit.p
716
local direction = Target - Position
717
local direction = computeDirection(direction)
718
local pos = Position + (direction * 2) 
719
Part0.CFrame = CFrame.new(pos,  pos + direction) * CFrame.Angles((math.pi/2)+math.rad(180), 0, 0)
720
Part0.Velocity = direction * 60
721
local asd = nil
722
local loop = nil
723
delay(5, function() Part0:Destroy() loop:disconnect() asd:disconnect() end)
724
loop = rs:connect(function()
725
local asdf = math.random(500,1000)/1000
726
local Part1 = Instance.new("Part")
727
local mesh2 = Instance.new("SpecialMesh",Part1)
728
mesh2.MeshType = Enum.MeshType.Sphere
729
Part1.Material = Enum.Material.Neon
730
Part1.CanCollide = false
731
Part1.Color = Color3.fromHSV(Color3.toHSV(main_color),math.random(0,10000)/10000,main.v)
732
Part1.Parent = DebrisModel
733
Part1.Size = Part0.Size + Vector3.new(asdf,asdf,asdf)
734
Part1.Anchored = true
735
Part1.CFrame = CFrame.new(Part0.Position + Vector3.new(math.random(-1000,1000)/750,math.random(-1000,1000)/750,math.random(-1000,1000)/750))
736
Part1.Name = "SMOKE"
737
end)
738
asd = Part0.Touched:connect(function(ht)
739
local hit=ht.Parent
740
if checkIfNotPlayer(ht) == true and ht.CanCollide == true then
741
asd:disconnect()
742
loop:disconnect()
743
Part0:Destroy()
744
745
sound(explosionid[math.random(1,#explosionid)],Part0.Position,10,math.random(6,9)/10,200)
746
for i,v in pairs(findAllNearestTorso(Part0.Position,50)) do
747
if v.Parent:FindFirstChildOfClass("Humanoid").MaxHealth >= 9e+99 then
748
v:Destroy()
749
else
750
v.Parent:FindFirstChildOfClass("Humanoid"):TakeDamage(v.Parent:FindFirstChildOfClass("Humanoid").MaxHealth/(math.random(50,60)/10))
751
end
752
local Position = Part0.Position
753
local Target = v.Position
754
local direction = Target - Position
755
local direction = computeDirection(direction)
756
local bv = Instance.new("BodyVelocity",v)
757
bv.Velocity = direction * (50 - ((Position - Target).magnitude/2))
758
debris:AddItem(bv,1)
759
end
760
for i=1,14,2 do for x=1,math.random(0,1) do rs:wait() end
761
for z=1,math.random(2,3) do
762
local asdf = math.random(-5,5)*10-(i/20)*8
763
local Part1 = Instance.new("Part")
764
local mesh2 = Instance.new("SpecialMesh",Part1)
765
mesh2.MeshType = Enum.MeshType.Sphere
766
mesh2.Scale = Vector3.new(0,0,0)
767
Part1.Material = Enum.Material.Neon
768
Part1.CanCollide = false
769
Part1.Color = Color3.fromHSV(Color3.toHSV(main_color),math.random(0,10000)/10000,main.v)
770
Part1.Parent = DebrisModel
771
Part1.Size = Vector3.new(asdf,asdf,asdf)
772
Part1.Anchored = true
773
local a = i*0.5
774
Part1.CFrame = CFrame.new(Part0.Position + Vector3.new(math.random(-2,2)*a,math.random(-10,10),math.random(-2,2)*a))
775
Part1.Name = "EXPLOSION"
776
end
777
end
778
779
end
780
end)
781
end))
782
end
783
784
holdclick=false
785
786
mouse.Button1Down:connect(function()
787
if debounce == false then
788
if animid == 0 then
789
animid = 1
790
else
791
animid = 0
792
end
793
debounce = true
794
holdclick = true
795
aiming_anim = true
796
wait(0.2)
797
repeat 
798
rs:wait()
799
timer = 150
800
until holdclick == false
801
bigboomrektxd()
802
803
local Position = mouse.Hit.p
804
local Target = root.Position
805
local direction = Target - Position
806
local direction = computeDirection(direction)
807
root.Velocity = direction * 150
808
809
aiming_anim = false
810
delay(0.3,function() debounce = false end)
811
end
812
end)
813
814
mouse.Button1Up:connect(function()
815
holdclick=false
816
end)
817
818
function dashasdf()
819
debounce = true
820
821
canjump = false
822
attack = true
823
824
for i,v in pairs(char:GetChildren()) do
825
if v ~= root then
826
if v:IsA("Part") then
827
v.Transparency = 1
828
elseif v:IsA("Accoutrement") then
829
v:FindFirstChildOfClass("Part").Transparency = 1
830
end
831
end
832
end
833
834
local tempattachment = Instance.new("Attachment",root)
835
tempattachment.Position = Vector3.new(0,0,-4)
836
837
for i=1,20 do rs:wait()
838
root.Velocity = Vector3.new(0,0,0)
839
root.CFrame = CFrame.new(tempattachment.WorldPosition) * CFrame.Angles(math.rad(root.Orientation.X),math.rad(root.Orientation.Y),math.rad(root.Orientation.Z))
840
local asdf = math.random(500,1000)/100
841
local Part1 = Instance.new("Part")
842
local mesh2 = Instance.new("SpecialMesh",Part1)
843
mesh2.MeshType = Enum.MeshType.Sphere
844
Part1.Material = Enum.Material.Neon
845
Part1.CanCollide = false
846
Part1.Color = Color3.fromHSV(Color3.toHSV(main_color),math.random(0,10000)/10000,main.v)
847
Part1.Parent = DebrisModel
848
Part1.Size = Vector3.new(asdf,asdf,asdf)
849
Part1.Anchored = true
850
Part1.CFrame = CFrame.new(root.Position + Vector3.new(math.random(-1000,1000)/500,math.random(-1000,1000)/500,math.random(-1000,1000)/500))
851
Part1.Name = "SMOKE"
852
end
853
854
tempattachment:Destroy()
855
856
for i,v in pairs(char:GetChildren()) do
857
if v ~= root then
858
if v:IsA("Part") then
859
v.Transparency = 0
860
elseif v:IsA("Accoutrement") then
861
v:FindFirstChildOfClass("Part").Transparency = 0
862
end
863
end
864
end
865
866
canjump = true
867
attack = false
868
869
delay(0.1,function() debounce = false end)
870
end
871
872
function laz0r()
873
874
local Position = nil
875
if animid == 0 then
876
Position = larm.Position
877
else
878
Position = rarm.Position
879
end
880
881
local Part1 = Instance.new("Part")
882
local mesh2 = Instance.new("SpecialMesh",Part1)
883
mesh2.MeshId = "rbxassetid://559831844"
884
mesh2.Scale = Vector3.new(0,0,0.4)
885
Part1.Material = Enum.Material.Neon
886
Part1.CanCollide = false
887
Part1.Color = Color3.fromHSV(0,0,main.v)
888
Part1.Parent = DebrisModel
889
Part1.Size = Vector3.new(0,0,0)
890
Part1.Anchored = true
891
Part1.CFrame = CFrame.new(Position,mouse.Hit.p)
892
Part1.Name = "EXPLOSION3"
893
894
local Part0 = Instance.new("Part",DebrisModel)
895
Part0.Name = "Bullet"
896
Part0.Material = Enum.Material.Neon
897
Part0.Color = Color3.fromHSV(0,0,main.v)
898
Part0.Anchored = true
899
local mesh = Instance.new("SpecialMesh",Part0)
900
mesh.MeshType = Enum.MeshType.Sphere
901
Part0.CanCollide = false
902
local Target = mouse.Hit.p
903
local direction = Target - Position
904
local direction = computeDirection(direction)
905
local ray = Ray.new(Position, (Target-Position).unit*1048)
906
local part, endPoint = workspace:FindPartOnRay(ray, char)
907
Part0.Size = Vector3.new(5,1,5)
908
mesh.Scale = Vector3.new(1,(Position-endPoint).magnitude,1)
909
local pos = Position + (direction * (mesh.Scale.Y/2))
910
Part0.CFrame = CFrame.new(pos,  pos + direction) * CFrame.Angles((math.pi/2)+math.rad(180), 0, 0)
911
912
clashpart = Instance.new("Part",DebrisModel)
913
clashpart.Size = Vector3.new(50,50,50)
914
clashpart.CanCollide = false
915
clashpart.Anchored = true
916
clashpart.Transparency = 1
917
clashpart.Color = main_color
918
clashpart.Name = "StarLightClash"
919
clashpart.CFrame = CFrame.new(endPoint, root.Position)
920
921
sound(1177475476,Position,10,math.random(5,6)/10,300)
922
923
local z = 10
924
for i = 1,100 do rs:wait()
925
if animid == 0 then
926
Position = larm.Position
927
else
928
Position = rarm.Position
929
end
930
local Target = mouse.Hit.p
931
local direction = Target - Position
932
local direction = computeDirection(direction)
933
local ray = Ray.new(Position, (Target-Position).unit*1048)
934
local part, endPoint = workspace:FindPartOnRay(ray, char)
935
Part0.Size = Vector3.new(5-((i/100)*5),1,5-((i/100)*5))
936
mesh.Scale = Vector3.new(1,(Position-endPoint).magnitude,1)
937
mesh.Offset = Vector3.new(math.random(-10000,10000)/20000,math.random(-10000,10000)/20000,0)
938
local pos = Position + (direction * (mesh.Scale.Y/2))
939
Part0.CFrame = CFrame.new(pos,  pos + direction) * CFrame.Angles((math.pi/2)+math.rad(180), 0, 0)
940
clashpart.CFrame = CFrame.new(endPoint, root.Position)
941
942
local Position = mouse.Hit.p
943
local Target = root.Position
944
local direction = Target - Position
945
local direction = computeDirection(direction)
946
root.Velocity = direction * 5
947
948
if i >= z then z = i + 10 sound(explosionid[math.random(1,#explosionid)],endPoint,10,math.random(6,9)/10,200) end
949
950
Part1 = Part0:Clone()
951
Part1.Parent = DebrisModel
952
Part1.Color = Color3.fromHSV(Color3.toHSV(main_color),math.random(0,10000)/10000,main.v)
953
Part1.Name = "SMOKE2"
954
955
if part ~= nil then
956
if part.Name == "StarLightClash" then
957
local asdf = math.random(0,5)*20
958
local Part1 = Instance.new("Part")
959
local mesh2 = Instance.new("SpecialMesh",Part1)
960
mesh2.MeshType = Enum.MeshType.Sphere
961
mesh2.Scale = Vector3.new(0,0,0)
962
Part1.Material = Enum.Material.Neon
963
Part1.CanCollide = false
964
Part1.Color = Color3.fromHSV(Color3.toHSV(Color3.fromRGB((main.r+(255*part.Color.r))/2,(main.g+(255*part.Color.g))/2,(main.b+(255*part.Color.b))/2)),math.random(5000,10000)/10000,main.v)
965
Part1.Parent = DebrisModel
966
Part1.Size = Vector3.new(asdf,asdf,asdf)
967
Part1.Anchored = true
968
local a = 1.5
969
Part1.CFrame = CFrame.new(endPoint + Vector3.new(math.random(-2,2)*a,math.random(-4,4),math.random(-2,2)*a))
970
Part1.Name = "EXPLOSION"
971
else
972
local asdf = math.random(0,5)*10
973
local Part1 = Instance.new("Part")
974
local mesh2 = Instance.new("SpecialMesh",Part1)
975
mesh2.MeshType = Enum.MeshType.Sphere
976
mesh2.Scale = Vector3.new(0,0,0)
977
Part1.Material = Enum.Material.Neon
978
Part1.CanCollide = false
979
Part1.Color = Color3.fromHSV(Color3.toHSV(main_color),math.random(0,10000)/10000,main.v)
980
Part1.Parent = DebrisModel
981
Part1.Size = Vector3.new(asdf,asdf,asdf)
982
Part1.Anchored = true
983
local a = 1.5
984
Part1.CFrame = CFrame.new(endPoint + Vector3.new(math.random(-2,2)*a,math.random(-4,4),math.random(-2,2)*a))
985
Part1.Name = "EXPLOSION"
986
end
987
end
988
989
for i,v in pairs(findAllNearestTorso(endPoint,50)) do
990
if v.Parent:FindFirstChildOfClass("Humanoid").MaxHealth >= 9e+99 then
991
v:Destroy()
992
else
993
v.Parent:FindFirstChildOfClass("Humanoid"):TakeDamage(v.Parent:FindFirstChildOfClass("Humanoid").MaxHealth/math.random(120,180))
994
end
995
local Position = mouse.Hit.p
996
local Target = v.Position
997
local direction = Target - Position
998
local direction = computeDirection(direction)
999
local bv = Instance.new("BodyVelocity",v)
1000
bv.Velocity = direction * (10 - ((Position - Target).magnitude/2))
1001
debris:AddItem(bv,1)
1002
end
1003
1004
end
1005
clashpart:Destroy()
1006
Part0:Destroy()
1007
wait(0.3)
1008
aiming_anim = false
1009
delay(0.3,function() debounce = false end)
1010
end
1011
1012
function nukewelpo()
1013
coroutine.resume(coroutine.create(function()
1014
local magnitude = nil
1015
local Position = nil
1016
if animid == 0 then
1017
Position = larm.Position
1018
else
1019
Position = rarm.Position
1020
end
1021
--sound(743499393,Position,10,math.random(6,8)/10)
1022
sound(440145223,Position,10,math.random(4,5)/10,100)
1023
1024
local Part1 = Instance.new("Part")
1025
local mesh2 = Instance.new("SpecialMesh",Part1)
1026
mesh2.MeshId = "rbxassetid://559831844"
1027
mesh2.Scale = Vector3.new(0,0,0.4)
1028
Part1.Material = Enum.Material.Neon
1029
Part1.CanCollide = false
1030
Part1.Color = Color3.fromHSV(0,0,main.v)
1031
Part1.Parent = DebrisModel
1032
Part1.Size = Vector3.new(0,0,0)
1033
Part1.Anchored = true
1034
Part1.CFrame = CFrame.new(Position,mouse.Hit.p)
1035
Part1.Name = "EXPLOSION3"
1036
1037
local Part0 = Instance.new("Part",DebrisModel)
1038
local PointLight2 = Instance.new("PointLight")
1039
Part0.Name = "Bullet"
1040
Part0.Material = Enum.Material.Neon
1041
Part0.Color = Color3.fromHSV(0,0,main.v)
1042
Part0.Anchored = false
1043
Part0.Size = Vector3.new(5, 5, 5)
1044
local mesh = Instance.new("SpecialMesh",Part0)
1045
mesh.MeshType = Enum.MeshType.Sphere
1046
mesh.Scale = Vector3.new(3,3,3)
1047
local bforce = Instance.new("BodyForce",Part0)
1048
bforce.force = Vector3.new(0, ((bforce.Parent:getMass())*workspace.Gravity), 0)
1049
Part0.CanCollide = false
1050
PointLight2.Parent = Part0
1051
PointLight2.Color = Part0.Color
1052
local Target = mouse.Hit.p
1053
local direction = Target - Position
1054
local direction = computeDirection(direction)
1055
local pos = Position + (direction * 2) 
1056
Part0.CFrame = CFrame.new(pos,  pos + direction) * CFrame.Angles((math.pi/2)+math.rad(180), 0, 0)
1057
Part0.Velocity = direction * 150
1058
local asd = nil
1059
local loop = nil
1060
delay(5, function() Part0:Destroy() loop:disconnect() asd:disconnect() end)
1061
loop = rs:connect(function()
1062
local asdf = math.random(500,1000)/1000
1063
local Part1 = Instance.new("Part")
1064
local mesh2 = Instance.new("SpecialMesh",Part1)
1065
mesh2.MeshType = Enum.MeshType.Sphere
1066
Part1.Material = Enum.Material.Neon
1067
Part1.CanCollide = false
1068
Part1.Color = Color3.fromHSV(Color3.toHSV(main_color),math.random(0,10000)/10000,main.v)
1069
Part1.Parent = DebrisModel
1070
Part1.Size = (Part0.Size*3) + Vector3.new(asdf,asdf,asdf)
1071
Part1.Anchored = true
1072
Part1.CFrame = CFrame.new(Part0.Position + Vector3.new(math.random(-3000,3000)/750,math.random(-3000,3000)/750,math.random(-3000,3000)/750))
1073
Part1.Name = "SMOKE"
1074
end)
1075
asd = Part0.Touched:connect(function(ht)
1076
local hit=ht.Parent
1077
if checkIfNotPlayer(ht) == true and ht.CanCollide == true then
1078
asd:disconnect()
1079
loop:disconnect()
1080
Part0:Destroy()
1081
1082
sound(explosionid[math.random(1,#explosionid)],Part0.Position,10,math.random(3,5)/10,500)
1083
for i,v in pairs(findAllNearestTorso(Part0.Position,160)) do
1084
if v.Parent:FindFirstChildOfClass("Humanoid").MaxHealth >= 9e+99 then
1085
v:Destroy()
1086
else
1087
v.Parent:FindFirstChildOfClass("Humanoid"):TakeDamage(v.Parent:FindFirstChildOfClass("Humanoid").MaxHealth/(math.random(20,30)/10))
1088
end
1089
local Position = Part0.Position
1090
local Target = v.Position
1091
local direction = Target - Position
1092
local direction = computeDirection(direction)
1093
local bv = Instance.new("BodyVelocity",v)
1094
bv.Velocity = direction * (120 - ((Position - Target).magnitude/2))
1095
debris:AddItem(bv,1)
1096
end
1097
for i=1,10,0.5 do for x=1,math.random(0,1) do rs:wait() end
1098
for z=1,math.random(2,3) do
1099
local asdf = math.random(-5,5)*10-(i/20)*12
1100
local Part1 = Instance.new("Part")
1101
local mesh2 = Instance.new("SpecialMesh",Part1)
1102
mesh2.MeshType = Enum.MeshType.Sphere
1103
mesh2.Scale = Vector3.new(0,0,0)
1104
Part1.Material = Enum.Material.Neon
1105
Part1.CanCollide = false
1106
Part1.Color = Color3.fromHSV(Color3.toHSV(main_color),math.random(0,10000)/10000,main.v)
1107
Part1.Parent = DebrisModel
1108
Part1.Size = Vector3.new(asdf,asdf,asdf)
1109
Part1.Anchored = true
1110
local a = i*5
1111
Part1.CFrame = CFrame.new(Part0.Position + Vector3.new(math.random(-2,2)*a,math.random(-30,30),math.random(-2,2)*a))
1112
Part1.Name = "EXPLOSION4"
1113
end
1114
end
1115
1116
end
1117
end)
1118
end))
1119
end
1120
1121
holdq = false
1122
holdr = false
1123
cooldownult = false
1124
1125
mouse.KeyDown:connect(function(key)
1126
if debounce == false then
1127
if key == "e" then
1128
dashasdf()
1129
elseif key == "r" and cooldownult == false then
1130
cooldownult = true
1131
if animid == 0 then
1132
animid = 1
1133
else
1134
animid = 0
1135
end
1136
debounce = true
1137
holdr = true
1138
aiming_anim = true
1139
wait(0.2)
1140
repeat 
1141
rs:wait()
1142
timer = 150
1143
until holdr == false
1144
nukewelpo()
1145
1146
local Position = mouse.Hit.p
1147
local Target = root.Position
1148
local direction = Target - Position
1149
local direction = computeDirection(direction)
1150
root.Velocity = direction * 300
1151
1152
aiming_anim = false
1153
delay(5,function() cooldownult = false end)
1154
delay(1,function() debounce = false end)
1155
1156
elseif key == "q" then
1157
debounce = true
1158
if animid == 0 then
1159
animid = 1
1160
else
1161
animid = 0
1162
end
1163
holdq = true
1164
attack = true
1165
aiming_anim = true
1166
repeat rs:wait() timer = 150 until holdq == false
1167
laz0r()
1168
attack = false
1169
end
1170
end
1171
end)
1172
1173
mouse.KeyUp:connect(function(key)
1174
if key == "q" then
1175
holdq = false
1176
elseif key == "r" then
1177
holdr = false
1178
end
1179
end)
1180
1181
----------------------------------------------------------------------------
1182
music(themeid,themepitch)
1183
velocityYFall=0
1184
velocityYFall2=0
1185
velocityYFall3=0
1186
velocityYFall4=0
1187
neckrotY=0
1188
neckrotY2=0
1189
torsorotY=0
1190
torsorotY2=0
1191
torsoY=0
1192
torsoY2=0
1193
sine = 0
1194
newWeld(torso, larm, -1.5, 0.5, 0)
1195
larm.Weld.C1 = CFrame.new(0, 0.5, 0)
1196
newWeld(torso, rarm, 1.5, 0.5, 0)
1197
rarm.Weld.C1 = CFrame.new(0, 0.5, 0)
1198
newWeld(torso, hed, 0, 1.5, 0)
1199
newWeld(torso, lleg, -0.5, -1, 0)
1200
lleg.Weld.C1 = CFrame.new(0, 1, 0)
1201
newWeld(torso, rleg, 0.5, -1, 0)
1202
rleg.Weld.C1 = CFrame.new(0, 1, 0)
1203
newWeld(root, torso, 0, -1, 0)
1204
torso.Weld.C1 = CFrame.new(0, -1, 0)
1205
1206
rs:connect(function()
1207
1208
bg.MaxTorque = Vector3.new(0,0,0)
1209
1210
for i,v in pairs(DebrisModel:GetChildren()) do
1211
    
1212
1213
if v.Name == "EXPLOSION" then
1214
local change = 0.04-(v.Transparency*0.02)
1215
local vm = v:FindFirstChildOfClass("SpecialMesh")
1216
vm.Scale = vm.Scale + Vector3.new(change,change,change)
1217
v.Transparency = v.Transparency + 0.02
1218
if v.Transparency >= 1 then
1219
v:Destroy()
1220
end
1221
1222
elseif v.Name == "EXPLOSION2" then
1223
local change = 0.04-(v.Transparency*0.04)
1224
local vm = v:FindFirstChildOfClass("SpecialMesh")
1225
vm.Scale = vm.Scale + Vector3.new(change,change,0)
1226
v.Transparency = v.Transparency + 0.025
1227
if v.Transparency >= 1 then
1228
v:Destroy()
1229
end
1230
1231
elseif v.Name == "EXPLOSION3" then
1232
local change = 0.5-(v.Transparency*0.5)
1233
local vm = v:FindFirstChildOfClass("SpecialMesh")
1234
vm.Scale = vm.Scale + Vector3.new(change,change,0)
1235
v.Transparency = v.Transparency + 0.1
1236
if v.Transparency >= 1 then
1237
v:Destroy()
1238
end
1239
1240
elseif v.Name == "EXPLOSION4" then
1241
local change = 0.15-(v.Transparency*0.125)
1242
local vm = v:FindFirstChildOfClass("SpecialMesh")
1243
vm.Scale = vm.Scale + Vector3.new(change,change,change)
1244
v.Transparency = v.Transparency + 0.01
1245
if v.Transparency >= 1 then
1246
v:Destroy()
1247
end
1248
1249
elseif v.Name == "SMOKE" then
1250
local vm = v:FindFirstChildOfClass("SpecialMesh")
1251
vm.Scale = vm.Scale - Vector3.new(0.075,0.075,0.075)
1252
if vm.Scale.X <= 0 then
1253
v:Destroy()
1254
end
1255
1256
elseif v.Name == "SMOKE2" then
1257
local change = 2-(v.Transparency*2)
1258
local vm = v:FindFirstChildOfClass("SpecialMesh")
1259
local Position = nil
1260
if animid == 0 then
1261
Position = larm.Position
1262
else
1263
Position = rarm.Position
1264
end
1265
local Target = mouse.Hit.p
1266
local direction = Target - Position
1267
local direction = computeDirection(direction)
1268
local ray = Ray.new(Position, (Target-Position).unit*1048)
1269
local part, endPoint = workspace:FindPartOnRay(ray, char)
1270
vm.Scale = Vector3.new(vm.Scale.X,(Position-endPoint).magnitude,vm.Scale.Z) + Vector3.new(change,0,change)
1271
local pos = Position + (direction * (vm.Scale.Y/2))
1272
v.CFrame = CFrame.new(pos,  pos + direction) * CFrame.Angles((math.pi/2)+math.rad(180), 0, 0)
1273
vm.Offset = Vector3.new(math.random(-10000,10000)/10000,math.random(-10000,10000)/10000,0)
1274
v.Transparency = v.Transparency + 0.1
1275
if v.Transparency >= 1 then
1276
v:Destroy()
1277
end
1278
1279
1280
elseif v.Name == "LIGHTNING" then
1281
local vm = v:FindFirstChildOfClass("BlockMesh")
1282
vm.Scale = vm.Scale - Vector3.new(0.1,0.1,0)
1283
if vm.Scale.X <= 0 then
1284
v:Destroy()
1285
end
1286
1287
end
1288
end
1289
1290
if -root.Velocity.Y/1.5 > 0 and -root.Velocity.Y/1.5 < 160 then
1291
velocityYFall = root.Velocity.Y/1.5
1292
end
1293
if -root.Velocity.Y/180 > 0 and -root.Velocity.Y/180 < 1.2 then
1294
velocityYFall2 = root.Velocity.Y/180
1295
end
1296
if -root.Velocity.Y/1.5 > -5 and -root.Velocity.Y/1.5 < 50 then
1297
velocityYFall3 = root.Velocity.Y/1.5
1298
end
1299
if -root.Velocity.Y/1.5 > -50 and -root.Velocity.Y/1.5 < 20 then
1300
velocityYFall4 = root.Velocity.Y/1.5
1301
end
1302
if root.RotVelocity.Y/6 < 1 and root.RotVelocity.Y/6 > -1 then
1303
neckrotY = root.RotVelocity.Y/6
1304
end
1305
if root.RotVelocity.Y/8 < 0.6 and root.RotVelocity.Y/8 > -0.6 then
1306
neckrotY2 = root.RotVelocity.Y/8
1307
end
1308
1309
if root.RotVelocity.Y/6 < 0.2 and root.RotVelocity.Y/6 > -0.2 then
1310
torsorotY = root.RotVelocity.Y/6
1311
end
1312
if root.RotVelocity.Y/8 < 0.2 and root.RotVelocity.Y/8 > -0.2 then
1313
torsorotY2 = root.RotVelocity.Y/8
1314
end
1315
1316
1317
torsoY = -(torso.Velocity*Vector3.new(1, 0, 1)).magnitude/20
1318
torsoY2 = -(torso.Velocity*Vector3.new(1, 0, 1)).magnitude/36
1319
1320
if attack == true then
1321
hum.WalkSpeed = 1
1322
else
1323
hum.WalkSpeed = 10
1324
end
1325
1326
if canjump == true then
1327
hum.JumpPower = 50
1328
else
1329
hum.JumpPower = 0
1330
end
1331
1332
local jumped = false
1333
local ray1 = Ray.new(root.Position+Vector3.new(1,0,0),Vector3.new(0, -6, 0))
1334
local part1, endPoint = workspace:FindPartOnRay(ray1, char)
1335
local ray2 = Ray.new(root.Position-Vector3.new(1,0,0),Vector3.new(0, -6, 0))
1336
local part2, endPoint = workspace:FindPartOnRay(ray2, char)
1337
local ray3 = Ray.new(root.Position+Vector3.new(0,0,0.5),Vector3.new(0, -6, 0))
1338
local part3, endPoint = workspace:FindPartOnRay(ray3, char)
1339
local ray4 = Ray.new(root.Position-Vector3.new(0,0,0.5),Vector3.new(0, -6, 0))
1340
local part4, endPoint = workspace:FindPartOnRay(ray4, char)
1341
1342
if part1 or part2 or part3 or part4 then jumped = false else endPoint = 0 jumped = true end
1343
1344
local rlegray = Ray.new(rleg.Position+Vector3.new(0,0.5,0),Vector3.new(0, -1.75, 0))
1345
local rlegpart, rlegendPoint = workspace:FindPartOnRay(rlegray, char)
1346
1347
local llegray = Ray.new(lleg.Position+Vector3.new(0,0.5,0),Vector3.new(0, -1.75, 0))
1348
local llegpart, llegendPoint = workspace:FindPartOnRay(llegray, char)
1349
1350
if no_anim == false then
1351
if hum.Health > 0 then
1352
if (torso.Velocity*Vector3.new(1, 0, 1)).magnitude >= 5 and jumped == false then
1353
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-18),math.rad(0+math.rad(0+2*math.cos(sine/2))),0), 0.1)
1354
hed.Weld.C1 = Lerp(hed.Weld.C1, CFrame.Angles(math.rad(-10),0,0),0.1)
1355
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62-(movement/30)*math.cos(sine/4)/2,(movement/50)*math.cos(sine/4))*CFrame.Angles(math.rad(-5-(movement*2)*math.cos(sine/4))+ -(movement/10)*math.sin(sine/4),math.rad(0-(movement*2)*math.cos(sine/4)),math.rad(0)), 0.2)
1356
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62+(movement/30)*math.cos(sine/4)/2,-(movement/50)*math.cos(sine/4))*CFrame.Angles(math.rad(-5+(movement*2)*math.cos(sine/4))+ (movement/10)*math.sin(sine/4),math.rad(0-(movement*2)*math.cos(sine/4)),math.rad(0)), 0.2)
1357
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1+(movement/20)*math.cos(sine/2), 0) * CFrame.Angles(math.rad(-(change*20)-4*math.cos(sine/2)), torsorotY2+math.rad(0-4*math.cos(sine/4)), torsorotY2+math.rad(0-1*math.cos(sine/4))), 0.1)
1358
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5,-0.85-(movement/10)*math.cos(sine/4)/2,-0.1+(movement/15)*math.cos(sine/4))*CFrame.Angles(math.rad(-10+(change*5)-movement*math.cos(sine/4))+ -(movement/10)*math.sin(sine/4),math.rad(0+(movement*2)*math.cos(sine/4)),math.rad(0)), 0.2)
1359
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5,-0.85+(movement/10)*math.cos(sine/4)/2,-0.1-(movement/15)*math.cos(sine/4))*CFrame.Angles(math.rad(-10+(change*5)+movement*math.cos(sine/4))+ (movement/10)*math.sin(sine/4),math.rad(0+(movement*2)*math.cos(sine/4)),math.rad(0)), 0.2)
1360
elseif jumped == true then
1361
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-18),math.rad(0+math.rad(0+2*math.cos(sine/2))),0), 0.1)
1362
hed.Weld.C1 = Lerp(hed.Weld.C1, CFrame.Angles(0,0,0),0.1)
1363
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,1-0.1*math.cos(sine/16)/2,0.1*math.cos(sine/16))*CFrame.Angles(math.rad(0),math.rad(0-1*math.cos(sine/16)),math.rad(-50-1*math.cos(sine/8))), 0.2)
1364
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,1-0.1*math.cos(sine/16)/2,0.1*math.cos(sine/16))*CFrame.Angles(math.rad(0),math.rad(0-1*math.cos(sine/16)),math.rad(50+1*math.cos(sine/8))), 0.2)
1365
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1-0.1*math.cos(sine/16), 0) * CFrame.Angles(math.rad(0-2*math.cos(sine/16)),math.rad(0), math.rad(0-1*math.cos(sine/32))), 0.1)
1366
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5,-0.925+0.1*math.cos(sine/16),0)*CFrame.Angles(math.rad(-35-1*math.cos(sine/16)),math.rad(0-1*math.cos(sine/16)),math.rad(-2-0.5*math.cos(sine/8))), 0.2)
1367
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5,0+0.1*math.cos(sine/16),-0.8)*CFrame.Angles(math.rad(-25+1*math.cos(sine/16)),math.rad(0-1*math.cos(sine/16)),math.rad(2+0.5*math.cos(sine/8))), 0.2)
1368
elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 5 then
1369
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.1)*CFrame.Angles(math.rad(-18),math.rad(0+math.rad(0+2*math.cos(sine/2))),0), 0.1)
1370
hed.Weld.C1 = Lerp(hed.Weld.C1, CFrame.Angles(math.rad(-15),0,0),0.1)
1371
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55-0.1*math.cos(sine/16)/2,-0.1*math.cos(sine/16))*CFrame.Angles(math.rad(0),math.rad(0-1*math.cos(sine/16)),math.rad(-5-1*math.cos(sine/8))), 0.2)
1372
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55-0.1*math.cos(sine/16)/2,-0.1*math.cos(sine/16))*CFrame.Angles(math.rad(0),math.rad(0-1*math.cos(sine/16)),math.rad(5+1*math.cos(sine/8))), 0.2)
1373
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1.1-0.1*math.cos(sine/16), 0) * CFrame.Angles(math.rad(0-2*math.cos(sine/16)),math.rad(0), math.rad(0-1*math.cos(sine/32))), 0.1)
1374
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(0,llegendPoint.Y-lleg.Position.Y,0)*CFrame.new(-0.5,0+0.1*math.cos(sine/16),0)*CFrame.Angles(math.rad(0-1*math.cos(sine/16)),math.rad(0-1*math.cos(sine/16)),math.rad(-2-0.5*math.cos(sine/8))), 0.2)
1375
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0,rlegendPoint.Y-rleg.Position.Y,0)*CFrame.new(0.5,0+0.1*math.cos(sine/16),0)*CFrame.Angles(math.rad(0+1*math.cos(sine/16)),math.rad(0-1*math.cos(sine/16)),math.rad(2+0.5*math.cos(sine/8))), 0.2)
1376
end
1377
for i=1,5 do
1378
if aiming_anim == true then
1379
bg.MaxTorque = Vector3.new(9e9,9e9,9e9)
1380
if jumped == false then
1381
bg.CFrame = CFrame.new(root.Position,Vector3.new(mouse.Hit.x,root.Position.Y,mouse.Hit.z))
1382
else
1383
bg.CFrame = CFrame.new(root.Position,mouse.Hit.p)
1384
end
1385
if animid == 0 then
1386
hed.Weld.C1 =  Lerp(hed.Weld.C1,CFrame.Angles(0,math.rad(-80),0),0.4)
1387
torso.Weld.C0 = Lerp(torso.Weld.C0,CFrame.new(0, -1.1-0.1*math.cos(sine/16), 0) * CFrame.Angles(math.rad(0-2*math.cos(sine/16)),math.rad(-80), math.rad(0-1*math.cos(sine/32))),0.2)
1388
larm.Weld.C0 = Lerp(larm.Weld.C0,CFrame.new(-1.5,0.55-0.1*math.cos(sine/16)/2,-0.1*math.cos(sine/16))*CFrame.Angles(math.rad(0),math.rad(-10-1*math.cos(sine/16)),math.rad(-90-1*math.cos(sine/8))),0.4)
1389
else
1390
hed.Weld.C1 =  Lerp(hed.Weld.C1,CFrame.Angles(0,math.rad(80),0),0.4)
1391
torso.Weld.C0 = Lerp(torso.Weld.C0,CFrame.new(0, -1.1-0.1*math.cos(sine/16), 0) * CFrame.Angles(math.rad(0-2*math.cos(sine/16)),math.rad(80), math.rad(0-1*math.cos(sine/32))),0.2)
1392
rarm.Weld.C0 = Lerp(rarm.Weld.C0,CFrame.new(1.5,0.55-0.1*math.cos(sine/16)/2,-0.1*math.cos(sine/16))*CFrame.Angles(math.rad(0),math.rad(10-1*math.cos(sine/16)),math.rad(90+1*math.cos(sine/8))),0.4)
1393
end
1394
else
1395
if timer <= 0 then
1396
animid = math.random(0,1)
1397
else
1398
timer = timer - 1
1399
end
1400
end
1401
end
1402
end
1403
end
1404
main_color = Color3.fromRGB(main.r,main.g,main.b)
1405
HName.TextStrokeColor3 = Color3.fromHSV(Color3.toHSV(main_color),1,main.v/2)
1406
HName.TextColor3 = Color3.fromHSV(Color3.toHSV(main_color),1,main.v)
1407
sine = sine + change
1408
if hum.Health <= 0 then
1409
debounce = true
1410
end
1411
end)
1412
1413
1414
1415
--Extras--
1416
q = char:GetChildren()
1417
        for u = 1, #q do
1418
        if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
1419
                q[u]:remove()
1420
                elseif q[u].ClassName == "CharacterMesh" then
1421
                q[u]:remove()
1422
            elseif q[u].ClassName == "ShirtGraphic" then
1423
                q[u]:remove()
1424
    elseif q[u].ClassName == "Shirt" then
1425
        q[u]:Destroy()
1426
elseif q[u].ClassName == "Pants" then
1427-
top.ShirtTemplate = "rbxassetid://1042097476"
1427+
1428
    end
1429
end
1430-
bottom.PantsTemplate = "rbxassetid://1042097548"
1430+
1431
top.ShirtTemplate = "rbxassetid://3362989040"
1432
top.Parent = char
1433
local bottom = Instance.new("Pants")
1434
bottom.PantsTemplate = "rbxassetid://3286173456"
1435
bottom.Parent = char
1436
 
1437
local BodyColors =  char:FindFirstChildOfClass"BodyColors"
1438
if BodyColors then
1439
    BodyColors.HeadColor = BrickColor.new"Really black"
1440
    BodyColors.TorsoColor = BrickColor.new"Really black"
1441
    BodyColors.LeftArmColor = BrickColor.new"Really black"
1442
    BodyColors.RightArmColor = BrickColor.new"Really black"
1443
    BodyColors.LeftLegColor = BrickColor.new"Really black"
1444
    BodyColors.RightLegColor = BrickColor.new"Really black"
1445
end
1446
1447
--extras
1448
local talksound = Instance.new("Sound",char.Torso)
1449
talksound.SoundId = "rbxassetid://928210219"
1450
talksound.Volume = 0.5
1451
local blastsound = Instance.new("Sound",char.Torso)
1452
blastsound.Name = "blast_sound"
1453
blastsound.SoundId = "rbxassetid://345052019"
1454
blastsound.Volume = 0.5
1455
function swait(num)
1456
if num==0 or num==nil then
1457
game:service'RunService'.Stepped:wait(0)
1458
else
1459
for i=0,num do
1460
game:service'RunService'.Stepped:wait(0)
1461
end
1462
end
1463
end
1464
 
1465
function chatfunc(text)
1466
local chat = coroutine.wrap(function()
1467
if char:FindFirstChild("TalkingBillBoard") ~= nil then
1468
char:FindFirstChild("TalkingBillBoard"):Destroy()
1469
end
1470
local naeeym2 = Instance.new("BillboardGui",char)
1471
naeeym2.Size = UDim2.new(0,100,0,40)
1472
naeeym2.StudsOffset = Vector3.new(0,3,0)
1473
naeeym2.Adornee = char.Head
1474
naeeym2.Name = "TalkingBillBoard"
1475
local tecks2 = Instance.new("TextLabel",naeeym2)
1476
tecks2.BackgroundTransparency = 1
1477
tecks2.BorderSizePixel = 0
1478
tecks2.Text = ""
1479
tecks2.Font = "Fantasy"
1480
tecks2.TextSize = 30
1481
tecks2.TextStrokeTransparency = 0
1482
tecks2.TextColor3 = Color3.new(.6,0,0)
1483
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
1484
tecks2.Size = UDim2.new(1,0,0.5,0)
1485
local tecks3 = Instance.new("TextLabel",naeeym2)
1486
tecks3.BackgroundTransparency = 1
1487
tecks3.BorderSizePixel = 0
1488
tecks3.Text = ""
1489
tecks3.Font = "Fantasy"
1490
tecks3.TextSize = 30
1491
tecks3.TextStrokeTransparency = 0
1492
tecks3.TextColor3 = Color3.new(0,0,0)
1493
tecks3.TextStrokeColor3 = Color3.new(1,1,1)
1494
tecks3.Size = UDim2.new(1,0,0.5,0)
1495
for i = 1,string.len(text),1 do
1496
tecks2.Text = string.sub(text,1,i)
1497
tecks3.Text = string.sub(text,1,i)
1498
tecks3.Text = string.sub(text,1,i)
1499
talksound:Play()
1500
wait(0.01)
1501
end
1502
wait(2)
1503
for i = 1, 50 do
1504
swait()
1505
tecks2.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
1506
tecks2.Rotation = tecks2.Rotation - .8
1507
tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
1508
tecks2.TextTransparency = tecks2.TextTransparency + .04
1509
tecks3.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
1510
tecks3.Rotation = tecks2.Rotation + .8
1511
tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
1512
tecks3.TextTransparency = tecks2.TextTransparency + .04
1513
end
1514
naeeym2:Destroy()
1515
end)
1516
chat()
1517
end
1518
function onChatted(msg)
1519
chatfunc(msg)
1520
end
1521
plr.Chatted:connect(onChatted)
1522
wait(2)
1523
chatfunc("...")
1524
wait(2)
1525
chatfunc("You did a lot of evil today")
1526
wait(2)
1527
chatfunc("Do not you believe it?...")
1528
wait(3)
1529
chatfunc("Everything bad has consequences......")
1530
wait(3)
1531
chatfunc("On days like these... People like you...")
1532
wait(2)
1533
chatfunc("Should be burning in hell.")
1534
wait(0.5)
1535
char.Humanoid.Name = "Sans"
1536
1537
--chat
1538
1539
function Blast(AAA)
1540
	if AAA == "f" then
1541
		local chatmath = math.random(1,3)
1542
		if chatmath == 1 then
1543
			chatfunc("Gaster Blaster!")
1544
		end
1545
		if chatmath == 2 then
1546
			chatfunc("This is what you get for killing everybody.")
1547
		end
1548
		if chatmath == 3 then
1549
			chatfunc("Look, I gave up trying to go back a long time ago.")
1550
		end
1551
		local gasterblaster = Instance.new("Part",char.Torso)
1552
		gasterblaster.Size = Vector3.new(7, 16, 4)
1553
		gasterblaster.CanCollide = false
1554
		local gasterblastermesh = Instance.new("FileMesh",gasterblaster)
1555
		gasterblastermesh.MeshId = "rbxassetid://431908407"
1556
		gasterblastermesh.Scale = Vector3.new(0.05,0.05,0.05)
1557
		local gasterblastertexture = Instance.new("Decal",gasterblaster)
1558
		gasterblastertexture.Face = "Back"
1559
		gasterblastertexture.Texture = "http://www.roblox.com/asset/?id=441975828"
1560
		local weeld = Instance.new("Weld",gasterblaster)
1561
		weeld.Part0 = gasterblaster
1562
		weeld.Part1 = char.Torso
1563
		weeld.C0 = CFrame.new(3.71674585, -11.54426, -0.129204988, -0.999741375, 0, 0.0227420069, 0, 1, 0, -0.0227420069, 0, -0.999741375)
1564
		blastsound:Play()
1565
		char.Head.Anchored = true
1566
		wait(1)
1567
		local blast = Instance.new("Part",gasterblaster)
1568
		blast.Size = Vector3.new(18.07, 16.36, 73.54)
1569
		blast.Transparency = 0.7
1570
		blast.Material = "Neon"
1571
		blast.Color = Color3.new(1,1,1)
1572
		blast.CanCollide = true
1573
		local blastweld = Instance.new("Weld",blast)
1574
		blastweld.Part0 = blast
1575
		blastweld.Part1 = gasterblaster
1576
		blastweld.C0 = CFrame.new(-0.430000305, 1.73999977, -40.1399994, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1577
		blast.Touched:connect(function(part)
1578
			part.Parent:FindFirstChildOfClass("Humanoid"):Destroy() -- Makes them not able to move
1579
        end)
1580
		wait(2)
1581
		char.Head.Anchored = false
1582
		blast:Destroy()
1583
		gasterblaster:Destroy()
1584
	end
1585
end
1586
mouse.KeyDown:connect(Blast)