View difference between Paste ID: ptnPg5gi and Qi73jz46
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2-
--This script may not work because of 'Mouse is no longer active' as Studio tests have different results than InRealGame tests. Shame on you Roblox.
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,Mouse,mouse,UserInputService,ContextActionService = owner
4
local RealPlayer = Player
5
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end --This script may not work because of 'Mouse is no longer active' as Studio tests have different results than InRealGame tests. Shame on you Roblox.
6
--To fix that I will be remaking this script entirely as a require().
7
8
wait(2)
9
explosiondebounce = false
10
function explosion(pos,color,grow)
11
	if explosiondebounce == false then
12
		explosiondebounce = true
13
		exp = Instance.new("Part")
14
		exp.Shape = Enum.PartType.Ball
15
		exp.Size = Vector3.new(1,1,1)
16
		exp.Material = Enum.Material.Neon
17
		exp.BrickColor = color
18
		exp.Anchored = true
19
		exp.CanCollide = false
20
		exp.CFrame = CFrame.new(pos.X,pos.Y,pos.Z)
21
		exp.Parent = workspace
22
		for i=1, 10 do
23
			wait(0.1)
24
			exp.Size = exp.Size + Vector3.new(grow,grow,grow)
25
			exp.Transparency = exp.Transparency + 0.1
26
		end
27
		exp:Destroy()
28
		explosiondebounce = false
29
	end
30
end
31
lp = owner
32
char = lp.Character
33
head = char.Head
34
hum = char:FindFirstChildOfClass("Humanoid")
35
hum.PlatformStand = true
36
ra = char:FindFirstChild("Right Arm")
37
wait(1)
38
for i=1, 10 do
39
wait(0.25)
40
part = Instance.new("Part",workspace)
41
part.Anchored = true
42
part.Size = Vector3.new(2,2,2)
43
part.CFrame = ra.CFrame + Vector3.new(math.random(-1,1),0,math.random(-1,1))
44
part.BrickColor = BrickColor.new("Really red")
45
part.Material = Enum.Material.Neon
46
part.CanCollide = false
47
part.CFrame = part.CFrame * CFrame.fromEulerAnglesXYZ(math.random(5,10),math.random(5,10),math.random(5,10))
48
game.Debris:AddItem(part,1)
49
end
50
gun = Instance.new("Tool")
51
gun.Name = "Anti Thot gun"
52
gun.GripPos = Vector3.new(0,0,1)
53
handle = Instance.new("Part",gun)
54
handle.Size = Vector3.new(0.675, 1.213, 2.123)
55
handle.Name = "Handle"
56
handle.BrickColor = BrickColor.Black()
57
handle.Material = Enum.Material.Neon
58
mesh = Instance.new("FileMesh",handle)
59
mesh.MeshId = "rbxassetid://435705367"
60
mesh.Scale = Vector3.new(0.675/10, 1.213/10, 2.123/10)
61
fire = Instance.new("Sound",handle)
62
fire.Volume = 0.5
63
fire.SoundId = "rbxassetid://1095911222"
64
fire.TimePosition = 2.2
65
begone = Instance.new("Sound",head)
66
begone.Volume = 1
67
begone.SoundId = "rbxassetid://1095911222"
68
begone:Play()
69
repeat
70
wait(0.01)
71
until begone.IsLoaded and begone.IsPlaying
72
for i=1, 8 do
73
wait(0.25)
74
part = Instance.new("Part",workspace)
75
part.Anchored = true
76
part.Size = Vector3.new(2,2,2)
77
part.CFrame = ra.CFrame + Vector3.new(math.random(-1,1),0,math.random(-1,1))
78
part.BrickColor = BrickColor.new("Really red")
79
part.Material = Enum.Material.Neon
80
part.CanCollide = false
81
part.CFrame = part.CFrame * CFrame.fromEulerAnglesXYZ(math.random(5,10),math.random(5,10),math.random(5,10))
82
game.Debris:AddItem(part,1)
83
end
84
gun.Parent = char
85
hum.PlatformStand = false
86
explosion(ra.Position,BrickColor.new("Really red"),2.5)
87
mouse = nil
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
gun.Unequipped:connect(function()
106
print("goodbye then")
107
explosion(handle.Position,BrickColor.new("Really red"),1)
108
end)
109
gun.Equipped:connect(function(tmouse)
110
mouse = tmouse
111
print("time to banish some thots")
112
explosion(handle.Position,BrickColor.new("Really red"),1)
113
end)
114
gun.Activated:connect(function()
115
fire.TimePosition = 2.2
116
fire:Play()
117
local ray = Ray.new(handle.CFrame.p, (mouse.Hit.p - handle.CFrame.p).unit * 300)
118
		local part, position = workspace:FindPartOnRay(ray, lp.Character, false, true)
119
 
120
		local beam = Instance.new("Part", workspace)
121
		beam.BrickColor = handle.BrickColor
122
		beam.FormFactor = "Custom"
123
		beam.Material = "Neon"
124
		beam.Transparency = 0
125
		beam.Anchored = true
126
		beam.Locked = true
127
		beam.CanCollide = false
128
 
129
		local distance = (handle.CFrame.p - position).magnitude
130
		beam.Size = Vector3.new(0.3, 0.3, distance)
131
		beam.CFrame = CFrame.new(handle.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
132
 
133
		game:GetService("Debris"):AddItem(beam, 0.1)
134
 
135
		if part then
136
			local humanoid = part.Parent:FindFirstChild("Humanoid")
137
 
138
			if not humanoid then
139
				humanoid = part.Parent.Parent:FindFirstChild("Humanoid")
140
			end
141
 
142
			if humanoid then
143
				victimchar = humanoid.Parent
144
				gc = victimchar:GetChildren()
145
				for a=1, 10 do
146
					wait(0.1)
147
					for i=1, #gc do
148
						if gc[i].ClassName == "Part" or gc[i].ClassName == "Union" or gc[i].ClassName == "MeshPart" then
149
							gc[i].Anchored = true
150
							gc[i].Transparency = gc[i].Transparency + 0.1
151
							if gc[i]:FindFirstChildOfClass("Decal") then
152
								gc[i]:FindFirstChildOfClass("Decal").Transparency = gc[i]:FindFirstChildOfClass("Decal").Transparency + 0.1
153
							end
154
						end
155
						if gc[i].ClassName == "Hat" or gc[i].ClassName == "Accessory" then
156
							gc[i]:FindFirstChildOfClass("Part").Transparency = gc[i]:FindFirstChildOfClass("Part").Transparency + 0.1
157
						end
158
					end
159
				end
160
				for i=1, #gc do
161
					if gc[i].ClassName == "Part" or gc[i].ClassName == "Union" or gc[i].ClassName == "MeshPart" then
162
						gc[i]:BreakJoints()
163
					end
164
				end
165
			end
166
		end
167
end)
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
wait(0.1)
194
gun.Parent = nil
195
wait(0.1)
196
gun.Parent = char
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
hum.Died:connect(function()
237
de = Instance.new("Explosion")
238
de.BlastPressure = 9999999
239
de.BlastRadius = 9999999
240
de.Position = head.Position
241
de.Parent = workspace
242
m = Instance.new("Message",workspace)
243
m.Text = "PRAISE "..string.upper(char.Name).." "..tostring(math.random(1,100000)).." TIMES A DAY!\nBEGONE, THOT!"
244
game.Debris:AddItem(m,5)
245
end)
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
while true do
264
wait(0.01)
265
handle.BrickColor = BrickColor.Random()
266
end