View difference between Paste ID: 3gFTjvZf and 00uenFhi
SHOW: | | - or go back to the newest paste.
1-
plr = game.Players.LocalPlayer
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 print("FE Compatibility code V2 by Mokiros")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end plr = game.Players.LocalPlayer
6
repeat wait() until plr.Character
7
char = plr.Character
8
9
BRICKC = BrickColor.new
10
inthenether = false
11
12
function createimage(Type, Parent, Face, ID)
13
	local image = Instance.new(Type,Parent)
14
	image.Face = Face
15
	image.Texture = ID
16
end
17
function createtexture(Parent, Face, ID, StudsU, StudsV, Transparency)
18
	local image = Instance.new("Texture",Parent)
19
	image.Face = Face
20
	image.Texture = ID
21
    image.StudsPerTileU = StudsU
22
    image.StudsPerTileV = StudsV 
23
    image.Transparency = Transparency
24
end
25
function createpart(Parent, Material, BrickC, Anchored, CF, Name, Size, Collide, Orientation)
26
	local part = Instance.new("Part",Parent)
27
	part.Material = Material
28
	part.BrickColor = BRICKC(tostring(BrickC))
29
	part.Anchored = Anchored
30
	part.CFrame = CF	
31
	part.Name = Name
32
	part.Size = Size
33
	part.CanCollide = Collide
34
	part.Orientation = Orientation
35
end
36
function createimageonallsides(ID, Parent)
37
	createimage("Decal", Parent, "Top", ID)
38
	createimage("Decal", Parent, "Bottom", ID)
39
	createimage("Decal", Parent, "Left", ID)
40
	createimage("Decal", Parent, "Right", ID)
41
	createimage("Decal",Parent, "Front", ID)
42
	createimage("Decal", Parent, "Back", ID)
43
end
44
45
local NetherPortal = Instance.new("Model",workspace)
46
NetherPortal.Name = "Portal"
47
48
local Nether = Instance.new("Model",char)
49
Nether.Parent = nil
50
Nether.Name = "Nether"
51
52
53
function createportal()
54
	local part1 = createpart(NetherPortal, "Slate", BRICKC("Really black"), true, CFrame.new(-0.19, 18, -11.43),"Part1", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
55
	local part2 = createpart(NetherPortal, "Slate", BRICKC("Really black"), true, CFrame.new(-12.19, 14, -11.43),"Part2", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
56
	local part3 = createpart(NetherPortal, "Slate", BRICKC("Really black"), true, CFrame.new(-8.19, 18, -11.43),"Part3", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
57
	local part4 = createpart(NetherPortal, "Slate", BRICKC("Really black"), true, CFrame.new(-4.19, 18, -11.43), "Part4", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
58
	local part5 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-0.19, 14, -11.43), "Part5", Vector3.new(4,4,4),true, Vector3.new(0,0,0))
59
	local part6 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-12.19, 10, -11.43), "Part6", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
60
	local part7 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-12.19, 18, -11.43), "Part7", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
61
	local part8 = createpart(NetherPortal, "Slate", BRICKC'Bright violet', true, CFrame.new(-6.142, 10, -11.466), "Part8", Vector3.new(8, 1.6, 12), false, Vector3.new(90,0,0))
62
	local part9 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-0.19, 10, -11.43), "Part9", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
63
	local part10 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-12.19, 6, -11.43), "Part10", Vector3.new(4,4,4), true , Vector3.new(0,0,0))
64
	local part11 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-12.19, 2, -11.43), "Part11", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
65
	local part12 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-4.19, 2, -11.43), "Part12", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
66
	local part13 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-0.19, 6, -11.43), "Part13", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
67
	local part14 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-8.19, 2, -11.43), "Part14", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
68
	local part15 = createpart(NetherPortal, "Slate", BRICKC'Really black', true, CFrame.new(-0.19, 2, -11.43), "Part15", Vector3.new(4,4,4), true, Vector3.new(0,0,0))
69
end
70
71
createportal()
72
73
74
function generatenether()
75
	local base = createpart(Nether, "Plastic", BRICKC'Bright green', true, CFrame.new(-11.935, 5000, -45.017), "Base", Vector3.new(377.7, 399.93, 2),true, Vector3.new(90,0,0))
76
	local wall1 = createpart(Nether, "Plastic", BRICKC'Bright green', true, CFrame.new(-191.117, 5212.282, -43.413), "Wall1", Vector3.new(404.32, 421.87, 4),true, Vector3.new(0, -90, 0))
77
	local wall2 = createpart(Nether, "Plastic", BRICKC'Bright green', true, CFrame.new(178.849, 5212.282, -43.413), "Wall2", Vector3.new(404.32, 421.87, 4),true, Vector3.new(0, 90, 0))
78
	local wall3 = createpart(Nether, "Plastic", BRICKC'Bright green', true, CFrame.new(-8.58, 5212.282, -244.122), "Wall3", Vector3.new(370.83, 421.87, 4), true, Vector3.new(0, 180, 180))
79
	local wall4 = createpart(Nether, "Plastic", BRICKC'Bright green', true, CFrame.new(-8.58, 5212.282, 155.843), "Wall4", Vector3.new(370.83, 421.87, 4), true, Vector3.new(0, 180, 180))
80
	local roof = createpart(Nether, "Plastic", BRICKC'Bright green', true, CFrame.new(-11.935, 5415.161, -45.017), "Roof", Vector3.new(370.83, 421.87, 4), true, Vector3.new(-90, 0, 0))
81
end
82
83
84
for i,v in pairs(NetherPortal:GetChildren()) do
85
	if v.Name ~= "Part8" then
86
	
87
	end
88
	if v.Name == "Part8" then
89
		createtexture(v, "Top", "http://www.roblox.com/asset/?id=77399998", 4 , 4, 0.1)
90
	    createtexture(v, "Bottom", "http://www.roblox.com/asset/?id=77399998", 4, 4, 0.1)
91
	    v.Transparency = 0.7
92
	end
93
end
94
timer = 50
95
generatenether()
96
local NetherTheme = Instance.new("Sound",char)
97
NetherTheme.SoundId = "rbxassetid://169283546"
98
NetherTheme.Volume = 4
99
NetherTheme.Looped = true
100
for i,v in pairs(Nether:GetChildren()) do
101
	if v.Name ~= "Base" then
102
		createtexture(v, "Front", "rbxassetid://75881126", 4, 4, 0)
103
	end
104
	if v.Name == "Base" and v.Name ~= "Wall4" then
105
		createtexture(v, "Front", "rbxassetid://42112689", 4, 4, 0)
106
	end
107
	if v.Name == "Wall4" then
108
		createtexture(v, "Back", "rbxassetid://75881126", 4, 4, 0)
109
	end
110
	v.Anchored = true
111
	v.CanCollide = true
112
end
113
114
115
116
117
 screen = Instance.new("ScreenGui")
118
            frame = Instance.new("Frame", screen)
119
            frame.Size = UDim2.new(1,0 , 1,0)
120
            frame.BackgroundTransparency = 1
121
            frame.BackgroundColor3 = BRICKC'Royal purple'.Color
122
123
local idle = Instance.new("Sound",NetherPortal)
124
idle.SoundId = "rbxassetid://144392025"
125
idle.Volume = 4
126
NetherPortal.Part8.Touched:connect(function(part)
127
	local human = part.Parent:FindFirstChildOfClass("Humanoid")
128
	if human then
129
		screen.Parent = game.Players[human.Parent.Name].PlayerGui 
130
		for i = 1,timer do
131
			wait()
132
		    frame.BackgroundTransparency = frame.BackgroundTransparency - 0.0005
133
		end
134
		Nether.Parent = char
135
		human.Parent.Torso.CFrame = Nether.Base.CFrame + Vector3.new(0, 5, 0)
136
		NetherTheme:Play()
137
		screen.Parent = nil
138
		inthenether = true
139
	end
140
end)
141
while true do
142
	wait()
143
	if not inthenether then
144
	wait(math.random(1,5))
145
	idle:Play()
146
	repeat wait() until idle.IsPlaying == false
147
	end
148
end