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