1 | local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))() |
2 | local Window = OrionLib:MakeWindow({IntroText = "Doors GUI v1.2",Name = "Doors", HidePremium = false, SaveConfig = true, ConfigFolder = "DoorsSex"}) |
3 | if game.PlaceId == 6516141723 then |
4 | OrionLib:MakeNotification({ |
5 | Name = "Error", |
6 | Content = "Please execute when in game, not in lobby.", |
7 | Time = 2 |
8 | }) |
9 | end |
10 | local VisualsTab = Window:MakeTab({ |
11 | Name = "Visuals", |
12 | Icon = "rbxassetid://4483345998", |
13 | PremiumOnly = false |
14 | }) |
15 | local CF = CFrame.new |
16 | local LatestRoom = game:GetService("ReplicatedStorage").GameData.LatestRoom |
17 | local ChaseStart = game:GetService("ReplicatedStorage").GameData.ChaseStart |
18 | |
19 | local KeyChams = {} |
20 | VisualsTab:AddToggle({ |
21 | Name = "Key Chams", |
22 | Default = false, |
23 | Flag = "KeyToggle", |
24 | Save = true, |
25 | Callback = function(Value) |
26 | for i,v in pairs(KeyChams) do |
27 | v.Enabled = Value |
28 | end |
29 | end |
30 | }) |
31 | |
32 | local function ApplyKeyChams(inst) |
33 | wait() |
34 | local Cham = Instance.new("Highlight") |
35 | Cham.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop |
36 | Cham.FillColor = Color3.new(0.980392, 0.670588, 0) |
37 | Cham.FillTransparency = 0.5 |
38 | Cham.OutlineColor = Color3.new(0.792156, 0.792156, 0.792156) |
39 | Cham.Parent = game:GetService("CoreGui") |
40 | Cham.Adornee = inst |
41 | Cham.Enabled = OrionLib.Flags["KeyToggle"].Value |
42 | Cham.RobloxLocked = true |
43 | return Cham |
44 | end |
45 | |
46 | local KeyCoroutine = coroutine.create(function() |
47 | workspace.CurrentRooms.DescendantAdded:Connect(function(inst) |
48 | if inst.Name == "KeyObtain" then |
49 | table.insert(KeyChams,ApplyKeyChams(inst)) |
50 | end |
51 | end) |
52 | end) |
53 | for i,v in ipairs(workspace:GetDescendants()) do |
54 | if v.Name == "KeyObtain" then |
55 | table.insert(KeyChams,ApplyKeyChams(v)) |
56 | end |
57 | end |
58 | coroutine.resume(KeyCoroutine) |
59 | |
60 | local BookChams = {} |
61 | VisualsTab:AddToggle({ |
62 | Name = "Book Chams", |
63 | Default = false, |
64 | Flag = "BookToggle", |
65 | Save = true, |
66 | Callback = function(Value) |
67 | for i,v in pairs(BookChams) do |
68 | v.Enabled = Value |
69 | end |
70 | end |
71 | }) |
72 | |
73 | local FigureChams = {} |
74 | VisualsTab:AddToggle({ |
75 | Name = "Figure Chams", |
76 | Default = false, |
77 | Flag = "FigureToggle", |
78 | Save = true, |
79 | Callback = function(Value) |
80 | for i,v in pairs(FigureChams) do |
81 | v.Enabled = Value |
82 | end |
83 | end |
84 | }) |
85 | |
86 | local function ApplyBookChams(inst) |
87 | if inst:IsDescendantOf(game:GetService("Workspace").CurrentRooms:FindFirstChild("50")) and game:GetService("ReplicatedStorage").GameData.LatestRoom.Value == 50 then |
88 | wait() |
89 | local Cham = Instance.new("Highlight") |
90 | Cham.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop |
91 | Cham.FillColor = Color3.new(0, 1, 0.749019) |
92 | Cham.FillTransparency = 0.5 |
93 | Cham.OutlineColor = Color3.new(0.792156, 0.792156, 0.792156) |
94 | Cham.Parent = game:GetService("CoreGui") |
95 | Cham.Enabled = OrionLib.Flags["BookToggle"].Value |
96 | Cham.Adornee = inst |
97 | Cham.RobloxLocked = true |
98 | return Cham |
99 | end |
100 | end |
101 | |
102 | local function ApplyEntityChams(inst) |
103 | wait() |
104 | local Cham = Instance.new("Highlight") |
105 | Cham.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop |
106 | Cham.FillColor = Color3.new(1, 0, 0) |
107 | Cham.FillTransparency = 0.5 |
108 | Cham.OutlineColor = Color3.new(0.792156, 0.792156, 0.792156) |
109 | Cham.Parent = game:GetService("CoreGui") |
110 | Cham.Enabled = OrionLib.Flags["FigureToggle"].Value |
111 | Cham.Adornee = inst |
112 | Cham.RobloxLocked = true |
113 | return Cham |
114 | end |
115 | |
116 | local BookCoroutine = coroutine.create(function() |
117 | task.wait(1) |
118 | for i,v in pairs(game:GetService("Workspace").CurrentRooms["50"].Assets:GetDescendants()) do |
119 | if v.Name == "LiveHintBook" then |
120 | table.insert(BookChams,ApplyBookChams(v)) |
121 | end |
122 | end |
123 | end) |
124 | local EntityCoroutine = coroutine.create(function() |
125 | local Entity = game:GetService("Workspace").CurrentRooms["50"].FigureSetup:WaitForChild("FigureRagdoll",5) |
126 | Entity:WaitForChild("Torso",2.5) |
127 | table.insert(FigureChams,ApplyEntityChams(Entity)) |
128 | end) |
129 | |
130 | |
131 | local GameTab = Window:MakeTab({ |
132 | Name = "Game", |
133 | Icon = "rbxassetid://4483345998", |
134 | PremiumOnly = false |
135 | }) |
136 | local CharTab = Window:MakeTab({ |
137 | Name = "Character", |
138 | Icon = "rbxassetid://4483345998", |
139 | PremiumOnly = false |
140 | }) |
141 | |
142 | local TargetWalkspeed |
143 | CharTab:AddSlider({ |
144 | Name = "Speed", |
145 | Min = 0, |
146 | Max = 50, |
147 | Default = 5, |
148 | Color = Color3.fromRGB(255,255,255), |
149 | Increment = 1, |
150 | Callback = function(Value) |
151 | TargetWalkspeed = Value |
152 | end |
153 | }) |
154 | |
155 | local pcl = Instance.new("SpotLight") |
156 | pcl.Brightness = 1 |
157 | pcl.Face = Enum.NormalId.Front |
158 | pcl.Range = 90 |
159 | pcl.Parent = game.Players.LocalPlayer.Character.Head |
160 | pcl.Enabled = false |
161 | |
162 | |
163 | CharTab:AddToggle({ |
164 | Name = "Headlight", |
165 | Default = false, |
166 | Callback = function(Value) |
167 | pcl.Enabled = Value |
168 | end |
169 | }) |
170 | |
171 | GameTab:AddToggle({ |
172 | Name = "No seek arms/obstructions", |
173 | Default = false, |
174 | Flag = "NoSeek", |
175 | Save = true |
176 | }) |
177 | |
178 | GameTab:AddToggle({ |
179 | Name = "Instant Interact", |
180 | Default = false, |
181 | Flag = "InstantToggle", |
182 | Save = true |
183 | }) |
184 | GameTab:AddButton({ |
185 | Name = "Skip level", |
186 | Callback = function() |
187 | pcall(function() |
188 | local HasKey = false |
189 | local CurrentDoor = workspace.CurrentRooms[tostring(game:GetService("ReplicatedStorage").GameData.LatestRoom.Value)]:WaitForChild("Door") |
190 | for i,v in ipairs(CurrentDoor.Parent:GetDescendants()) do |
191 | if v.Name == "KeyObtain" then |
192 | HasKey = v |
193 | end |
194 | end |
195 | if HasKey then |
196 | game.Players.LocalPlayer.Character:PivotTo(CF(HasKey.Hitbox.Position)) |
197 | wait(0.3) |
198 | fireproximityprompt(HasKey.ModulePrompt,0) |
199 | game.Players.LocalPlayer.Character:PivotTo(CF(CurrentDoor.Door.Position)) |
200 | wait(0.3) |
201 | fireproximityprompt(CurrentDoor.Lock.UnlockPrompt,0) |
202 | end |
203 | if LatestRoom == 50 then |
204 | CurrentDoor = workspace.CurrentRooms[tostring(LatestRoom+1)]:WaitForChild("Door") |
205 | end |
206 | game.Players.LocalPlayer.Character:PivotTo(CF(CurrentDoor.Door.Position)) |
207 | wait(0.3) |
208 | CurrentDoor.ClientOpen:FireServer() |
209 | end) |
210 | end |
211 | }) |
212 | |
213 | GameTab:AddToggle({ |
214 | Name = "Auto skip level", |
215 | Default = false, |
216 | Save = false, |
217 | Flag = "AutoSkip" |
218 | }) |
219 | |
220 | local AutoSkipCoro = coroutine.create(function() |
221 | while true do |
222 | task.wait() |
223 | pcall(function() |
224 | if OrionLib.Flags["AutoSkip"].Value == true and game:GetService("ReplicatedStorage").GameData.LatestRoom.Value < 100 then |
225 | local HasKey = false |
226 | local LatestRoom = game:GetService("ReplicatedStorage").GameData.LatestRoom.Value |
227 | local CurrentDoor = workspace.CurrentRooms[tostring(LatestRoom)]:WaitForChild("Door") |
228 | for i,v in ipairs(CurrentDoor.Parent:GetDescendants()) do |
229 | if v.Name == "KeyObtain" then |
230 | HasKey = v |
231 | end |
232 | end |
233 | if HasKey then |
234 | game.Players.LocalPlayer.Character:PivotTo(CF(HasKey.Hitbox.Position)) |
235 | task.wait(0.3) |
236 | fireproximityprompt(HasKey.ModulePrompt,0) |
237 | game.Players.LocalPlayer.Character:PivotTo(CF(CurrentDoor.Door.Position)) |
238 | task.wait(0.3) |
239 | fireproximityprompt(CurrentDoor.Lock.UnlockPrompt,0) |
240 | end |
241 | if LatestRoom == 50 then |
242 | CurrentDoor = workspace.CurrentRooms[tostring(LatestRoom+1)]:WaitForChild("Door") |
243 | end |
244 | game.Players.LocalPlayer.Character:PivotTo(CF(CurrentDoor.Door.Position)) |
245 | task.wait(0.3) |
246 | CurrentDoor.ClientOpen:FireServer() |
247 | end |
248 | end) |
249 | end |
250 | end) |
251 | coroutine.resume(AutoSkipCoro) |
252 | |
253 | GameTab:AddButton({ |
254 | Name = "No jumpscares", |
255 | Callback = function() |
256 | pcall(function() |
257 | game:GetService("ReplicatedStorage").Bricks.Jumpscare:Destroy() |
258 | end) |
259 | end |
260 | }) |
261 | GameTab:AddToggle({ |
262 | Name = "Avoid Rush/Ambush", |
263 | Default = false, |
264 | Flag = "AvoidRushToggle", |
265 | Save = true |
266 | }) |
267 | GameTab:AddToggle({ |
268 | Name = "No Screech", |
269 | Default = false, |
270 | Flag = "ScreechToggle", |
271 | Save = true |
272 | }) |
273 | |
274 | GameTab:AddToggle({ |
275 | Name = "Always win heartbeat", |
276 | Default = false, |
277 | Flag = "HeartbeatWin", |
278 | Save = true |
279 | }) |
280 | |
281 | GameTab:AddToggle({ |
282 | Name = "Predict chases", |
283 | Default = false, |
284 | Flag = "PredictToggle" , |
285 | Save = true |
286 | }) |
287 | GameTab:AddToggle({ |
288 | Name = "Notify when mob spawns", |
289 | Default = false, |
290 | Flag = "MobToggle" , |
291 | Save = true |
292 | }) |
293 | GameTab:AddButton({ |
294 | Name = "Complete breaker box minigame", |
295 | Callback = function() |
296 | game:GetService("ReplicatedStorage").Bricks.EBF:FireServer() |
297 | end |
298 | }) |
299 | GameTab:AddButton({ |
300 | Name = "Skip level 50", |
301 | Callback = function() |
302 | local CurrentDoor = workspace.CurrentRooms[tostring(LatestRoom+1)]:WaitForChild("Door") |
303 | game.Players.LocalPlayer.Character:PivotTo(CF(CurrentDoor.Door.Position)) |
304 | end |
305 | }) |
306 | GameTab:AddParagraph("Warning","You may need to open/close the panel a few times for this to work, fixing soon.") |
307 | |
308 | --// ok actual code starts here |
309 | |
310 | game:GetService("RunService").RenderStepped:Connect(function() |
311 | pcall(function() |
312 | if game.Players.LocalPlayer.Character.Humanoid.MoveDirection.Magnitude > 0 then |
313 | game.Players.LocalPlayer.Character:TranslateBy(game.Players.LocalPlayer.Character.Humanoid.MoveDirection * TargetWalkspeed/50) |
314 | end |
315 | end) |
316 | end) |
317 | |
318 | game:GetService("Workspace").CurrentRooms.DescendantAdded:Connect(function(descendant) |
319 | if OrionLib.Flags["NoSeek"].Value == true and descendant.Name == ("Seek_Arm" or "ChandelierObstruction") then |
320 | task.spawn(function() |
321 | wait() |
322 | descendant:Destroy() |
323 | end) |
324 | end |
325 | end) |
326 | |
327 | game:GetService("ProximityPromptService").PromptButtonHoldBegan:Connect(function(prompt) |
328 | if OrionLib.Flags["InstantToggle"].Value == true then |
329 | fireproximityprompt(prompt) |
330 | end |
331 | end) |
332 | |
333 | local old |
334 | old = hookmetamethod(game,"__namecall",newcclosure(function(self,...) |
335 | local args = {...} |
336 | local method = getnamecallmethod() |
337 | |
338 | if tostring(self) == 'Screech' and method == "FireServer" and OrionLib.Flags["ScreechToggle"].Value == true then |
339 | args[1] = true |
340 | return old(self,unpack(args)) |
341 | end |
342 | if tostring(self) == 'ClutchHeartbeat' and method == "FireServer" and OrionLib.Flags["HeartbeatWin"].Value == true then |
343 | args[2] = true |
344 | return old(self,unpack(args)) |
345 | end |
346 | |
347 | return old(self,...) |
348 | end)) |
349 | |
350 | workspace.CurrentCamera.ChildAdded:Connect(function(child) |
351 | if child.Name == "Screech" and OrionLib.Flags["ScreechToggle"].Value == true then |
352 | child:Destroy() |
353 | end |
354 | end) |
355 | |
356 | local NotificationCoroutine = coroutine.create(function() |
357 | LatestRoom.Changed:Connect(function() |
358 | if OrionLib.Flags["PredictToggle"].Value == true then |
359 | local n = ChaseStart.Value - LatestRoom.Value |
360 | if 0 < n and n < 4 then |
361 | OrionLib:MakeNotification({ |
362 | Name = "Warning!", |
363 | Content = "Event in " .. tostring(n) .. " rooms.", |
364 | Time = 5 |
365 | }) |
366 | end |
367 | end |
368 | if OrionLib.Flags["BookToggle"].Value == true then |
369 | if LatestRoom.Value == 50 then |
370 | coroutine.resume(BookCoroutine) |
371 | end |
372 | end |
373 | if OrionLib.Flags["FigureToggle"].Value == true then |
374 | if LatestRoom.Value == 50 then |
375 | coroutine.resume(EntityCoroutine) |
376 | end |
377 | end |
378 | end) |
379 | workspace.ChildAdded:Connect(function(inst) |
380 | if inst.Name == "RushMoving" and OrionLib.Flags["MobToggle"].Value == true then |
381 | if OrionLib.Flags["AvoidRushToggle"].Value == true then |
382 | OrionLib:MakeNotification({ |
383 | Name = "Warning!", |
384 | Content = "Avoiding Rush. Please wait.", |
385 | Time = 5 |
386 | }) |
387 | local OldPos = game.Players.LocalPlayer.Character.HumanoidRootPart.Position |
388 | local con = game:GetService("RunService").Heartbeat:Connect(function() |
389 | game.Players.LocalPlayer.Character:MoveTo(OldPos + Vector3.new(0,20,0)) |
390 | end) |
391 | |
392 | inst.Destroying:Wait() |
393 | con:Disconnect() |
394 | |
395 | game.Players.LocalPlayer.Character:MoveTo(OldPos) |
396 | else |
397 | OrionLib:MakeNotification({ |
398 | Name = "Warning!", |
399 | Content = "Rush has spawned, hide!", |
400 | Time = 5 |
401 | }) |
402 | end |
403 | elseif inst.Name == "AmbushMoving" and OrionLib.Flags["MobToggle"].Value == true then |
404 | if OrionLib.Flags["AvoidRushToggle"].Value == true then |
405 | OrionLib:MakeNotification({ |
406 | Name = "Warning!", |
407 | Content = "Avoiding Ambush. Please wait.", |
408 | Time = 5 |
409 | }) |
410 | local OldPos = game.Players.LocalPlayer.Character.HumanoidRootPart.Position |
411 | local con = game:GetService("RunService").Heartbeat:Connect(function() |
412 | game.Players.LocalPlayer.Character:MoveTo(OldPos + Vector3.new(0,20,0)) |
413 | end) |
414 | |
415 | inst.Destroying:Wait() |
416 | con:Disconnect() |
417 | |
418 | game.Players.LocalPlayer.Character:MoveTo(OldPos) |
419 | else |
420 | OrionLib:MakeNotification({ |
421 | Name = "Warning!", |
422 | Content = "Ambush has spawned, hide!", |
423 | Time = 5 |
424 | }) |
425 | end |
426 | end |
427 | end) |
428 | end) |
429 | |
430 | --// ok actual code ends here |
431 | |
432 | local CreditsTab = Window:MakeTab({ |
433 | Name = "Credits", |
434 | Icon = "rbxassetid://4483345998", |
435 | PremiumOnly = false |
436 | }) |
437 | |
438 | CreditsTab:AddParagraph("Credits to","OminousVibes - (Got most of the ideas from their thread, check it out! - https://v3rmillion.net/showthread.php?tid=1184088)") |
439 | |
440 | coroutine.resume(NotificationCoroutine) |
441 | |
442 | OrionLib:Init() |
443 | |
444 | task.wait(2) |