View difference between Paste ID: ttrD9XuH and RyNzLCNJ
SHOW: | | - or go back to the newest paste.
1-
-- woah
1+
2
if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
3
do
4
    script.Parent = owner.Character
5
    local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
6
    local function NewFakeEvent()
7
        local Bind = Instance.new("BindableEvent")
8
        local Fake;Fake = {Connections = {},
9
        fakeEvent=true;
10
        Connect=function(self,Func)
11
            Bind.Event:connect(Func)
12
            self.Connections[Bind] = true
13
            return setmetatable({Connected = true},{
14
            __index = function (self,Index)
15
                if Index:lower() == "disconnect" then
16
                    return function() Fake.Connections[Bind] = false;self.Connected = false end
17
                end
18
                return Fake[Index]
19
            end;
20
            __tostring = function() return "Connection" end;
21
        })
22
        end}
23
        Fake.connect = Fake.Connect;return Fake;
24
    end
25
    local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
26
    local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
27
    local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
28
        self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
29
    end};ContextActionService.UnBindAction = ContextActionService.BindAction
30
    local function TriggerEvent(self,Event,...)
31
        local Trigger = Mouse[Event]
32
        if Trigger and Trigger.fakeEvent and Trigger.Connections then
33
            for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
34
        end
35
    end
36
    Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
37
    Event.OnServerEvent:Connect(function(FiredBy,Input)
38
        if FiredBy.Name ~= owner.Name then return end
39
        if Input.MouseEvent then
40
            Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
41
        else
42
            local Begin = Input.UserInputState == Enum.UserInputState.Begin
43
            if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
44
            for _,Action in pairs(ContextActionService.Actions) do
45
                for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
46
            end
47
            Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
48
            UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
49
        end
50
    end)
51
    InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
52
    Event.Parent = NLS([[
53
        local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
54
        local Input = function(Input,gameProcessedEvent)
55
            if gameProcessedEvent then return end
56
            Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
57
        end
58
        UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
59
        local Hit,Target
60
        while wait(1/30) do
61
            if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
62
                Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
63
            end
64
        end
65
    ]],owner.Character)
66
end
67
RealGame = game;game = setmetatable({},{
68
    __index = function (self,Index)
69
        local Sandbox = function (Thing)
70
            if Thing:IsA("Player") then
71
                local RealPlayer = Thing
72
                return setmetatable({},{
73
                    __index = function (self,Index)
74
                        local Type = type(RealPlayer[Index])
75
                        if Type == "function" then
76
                            if Index:lower() == "getmouse" or Index:lower() == "mouse" then
77
                                return function (self)return InternalData["Mouse"] end
78
                            end
79
                            return function (self,...)return RealPlayer[Index](RealPlayer,...) end
80
                        end
81
                        return RealPlayer[Index]
82
                    end;
83
                    __tostring = function(self) return RealPlayer.Name end
84
                })
85
            end
86
        end
87
        if RealGame[Index] then
88
            local Type = type(RealGame[Index])
89
            if Type == "function" then
90
                if Index:lower() == "getservice" or Index:lower() == "service" then
91
                    return function (self,Service)
92
                        local FakeServices = {
93
                            ["players"] = function()
94
                                return setmetatable({},{
95
                                    __index = function (self2,Index2)
96
                                        local RealService = RealGame:GetService(Service)
97
                                        local Type2 = type(Index2)
98
                                        if Type2 == "function" then
99
                                            return function (self,...) return RealService[Index2](RealService,...)end
100
                                        else
101
                                            if Index2:lower() == "localplayer" then return Sandbox(owner) end
102
                                            return RealService[Index2]
103
                                        end
104
                                    end;
105
                                    __tostring = function(self) return RealGame:GetService(Service).Name end
106
                                })
107
                            end;
108
                            ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
109
                            ["userinputservice"] = function() return InternalData["UserInputService"] end;
110
                            ["runservice"] = function()
111
                                return setmetatable({},{
112
                                    __index = function(self2,Index2)
113
                                        local RealService = RealGame:GetService(Service)
114
                                        local Type2 = type(Index2)
115
                                        if Type2 == "function" then
116
                                            return function (self,...) return RealService[Index2](RealService,...) end
117
                                        else
118
                                            local RunServices = {
119
                                                ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
120
                                                ["renderstepped"] = function() return RealService["Stepped"] end
121
                                            }
122
                                            if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
123
                                            return RealService[Index2]
124
                                        end
125
                                    end
126
                                })
127
                            end
128
                        }
129
                        if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
130
                        return RealGame:GetService(Service)
131
                    end
132
                end
133
                return function (self,...) return RealGame[Index](RealGame,...) end
134
            else
135
                if game:GetService(Index) then return game:GetService(Index) end
136
                return RealGame[Index]
137
            end
138
        end
139
        return nil
140
    end
141
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
142
 -- woah
143
144
-- Created by Nebula_Zorua
145
-- Click to attack
146
-- Uses skybox's sun
147
148
wait()
149
script.Parent = nil
150
151
local me = game:service'Players'.localPlayer;
152
local mouse = me:GetMouse()
153
154
local I = Instance.new
155
function IT(instance,parent,properties)
156
	local inst = I(instance)
157
	for i,v in next, properties do
158
		pcall(function() inst[v[1]] = v[2] end)
159
	end
160
	inst.Parent = parent
161
	return inst
162
end
163
164
function PARTANDMESH(parent,brickcolor,material,anchored,cancollide,locked,size,cframe,meshid,textureid,scale,partProps,meshProps)
165
	local part = IT("Part",parent or me.Character,{{"TopSurface",10},{"BottomSurface",10},{"BrickColor",brickcolor},{"Anchored",anchored},{"CanCollide",cancollide},{"Locked",locked},{"Material",material}, {"Size",size},{"CFrame",cframe}})
166
	local mesh = IT("SpecialMesh",part,{{"MeshId",meshid},{"TextureId",textureid},{"Scale",scale}})
167
	for i,v in next, partProps do
168
		pcall(function() part[i] = v end)
169
	end
170
	for i,v in next, meshProps do
171
		pcall(function() mesh[i] = v end)
172
	end
173
	return part,mesh
174
end
175
local RANDOM = math.random
176
177
function PART(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
178
	local NEWPART = IT("Part",PARENT,{})
179
	NEWPART.formFactor = FORMFACTOR
180
	NEWPART.Reflectance = REFLECTANCE
181
	NEWPART.Transparency = TRANSPARENCY
182
	NEWPART.CanCollide = false
183
	NEWPART.Locked = true
184
	NEWPART.Anchored = true
185
	if ANCHOR == false then
186
		NEWPART.Anchored = false
187
	end
188
	NEWPART.BrickColor = BrickColor.new(tostring(BRICKCOLOR))
189
	NEWPART.Name = NAME
190
	NEWPART.Size = SIZE
191
	NEWPART.Position = me.Character.Torso.CFrame.p
192
	NEWPART.Material = MATERIAL
193
	NEWPART:BreakJoints()
194
	return NEWPART
195
end
196
197
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR) -- thanks shack BB
198
	local STATPART = PART(3, me.Character, "SmoothPlastic", 0, 1, "Really black", "Effect", Vector3.new())
199
	STATPART.CFrame = CFrame.new(CFRAME.p + Vector3.new(0, 1.5, 0))
200
	local BODYGYRO = IT("BodyGyro", STATPART,{})
201
	local BODYPOSITION = IT("BodyPosition", STATPART,{})
202
	BODYPOSITION.P = 2000
203
	BODYPOSITION.D = 100
204
	BODYPOSITION.maxForce = Vector3.new(math.huge, math.huge, math.huge)
205
	if LABELTYPE == "Normal" then
206
		BODYPOSITION.position = STATPART.Position + Vector3.new(RANDOM(-2, 2), 6, RANDOM(-2, 2))
207
	elseif LABELTYPE == "Debuff" then
208
		BODYPOSITION.position = STATPART.Position + Vector3.new(RANDOM(-2, 2), 8, RANDOM(-2, 2))
209
	elseif LABELTYPE == "Interruption" then
210
		BODYPOSITION.position = STATPART.Position + Vector3.new(RANDOM(-2,2), 8, RANDOM(-2, 2))
211
	end
212
	game:GetService("Debris"):AddItem(STATPART ,5)
213
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
214
	BILLBOARDGUI.Adornee = STATPART
215
	BILLBOARDGUI.Size = UDim2.new(2.5, 0, 2.5 ,0)
216
	BILLBOARDGUI.StudsOffset = Vector3.new(-2, 2, 0)
217
	BILLBOARDGUI.AlwaysOnTop = false
218
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
219
	TEXTLABEL.BackgroundTransparency = 1
220
	TEXTLABEL.Size = UDim2.new(2.5, 0, 2.5, 0)
221
	TEXTLABEL.Text = TEXT
222
	TEXTLABEL.Font = "SciFi"
223
	TEXTLABEL.FontSize="Size42"
224
	TEXTLABEL.TextColor3 = COLOR
225
	TEXTLABEL.TextStrokeTransparency = 1
226
	TEXTLABEL.TextScaled = true
227
	TEXTLABEL.TextWrapped = true
228
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
229
		wait(0.2)
230
		for i=1, 5 do
231
			wait()
232
			THEBODYPOSITION.Position = THEPART.Position - Vector3.new(0, 0.5 ,0)
233
		end
234
		wait(1.2)
235
		for i=1, 5 do
236
			wait()
237
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
238
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
239
			THEBODYPOSITION.position = THEPART.Position + Vector3.new(0, 0.5, 0)
240
		end
241
		THEPART.Parent = nil
242
	end),STATPART, BODYPOSITION, TEXTLABEL)
243
end
244
245
function GETREGION(point,range,ignore)
246
    return workspace:FindPartsInRegion3WithIgnoreList(Region3.new(point-Vector3.new(1,1,1)*range/2,point+Vector3.new(1,1,1)*range/2),ignore,250)
247
end
248
249
250
function AoEDAMAGE(pos,rad,min,max,avoidbyjump,critRate,critMult,kill)
251
	local dmg = RANDOM(min,max)
252
	local R3 = GETREGION(pos,rad,{me.Character})
253
	local Hit = {}
254
	for _,v in next, R3 do
255
		local h = (v and v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
256
		if(h and not Hit[h])then
257
			Hit[h] = true
258
			if(v.Parent:FindFirstChild'Head' and v.Parent.Head:IsA'BasePart' and v.Parent.Name ~= 'CKbackup' and v.Parent.Name ~= 'Nebula_Zorua' and v.Parent.Name ~= 'Salvo_Starly')then
259
				
260
				local hed = v.Parent.Head
261
				local crit = RANDOM(1,100)
262
				local dmgText = (crit <= critRate and "? - "..dmg*critMult or " - "..dmg)
263
				
264
				if(kill)then
265
					dmgText = "INSTANT"
266
					v.Parent:breakJoints()
267
				end
268
				if(not avoidbyjump or hed.CFrame.y <= pos.y+3)then
269
					if(crit <= critRate)then
270
						--dmg*critMult
271
						h.Health = h.Health - dmg*critMult
272
					else
273
						h.Health = h.Health - dmg
274
					end
275
					StatLabel('Normal',hed.CFrame * CFrame.new(0, 0 + hed.Size.z - 1, 0),dmgText,(dmgText:find"?" and BrickColor.new'New Yeller' or dmgText == "INSTANT" and BrickColor.new'Really red' or BrickColor.new'Navy blue').Color)
276
				end
277
			end
278
		end
279
	end
280
end
281
282
283
284
function SOUND(id,parent,pitch,volume,looped)
285
	local SOUND = I("Sound")
286
	SOUND.SoundId = id;
287
	SOUND.Parent = parent
288
	SOUND.Pitch = pitch or 1
289
	SOUND.Looped = looped or false
290
	SOUND.Volume = volume or 1
291
	return SOUND;
292
end
293
294
295
function FX(id,parent,pitch,volume)
296
	return coroutine.wrap(function()
297
		local FX = SOUND(id,parent,pitch,volume)
298
		FX:Play()
299
		repeat wait() until FX.IsLoaded
300
		game:service'Debris':AddItem(FX,FX.TimeLength+1)
301
	end)()
302
	
303
end
304
305
warn"Can we go on land?"
306
warn"No."
307
warn"Why?"
308
warn"The sun is a deadly lazer"
309
310
311
mouse.Button1Down:connect(function()
312
	FX("rbxassetid://811841430",workspace,1,10)
313
	local beam = I("Part",workspace)
314
	beam.TopSurface,beam.BottomSurface,beam.Size,beam.Anchored,beam.CanCollide,beam.Archivable = 10,10,Vector3.new(1,1,1),true,false,false	
315
	beam.Material,beam.BrickColor = Enum.Material.Neon,BrickColor.new'New Yeller'
316
	local look = CFrame.new(Vector3.new(),game:service'Lighting':GetSunDirection())
317
	local kthx = IT("Part",nil,{
318
		{'Transparency',1},{'CanCollide',false},{'Anchored',true},{'Position',mouse.Hit.p}
319
	})
320
	local mesh = I("BlockMesh",beam)
321
	mesh.Scale = Vector3.new(5,5,1e4)
322
	local explosion,explosionMesh = PARTANDMESH(workspace,BrickColor.new'New Yeller',"Neon",true,false,true,Vector3.new(1,1,1),mouse.Hit,"","",Vector3.new(5,5,5),{},{MeshType=Enum.MeshType.Sphere})
323
	AoEDAMAGE(explosion.CFrame.p,25,1e25,1e25,false,100,2,true)
324
	for trans = 0, 1, .05 do
325
		explosion.Transparency = trans
326
		explosionMesh.Scale = explosionMesh.Scale + Vector3.new(2,2,2)
327
		beam.CFrame = CFrame.new(kthx.Position) * look * CFrame.new(0,0,-5000)
328
		mesh.Scale = Vector3.new(5-(trans/1)*5,5-(trans/1)*5,1e4)
329
		beam.Transparency = beam.Transparency + 0.035
330
		wait()
331
	end
332
	beam:destroy()
333
	explosion:destroy()
334
end)
335
336
if(game:service'Players'.localPlayer.UserId == 201729767)then
337
while true do
338
coroutine.wrap(function()
339
for i = 1, 50 do
340
warn("hi abuser bb")
341
end
342
end)()
343
wait()
344
end
345
end