View difference between Paste ID: G8vyBAHH and w1mgeWtw
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
2
print("FE Compatibility: by WaverlyCole & Mokiros")
3
InternalData = {}
4
do
5
    script.Parent = owner.Character
6
    local Event = Instance.new("RemoteEvent")
7
    Event.Name = "UserInput"
8
    local function NewFakeEvent()
9
        local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
10
        return Fake
11
    end
12
    local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
13
    local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
14
    local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
15
        self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
16
    end};ContextActionService.UnBindAction = ContextActionService.BindAction
17
    local function TriggerEvent(self,Event,...)
18
        local Trigger = Mouse[Event]
19
        if Trigger and Trigger.fakeEvent and Trigger.Function then
20
            Trigger.Function(...)
21
        end
22
    end
23
    Mouse.TrigEvent = TriggerEvent
24
    UserInputService.TrigEvent = TriggerEvent
25
    Event.OnServerEvent:Connect(function(FiredBy,Input)
26
        if FiredBy.Name ~= owner.Name then end
27
        if Input.MouseEvent then
28
            Mouse.Target = Input.Target
29
            Mouse.Hit = Input.Hit
30
        else
31
            local Begin = Input.UserInputState == Enum.UserInputState.Begin
32
            if Input.UserInputType == Enum.UserInputType.MouseButton1 then
33
                return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
34
            end
35
            for _,Action in pairs(ContextActionService.Actions) do
36
                for _,Key in pairs(Action.Keys) do
37
                    if Key==Input.KeyCode then
38
                        Action.Function(Action.Name,Input.UserInputState,Input)
39
                    end
40
                end
41
            end
42
            Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
43
            UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
44
        end
45
    end)
46
    InternalData["Mouse"] = Mouse
47
    InternalData["ContextActionService"] = ContextActionService
48
    InternalData["UserInputService"] = UserInputService
49
    Event.Parent = NLS([[
50
        local Player = owner
51
        local Event = script:WaitForChild("UserInput")
52
        local UserInputService = game:GetService("UserInputService")
53
        local Mouse = Player:GetMouse()
54
        local Input = function(Input,gameProcessedEvent)
55
            if gameProcessedEvent then return end
56
            Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
57
        end
58
        UserInputService.InputBegan:Connect(Input)
59
        UserInputService.InputEnded:Connect(Input)
60
        local Hit,Target
61
        while wait(1/30) do
62
            if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
63
                Hit,Target = Mouse.Hit,Mouse.Target
64
                Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
65
            end
66
        end
67
    ]],owner.Character)
68
end
69
RealGame = game;game = setmetatable({},{
70
    __index = function (self,Index)
71
        local Sandbox = function (Thing)
72
            if Thing:IsA("Player") then
73
                local RealPlayer = Thing
74
                return setmetatable({},{
75
                    __index = function (self,Index)
76
                        local Type = type(RealPlayer[Index])
77
                        if Type == "function" then
78
                            if Index:lower() == "getmouse" or Index:lower() == "mouse" then
79
                                return function (self)
80
                                    return InternalData["Mouse"]
81
                                end
82
                            end
83
                            return function (self,...)
84
                                return RealPlayer[Index](RealPlayer,...)
85
                            end
86
                        else
87
                            if Index == "PlrObj" then
88
                                return RealPlayer
89
                            end
90
                            return RealPlayer[Index]
91
                        end
92
                    end;
93
                    __tostring = function(self)
94
                        return RealPlayer.Name
95
                    end
96
                })
97
            end
98
        end
99
        if RealGame[Index] then
100
            local Type = type(RealGame[Index])
101
            if Type == "function" then
102
                if Index:lower() == "getservice" or Index:lower() == "service" then
103
                    return function (self,Service)
104
                        if Service:lower() == "players" then
105
                            return setmetatable({},{
106
                                __index = function (self2,Index2)
107
                                    local RealService = RealGame:GetService(Service)
108
                                    local Type2 = type(Index2)
109
                                    if Type2 == "function" then
110
                                        return function (self,...)
111
                                            return RealService[Index2](RealService,...)
112
                                        end
113
                                    else
114
                                        if Index2:lower() == "localplayer" then
115
                                            return Sandbox(owner)
116
                                        end
117
                                        return RealService[Index2]
118
                                    end
119
                                end;
120
                                __tostring = function(self)
121
                                    return RealGame:GetService(Service).Name
122
                                end
123
                            })
124
                        elseif Service:lower() == "contextactionservice" then
125
                            return InternalData["ContextActionService"]
126
                        elseif Service:lower() == "contextactionservice" then
127
                            return InternalData["UserInputService"]
128
                        elseif Service:lower() == "runservice" then
129
                            return setmetatable({},{
130
                                __index = function(self2,Index2)
131
                                    local RealService = RealGame:GetService(Service)
132
                                    local Type2 = type(Index2)
133
                                    if Type2 == "function" then
134
                                        return function (self,...)
135
                                            return RealService[Index2](RealService,...)
136
                                        end
137
                                    else
138
                                        if Index2:lower() == "bindtorenderstep" then
139
                                            return function (self,Name,Priority,Function)
140
                                                return RealGame:GetService("RunService").Stepped:Connect(Function)
141
                                            end
142
                                        end
143
                                        if Index2:lower() == "renderstepped" then
144
                                            return RealService["Stepped"]
145
                                        end
146
                                        return RealService[Index2]
147
                                    end
148
                                end
149
                            })
150
                        else
151
                            return RealGame:GetService(Service)
152
                        end
153
                    end
154
                end
155
                return function (self,...)
156
                    return RealGame[Index](RealGame,...)
157
                end
158
            else
159
                if game:GetService(Index) then
160
                    return game:GetService(Index)
161
                end
162
                return RealGame[Index]
163
            end
164
        else
165
            return nil
166
        end
167
    end
168
});Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
169
print("Complete! Running...")
170
 
171
 
172
--//Paste script below this line.
173
174
--[[
175
	> ⚙Mechanized Angel v.2
176
	>  - by tomonaoboys
177
	>
178
	> Hello world!
179
	> what things can be a real angel?
180
	> Only The angel knows.
181
	> There's no light ... Only have fake one.
182
	> Warning : this is NOT complete. the move can get added ,removed ,or replaced.
183
	> I'm not made for editing. The codes are spagetti.
184
	>
185
	> Moves : ( *:Able to hold , or required )
186
	> E  : Flawing Light			It shoots three holy? blasts. they explodes after 100 or got hit any object.
187
	> R* : Infinite Bright			It spams something like beam? ...it shoots continuous beam. gatling? WARNING : it makes missing sound if you are using potato. I highly do this on server.
188
	> T  : Blink					Teleport. Only it is. many my script or edits highly have teleport.
189
--]]
190
local wedge=Instance.new("Part")wedge.Material="Neon"wedge.Anchored=1 wedge.TopSurface=Enum.SurfaceType.Smooth wedge.BottomSurface=Enum.SurfaceType.Smooth wedge.CanCollide=false
191
musicId="rbxassetid://389898352"local mcol=Color3.new(1,1,.7)wedge.Color=mcol local Camera=workspace.CurrentCamera Instance.new("SpecialMesh",wedge).MeshType="Wedge"wedge.Size=Vector3.new()
192
--local Moon={"🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘"}useless now for idealess
193
194
local function ToMesh(Part)
195
	local Mesh=Instance.new("SpecialMesh",Part)
196
	if Part:IsA"WedgePart"then Mesh.MeshType="Wedge"
197
	elseif Part.Shape==Enum.PartType.Block then Mesh.MeshType="Brick"elseif Part.Shape==Enum.PartType.Ball then Mesh.MeshType="Sphere"elseif Part.Shape==Enum.PartType.Cylinder then Mesh.MeshType="Cylinder"end
198
	Mesh.Scale=Part.Size*20 Part.Size=Vector3.new()
199
	return Mesh
200
end
201
function drawTriangle(a,b,c,parent,PartStat,classic)
202
	a=typeof(a)=="CFrame"and a.p or a b=typeof(b)=="CFrame"and b.p or b c=typeof(c)=="CFrame"and c.p or c
203
	if not a or not b or not c then error'Attempt to use NIL value'end
204
	local TriangleModel=Instance.new("Model",parent)
205
	local siz=0	local edges={{longest=(c-b),other=(a-b),position=b},{longest=(a-c),other=(b-c),position=c},{longest=(b-a),other=(c-a),position=a}}
206
	table.sort(edges,function(a,b) return a.longest.magnitude > b.longest.magnitude end)local edge=edges[1]
207
	local theta=math.acos(edge.longest.unit:Dot(edge.other.unit))local s1=Vector2.new(edge.other.magnitude * math.cos(theta),edge.other.magnitude * math.sin(theta))
208
	local s2=Vector2.new(edge.longest.magnitude-s1.x,s1.y)local p1=edge.position + edge.other * 0.5 local p2=edge.position + edge.longest + (edge.other-edge.longest) * 0.5
209
	local right=edge.longest:Cross(edge.other).unit	local up=right:Cross(edge.longest).unit	local back=edge.longest.unit
210
	local cf1=CFrame.new(p1.x,p1.y,p1.z,-right.x,up.x,back.x,-right.y,up.y,back.y,-right.z,up.z,back.z)local cf2=CFrame.new(p2.x,p2.y,p2.z,right.x,up.x,-back.x,right.y,up.y,-back.y,right.z,up.z,-back.z)
211
	local w1=wedge:Clone()local w2=wedge:Clone()w1.Mesh.Scale=Vector3.new(siz,s1.y,s1.x)*20 w2.Mesh.Scale=Vector3.new(siz,s2.y,s2.x)*20 w1.CFrame=cf1 w2.CFrame=cf2	w1.Parent=TriangleModel w2.Parent=TriangleModel
212
	for Index, Value in pairs(PartStat or{})do w1[Index]=Value end for Index, Value in pairs(PartStat or{})do w2[Index]=Value end
213
	if not classic then w1.Name="Wedge1"w2.Name="Wedge2"
214
	TriangleModel.Parent=parent or workspace
215
	return TriangleModel
216
	else
217
	w1.Parent=parent or workspace w2.Parent=parent or workspace return w1,w2
218
	end
219
end
220
function DoSquare(A,B,C,D,parent,PartStat,classic)
221
if not classic then local SquareModel=Instance.new("Model",parent or workspace)
222
local mA=drawTriangle(A,B,C,SquareModel,PartStat)local mB=drawTriangle(C,D,A,SquareModel,PartStat)mA.Name="A"mB.Name="B"return SquareModel
223
else local a,b=drawTriangle(A,B,C,parent,PartStat,1)local c,d=drawTriangle(C,D,A,parent,PartStat,1)return a,b,c,d end end
224
function ReDrawSqu(m,A,B,C,D,PartStat)ReDrawTri(m.A,A,B,C,PartStat)B=ReDrawTri(m.B,C,D,A,PartStat)end
225
function ReDrawTri(TriangleModel,a,b,c,PartStat)
226
	a=typeof(a)=="CFrame"and a.p or a b=typeof(b)=="CFrame"and b.p or b c=typeof(c)=="CFrame"and c.p or c
227
	local siz=0	local edges={{longest=(c-b),other=(a-b),position=b},{longest=(a-c),other=(b-c),position=c},{longest=(b-a),other=(c-a),position=a}}
228
	table.sort(edges,function(a,b) return a.longest.magnitude > b.longest.magnitude end)local edge=edges[1]
229
	local theta=math.acos(edge.longest.unit:Dot(edge.other.unit))local s1=Vector2.new(edge.other.magnitude * math.cos(theta),edge.other.magnitude * math.sin(theta))
230
	local s2=Vector2.new(edge.longest.magnitude-s1.x,s1.y)local p1=edge.position + edge.other * 0.5 local p2=edge.position + edge.longest + (edge.other-edge.longest) * 0.5
231
	local right=edge.longest:Cross(edge.other).unit	local up=right:Cross(edge.longest).unit	local back=edge.longest.unit
232
	local cf1=CFrame.new(p1.x,p1.y,p1.z,-right.x,up.x,back.x,-right.y,up.y,back.y,-right.z,up.z,back.z)local cf2=CFrame.new(p2.x,p2.y,p2.z,right.x,up.x,-back.x,right.y,up.y,-back.y,right.z,up.z,-back.z)
233
	local w1=TriangleModel.Wedge1 local w2=TriangleModel.Wedge2 w1.Mesh.Scale=Vector3.new(siz,s1.y,s1.x)*20 w2.Mesh.Scale=Vector3.new(siz,s2.y,s2.x)*20 w1.CFrame=cf1 w2.CFrame=cf2	w1.Parent=TriangleModel w2.Parent=TriangleModel
234
	for Index, Value in pairs(PartStat or{})do w1[Index]=Value end for Index, Value in pairs(PartStat or{})do w2[Index]=Value end
235
end
236
owner=owner function lerp(a,b,t)return a*(1-t)+(b*t)end function rc()return CFrame.Angles(math.rad(math.random(360)),math.rad(math.random(360)),math.rad(math.random(360)))end
237
local IsChatAvailable=false local HBMode="HeartBeat"
238
if script.ClassName=="Script"then if tostring(game.PlaceId)=="843468296"then owner:Explode()end error("HOW?!??!?!")end
239
local PL=game:service("Players").LocalPlayer script.Parent=PL:FindFirstChildOfClass("PlayerScripts")
240
function a(part)local j=Instance.new("BodyVelocity",part)j.MaxForce=Vector3.new(1/0,1/0,1/0)j.Velocity=Vector3.new(0,0,0)end
241
if 1 then local InsertModel=Instance.new'Model'GetInstance=function(CallInst,Parent)if InsertModel:FindFirstChildOfClass(CallInst)==nil then Instance.new(CallInst,InsertModel)end local Obj=InsertModel:Clone():FindFirstChildOfClass(CallInst)Obj.Parent=Parent or nil return Obj end end
242
local function ieraseurmotor(chr)
243
	for i,p in pairs(chr:children())do for i2,p2 in pairs(p:children())do if p2:IsA("Motor6D")and(tostring(p2)~="RootJoint"and tostring(p2)~="Neck")then
244
	p2:Destroy()end	end	end	if chr:FindFirstChild("Animate")then chr.Animate:Destroy()end
245
	if chr:FindFirstChildOfClass("Humanoid")then if chr:FindFirstChildOfClass("Humanoid"):FindFirstChild("Animator")then chr:FindFirstChildOfClass("Humanoid").Animator:Destroy()end end
246
end
247
Humanoid=nil local DoEffect=1 local CooldownBox=Instance.new("Folder")
248
function DoCDown(Name,time)local tag=Instance.new("Part",CooldownBox)tag.Name=Name debri(tag,time)end function GetCDown(Name)return not CooldownBox:FindFirstChild(Name)end
249
local function FindHumanoid(Part)local humanoid=nil if Part.Parent then if Part.Parent~=PL.Character and Part.Parent:FindFirstChildOfClass("Humanoid")~=nil then humanoid=Part.Parent:FindFirstChildOfClass("Humanoid")else if Part.Parent.Parent then if Part.Parent.Parent:FindFirstChildOfClass("Humanoid")and Part.Parent.Parent~=PL.Character then humanoid=Part.Parent.Parent:FindFirstChildOfClass("Humanoid")end end end end if humanoid==Humanoid then humanoid=nil end return humanoid end
250
if 1 then --Engine ? anyway by tomonaoboys maybe
251
PierceForceField = false E_MainColor=Color3.new(1,1,2/3)
252
local AutomaticRegen=true local HealthRValue=.02
253
local Players=game:GetService("Players")
254
local ply=Players.LocalPlayer
255
local chr=ply.Character
256
local humanoid=chr:FindFirstChildOfClass("Humanoid")
257
local DVal=Instance.new("NumberValue",humanoid)DVal.Name="Defense"
258
local Defense=7.77
259
local Mouse=ply:GetMouse()
260
local rs=game:GetService("RunService")if HBMode=="RenderStepped"then rs=rs.RenderStepped else rs=rs.Heartbeat end
261
local DCoolDowns={}local Debri=function(itm,t)game:GetService("Debris"):AddItem(itm,t)end
262
function sw(n)if n==nil then rs:wait()else for i=1,n do rs:wait()end end return true end
263
function tDamage(CF,Range,Dam,DRand,DC,K,KH,Guide)--CFrame or Part , Range , Damage , DCoolDown , Knockback , Knockback Hold ,Knockback Guide
264
	if typeof(CF)=="Instance"then CF=CF.CFrame end
265
	local FinalD=0
266
	if Dam==1/0 then FinalD=1/0 else FinalD=math.random(Dam-DRand,Dam+DRand)end
267
	for i,m in pairs(workspace:GetChildren())do
268
		if m:IsA("Model")and m~=chr then
269
			local DCFlg=false
270
			for i=1,#DCoolDowns do
271
				if DCoolDowns[i].Model==m then DCFlg=true end
272
			end
273
			if m:FindFirstChild("HumanoidRootPart")and not DCFlg then
274
				local hp=m.HumanoidRootPart
275
				if hp:IsA("BasePart")then
276
				if m:FindFirstChildOfClass("Humanoid")and(CF.p-hp.CFrame.p).magnitude<=Range then
277
					local hum=m:FindFirstChildOfClass("Humanoid")local Guard=false
278
					if hum:FindFirstChild("Defense")then if hum.Defense:IsA("NumberValue")then
279
						FinalD=math.ceil(FinalD/(hum.Defense.Value/5+.8))
280
					end end FinalD=FinalD+math.random(0,1)
281
					if m:FindFirstChildOfClass("ForceField")and not PierceForceField then
282
						Guard=true
283
					end
284
					if not Guard then hum.Health=hum.Health-FinalD if Dam==1/0 then hum.Health=nil if hum.Parent then hum.Parent:BreakJoints()end end end
285
					if DC~=nil then table.insert(DCoolDowns,{Model=m,Time=DC})end
286
					if hum.Health~=0 then if K then
287
						if KH==nil then KH=1/2 end
288
						if Guide then
289
							local j=Instance.new("BodyVelocity",hp)j.MaxForce=Vector3.new(100,100,100)*10000
290
							j.Velocity=CFrame.new(hp.CFrame.p,CF.p).lookVector*K
291
							Debri(j,KH)
292
						else
293
							local j=Instance.new("BodyVelocity",hp)j.MaxForce=Vector3.new(100,100,100)*10000
294
							j.Velocity=K
295
							Debri(j,KH)
296
						end
297
					end end
298
					local dp=Instance.new("Part",workspace)dp.Transparency=1 dp.CanCollide=false dp.Anchored=true dp.Size=Vector3.new()dp.CFrame=hp.CFrame
299
					local b=Instance.new("BillboardGui",dp)b.Size=UDim2.new(100,0,2,0)b.AlwaysOnTop=true b.MaxDistance=100
300
					local d=Instance.new("TextLabel",b)d.Size=UDim2.new(1,0,1,0)d.TextScaled=true d.BackgroundTransparency=1 d.TextStrokeTransparency=0
301
					if not Guard then d.TextColor3=Color3.new(1,1,1)d.Text=tostring(FinalD)else d.TextColor3=Color3.new(.4,.7,1)d.Text="Guard"end
302
					spawn(function()local j=Instance.new("BodyVelocity",dp)j.MaxForce=Vector3.new(1/0,1/0,1/0)
303
						for i=1,50 do
304
							if dp.Parent then dp.Anchored=true
305
							if i<25 then
306
								dp.CFrame=dp.CFrame+Vector3.new(0,.1,0)
307
							else
308
								d.TextTransparency=i/25-1
309
								d.TextStrokeTransparency=i/25-1
310
							end
311
							sw()
312
							end
313
						end dp:Destroy()
314
					end)
315
				end
316
				end
317
			end
318
		end
319
	end
320
end
321
spawn(function()if chr:FindFirstChild("Health")then chr.Health:Destroy()end
322
local hs=Instance.new("ScreenGui",ply:FindFirstChildOfClass("PlayerGui"))hs.Name="statsidk"
323
local HFrame=Instance.new("Frame",hs)HFrame.Position=UDim2.new(.4,0,.8,0)HFrame.Size=UDim2.new(.2,0,.03,0)HFrame.BackgroundTransparency=.5
324
HFrame.BackgroundColor3=Color3.new()HFrame.BorderSizePixel=0
325
local HPBar1=Instance.new("TextLabel",HFrame)HPBar1.Size=UDim2.new(1,0,1,0)HPBar1.Text=" Health"HPBar1.TextStrokeTransparency=0
326
HPBar1.TextScaled=true HPBar1.TextXAlignment="Left"HPBar1.TextColor3=Color3.new(.5,1,.5)HPBar1.BackgroundTransparency=1 HPBar1.ZIndex=3
327
local HPBar2=Instance.new("Frame",HFrame)HPBar2.Size=UDim2.new(1,0,1,0)HPBar2.BorderSizePixel=0 HPBar2.BackgroundColor3=Color3.new(0,1,0)HPBar2.ZIndex=2
328
local HPBar3=Instance.new("Frame",HFrame)HPBar3.Size=UDim2.new(1,0,1,0)HPBar3.BorderSizePixel=0 HPBar3.BackgroundColor3=Color3.new(1,0,0)HPBar3.ZIndex=1
329
HPBar3.BackgroundTransparency=.5 local AR=0
330
local wst=Instance.new("TextLabel",hs)wst.Size=UDim2.new(.09,0,.03,0)wst.Text="WalkSpeed 0"wst.Position=UDim2.new(.91,0,.4,0)wst.BackgroundColor3=E_MainColor wst.TextStrokeTransparency=0 wst.TextColor3=Color3.new(1,1,1)
331
wst.BorderSizePixel=0 wst.BackgroundTransparency=.5 wst.Font="ArialBold"wst.TextScaled=1
332
local dft=Instance.new("TextLabel",hs)dft.Size=UDim2.new(.09,0,.03,0)dft.Text="Defense   0"dft.Position=UDim2.new(.91,0,.368,0)dft.BackgroundColor3=E_MainColor dft.TextStrokeTransparency=0 dft.TextColor3=Color3.new(1,1,1)
333
dft.BorderSizePixel=0 dft.BackgroundTransparency=.5 dft.Font="ArialBold"dft.TextScaled=1
334
while sw()do
335
	if chr then
336
	if chr.Parent then
337
	if AutomaticRegen and humanoid.Health<0 then
338
		humanoid.Health=humanoid.Health+HealthRValue
339
	end
340
	for i=1,#DCoolDowns do
341
		if DCoolDowns[i]~=nil then
342
			if DCoolDowns[i].Model.Parent then
343
				if DCoolDowns[i].Time>0 then
344
					DCoolDowns[i].Time=DCoolDowns[i].Time-1
345
				else
346
					table.remove(DCoolDowns,i)
347
				end
348
			else
349
				table.remove(DCoolDowns,i)
350
			end
351
		end
352
	end
353
	--HPScreen
354
	if hs.Parent then
355
		HPBar2.Size=UDim2.new(humanoid.Health/humanoid.MaxHealth,0,1,0)
356
		HPBar3.Size=UDim2.new(HPBar3.Size.X.Scale*(1-.1)+(HPBar2.Size.X.Scale*.1),0,1,0)
357
		HPBar1.Text=" Health "..tostring(math.floor(humanoid.Health*10)/10).."/"..tostring(math.floor(humanoid.MaxHealth))
358
		wst.Text="WalkSpeed "..tostring(humanoid.WalkSpeed)
359
		dft.Text="Defense "..tostring(Defense)
360
	end
361
	else
362
	chr=ply.Character
363
	end
364
	end
365
end
366
end)
367
end
368
--Global Functions that can use easily
369
--tDamage ( CFrame or Part , Range , Damage , Damage Randomize , DCoolDown , Knockback , Knockback Hold ,Knockback Guide )magnitudedamagelol but has idk
370
--sw ( number ) this function can use like wait() because it has true returning. if think easily, just small version of swait lol
371
local PC=PL.Character debri=function(item,tim)game:service("Debris"):AddItem(item,tim)end
372
local hum=PC:FindFirstChildOfClass("Humanoid")
373
local function DoPrism(pos,top,sid,par,option)--returns model
374
	local Model=Instance.new("Model",par)
375
	local Position0,Position1,Position2,Position3=pos*sid,pos*CFrame.Angles(0,math.rad(120),0)*sid,pos*CFrame.Angles(0,math.rad(240),0)*sid,pos*top
376
	drawTriangle(Position0,Position1,Position3,Model,option).Name="A"drawTriangle(Position1,Position2,Position3,Model,option).Name="B"drawTriangle(Position2,Position0,Position3,Model,option).Name="C"
377
	drawTriangle(Position0,Position1,Position2,Model,option).Name="D"
378
	return Model
379
end
380
local function ReDrawPrism(m,pos,top,sid,par,option)--returns model
381
	local Model=m
382
	local Position0,Position1,Position2,Position3=pos*sid,pos*CFrame.Angles(0,math.rad(120),0)*sid,pos*CFrame.Angles(0,math.rad(240),0)*sid,pos*top
383
	ReDrawTri(m.A,Position0,Position1,Position3,option)
384
	ReDrawTri(m.B,Position1,Position2,Position3,option)
385
	ReDrawTri(m.C,Position2,Position0,Position3,option)
386
	ReDrawTri(m.D,Position0,Position1,Position2,option)
387
	return Model
388
end
389
local function GetBeamLight(Parent,Length,Width0,Width1,FirstTransparent,Color,LightEm)
390
	local BPart=Instance.new("Part",Parent)BPart.CanCollide=false BPart.Size=Vector3.new()BPart.Transparency=1
391
	local a0=Instance.new("Attachment",BPart)local a1=Instance.new("Attachment",BPart)a1.Position=Vector3.new(0,0,Length)
392
	local beam=Instance.new("Beam",BPart)beam.FaceCamera=1
393
	beam.Attachment0=a0 beam.Attachment1=a1 beam.Segments=0
394
	beam.Width0=Width0 beam.Width1=Width1 beam.Texture="rbxassetid://1251856844"beam.LightEmission=LightEm or 1
395
	beam.Transparency=NumberSequence.new(FirstTransparent,1)beam.Color=ColorSequence.new(Color)
396
	return BPart,beam
397
end
398
local function FadeBeamL(Beam,Type,Add)
399
	if Beam~=nil then
400
		if Beam:IsA("Beam")and Beam.Parent then
401
			if Type=="Normal"then
402
				spawn(function()
403
					for i=0,1,Add do
404
						if Beam.Parent then
405
						Beam.Transparency=NumberSequence.new(i,1)
406
						sw()end
407
					end Beam.Parent:Destroy()
408
				end)
409
			end
410
			if Type=="idk"then
411
				spawn(function()
412
					for i=1,0,-Add do
413
						if Beam.Parent then
414
						Beam.Transparency=NumberSequence.new(i,1)
415
						sw()end
416
					end
417
					for i=0,1,Add do
418
						if Beam.Parent then
419
						Beam.Transparency=NumberSequence.new(i,1)
420
						sw()end
421
					end if Beam.Parent then Beam.Parent:Destroy()end
422
				end)
423
			end
424
		end
425
	end
426
end
427
ieraseurmotor(PC)local RootPart=PC.HumanoidRootPart
428
local walk=false local onground=false local walkspeed=50 local Active=false local Effects=Instance.new("Folder",workspace)
429
local function GlitchParts(m,siz,t,Invisible,Hold)spawn(function()
430
	local Glit={}local invi={}
431
	if not m:IsA'BasePart'then for i,p in pairs(m:children())do
432
	if p:IsA"BasePart"then 
433
	local a=p:Clone()a.Anchored=1 a.CanCollide=nil a:ClearAllChildren()
434
	local CF=a.CFrame a.Parent=Effects a.CFrame=CF*CFrame.new(math.random(-100,100)/siz,math.random(-100,100)/siz,math.random(-100,100)/siz)
435
	table.insert(Glit,{Pt=a,pst=CF,Sav=p,Tr=p.Transparency})if Invisible then p.Transparency=1 end
436
	end
437
	end
438
	else
439
	local a=m:Clone()a.Anchored=1 a.CanCollide=nil a:ClearAllChildren()
440
	local CF=a.CFrame a.Parent=Effects a.CFrame=CF*CFrame.new(math.random(-100,100)/siz,math.random(-100,100)/siz,math.random(-100,100)/siz)
441
	table.insert(Glit,{Pt=a,pst=CF,Sav=m,Tr=m.Transparency})if Invisible then m.Transparency=1 end
442
	end
443
	for i=1,t do
444
		for i,p in pairs(Glit)do
445
			if p.Pt.Parent then
446
				if Hold then p.pst=p.Sav.CFrame end
447
				p.Pt.CFrame=p.pst*CFrame.new(math.random(-100,100)/siz,math.random(-100,100)/siz,math.random(-100,100)/siz)
448
			end
449
		end
450
		sw()
451
	end
452
	for i,p in pairs(Glit)do p.Pt:Destroy()if Invisible then p.Sav.Transparency=p.Tr end end
453
	end)
454
end
455
local Mouse=PL:GetMouse()local ShowHitBoxes=false FH=FindHumanoid
456
local RArm=PC["Right Arm"]local LArm=PC["Left Arm"]local RLeg=PC["Right Leg"]local LLeg=PC["Left Leg"]local Torso=PC.Torso
457
if 1 then
458
	local function motor(part0,part1,c0,c1)
459
	local motor=Instance.new("Motor",part0)
460
	motor.Part0=part0 motor.Part1=part1 motor.C0=c0 motor.C1=c1
461
	return motor
462
	end
463
	local ra=motor(Torso,RArm,CFrame.new(1.5,0,0),CFrame.new(0,0,0))local la=motor(Torso,LArm,CFrame.new(-1.5,0,0),CFrame.new(0,0,0))
464
	local rl=motor(Torso,RLeg,CFrame.new(.5,-2,0),CFrame.new(0,0,0))local ll=motor(Torso,LLeg,CFrame.new(-.5,-2,0),CFrame.new(0,0,0))
465
	local nek=Torso.Neck local rjoint=RootPart.RootJoint nek.C0=CFrame.new(0,0,0)nek.C1=CFrame.new(0,0,0)
466
	rjoint.C0=CFrame.new(0,0,0)rjoint.C1=CFrame.new(0,0,0)
467
	function ReCallAnimate()
468
	RArm=PC["Right Arm"]LArm=PC["Left Arm"]RLeg=PC["Right Leg"]LLeg=PC["Left Leg"]Torso=PC.Torso RootPart=PC.HumanoidRootPart
469
	ra=motor(Torso,RArm,CFrame.new(1.5,0,0),CFrame.new(0,0,0))la=motor(Torso,LArm,CFrame.new(-1.5,0,0),CFrame.new(0,0,0))
470
	rl=motor(Torso,RLeg,CFrame.new(.5,-2,0),CFrame.new(0,0,0))ll=motor(Torso,LLeg,CFrame.new(-.5,-2,0),CFrame.new(0,0,0))
471
	nek=Torso.Neck rjoint=RootPart.RootJoint nek.C0=CFrame.new(0,0,0)nek.C1=CFrame.new(0,0,0)
472
	rjoint.C0=CFrame.new(0,0,0)rjoint.C1=CFrame.new(0,0,0)Anim(latest,1)
473
	end
474
	function Anim(idk,lerpval)
475
		rjoint.C0=rjoint.C0:lerp(idk[1],lerpval)
476
		nek.C0=nek.C0:lerp(idk[2],lerpval)
477
		ra.C0=ra.C0:lerp(idk[3],lerpval)
478
		la.C0=la.C0:lerp(idk[4],lerpval)
479
		rl.C0=rl.C0:lerp(idk[5],lerpval)
480
		ll.C0=ll.C0:lerp(idk[6],lerpval)
481
		latest={}latest[1]=rjoint.C0 latest[2]=nek.C0 latest[3]=ra.C0 latest[4]=la.C0 latest[5]=rl.C0 latest[6]=ll.C0
482
	end
483
end
484
local function spawnref(Position)Position=typeof(Position)=="Vector3"and CFrame.new(Position)or Position local ref=Instance.new("Part",Effects)ref.Transparency=1 ref.Size=Vector3.new()ref.CFrame=Position ref.Anchored=1 ref.CanCollide=nil return ref end
485
local function ua(part)if part:IsA("BasePart")then part.Anchored=false end local c=part:GetChildren()for i=1,#c do ua(c[i])end end local function rot(part,vec3,pow)local j=Instance.new("BodyAngularVelocity",part)j.MaxTorque=Vector3.new(pow,pow,pow)j.AngularVelocity=vec3 return j end
486
local function CreateHitBox(Size,CF,Script)
487
	local pt=Instance.new("Part")a(pt)pt.CanCollide=false pt.Size=Size rot(pt,Vector3.new(),1/0)pt.Transparency=1 pt.CFrame=CF
488
	pt.Parent=Effects if ShowHitBoxes then pt.Transparency=.8 local s=Instance.new("SelectionBox",pt)s.Color3=Color3.new(.5,.5,.5)s.Adornee=pt end
489
	local function BreakHitBox()pt:Destroy()end pt.Touched:connect(Script)spawn(function()sw()pt:Destroy()end)
490
end
491
local function CreateHitSphere(Size,CF,Script)
492
	local pt=Instance.new("Part")a(pt)pt.CanCollide=false pt.Size=Vector3.new(Size,Size,Size)
493
	rot(pt,Vector3.new(),1/0)pt.Transparency=1 pt.CFrame=CF pt.Shape="Ball"
494
	pt.Parent=Effects if ShowHitBoxes then pt.Transparency=.8 local s=Instance.new("SelectionBox",pt)s.Color3=Color3.new(.5,.5,.5)s.Adornee=pt end
495
	local function BreakHitBox()pt:Destroy()end pt.Touched:connect(Script)spawn(function()sw()pt:Destroy()end)
496
end
497
local function Region3Find(Size,Pos,Script,AutoSearch)--if AutoSearch==true then it automatically insert Humanoid after Part.
498
	Pos=typeof(Pos)=="CFrame"and Pos.p or Pos
499
	local reg=Region3.new(Pos-Vector3.new(Size/2,Size/2,Size/2),Pos+Vector3.new(Size/2,Size/2,Size/2))
500
	for i,p in pairs(workspace:FindPartsInRegion3WithIgnoreList(reg,{PC,Effects},1000))do
501
	if AutoSearch then local h=FH(p)if h then spawn(function()if h.Parent then Script(p,h)end end)end else spawn(function()Script(p)end)end
502
	end
503
end
504
RayForMovingObj=function(Part,Length,WaterOpt)--or else , JUST CFrame. (return : hitting part / position )
505
	local cf=typeof(Part)=="Instance"and Part.CFrame or Part
506
	return workspace:FindPartOnRayWithIgnoreList(Ray.new(cf.p,cf.lookVector*Length),{PC,Effects},true,not WaterOpt)
507
end
508
local MusicEnabled=1
509
spawn(function()local opos=Vector3.new(0,0,0)local pts=0
510
	local pos=opos
511
	local MusicI=nil local MusicPos=0
512
	if PC.Head:FindFirstChild"Running"then PC.Head.Running:Destroy()end
513
	--local pos=RootPart.Position
514
	if 1 then
515
	local frm=Torso.CFrame*CFrame.new(0,1.5,0) local wf=Instance.new("Folder",RootPart)wf.Name="Wings"
516
	local a,b,c,d=DoSquare(frm*CFrame.new(2,.5,2),frm*CFrame.new(3,4,2),frm*CFrame.new(6,3,4),frm*CFrame.new(7,3,5),wf,{Transparency=.7,Anchored=nil},1)
517
	local d,e,f,g=DoSquare(frm*CFrame.new(-2,.5,2),frm*CFrame.new(-3,4,2),frm*CFrame.new(-6,3,4),frm*CFrame.new(-7,3,5),wf,{Transparency=.7,Anchored=nil},1)
518
	local h,i=drawTriangle(frm*CFrame.new(2,-.5,1.5),frm*CFrame.new(3,-.5,1.2),frm*CFrame.new(8,-2,1.5),wf,{Transparency=.9,Anchored=nil},1)
519
	local j,k=drawTriangle(frm*CFrame.new(-2,-.5,1.5),frm*CFrame.new(-3,-.5,1.2),frm*CFrame.new(-8,-2,1.5),wf,{Transparency=.9,Anchored=nil},1)
520
	local l,m=drawTriangle(frm*CFrame.new(1.5,0,1.5),frm*CFrame.new(3,-.6,1.9),frm*CFrame.new(8,2,3),wf,{Transparency=.8,Anchored=nil},1)
521
	local n,o=drawTriangle(frm*CFrame.new(-1.5,0,1.5),frm*CFrame.new(-3,-.6,1.9),frm*CFrame.new(-8,2,3),wf,{Transparency=.8,Anchored=nil},1)
522
	--ToMesh(a)ToMesh(b)ToMesh(c)ToMesh(d)ToMesh(e)ToMesh(f)ToMesh(g)ToMesh(h)ToMesh(i)ToMesh(j)ToMesh(k)ToMesh(l)ToMesh(m)ToMesh(n)ToMesh(o)
523
	ua(wf)for _, v in pairs(wf:children())do--auto welding from Ace of Spades script
524
 	if v.ClassName=="UnionOperation" or v.ClassName=="MeshPart" or v.ClassName=="Part" or v.ClassName=="WedgePart" or v.ClassName=="BasePart" then v.Anchored=false
525
	local OR=CFrame.new(v.Position)
526
	local P1C, P2C=v.CFrame:inverse() * OR, Torso.CFrame:inverse() * OR
527
	local weld=Instance.new("Weld", RootPart)
528
	weld.Name=v.Name .. "->" .. Torso.Name
529
	weld.Part0=v
530
	weld.Part1=Torso
531
	weld.C0=P1C
532
	weld.C1=P2C
533
	end
534
	end
535
	end
536
	for i=0,360,6 do
537
		local Head=PC.Head
538
		local part=Instance.new("Part",Head)part.Material="Neon"part.Size=Vector3.new(.1,.1,.125)
539
		local weld=Instance.new("Weld",part)ToMesh(part)part.Color=Color3.new(1,1,.7)
540
		weld.Part0=Head weld.Part1=part weld.C0=CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,1)+Vector3.new(0,1.5,0)
541
	end
542
	local namebbg=Instance.new("BillboardGui",PC)namebbg.Size=UDim2.new(16,0,2,0)namebbg.Adornee=RootPart namebbg.Name="NameTag"
543
	namebbg.StudsOffset=Vector3.new(0,4.8,0)namebbg.AlwaysOnTop=1
544
	local nt=Instance.new("TextLabel",namebbg)nt.Text="Mechanized Angel"nt.TextColor3=Color3.new(1,1,.7)nt.TextScaled=1 nt.Position=UDim2.new(0,0,-.4,0)
545
	nt.Font="Fantasy"nt.BackgroundTransparency=1 nt.TextTransparency=0 nt.TextStrokeTransparency=.5 nt.Size=UDim2.new(1,0,1,0)
546
	while sw()do pts=pts+.05
547
		if MusicI then if not MusicI.Parent then MusicI=GetInstance("Sound",PC)MusicI.TimePosition=MusicPos end else MusicI=GetInstance("Sound",PC)MusicI.TimePosition=MusicPos end
548
		MusicI.SoundId=musicId MusicI.Volume=4 MusicI.Playing=MusicEnabled MusicPos=MusicI.TimePosition
549
		pos=RootPart.Position
550
		if PC.Parent==nil or PC~=PL.Character then Effects:Destroy()script:Destroy()end
551
		if PC then
552
		if PC:FindFirstChildOfClass("ForceField")then PC:FindFirstChildOfClass("ForceField").Visible=false else GetInstance("ForceField",PC).Name=""end ua(PC)
553
		local hit,pos=workspace:FindPartOnRayWithIgnoreList(Ray.new(RootPart.CFrame.p,Vector3.new(0,-1,0).unit*3.5),{PC,Effects},false,true)
554
		if not hit then onground=false else onground=true end
555
		if (Vector3.new(pos.X,0,pos.Z)-Vector3.new(opos.X,0,opos.Z)).magnitude>=.01 then walk=true else walk=false end
556
		if not Active then
557
		if onground then
558
		if walk then
559
		Anim({CFrame.new(0,1+math.sin(pts)/10,0)*CFrame.Angles(-.4,0,0),
560
		CFrame.new(0,1.5,0)*CFrame.Angles(.3,0,0),
561
		CFrame.new(1.5,0,.4)*CFrame.Angles(-.3,0,.2),
562
		CFrame.new(-1.5,0,.4)*CFrame.Angles(-.3,0,-.2),
563
		CFrame.new(.5,-1.8,.7)*CFrame.Angles(-.7-math.sin(pts)/15,0,.1-math.sin(pts)/15),
564
		CFrame.new(-.5,-1.3,-.55)*CFrame.Angles(0,0,-.1+math.sin(pts)/15),
565
		},.3)
566
		else
567
		Anim({CFrame.new(0,1+math.sin(pts)/10,0)*CFrame.Angles(0,0,0),
568
		CFrame.new(0,1.5,0)*CFrame.Angles(0,0,0),
569
		CFrame.new(.5,.3,-.5)*CFrame.Angles(.3,3.1,1.4),
570
		CFrame.new(-.5,.3,-.5)*CFrame.Angles(.3,-3.1,-1.4),
571
		CFrame.new(.5,-2,0)*CFrame.Angles(0,0,.1-math.sin(pts)/15),
572
		CFrame.new(-.5,-2,0)*CFrame.Angles(0,0,-.1+math.sin(pts)/15),
573
		},.3)
574
		end
575
		else
576
		Anim({CFrame.new(0,1,0)*CFrame.Angles(0,0,0),
577
		CFrame.new(0,1.5,0)*CFrame.Angles(0,0,0),
578
		CFrame.new(1.5,0,0)*CFrame.Angles(0,0,.2),
579
		CFrame.new(-1.5,0,0)*CFrame.Angles(0,0,-.2),
580
		CFrame.new(.5,-1.8,.2)*CFrame.Angles(-.3-math.sin(pts)/15,0,.1-math.sin(pts)/15),
581
		CFrame.new(-.5,-1.5,-.25)*CFrame.Angles(0,0,-.1+math.sin(pts)/15),
582
		},.3)
583
		end
584
		end
585
		end
586
		if not Active then walkspeed=150 ua(PC)end
587
		if not hum then hum=Instance.new("Humanoid",PC)workspace.CurrentCamera.CameraSubject=hum
588
		elseif not hum.Parent then hum=Instance.new("Humanoid",PC)workspace.CurrentCamera.CameraSubject=hum end
589
		hum.PlatformStand=false hum.Name="No Bright Things , but if you thought."
590
		hum.MaxHealth=1/0 hum.Health=0/0 hum.WalkSpeed=walkspeed if walkspeed>0 then hum.JumpPower=50 else hum.JumpPower=0 end
591
		if Effects.Parent==nil then Effects:Destroy()Effects=Instance.new("Folder",workspace)end
592
		Mouse.TargetFilter=Effects
593
		--if not PC:FindFirstChild("WingFolder")then Instance.new("Folder",PC).Name="WingFolder"else PC.WingFolder:ClearAllChildren()end
594
		--[[if DoEffect then
595
			local fol=PC.WingFolder
596
			local frm=Torso.CFrame+Vector3.new(0,1.5,0)
597
			DoSquare(frm*CFrame.new(2,.5,2),frm*CFrame.new(3,4,2),frm*CFrame.new(6,3,4),frm*CFrame.new(7,3,5),fol,{Transparency=.7})
598
			DoSquare(frm*CFrame.new(-2,.5,2),frm*CFrame.new(-3,4,2),frm*CFrame.new(-6,3,4),frm*CFrame.new(-7,3,5),fol,{Transparency=.7})
599
			drawTriangle(frm*CFrame.new(2,-.5,1.5),frm*CFrame.new(3,-.5,1.2),frm*CFrame.new(8,-2,1.5),fol,{Transparency=.9})
600
			drawTriangle(frm*CFrame.new(-2,-.5,1.5),frm*CFrame.new(-3,-.5,1.2),frm*CFrame.new(-8,-2,1.5),fol,{Transparency=.9})
601
			drawTriangle(frm*CFrame.new(1.5,0,1.5),frm*CFrame.new(3,-.6,1.9),frm*CFrame.new(8,2,3),fol,{Transparency=.8})
602
			drawTriangle(frm*CFrame.new(-1.5,0,1.5),frm*CFrame.new(-3,-.6,1.9),frm*CFrame.new(-8,2,3),fol,{Transparency=.8})
603
		end]]
604
		hum:ClearAllChildren()opos=pos
605
	end
606
end)
607
function chatfunc(text)
608
spawn(function()
609
	local rs=game:service'RunService'.RenderStepped
610
	local function sw(n)if n==nil then rs:wait()else for i=1,n do rs:wait()end end return true end
611
	local Character=game:service'Players'.LocalPlayer.Character local RootPart=Character.HumanoidRootPart
612
	local s=GetInstance("Sound",PC)s.SoundId="rbxassetid://418252437"s.Volume=2
613
	if Character:FindFirstChild("cht")then Character.cht:Destroy()end
614
	local b=Instance.new("BillboardGui",Character)b.AlwaysOnTop=true b.Adornee=RootPart b.StudsOffset=Vector3.new(0,4.8,0)b.Name="cht"
615
	local snum=text:len()b.Size=UDim2.new(snum/1.7,0,2,0)
616
	local texts={}
617
	for i=1,snum do
618
		texts[i]=Instance.new("TextButton",b)
619
		texts[i].Size=UDim2.new(1/snum,0,1,0)texts[i].Name=text:sub(i,i)--texts[i].TextSize=30
620
		texts[i].Text=text:sub(i,i)texts[i].Position=UDim2.new((i-1)/snum+math.random(-100,100)/100,0,math.random(-100,100)/100,0)
621
		texts[i].BackgroundTransparency=1 texts[i].TextColor3=Color3.new(1,1,1)
622
		texts[i].TextStrokeTransparency=1 texts[i].Font="Fantasy"texts[i].TextScaled=1 texts[i].TextTransparency=1
623
	end
624
	local DoOpt=function(Set,Val,LerpB)for i=1,#texts do if texts[i].Parent and b.Parent then if LerpB~=nil then
625
	if typeof(texts[i][Set])=="UDim2"then texts[i][Set]=texts[i][Set]:lerp(Val,LerpB)else texts[i][Set]=lerp(texts[i][Set],Val,LerpB)end
626
	else texts[i][Set]=Val end end end end
627
	for i=1,#texts do
628
		if texts[i].Parent then
629
			spawn(function()for i2=0,1,.025 do
630
			texts[i].Position=texts[i].Position:lerp(UDim2.new((i-1)/#texts,0,.3,0),.15)sw()
631
			texts[i].TextTransparency=1-i2 texts[i].TextStrokeTransparency=1-(i2/2)
632
			end
633
			texts[i].Position=UDim2.new((i-1)/#texts,0,.3,0)texts[i].TextTransparency=0 texts[i].TextStrokeTransparency=.5
634
			end)
635
		end
636
		--if texts[i].Text~=" "then s:Play()end
637
		sw(3)
638
	end
639
	sw(180)
640
	s:Destroy()
641
	for i=1,0,-.025 do
642
		DoOpt("TextTransparency",1-i)DoOpt("TextStrokeTransparency",.5+(1-i)/2)
643
		DoOpt("Position",UDim2.new(.5,0,.3,0),.05)
644
		sw()
645
	end
646
	b:Destroy()
647
end)
648
649
end
650
PL.Chatted:connect(function(m)chatfunc(game:service'Chat':FilterStringAsync(m,PL,PL))end)
651
function EfcGUI(ref,alwaysNOTtop,BGCol,Option)
652
	local b=Instance.new("BillboardGui",ref)b.Adornee=ref b.AlwaysOnTop=not alwaysNOTtop
653
	local t=Instance.new("TextLabel",b)t.Size=UDim2.new(1,0,1,0)t.Text=""t.BorderSizePixel=0
654
	t.BackgroundColor3=BGCol or mcol
655
	return b,t
656
end
657
local function Sound(id,parent,vol,pit,extra)
658
	local so=GetInstance("Sound",parent or Effects)if extra~=nil then if extra.M=="Dist"then Instance.new("DistortionSoundEffect",so).Level=extra.Val end end
659
	so.SoundId="rbxassetid://"..tostring(id)if vol~=nil then so.Volume=vol else so.Volume=1 end if pit~=nil then so.Pitch=pit else so.Pitch=1 end so:Play()so.Ended:connect(function()so:Destroy()end)
660
end
661
function TriangleSpam(num,Pos,r,r2)
662
	for i=1,num do
663
	local Model=drawTriangle(Vector3.new(),Vector3.new(),Vector3.new(),Effects,{Transparency=1})
664
	spawn(function()local fpos=typeof(Pos)=="CFrame"and Pos.p or Pos-- local r=1200 local r2=70
665
	local add0=Vector3.new(math.random(-100,100)/r2,math.random(-100,100)/800,math.random(-100,100)/r2)
666
	local vec1=fpos local add1=Vector3.new(math.random(-100,100)/r,math.random(-100,100)/r,math.random(-100,100)/r)
667
	local vec2=fpos local add2=Vector3.new(math.random(-100,100)/r,math.random(-100,100)/r,math.random(-100,100)/r)
668
	local vec3=fpos local add3=Vector3.new(math.random(-100,100)/r,math.random(-100,100)/r,math.random(-100,100)/r)
669
	for i=0,1,.01 do
670
	add0=add0/Vector3.new(1.1,1,1.1)
671
	add0=add0+Vector3.new(0,.005,0)
672
	vec1,vec2,vec3=vec1+add1+add0,vec2+add2+add0,vec3+add3+add0
673
	ReDrawTri(Model,vec1,vec2,vec3,{Transparency=i})
674
	sw()
675
	end Model:Destroy()
676
	end)
677
	end
678
end
679
function LightningEffect(Pos,Seg,Size,Time,Col,Options)--Position {Vector3 Start,Vector3 End} , Segment , Size , Time , Color(or nil)
680
	local p1,p2=typeof(Pos[1])=="CFrame"and Pos[1].p or Pos[1],typeof(Pos[2])=="CFrame"and Pos[2].p or Pos[2]
681
	Options={Fade=Options.Fade or false,AutoSegment=Options.AutoSegment or false,Transparency=Options.Transparency or 0,LightningSiz=Options.LightningSiz or 1,Block=Options.Block or false,SizeFade=Options.SizeFade or 0}
682
	local mag=(p1-p2).Magnitude local col=Col or mcol local LightningSize=Options.LightningSiz
683
	local OldPos=CFrame.new(p1)local Step=mag/Seg local CF=CFrame.new(p1,p2)
684
	if Options.AutoSegment then Step=Seg end
685
	for i=1+Step,mag-Step,Step do
686
		local Pos=CF*CFrame.new(0,0,-i)*CFrame.new(math.random(-LightningSize*50,LightningSize*50)/50,math.random(-LightningSize*50,LightningSize*50)/50,math.random(-LightningSize*50,LightningSize*50)/50)
687
		local pt=Instance.new("Part",Effects)pt.Color=Col pt.Material="Neon"
688
		pt.Size=Vector3.new()pt.CFrame=(CFrame.new(OldPos.p,Pos.p)*CFrame.new(0,0,-(Pos.p-OldPos.p).Magnitude/2))*CFrame.Angles(0,math.rad(90),0)
689
		pt.Anchored=1 pt.CanCollide=nil
690
		if Options.Fade then pt.Transparency=lerp(Options.Transparency,1,i/mag)else pt.Transparency=Options.Transparency end
691
		local Mesh=Instance.new("SpecialMesh",pt)Mesh.MeshType=not Options.Block and"Cylinder"or "Brick"Mesh.Scale=Vector3.new((Pos.p-OldPos.p).Magnitude,Size,Size)*20
692
		OldPos=Pos
693
		spawn(function()local tr=pt.Transparency for i=0,1,Time/100 do pt.Transparency=lerp(tr,1,i)sw()Mesh.Scale=Mesh.Scale-Vector3.new(0,Options.SizeFade,Options.SizeFade)end pt:Destroy()end)
694
	end
695
	local Pos=CF*CFrame.new(0,0,mag)
696
	local pt=Instance.new("Part",Effects)pt.Color=Col pt.Material="Neon"
697
	pt.Size=Vector3.new()pt.CFrame=(CFrame.new(OldPos.p,Pos.p)*CFrame.new(0,0,-(Pos.p-OldPos.p).Magnitude/2))*CFrame.Angles(0,math.rad(90),0)
698
	pt.Anchored=1 pt.CanCollide=nil
699
	if Options.Fade then pt.Transparency=1 else pt.Transparency=Options.Transparency end
700
	local Mesh=Instance.new("SpecialMesh",pt)Mesh.MeshType="Cylinder"Mesh.Scale=Vector3.new((Pos.p-OldPos.p).Magnitude,Size,Size)*20
701
	spawn(function()local tr=pt.Transparency for i=0,1,Time/100 do pt.Transparency=lerp(tr,1,i)sw()Mesh.Scale=Mesh.Scale-Vector3.new(0,Options.SizeFade,Options.SizeFade)end pt:Destroy()end)
702
end
703
--Lightning Options (table) (n = default) : Fade=false (fading by range?) , AutoSegment=false , Transparency=0 , LightningSiz=1 , Block = false , SizeFade=0
704
--I've added table option to dodge INSANE OPTIONS like some my scripts (Destroyer)... that was terrible.
705
local NormalAttackNumber=0 Holding={}
706
Mouse.KeyDown:connect(function(k3y)
707
	Holding[k3y]=true
708
	if not Active then
709
		if k3y=="e"and GetCDown"Flawing Light"then
710
			DoCDown("Flawing Light",.5)
711
			for i=1,3 do
712
			local part=Instance.new("Part",Effects)part.Size=Vector3.new(1,1,1)part.Shape="Ball"ToMesh(part)part.Anchored=1
713
			part.Material="Neon"part.Color=mcol
714
			part.CFrame=CFrame.new((RootPart.CFrame+Vector3.new(math.random(-50,50)/10,5+math.random(-50,50)/10,math.random(-50,50)/10)).p,Mouse.Hit.p)
715
			spawn(function()for i=1,100 do
716
			local h,p=RayForMovingObj(part,1)
717
			if h==nil then part.CFrame=part.CFrame*CFrame.new(0,0,-1)
718
			else break end sw()
719
			end
720
			Region3Find(12,part.CFrame,function(p,h)h.Health=nil GlitchParts(p,200,60,1)p:Destroy()end,1)
721
			local b,g=EfcGUI(part)part.Transparency=1
722
			g.Rotation=45 for i=0,60 do	b.Size=b.Size:lerp(UDim2.new(18,0,18,0),.1)sw()g.BackgroundTransparency=i/60
723
			end
724
			part:Destroy()end)
725
			sw(6)
726
			end
727
		end
728
		if k3y=="r"and GetCDown"Infinite Bright"then Active=true
729
			walkspeed=60 chatfunc("Feel the Light...")
730
			Sound(255679384,PC,4,3.7)Sound(392838370,PC,2,1)
731
			for i=0,1,.02 do
732
				Anim({CFrame.new(0,1,0)*CFrame.Angles(0,0,0),
733
				CFrame.new(0,1.5,0)*CFrame.Angles(0,0,0),
734
				CFrame.new(.5,.3,-.5)*CFrame.Angles(.3,3.1,1.4),
735
				CFrame.new(-1.4,1.2,0)*CFrame.Angles(math.rad(180),0,-.1),
736
				CFrame.new(.5,-2,0)*CFrame.Angles(0,0,.1),
737
				CFrame.new(-.5,-2,0)*CFrame.Angles(0,0,-.1),
738
				},.4)sw()
739
			end
740
			spawn(function()local keepit=4 local num=0
741
				while sw(keepit)and Active do
742
					if num<78 then num=num+1 else keepit=8 end
743
					Camera.CFrame=Camera.CFrame*CFrame.Angles(math.rad(math.random(-10,10)/20),math.rad(math.random(-10,10)/20),0)
744
					Sound(1145252750,PC,1,2)
745
					local CF=CFrame.new(LArm.CFrame.p,Mouse.Hit.p)
746
					local h,p=RayForMovingObj(CF,4000)
747
					LightningEffect({p,LArm.CFrame*CFrame.new(0,-1,0)},10,.4,10,Color3.new(1,1,.7),{LightningSiz=.5,SizeFade=1,Fade=true})
748
					local ref=spawnref(p)
749
					local b,g=EfcGUI(ref)
750
					spawn(function()g.Rotation=math.random(360)for i=0,30 do	b.Size=b.Size:lerp(UDim2.new(10,0,10,0),.1)sw()g.BackgroundTransparency=i/30
751
					end ref:Destroy()end)
752
					Region3Find(7,p,function(p,h)h.Health=nil p:Destroy()for i=1,2 do local efc=Instance.new("Part")efc.Size=p.Size efc.Position=p.CFrame.p
753
					efc.Parent=Effects efc.Anchored=1 efc.CanCollide=nil
754
					efc.Material="Neon"efc.Color=mcol local away=Vector3.new(math.random(-100,100),math.random(-100,100),math.random(-100,100))/500
755
					spawn(function()for i=0,1,.01 do efc.Transparency=i efc.CFrame=efc.CFrame+away sw()end efc:Destroy()end)end end,1)
756
				end
757
			end)local num=0
758
			while sw()and(Holding.r or num<45)do if num<46 then num=num+1 end
759
				Anim({CFrame.new(0,1,0)*CFrame.Angles(0,-1,0),
760
				CFrame.new(0,1.5,0)*CFrame.Angles(0,0,0),
761
				CFrame.new(.5,.3,-.5)*CFrame.Angles(.3,3.1,1.4),
762
				CFrame.new(-1.8,.3,-.9)*CFrame.Angles(0,-.8,-1.6),
763
				CFrame.new(.5,-2,0)*CFrame.Angles(0,0,.1),
764
				CFrame.new(-.5,-2,0)*CFrame.Angles(0,0,-.1),
765
				},.6)sw()
766
			end
767
			DoCDown("Infinite Bright",1)
768
			Active=nil
769
		end
770
		if k3y=="t"and GetCDown"Blink"then
771
			local Pos=Mouse.Hit local OldCF=RootPart.CFrame
772
			if Mouse.Target then
773
				Sound(289556450,Effects,5)Sound(1012554393,Effects,1)
774
				RootPart.CFrame=Pos+Vector3.new(0,2,0)local CF=RootPart.CFrame
775
				local ref=spawnref(OldCF)local b=Instance.new("BillboardGui",ref)b.Size=UDim2.new(30,0,30,0)
776
				b.AlwaysOnTop=1 local d=Instance.new("ImageLabel",b)d.BackgroundTransparency=1 d.Image="rbxassetid://328647556"d.Size=UDim2.new(1,0,1,0)
777
				spawn(function()for i=0,1,.025 do d.Rotation=lerp(d.Rotation,180,.15)sw()end for i=0,1,.05 do d.ImageTransparency=i sw()end ref:Destroy()end)
778
				local ref=spawnref(OldCF)local b=Instance.new("BillboardGui",ref)b.Size=UDim2.new(10,0,10,0)
779
				b.AlwaysOnTop=1 local d=Instance.new("ImageLabel",b)d.BackgroundTransparency=1 d.Image="rbxassetid://328647556"d.Size=UDim2.new(1,0,1,0)
780
				spawn(function()for i=0,1,.025 do d.Rotation=lerp(d.Rotation,-180,.15)sw()end for i=0,1,.05 do d.ImageTransparency=i sw()end ref:Destroy()end)
781
				spawn(function()
782
				local Model=DoSquare(CF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),CF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),OldCF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),OldCF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),Effects,{Transparency=1})
783
				for i=0,1,.05 do ReDrawSqu(Model,CF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),CF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),OldCF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),OldCF*CFrame.new(math.random(-100,100)/50,math.random(-100,100)/50,math.random(-100,100)/50),{Transparency=i})
784
				sw()end Model:Destroy()end)DoCDown("Blink",1)TriangleSpam(20,RootPart.CFrame.p,800,40)
785
			end
786
		end
787
		if k3y=="z"and GetCDown"Judgement Prism"then Active=true walkspeed=30
788
			for i=0,1,.05 do
789
				Anim({CFrame.new(0,1,0)*CFrame.Angles(0,0,0),
790
				CFrame.new(0,1.5,0)*CFrame.Angles(0,0,0),
791
				CFrame.new(1.3,1.4,0)*CFrame.Angles(math.rad(180),0,.1),
792
				CFrame.new(-1.3,1.4,0)*CFrame.Angles(math.rad(180),0,-.1),
793
				CFrame.new(.5,-2,0)*CFrame.Angles(0,0,.1),
794
				CFrame.new(-.5,-2,0)*CFrame.Angles(0,0,-.1),
795
				},.5)sw()
796
			end
797
			Active=false
798
			DoCDown("Judgement Prism",12)
799
			local Pos=CFrame.new(RootPart.Position)
800
			local PrismTop=CFrame.new(0,12,0)local PrismSide=CFrame.new(9,0,0)--just two number is easier I think
801
			--Animate Prism
802
			local m=DoPrism(Pos,PrismTop,PrismSide,Effects,{Transparency=1})
803
			for i=1,.8,-.0025 do
804
			Pos=Pos*CFrame.new(0,.1,0)*CFrame.Angles(0,.05,0)
805
			PrismTop=PrismTop:lerp(CFrame.new(0,9,0),.1)PrismSide=PrismSide:lerp(CFrame.new(6,0,0),.1)
806
			ReDrawPrism(m,Pos,PrismTop,PrismSide,Effects,{Transparency=i})
807
			sw()
808
			end m:Destroy()
809
			local sound=GetInstance("Sound",PC)sound.SoundId="rbxassetid://255679384"sound.Volume=5
810
			sound:Play()
811
			while 1 and(sound.Parent~=nil and sound.Playing and sound.Parent.Parent~=nil )do
812
			Pos=Pos*CFrame.Angles(0,.05,0)
813
			local m=DoPrism(Pos,PrismTop,PrismSide,Effects,{Transparency=.8})
814
			sw()
815
			m:Destroy()
816
			end
817
			Sound(878000314,Effects,2.5)LightningEffect({Pos,Pos+Vector3.new(0,300,0)},60,3,1,mcol,{SizeFade=.5,Fade=true,LightningSiz=3})
818
			TriangleSpam(40,Pos,1200,70)
819
			sw(60)
820
			for i=1,10 do
821
				local Pos=Mouse.Hit
822
				LightningEffect({Pos,Pos+Vector3.new(0,300,0)},60,1,5,mcol,{SizeFade=.5,Fade=true,LightningSiz=5})
823
				TriangleSpam(4,Pos,1200,120)Sound(480357531,Effects,2)Sound(1145252750,Effects,2)
824
				for i=1,10 do
825
					local pt=Instance.new("Part",Effects)pt.Color=mcol pt.Material="Neon"
826
					pt.Anchored=1 pt.CanCollide=nil pt.Size=Vector3.new()local m=ToMesh(pt)
827
					local CF=Pos*rc()pt.CFrame=CF local add=math.random(5,100)/100
828
					spawn(function()
829
					for i=1,0,-.01 do m.Scale=Vector3.new(i,i,i)*20 pt.CFrame=pt.CFrame+Vector3.new(0,add,0)sw()end pt:Destroy()
830
					end)
831
				end
832
				Region3Find(17,Pos,function(p,h)
833
				if h.Parent then
834
					for i,p in pairs(h.Parent:GetDescendants())do
835
						if p:IsA"BasePart"then
836
							local part=Instance.new("Part",Effects)part.Material="Neon"part.Size=p.Size
837
							part.Color=mcol part.Anchored=1 part.CanCollide=nil part.CFrame=CFrame.new(p.Position)
838
							local add=Vector3.new(math.random(-100,100)/200,math.random(-100,100)/200,math.random(-100,100)/200)
839
							spawn(function()for i=0,1,.01 do part.CFrame=part.CFrame+add part.Transparency=i sw()end part:Destroy()end)
840
						end
841
					end h:Destroy()p.Parent:Destroy()
842
				end
843
				end,1)
844
				--[[spawn(function()local ref=spawnref(Pos)
845
				local b,g=EfcGUI(ref)ref.Transparency=1
846
				g.Rotation=45 for i=0,60 do	b.Size=b.Size:lerp(UDim2.new(18,0,18,0),.1)sw()g.BackgroundTransparency=i/60
847
				end ref:Destroy()end)]]
848
				sw(20)
849
			end
850
		end
851
	end
852
	if k3y=="m"then MusicEnabled=not MusicEnabled end
853
end)
854
Mouse.KeyUp:connect(function(k3y)
855
	if Holding[k3y]then Holding[k3y]=nil end
856
end)
857
if 1 then
858
Mouse.Button1Down:connect(function()
859
	if not Active then
860
	end
861
end)
862
end
863
print"Load finished."print"Hello world!"
864
warn'Credits : her boy friend:koonguy98755 , Do not erase this.'
865
warn'For my love roblox'