View difference between Paste ID: 4pMU8iwZ and PW7M17Bt
SHOW: | | - or go back to the newest paste.
1-
Player = game:GetService("Players").LocalPlayer
1+
2
-- This script has convert to FE by who i don't know?
3
 
4
-----------------------------------------------------
5
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
6
local Player,game,owner = owner,game
7
local RealPlayer = Player
8
do
9
    print("FE Compatibility code by Mokiros | Showcase by Bacon Hair!")
10
    local rp = RealPlayer
11
    script.Parent = rp.Character
12
   
13
    --RemoteEvent for communicating
14
    local Event = Instance.new("RemoteEvent")
15
    Event.Name = "UserInput_Event"
16
 
17
    --Fake event to make stuff like Mouse.KeyDown work
18
    local function fakeEvent()
19
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
20
        t.connect = t.Connect
21
        return t
22
    end
23
 
24
    --Creating fake input objects with fake variables
25
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
26
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
27
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
28
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
29
    end}
30
    --Merged 2 functions into one by checking amount of arguments
31
    CAS.UnbindAction = CAS.BindAction
32
 
33-
Tool.Name = "Painis"
33+
    --This function will trigger the events that have been :Connect()'ed
34
    local function te(self,ev,...)
35
        local t = m[ev]
36
        if t and t._fakeEvent then
37
            for _,f in pairs(t.Functions) do
38
                f(...)
39
            end
40
        end
41
    end
42
    m.TrigEvent = te
43
    UIS.TrigEvent = te
44
 
45
    Event.OnServerEvent:Connect(function(plr,io)
46
        if plr~=rp then return end
47
        m.Target = io.Target
48
        m.Hit = io.Hit
49
        if not io.isMouse then
50
            local b = io.UserInputState == Enum.UserInputState.Begin
51
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
52
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
53
            end
54
            for _,t in pairs(CAS.Actions) do
55
                for _,k in pairs(t.Keys) do
56
                    if k==io.KeyCode then
57
                        t.Function(t.Name,io.UserInputState,io)
58
                    end
59
                end
60
            end
61
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
62
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
63
        end
64
    end)
65
    Event.Parent = NLS([==[
66
    local Player = game:GetService("Players").LocalPlayer
67
    local Event = script:WaitForChild("UserInput_Event")
68
 
69
    local Mouse = Player:GetMouse()
70
    local UIS = game:GetService("UserInputService")
71
    local input = function(io,a)
72
        if a then return end
73
        --Since InputObject is a client-side instance, we create and pass table instead
74
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
75
    end
76
    UIS.InputBegan:Connect(input)
77
    UIS.InputEnded:Connect(input)
78
 
79
    local h,t
80
    --Give the server mouse data 30 times every second, but only if the values changed
81-
mo.Name = "EEEEUGH HA HA HAAAAA"
81+
    --If player is not moving their mouse, client won't fire events
82
    while wait(1/30) do
83
        if h~=Mouse.Hit or t~=Mouse.Target then
84
            h,t=Mouse.Hit,Mouse.Target
85
            Event:FireServer({isMouse=true,Target=t,Hit=h})
86
        end
87
    end]==],Player.Character)
88
 
89
    ----Sandboxed game object that allows the usage of client-side methods and services
90
    --Real game object
91
    local _rg = game
92
 
93
    --Metatable for fake service
94
    local fsmt = {
95
        __index = function(self,k)
96
            local s = rawget(self,"_RealService")
97
            if s then return s[k] end
98
        end,
99
        __newindex = function(self,k,v)
100
            local s = rawget(self,"_RealService")
101
            if s then s[k]=v end
102
        end,
103
        __call = function(self,...)
104
            local s = rawget(self,"_RealService")
105
            if s then return s(...) end
106
        end
107
    }
108
    local function FakeService(t,RealService)
109
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
110
        return setmetatable(t,fsmt)
111
    end
112
 
113
    --Fake game object
114
    local g = {
115
        GetService = function(self,s)
116
            return self[s]
117
        end,
118
        Players = FakeService({
119
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
120
        },"Players"),
121
        UserInputService = FakeService(UIS,"UserInputService"),
122
        ContextActionService = FakeService(CAS,"ContextActionService"),
123
    }
124
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
125
    g.service = g.GetService
126
   
127
    g.RunService = FakeService({
128
        RenderStepped = _rg:GetService("RunService").Heartbeat,
129
        BindToRenderStep = function(self,name,_,fun)
130
 
131
        end,
132
        UnbindFromRenderStep = function(self,name)
133
            self._btrs[name]:Disconnect()
134
        end,
135
    },"RunService")
136
 
137
    setmetatable(g,{
138
        __index=function(self,s)
139
            return _rg:GetService(s) or typeof(_rg[s])=="function"
140
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
141
        end,
142
        __newindex = fsmt.__newindex,
143
        __call = fsmt.__call
144
    })
145
    --Changing owner to fake player object to support owner:GetMouse()
146
    game,owner = g,g.Players.LocalPlayer
147
end
148
 
149
150
Player = game:GetService("Players").THECREATOR20029
151
152
Character = Player.Character
153
154
PlayerGui = Player.PlayerGui
155
156
Backpack = Player.Backpack
157
158
Torso = Character.Torso
159
160
Head = Character.Head
161
162
LeftArm = Character["Left Arm"]
163
164
LeftLeg = Character["Left Leg"]
165
166
RightArm = Character["Right Arm"]
167
168
RightLeg = Character["Right Leg"]
169
170
LS = Torso["Left Shoulder"]
171
172
LH = Torso["Left Hip"]
173
174
RS = Torso["Right Shoulder"]
175
176
RH = Torso["Right Hip"]
177
178
Tool = Instance.new("HopperBin")
179
180
Tool.Parent = Backpack
181
182
Tool.Name = "something here?"
183
184
Bin = Tool
185
186
so = function(id, par, vol, pit)
187
188
189
190
coroutine.resume(coroutine.create(function()
191
192
193
194
local sou = Instance.new("Sound", par or workspace)
195
196
sou.Volume = vol
197
198
sou.Pitch = pit or 1
199
200
sou.SoundId = id
201
202
wait()
203
204
sou:play()
205
206
wait(6)
207
208
sou:Remove()
209
210
end
211
212
))
213
214
end
215
216
217
218
ob1d = function(mouse)
219
220
221
222
size = 0.5
223
224
mode = 1
225
226
color = BrickColor.new(Color3.new(math.random(), math.random(), math.random()))
227
228
mo = Instance.new("Model")
229
230
mo.Name = "Hmp"
231
232
mo.Parent = workspace
233
234
game.Debris:AddItem(mo, 10)
235
236
p = Instance.new("Seat")
237
238
p.Name = "Torso"
239
240
p.Size = Vector3.new(14, 50, 14) * size
241
242
p.BrickColor = color
243
244
m = Instance.new("SpecialMesh")
245
246
m.Parent = p
247
248
p.Name = "Torso"
249
250
p.Parent = mo
251
252
p = Instance.new("Seat")
253
254
p.Shape = "Ball"
255-
s.SoundId = "http://www.roblox.com/asset/?id=149779810"
255+
256
p.Size = Vector3.new(24, 24, 24) * size
257
258
p.BrickColor = color
259
260
p.Name = "Legball"
261
262
for i = 1, 10 do
263
264
lol = Instance.new("Seat")
265
266
lol.BrickColor = BrickColor:Black()
267
268
lol.Name = "SEE?"
269-
so("http://www.roblox.com/asset/?id=148636758", Part, 100, 1)
269+
270
lol.Parent = mo
271
272
lol.Size = Vector3.new(1, math.random(30, 40), 1) * size
273
274
w = Instance.new("Weld")
275
276
w.Part0 = p
277
278
w.Part1 = lol
279
280
w.C0 = CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
281
282
w.Parent = w.Part0
283
284
end
285
286
p.Parent = mo
287
288
w = Instance.new("Weld")
289
290
w.Part0 = mo.Torso
291
292
w.Part1 = p
293
294
w.C0 = CFrame.new(16 * (size / 2), -48 * (size / 2), 0)
295
296
w.Parent = w.Part0
297
298
p = Instance.new("Seat")
299
300
p.Shape = "Ball"
301
302
p.Size = Vector3.new(24, 24, 24) * size
303
304
p.BrickColor = color
305
306
p.Name = "Legball"
307
308
for i = 1, 10 do
309
310
lol = Instance.new("Seat")
311
312
lol.BrickColor = BrickColor:Black()
313
314
lol.Name = "SEE?"
315
316
lol.Parent = mo
317
318
lol.Size = Vector3.new(1, math.random(30, 40), 1) * size
319
320
w = Instance.new("Weld")
321
322
w.Part0 = p
323
324
w.Part1 = lol
325
326
w.C0 = CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
327
328
w.Parent = w.Part0
329
330
end
331
332
p.Parent = mo
333
334
w = Instance.new("Weld")
335
336
w.Part0 = mo.Torso
337
338
w.Part1 = p
339
340
w.C0 = CFrame.new(-16 * (size / 2), -48 * (size / 2), 0)
341
342
w.Parent = w.Part0
343
344
p = Instance.new("Seat")
345
346
p.Shape = "Ball"
347
348
p.Size = Vector3.new(21, 15, 21) * size
349
350
p.BrickColor = color
351
352
p.Name = "Legball"
353
354
for i = 1, 10 do
355
356
lol = Instance.new("Seat")
357
358
lol.BrickColor = BrickColor:Black()
359
360
lol.Name = "SEE?"
361
362
lol.Parent = mo
363
364
lol.Size = Vector3.new(1, math.random(30, 40), 1) * size
365
366
w = Instance.new("Weld")
367
368
w.Part0 = p
369
370
w.Part1 = lol
371
372
w.C0 = CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
373
374
w.Parent = w.Part0
375
376
end
377
378
p.Parent = mo
379
380
w = Instance.new("Weld")
381
382
w.Part0 = mo.Torso
383
384
w.Part1 = p
385
386
w.C0 = CFrame.new(0, 60 * (size / 2), 0)
387
388
m = Instance.new("SpecialMesh")
389
390
m.Parent = p
391
392
p.Name = "Head"
393
394
w.Parent = w.Part0
395
396
s = Instance.new("Sound")
397
398
s.Parent = mo.Torso
399
400
s.Volume = 100
401
402
s.Pitch = 1
403
404
s.SoundId = "http://www.roblox.com/asset/?id=340449725"
405
406
s.Looped = true
407
408
s:play()
409
410
coroutine.resume(coroutine.create(function(Part)
411
412
413
414
while Part.Parent ~= nil do
415
416
wait(math.random())
417
418
so("http://www.roblox.com/asset/?id=0", Part, 100, 1)
419
420
end
421
422
end
423
424
), mo.Torso)
425
426
mo.Torso.CFrame = mo.Torso.CFrame * Torso.CFrame * CFrame.new(0, 0, -50 * size) * CFrame.fromEulerAnglesXYZ(-1.57, 0, 0)
427
428
mo.Torso.Velocity = mouse.Hit.lookVector * 400
429
430
coroutine.resume(coroutine.create(function(Part)
431
432
433
434
while 1 do
435
436
wait(math.random(0, 1) + math.random())
437
438
Part.RotVelocity = Vector3.new(math.random(-40, 40), math.random(-40, 40), math.random(-40, 40))
439
440
end
441
442
end
443
444
), mo.Torso)
445
446
end
447
448
449
450
ob1u = function(mouse)
451
452
453
454
end
455
456
457
458
buttonhold = false
459
460
key = function(key, mouse)
461
462
463
464
end
465
466
467
468
key2 = function(key, mouse)
469
470
471
472
end
473
474
475
476
s = function(mouse)
477
478
479
480
mouse.Button1Down:connect(function()
481
482
483
484
ob1d(mouse)
485
486
end
487
488
)
489
490
mouse.Button1Up:connect(function()
491
492
493
494
ob1u(mouse)
495
496
end
497
498
)
499
500
mouse.KeyDown:connect(key)
501
502
mouse.KeyUp:connect(key2)
503
504
end
505
506
507
508
ds = function(mouse)
509
510
511
512
end
513
514
515
516
Bin.Selected:connect(s)
517
518
Bin.Deselected:connect(ds)