View difference between Paste ID: NXsrhRMn and bnWK9G9M
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-
Death.ToolTip = "Kill your fucking rival"
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
87
	local h,t
88
	--Give the server mouse data every second frame, but only if the values changed
89
	--If player is not moving their mouse, client won't fire events
90
	local HB = game:GetService("RunService").Heartbeat
91
	while true do
92
		if h~=Mouse.Hit or t~=Mouse.Target then
93
			h,t=Mouse.Hit,Mouse.Target
94
			Event:FireServer({isMouse=true,Target=t,Hit=h})
95
		end
96
		--Wait 2 frames
97
		for i=1,2 do
98
			HB:Wait()
99
		end
100
	end]==],script)
101
102
	----Sandboxed game object that allows the usage of client-side methods and services
103
	--Real game object
104
	local RealGame = game
105
106
	--Metatable for fake service
107
	local FakeService_Metatable = {
108
		__index = function(self,k)
109
			local s = rawget(self,"_RealService")
110
			if s then
111
				return typeof(s[k])=="function"
112
				and function(_,...)return s[k](s,...)end or s[k]
113
			end
114
		end,
115
		__newindex = function(self,k,v)
116
			local s = rawget(self,"_RealService")
117
			if s then s[k]=v end
118
		end
119
	}
120
	local function FakeService(t,RealService)
121
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
		return setmetatable(t,FakeService_Metatable)
123
	end
124
125
	--Fake game object
126
	local FakeGame = {
127
		GetService = function(self,s)
128
			return rawget(self,s) or RealGame:GetService(s)
129
		end,
130
		Players = FakeService({
131
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
		},"Players"),
133
		UserInputService = FakeService(UIS,"UserInputService"),
134
		ContextActionService = FakeService(CAS,"ContextActionService"),
135
		RunService = FakeService({
136
			_btrs = {},
137
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
			BindToRenderStep = function(self,name,_,fun)
139
				self._btrs[name] = self.Heartbeat:Connect(fun)
140
			end,
141
			UnbindFromRenderStep = function(self,name)
142
				self._btrs[name]:Disconnect()
143
			end,
144
		},"RunService")
145
	}
146
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
	FakeGame.service = FakeGame.GetService
148
	FakeService(FakeGame,game)
149
	--Changing owner to fake player object to support owner:GetMouse()
150
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
151
end
152
153
--Made by Hirari_Tear, credits to expro for the GUI--
154
155
local Handle = Instance.new('Part')
156
157
local Mesh = Instance.new('SpecialMesh')
158
159
local Death = Instance.new('Tool')
160
161
Death.Name = "Death Note"
162
163
Handle.Name = "Handle"
164
165
Death.Parent = game.Players.LocalPlayer.Backpack
166
167
Death.GripForward = Vector3.new(0.331, -0.766, 0.551)
168
169
Death.GripPos = Vector3.new(-0.8, 0, -0.8)
170
171
Death.GripRight = Vector3.new(-0.943, -0.297, 0.152)
172
173
Death.GripUp = Vector3.new(-0.048, 0.57, 0.82)
174
175
Death.ToolTip = "Kill your rival"
176
177
Handle.Parent = Death
178
179
Mesh.Parent = Handle
180
181
Mesh.MeshId = "http://www.roblox.com/asset/?id=1136139"
182
183
Mesh.TextureId = "http://www.roblox.com/asset/?id=18276952"
184
185
Mesh.Scale = Vector3.new(0.55, 0.174, 0.6)
186
187
Handle.Rotation = Vector3.new(0,-90,0)
188
189
Death.Equipped:connect(function(mouse)
190
191
local Bounce = Enum.EasingStyle.Bounce
192
193
local Quad = Enum.EasingStyle.Quad
194
195
local Normal = Enum.EasingStyle.Linear
196
197
198
199
local ScreenGui = Instance.new("ScreenGui", game.Players["LocalPlayer"].PlayerGui)
200
201
ScreenGui.Name = "Death Note"
202
203
204
205
local open = Instance.new("ImageButton", ScreenGui)
206
207
open.Position = UDim2.new(1, -110, 1, 500)
208
209
open.Size = UDim2.new(0, 100,0, 150)
210
211
open.Image = "rbxassetid://18536731"
212
213
open:TweenPosition(UDim2.new(1, -110, 1, -150), "In", Bounce, 0.8, true)
214
215
216
217
local Note = Instance.new("Frame", ScreenGui)
218
219
Note.Active = true
220
221
Note.Position = UDim2.new(1, -321, 1, 500)
222
223
Note.Size = UDim2.new(0, 320,0, 250)
224
225
Note.Visible = false
226
227
Note.Draggable = true
228
229
230
231
open.MouseButton1Down:connect(function()
232
233
open:TweenPosition(UDim2.new(open.Position.X.Scale,open.Position.X.Offset, 1, 500), "Out", Normal, 0.8, true)
234
235
wait(0.30)
236
237
open.Visible = false
238
239
Note.Visible = true
240
241
Note.Position = UDim2.new(1, -321, 1, 500)
242
243
Note:TweenPosition(UDim2.new(1, -321, 1, -251), "In", Normal, 0.5, true)
244
245
end)
246
247
248
249
local bg = Instance.new("Frame", Note)
250
251
bg.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
252
253
bg.Size = UDim2.new(0, 160,0, 250)
254
255
bg.ZIndex = 2
256
257
258
259
-- Background
260
261
262
263
local close = Instance.new("TextButton", bg)
264
265
close.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
266
267
close.BackgroundTransparency = 1
268
269
close.Position = UDim2.new(0, 8,0, 10)
270
271
close.Size = UDim2.new(0, 10,0, 10)
272
273
close.ZIndex = 4
274
275
close.Font = "Cartoon"
276
277
close.Text = "X"
278
279
close.TextColor3 = Color3.fromRGB(255, 255, 255)
280
281
close.TextSize = "17"
282
283
284
285
close.MouseButton1Down:connect(function()
286
287
Note:TweenPosition(UDim2.new(Note.Position.X.Scale,Note.Position.X.Offset,1, 500), "Out", Normal, 0.5, true)
288
289
wait(0.30)
290
291
Note.Visible = false
292
293
open.Visible = true
294
295
open:TweenPosition(UDim2.new(1, -110, 1, -150), "In", Normal, 0.8, true)
296
297
end)
298
299
300
301
local image1 = Instance.new("ImageLabel", bg)
302
303
image1.BackgroundTransparency = 1
304
305
image1.Size = UDim2.new(1, 0,1, 0)
306
307
image1.ZIndex = 3
308
309
image1.Image = "rbxassetid://18528551"
310
311
312
313
local title = Instance.new("TextLabel", bg)
314
315
title.BackgroundTransparency = 1
316
317
title.Position = UDim2.new(0, 0,0, 30)
318
319
title.Size = UDim2.new(1, 0,0, 30)
320
321
title.ZIndex = 4
322
323
title.Font = "Bodoni"
324
325
title.Text = "DEATH NOTE"
326
327
title.TextColor3 = Color3.fromRGB(255, 255, 255)
328
329
title.TextSize = "18"
330
331
332
333
local body = Instance.new("TextLabel", bg)
334
335
body.BackgroundTransparency = 1
336
337
body.Position = UDim2.new(0, 15,0, 65)
338
339
body.Size = UDim2.new(0, 134,0, 40)
340
341
body.ZIndex = 4
342
343
body.Font = "Garamond"
344
345
body.Text = "Type in somebody's name to kill them."
346
347
body.TextColor3 = Color3.fromRGB(255, 255, 255)
348
349
body.TextSize = "19"
350
351
body.TextWrapped = true
352
353
body.TextXAlignment = "Left"
354
355
body.TextYAlignment = "Top"
356
357
358
359
local line = Instance.new("TextLabel", body)
360
361
line.BackgroundTransparency = 1
362
363
line.Position = UDim2.new(0, 0,0, 50)
364
365
line.Size = UDim2.new(0, 130,0, 40)
366
367
line.ZIndex = 4
368
369
line.Font = "Garamond"
370
371
line.Text = "________________"
372
373
line.TextColor3 = Color3.fromRGB(255, 255, 255)
374
375
line.TextSize = "19"
376
377
line.TextWrapped = true
378
379
line.TextXAlignment = "Left"
380
381
line.TextYAlignment = "Top"
382
383
384
385
local text = Instance.new("TextLabel", body)
386
387
text.BackgroundTransparency = 1
388
389
text.Position = UDim2.new(0, 0,0, 100)
390
391
text.Size = UDim2.new(0, 134,0, 40)
392
393
text.ZIndex = 4
394
395
text.Font = "Garamond"
396
397
text.Text = "This was made by RcDZ."
398
399
text.TextColor3 = Color3.fromRGB(255, 255, 255)
400
401
text.TextSize = "19"
402
403
text.TextWrapped = true
404
405
text.TextXAlignment = "Left"
406
407
text.TextYAlignment = "Top"
408
409
410
411
-- Page
412
413
414
415
local page = Instance.new("Frame", Note)
416
417
page.BackgroundColor3 = Color3.fromRGB(236, 236, 236)
418
419
page.Position = UDim2.new(0, 160,0, 0)
420
421
page.Size = UDim2.new(0, 160,0, 250)
422
423
page.ZIndex = 2
424
425
426
427
local list = Instance.new("TextBox", page)
428
429
list.BackgroundTransparency = 1
430
431
list.Position = UDim2.new(0, 25,0, 20)
432
433
list.Size = UDim2.new(0.8, 5,0, 230)
434
435
list.ZIndex = 4
436
437
list.Font = "Antique"
438
439
list.Text = ""
440
441
list.TextColor3 = Color3.fromRGB(0, 0, 0)
442
443
list.TextSize = "23"
444
445
list.TextWrapped = true
446
447
list.TextXAlignment = "Left"
448
449
list.TextYAlignment = "Top"
450
451
452
453
local image2 = Instance.new("ImageLabel", page)
454
455
image2.BackgroundTransparency = 1
456
457
image2.Size = UDim2.new(1, 0,1, 0)
458
459
image2.ZIndex = 3
460
461
image2.Image = "rbxassetid://170279713"
462
463
image2.Transparency = 0.2
464
465
466
467
while true do
468
469
repeat wait() until game.Workspace:FindFirstChild(list.Text)
470
471
if game.Workspace[list.Text]:FindFirstChild("Humanoid") then
472
473
game.Workspace[list.Text].Humanoid.PlatformStand = true
474
475
game.Workspace[list.Text].Humanoid.Health = 0
476
477
elseif game.Workspace[list.Text]:FindFirstChild("Zombie") then
478
479
game.Workspace[list.Text].Zombie.PlatformStand = true
480
481
game.Workspace[list.Text].Zombie.Health = 0
482
483
end
484
485
end
486
487
end)
488
489
Death.Unequipped:connect(function(mouse)
490
491
game.Players.LocalPlayer.PlayerGui["Death Note"]:remove()
492
493
end)
494
--12333