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