View difference between Paste ID: f9BsN5VL and T7uwxGvp
SHOW: | | - or go back to the newest paste.
1
-- This script has convert to FE by who i don't know?
2
 
3
-----------------------------------------------------
4
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
5
local Player,game,owner = owner,game
6
local RealPlayer = Player
7
do
8
    print("FE Compatibility code by Mokiros | Showcase by Bacon Hair!")
9
    local rp = RealPlayer
10
    script.Parent = rp.Character
11
   
12
    --RemoteEvent for communicating
13
    local Event = Instance.new("RemoteEvent")
14-
		for i,v in pairs(workspace:GetChildren()) do
14+
    Event.Name = "UserInput_Event"
15
 
16
    --Fake event to make stuff like Mouse.KeyDown work
17
    local function fakeEvent()
18
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
19
        t.connect = t.Connect
20
        return t
21
    end
22
 
23
    --Creating fake input objects with fake variables
24-
for i,v in pairs(game.Players:GetChildren()) do
24+
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
25
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
26
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
27
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
28
    end}
29
    --Merged 2 functions into one by checking amount of arguments
30
    CAS.UnbindAction = CAS.BindAction
31
 
32
    --This function will trigger the events that have been :Connect()'ed
33
    local function te(self,ev,...)
34
        local t = m[ev]
35
        if t and t._fakeEvent then
36
            for _,f in pairs(t.Functions) do
37
                f(...)
38
            end
39
        end
40
    end
41
    m.TrigEvent = te
42
    UIS.TrigEvent = te
43
 
44
    Event.OnServerEvent:Connect(function(plr,io)
45
        if plr~=rp then return end
46
        m.Target = io.Target
47
        m.Hit = io.Hit
48
        if not io.isMouse then
49
            local b = io.UserInputState == Enum.UserInputState.Begin
50
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
51
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
52
            end
53
            for _,t in pairs(CAS.Actions) do
54
                for _,k in pairs(t.Keys) do
55
                    if k==io.KeyCode then
56
                        t.Function(t.Name,io.UserInputState,io)
57
                    end
58
                end
59
            end
60
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
61
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
62
        end
63
    end)
64
    Event.Parent = NLS([==[
65
    local Player = game:GetService("Players").LocalPlayer
66
    local Event = script:WaitForChild("UserInput_Event")
67
 
68
    local Mouse = Player:GetMouse()
69
    local UIS = game:GetService("UserInputService")
70
    local input = function(io,a)
71
        if a then return end
72
        --Since InputObject is a client-side instance, we create and pass table instead
73
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
74
    end
75
    UIS.InputBegan:Connect(input)
76
    UIS.InputEnded:Connect(input)
77
 
78
    local h,t
79
    --Give the server mouse data 30 times every second, but only if the values changed
80
    --If player is not moving their mouse, client won't fire events
81
    while wait(1/30) do
82
        if h~=Mouse.Hit or t~=Mouse.Target then
83
            h,t=Mouse.Hit,Mouse.Target
84
            Event:FireServer({isMouse=true,Target=t,Hit=h})
85
        end
86
    end]==],Player.Character)
87
 
88
    ----Sandboxed game object that allows the usage of client-side methods and services
89
    --Real game object
90
    local _rg = game
91
 
92
    --Metatable for fake service
93
    local fsmt = {
94
        __index = function(self,k)
95
            local s = rawget(self,"_RealService")
96
            if s then return s[k] end
97
        end,
98
        __newindex = function(self,k,v)
99
            local s = rawget(self,"_RealService")
100
            if s then s[k]=v end
101
        end,
102
        __call = function(self,...)
103
            local s = rawget(self,"_RealService")
104
            if s then return s(...) end
105
        end
106
    }
107
    local function FakeService(t,RealService)
108
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
109
        return setmetatable(t,fsmt)
110
    end
111
 
112
    --Fake game object
113
    local g = {
114
        GetService = function(self,s)
115
            return self[s]
116
        end,
117
        Players = FakeService({
118
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
119
        },"Players"),
120
        UserInputService = FakeService(UIS,"UserInputService"),
121
        ContextActionService = FakeService(CAS,"ContextActionService"),
122
    }
123
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
124
    g.service = g.GetService
125
   
126
    g.RunService = FakeService({
127
        RenderStepped = _rg:GetService("RunService").Heartbeat,
128
        BindToRenderStep = function(self,name,_,fun)
129
 
130
        end,
131
        UnbindFromRenderStep = function(self,name)
132
            self._btrs[name]:Disconnect()
133
        end,
134
    },"RunService")
135
 
136
    setmetatable(g,{
137
        __index=function(self,s)
138
            return _rg:GetService(s) or typeof(_rg[s])=="function"
139
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
140
        end,
141
        __newindex = fsmt.__newindex,
142
        __call = fsmt.__call
143
    })
144
    --Changing owner to fake player object to support owner:GetMouse()
145
    game,owner = g,g.Players.LocalPlayer
146
end
147
148
wait(1)
149
math.randomseed(tick() % 1 * 1e6)
150
sky = coroutine.create(function()
151
	while wait(0.3) do
152
		s = Instance.new("Sky",game.Lighting)
153
		s.SkyboxBk,s.SkyboxDn,s.SkyboxFt,s.SkyboxLf,s.SkyboxRt,s.SkyboxUp = "rbxassetid://201208408","rbxassetid://201208408","rbxassetid://201208408","rbxassetid://201208408","rbxassetid://201208408","rbxassetid://201208408"
154
		s.CelestialBodiesShown = false
155
	end
156
end)
157
158
159
del = coroutine.create(function()
160
	while wait(0.3) do
161
		for i,v in pairs(workspace.GetChildren()) do
162
			if v:IsA("Model") then
163
				v:Destroy()
164
			end
165
		end
166
	end
167
end)
168
169
170
171
for i,v in pairs(game.Players.GetChildren()) do
172
end
173
174
noises = {'rbxassetid://230287740','rbxassetid://271787597','rbxassetid://153752123','rbxassetid://271787503'}
175
176
sound = coroutine.create(function()
177
	a = Instance.new("Sound",workspace)
178
	a.SoundId = "rbxassetid://141509625"
179
	a.Name = "RAINING MEN"
180
	a.Volume = 58359
181
	a.Looped = true
182
	a:Play()
183
	while wait(0.2) do
184
		rainin = workspace:FindFirstChild("RAINING MEN")
185
		if not rainin then
186
			a = Instance.new("Sound",workspace)
187
			a.SoundId = "rbxassetid://141509625"
188
			a.Name = "RAINING MEN"
189
			a.Volume = 58359
190
			a.Looped = true
191
			a:Play()
192
		end
193
	end
194
end)
195
196
msg = coroutine.create(function()
197
	while wait(0.4) do
198
		msg = Instance.new("Message",workspace)
199
		msg.Text = "Get toadroasted you bacon-haired bozos. (GO QUIT FUCKED SHIT NIGGER XD FELIXMAYERKIDS IS A HACKER)"
200
		wait(0.4)
201
		msg:Destroy()
202
	end
203
end) 
204
205
206
rain = coroutine.create(function()
207
	while wait(10 % 1 * 1e2) do
208
		part = Instance.new("Part",workspace)
209
		part.Name = "Toad"
210
		
211
		mesh = Instance.new("SpecialMesh",part)
212
		
213
		sound = Instance.new("Sound",workspace)
214
		
215
		part.CanCollide = false
216
		part.Size = Vector3.new(440,530,380)
217
		part.Position = Vector3.new(math.random(-3000,1000),math.random(1,3000),math.random(-3000,3000))
218
	
219
		sound.SoundId = noises[math.random(1,#noises)]
220
		sound:Play()
221
		sound.Ended:connect(function()
222
			sound:Destroy()
223
		end)
224
		
225
		
226
		mesh.MeshType = "FileMesh"
227
		mesh.MeshId = "rbxassetid://430210147"
228
		mesh.TextureId = "rbxassetid://430210159"
229
	end
230
end)
231
coroutine.resume(sky)
232
coroutine.resume(del)
233
coroutine.resume(sound)
234
coroutine.resume(msg)
235
coroutine.resume(rain)