nwmcytatynormalnie

2

Aug 24th, 2026
15
0
Never
Not a member of GistPad yet? Sign Up, it unlocks many cool features!
None 57.22 KB | None | 0 0
  1. --[[
  2. WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
  3. ]]
  4. -- =====================================================
  5. -- ACHERON DEMONOLOGY HELPER
  6. -- FIXED VERSION
  7. -- =====================================================
  8.  
  9. local Players = game:GetService("Players")
  10. local UserInputService = game:GetService("UserInputService")
  11.  
  12. local Player = Players.LocalPlayer
  13. local CoreGui = game:GetService("CoreGui")
  14.  
  15. -- =====================================================
  16. -- CLEAN OLD GUI
  17. -- =====================================================
  18.  
  19. local OldGui = CoreGui:FindFirstChild("AcheronDemonologyHelper")
  20.  
  21. if OldGui then
  22. OldGui:Destroy()
  23. end
  24.  
  25. -- =====================================================
  26. -- GUI
  27. -- =====================================================
  28.  
  29. local AcheronGui = Instance.new("ScreenGui")
  30. AcheronGui.Name = "AcheronDemonologyHelper"
  31. AcheronGui.ResetOnSpawn = false
  32. AcheronGui.Parent = CoreGui
  33.  
  34. local Main = Instance.new("Frame")
  35. Main.Name = "Main"
  36. Main.Size = UDim2.fromOffset(320, 440)
  37. Main.Position = UDim2.new(0.5, -160, 0.5, -220)
  38. Main.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
  39. Main.BorderSizePixel = 0
  40. Main.Active = true
  41. Main.Parent = AcheronGui
  42.  
  43. local Corner = Instance.new("UICorner")
  44. Corner.CornerRadius = UDim.new(0, 10)
  45. Corner.Parent = Main
  46.  
  47. -- =====================================================
  48. -- DRAGGING
  49. -- =====================================================
  50.  
  51. local dragging = false
  52. local dragStart
  53. local startPosition
  54.  
  55. Main.InputBegan:Connect(function(input)
  56.  
  57. if input.UserInputType == Enum.UserInputType.MouseButton1
  58. or input.UserInputType == Enum.UserInputType.Touch then
  59.  
  60. dragging = true
  61. dragStart = input.Position
  62. startPosition = Main.Position
  63.  
  64. input.Changed:Connect(function()
  65.  
  66. if input.UserInputState == Enum.UserInputState.End then
  67. dragging = false
  68. end
  69.  
  70. end)
  71. end
  72. end)
  73.  
  74. UserInputService.InputChanged:Connect(function(input)
  75.  
  76. if not dragging then
  77. return
  78. end
  79.  
  80. if input.UserInputType == Enum.UserInputType.MouseMovement
  81. or input.UserInputType == Enum.UserInputType.Touch then
  82.  
  83. local delta = input.Position - dragStart
  84.  
  85. Main.Position = UDim2.new(
  86. startPosition.X.Scale,
  87. startPosition.X.Offset + delta.X,
  88.  
  89. startPosition.Y.Scale,
  90. startPosition.Y.Offset + delta.Y
  91. )
  92. end
  93. end)
  94.  
  95. -- =====================================================
  96. -- TITLE
  97. -- =====================================================
  98.  
  99. local Title = Instance.new("TextLabel")
  100.  
  101. Title.Size = UDim2.new(1, -20, 0, 40)
  102. Title.Position = UDim2.fromOffset(10, 5)
  103. Title.BackgroundTransparency = 1
  104. Title.Text = "Acheron Demonology Helper"
  105. Title.TextColor3 = Color3.fromRGB(255, 255, 255)
  106. Title.TextSize = 20
  107. Title.Font = Enum.Font.GothamBold
  108. Title.TextXAlignment = Enum.TextXAlignment.Left
  109. Title.Parent = Main
  110.  
  111. -- =====================================================
  112. -- EVIDENCE FRAME
  113. -- =====================================================
  114.  
  115. local EvidenceFrame = Instance.new("Frame")
  116.  
  117. EvidenceFrame.Size = UDim2.new(1, -20, 0, 275)
  118. EvidenceFrame.Position = UDim2.fromOffset(10, 48)
  119. EvidenceFrame.BackgroundTransparency = 1
  120. EvidenceFrame.Parent = Main
  121.  
  122. local Layout = Instance.new("UIListLayout")
  123. Layout.Padding = UDim.new(0, 2)
  124. Layout.Parent = EvidenceFrame
  125.  
  126. local EvidenceLabels = {}
  127.  
  128. local EvidenceNames = {
  129. "EMF Level 5",
  130. "Freezing Temperatures",
  131. "Handprints",
  132. "Ghost Orb",
  133. "Spirit Box",
  134. "Inscription",
  135. "Wither",
  136. "Laser Projector"
  137. }
  138.  
  139. for _, Name in ipairs(EvidenceNames) do
  140.  
  141. local Label = Instance.new("TextLabel")
  142.  
  143. Label.Size = UDim2.new(1, 0, 0, 31)
  144. Label.BackgroundTransparency = 1
  145. Label.Text = Name .. ": False"
  146. Label.TextColor3 = Color3.fromRGB(255, 80, 80)
  147. Label.TextSize = 16
  148. Label.Font = Enum.Font.Gotham
  149. Label.TextXAlignment = Enum.TextXAlignment.Left
  150. Label.Parent = EvidenceFrame
  151.  
  152. EvidenceLabels[Name] = Label
  153. end
  154.  
  155. -- =====================================================
  156. -- TEMPERATURE
  157. -- =====================================================
  158.  
  159. local TemperatureLabel = Instance.new("TextLabel")
  160.  
  161. TemperatureLabel.Size = UDim2.new(1, -20, 0, 30)
  162. TemperatureLabel.Position = UDim2.fromOffset(10, 326)
  163. TemperatureLabel.BackgroundTransparency = 1
  164. TemperatureLabel.Text = "Temperature: --.-°C (Unknown)"
  165. TemperatureLabel.TextColor3 = Color3.fromRGB(255, 80, 80)
  166. TemperatureLabel.TextSize = 16
  167. TemperatureLabel.Font = Enum.Font.Gotham
  168. TemperatureLabel.TextXAlignment = Enum.TextXAlignment.Left
  169. TemperatureLabel.Parent = Main
  170.  
  171. -- =====================================================
  172. -- GHOST DATABASE
  173. -- =====================================================
  174.  
  175. local GhostEvidence = {
  176.  
  177. Aswang = {
  178. "Wither",
  179. "EMF Level 5",
  180. "Inscription"
  181. },
  182.  
  183. Banshee = {
  184. "Ghost Orb",
  185. "Handprints",
  186. "Freezing Temperatures"
  187. },
  188.  
  189. Demon = {
  190. "EMF Level 5",
  191. "Handprints",
  192. "Freezing Temperatures"
  193. },
  194.  
  195. Doppelganger = {
  196. "Freezing Temperatures",
  197. "Inscription",
  198. "Spirit Box"
  199. },
  200.  
  201. Dullahan = {
  202. "Wither",
  203. "Laser Projector",
  204. "Freezing Temperatures"
  205. },
  206.  
  207. Dybbuk = {
  208. "Wither",
  209. "Handprints",
  210. "Freezing Temperatures"
  211. },
  212.  
  213. Entity = {
  214. "Spirit Box",
  215. "Handprints",
  216. "Laser Projector"
  217. },
  218.  
  219. Ghoul = {
  220. "Spirit Box",
  221. "Freezing Temperatures",
  222. "Ghost Orb"
  223. },
  224.  
  225. Keres = {
  226. "Wither",
  227. "Handprints",
  228. "Spirit Box"
  229. },
  230.  
  231. Leviathan = {
  232. "Ghost Orb",
  233. "Inscription",
  234. "Handprints"
  235. },
  236.  
  237. Nightmare = {
  238. "EMF Level 5",
  239. "Spirit Box",
  240. "Ghost Orb"
  241. },
  242.  
  243. Oni = {
  244. "Spirit Box",
  245. "Freezing Temperatures",
  246. "Laser Projector"
  247. },
  248.  
  249. Phantom = {
  250. "EMF Level 5",
  251. "Handprints",
  252. "Ghost Orb"
  253. },
  254.  
  255. Ravager = {
  256. "EMF Level 5",
  257. "Handprints",
  258. "Laser Projector"
  259. },
  260.  
  261. Revenant = {
  262. "Inscription",
  263. "EMF Level 5",
  264. "Freezing Temperatures"
  265. },
  266.  
  267. Shadow = {
  268. "EMF Level 5",
  269. "Inscription",
  270. "Laser Projector"
  271. },
  272.  
  273. Siren = {
  274. "Wither",
  275. "Spirit Box",
  276. "EMF Level 5"
  277. },
  278.  
  279. Specter = {
  280. "EMF Level 5",
  281. "Freezing Temperatures",
  282. "Laser Projector"
  283. },
  284.  
  285. Spirit = {
  286. "Handprints",
  287. "Inscription",
  288. "Spirit Box"
  289. },
  290.  
  291. ["The Wisp"] = {
  292. "Wither",
  293. "Laser Projector",
  294. "Ghost Orb"
  295. },
  296.  
  297. Umbra = {
  298. "Ghost Orb",
  299. "Laser Projector",
  300. "Handprints"
  301. },
  302.  
  303. Vesper = {
  304. "Inscription",
  305. "Wither",
  306. "Handprints"
  307. },
  308.  
  309. Vex = {
  310. "Wither",
  311. "Ghost Orb",
  312. "Freezing Temperatures"
  313. },
  314.  
  315. Wraith = {
  316. "EMF Level 5",
  317. "Spirit Box",
  318. "Laser Projector"
  319. },
  320.  
  321. Wretch = {
  322. "EMF Level 5",
  323. "Inscription",
  324. "Laser Projector"
  325. }
  326. }
  327.  
  328. -- =====================================================
  329. -- GHOST RESULT
  330. -- =====================================================
  331.  
  332. local GhostResult = Instance.new("TextLabel")
  333.  
  334. GhostResult.Size = UDim2.new(1, -20, 0, 45)
  335. GhostResult.Position = UDim2.fromOffset(10, 360)
  336. GhostResult.BackgroundTransparency = 1
  337. GhostResult.Text = "Ghost: Unknown"
  338. GhostResult.TextColor3 = Color3.fromRGB(255, 255, 255)
  339. GhostResult.TextSize = 20
  340. GhostResult.Font = Enum.Font.GothamBold
  341. GhostResult.TextXAlignment = Enum.TextXAlignment.Left
  342. GhostResult.Parent = Main
  343.  
  344. -- =====================================================
  345. -- CONFIRMED EVIDENCE
  346. -- =====================================================
  347.  
  348. local ConfirmedEvidence = {}
  349.  
  350. for _, Name in ipairs(EvidenceNames) do
  351. ConfirmedEvidence[Name] = false
  352. end
  353.  
  354. -- =====================================================
  355. -- SAFE TEMPERATURE DETECTION
  356. -- =====================================================
  357.  
  358. local function GetTemperature()
  359.  
  360. local Map = workspace:FindFirstChild("Map")
  361.  
  362. if not Map then
  363. return nil, nil
  364. end
  365.  
  366. local Rooms = Map:FindFirstChild("Rooms")
  367.  
  368. if not Rooms then
  369. return nil, nil
  370. end
  371.  
  372. local LowestTemp = nil
  373. local LowestRoom = nil
  374.  
  375. for _, Room in ipairs(Rooms:GetChildren()) do
  376.  
  377. local Temp = Room:GetAttribute("Temperature")
  378.  
  379. if typeof(Temp) == "number" then
  380.  
  381. if LowestTemp == nil or Temp < LowestTemp then
  382. LowestTemp = Temp
  383. LowestRoom = Room
  384. end
  385. end
  386. end
  387.  
  388. return LowestTemp, LowestRoom
  389. end
  390.  
  391. local function DetectFreezing(Temp)
  392.  
  393. return Temp ~= nil and Temp < 0
  394. end
  395.  
  396. -- =====================================================
  397. -- HANDPRINTS
  398. -- =====================================================
  399.  
  400. local function DetectHandprints()
  401.  
  402. for _, Obj in ipairs(workspace:GetDescendants()) do
  403.  
  404. if Obj:IsA("BasePart") then
  405.  
  406. if Obj.Name == "Handprint1"
  407. or Obj.Name == "Handprint2"
  408. or Obj.Name == "Footprint"
  409. or Obj.Name == "Footprint1" then
  410.  
  411. return true
  412. end
  413. end
  414. end
  415.  
  416. return false
  417. end
  418.  
  419. -- =====================================================
  420. -- GHOST ORB
  421. -- =====================================================
  422.  
  423. local function DetectGhostOrb()
  424.  
  425. for _, Obj in ipairs(workspace:GetDescendants()) do
  426.  
  427. if Obj:IsA("BasePart")
  428. and Obj.Name == "GhostOrb" then
  429.  
  430. return true
  431. end
  432. end
  433.  
  434. return false
  435. end
  436.  
  437. -- =====================================================
  438. -- EMF
  439. -- =====================================================
  440.  
  441. local function GetEMFLevel()
  442.  
  443. local Level = 0
  444.  
  445. for _, Obj in ipairs(workspace:GetDescendants()) do
  446.  
  447. if Obj:IsA("Folder")
  448. and Obj.Name == "Indicators" then
  449.  
  450. for _, V in ipairs(Obj:GetChildren()) do
  451.  
  452. if V:IsA("BasePart")
  453. and V.Material == Enum.Material.Neon then
  454.  
  455. local Number = tonumber(V.Name)
  456.  
  457. if Number and Number > Level then
  458. Level = Number
  459. end
  460. end
  461. end
  462. end
  463. end
  464.  
  465. return Level
  466. end
  467.  
  468. -- =====================================================
  469. -- WITHER
  470. -- =====================================================
  471.  
  472. local function DetectWither()
  473.  
  474. local Items = workspace:FindFirstChild("Items")
  475.  
  476. if not Items then
  477. return false
  478. end
  479.  
  480. for _, Obj in ipairs(Items:GetDescendants()) do
  481.  
  482. if Obj:IsA("BasePart")
  483. and Obj.Name == "Petals"
  484. and Obj.Color == Color3.new(0, 0, 0) then
  485.  
  486. return true
  487. end
  488. end
  489.  
  490. return false
  491. end
  492.  
  493. -- =====================================================
  494. -- INSCRIPTION
  495. -- =====================================================
  496.  
  497. local function CheckSpiritBook(Container)
  498.  
  499. if not Container then
  500. return false
  501. end
  502.  
  503. for _, Obj in ipairs(Container:GetDescendants()) do
  504.  
  505. if Obj:IsA("Decal") then
  506.  
  507. local Model =
  508. Obj:FindFirstAncestorWhichIsA("Model")
  509.  
  510. if Model
  511. and Model:GetAttribute("ItemName") == "Spirit Book"
  512. and Obj.Texture ~= "" then
  513.  
  514. return true
  515. end
  516. end
  517. end
  518.  
  519. return false
  520. end
  521.  
  522. local function DetectInscription()
  523.  
  524. if CheckSpiritBook(workspace:FindFirstChild("Items")) then
  525. return true
  526. end
  527.  
  528. if CheckSpiritBook(Player.Character) then
  529. return true
  530. end
  531.  
  532. return false
  533. end
  534.  
  535. -- =====================================================
  536. -- SPIRIT BOX
  537. -- =====================================================
  538.  
  539. local function DetectSpiritBox()
  540.  
  541. local PlayerGui = Player:FindFirstChild("PlayerGui")
  542.  
  543. if not PlayerGui then
  544. return false
  545. end
  546.  
  547. local Subtitles = PlayerGui:FindFirstChild("Subtitles")
  548.  
  549. if not Subtitles then
  550. return false
  551. end
  552.  
  553. local Holder = Subtitles:FindFirstChild("Holder")
  554.  
  555. if not Holder then
  556. return false
  557. end
  558.  
  559. local TextLabel = Holder:FindFirstChild("TextLabel")
  560.  
  561. if not TextLabel then
  562. return false
  563. end
  564.  
  565. local GhostText = TextLabel.Text or ""
  566.  
  567. return #GhostText:gsub("%s+", "") >= 3
  568. end
  569.  
  570. -- =====================================================
  571. -- LASER PROJECTOR
  572. -- =====================================================
  573.  
  574. local function DetectLaser()
  575.  
  576. local Ghost = workspace:FindFirstChild("Ghost")
  577.  
  578. if not Ghost then
  579. return false
  580. end
  581.  
  582. return Ghost:GetAttribute("InLaser") == true
  583. end
  584.  
  585. -- =====================================================
  586. -- UPDATE CONFIRMED EVIDENCE
  587. -- =====================================================
  588.  
  589. local function UpdateConfirmedEvidence(Current)
  590.  
  591. if Current.EMFLevel == 5 then
  592. ConfirmedEvidence["EMF Level 5"] = true
  593. end
  594.  
  595. if Current["Freezing Temperatures"] then
  596. ConfirmedEvidence["Freezing Temperatures"] = true
  597. end
  598.  
  599. if Current["Handprints"] then
  600. ConfirmedEvidence["Handprints"] = true
  601. end
  602.  
  603. if Current["Ghost Orb"] then
  604. ConfirmedEvidence["Ghost Orb"] = true
  605. end
  606.  
  607. if Current["Spirit Box"] then
  608. ConfirmedEvidence["Spirit Box"] = true
  609. end
  610.  
  611. if Current["Inscription"] then
  612. ConfirmedEvidence["Inscription"] = true
  613. end
  614.  
  615. if Current["Wither"] then
  616. ConfirmedEvidence["Wither"] = true
  617. end
  618.  
  619. if Current["Laser Projector"] then
  620. ConfirmedEvidence["Laser Projector"] = true
  621. end
  622. end
  623.  
  624. -- =====================================================
  625. -- GET EVIDENCE
  626. -- =====================================================
  627.  
  628. local function GetEvidence()
  629.  
  630. local Temp, TempRoom = GetTemperature()
  631. local EMF = GetEMFLevel()
  632.  
  633. local Current = {
  634.  
  635. ["EMF Level 5"] = EMF == 5,
  636.  
  637. ["Freezing Temperatures"] =
  638. DetectFreezing(Temp),
  639.  
  640. ["Handprints"] =
  641. DetectHandprints(),
  642.  
  643. ["Ghost Orb"] =
  644. DetectGhostOrb(),
  645.  
  646. ["Spirit Box"] =
  647. DetectSpiritBox(),
  648.  
  649. ["Inscription"] =
  650. DetectInscription(),
  651.  
  652. ["Wither"] =
  653. DetectWither(),
  654.  
  655. ["Laser Projector"] =
  656. DetectLaser(),
  657.  
  658. EMFLevel = EMF,
  659.  
  660. Temperature = Temp,
  661.  
  662. TemperatureRoom = TempRoom
  663. }
  664.  
  665. UpdateConfirmedEvidence(Current)
  666.  
  667. for _, Name in ipairs(EvidenceNames) do
  668. Current[Name] = ConfirmedEvidence[Name]
  669. end
  670.  
  671. return Current
  672. end
  673.  
  674. -- =====================================================
  675. -- IDENTIFY GHOST
  676. -- =====================================================
  677.  
  678. local function IdentifyGhost(Evidence)
  679.  
  680. local Matches = {}
  681.  
  682. for GhostName, RequiredEvidence in pairs(GhostEvidence) do
  683.  
  684. local Match = true
  685.  
  686. for _, RequiredEvidenceName in ipairs(RequiredEvidence) do
  687.  
  688. if Evidence[RequiredEvidenceName] ~= true then
  689. Match = false
  690. break
  691. end
  692. end
  693.  
  694. if Match then
  695. table.insert(Matches, GhostName)
  696. end
  697. end
  698.  
  699. if #Matches == 1 then
  700. return Matches[1]
  701.  
  702. elseif #Matches > 1 then
  703. table.sort(Matches)
  704. return table.concat(Matches, " / ")
  705. end
  706.  
  707. return "Unknown"
  708. end
  709.  
  710. -- =====================================================
  711. -- UPDATE UI
  712. -- =====================================================
  713.  
  714. local function UpdateUI()
  715.  
  716. local Evidence = GetEvidence()
  717.  
  718. -- =============================================
  719. -- EVIDENCE
  720. -- =============================================
  721.  
  722. for _, Name in ipairs(EvidenceNames) do
  723.  
  724. local Label = EvidenceLabels[Name]
  725. local State = Evidence[Name] == true
  726.  
  727. if Name == "EMF Level 5" then
  728.  
  729. if State then
  730.  
  731. Label.Text = "EMF 5: True"
  732. Label.TextColor3 =
  733. Color3.fromRGB(0, 255, 120)
  734.  
  735. else
  736.  
  737. Label.Text =
  738. "EMF Level: " ..
  739. tostring(Evidence.EMFLevel or 0)
  740.  
  741. Label.TextColor3 =
  742. Color3.fromRGB(255, 80, 80)
  743. end
  744.  
  745. else
  746.  
  747. Label.Text =
  748. Name .. ": " .. tostring(State)
  749.  
  750. if State then
  751.  
  752. Label.TextColor3 =
  753. Color3.fromRGB(0, 255, 120)
  754.  
  755. else
  756.  
  757. Label.TextColor3 =
  758. Color3.fromRGB(255, 80, 80)
  759. end
  760. end
  761. end
  762.  
  763. -- =============================================
  764. -- TEMPERATURE
  765. -- =============================================
  766.  
  767. if Evidence.Temperature ~= nil
  768. and Evidence.TemperatureRoom then
  769.  
  770. TemperatureLabel.Text = string.format(
  771. "Temperature: %.1f°C (%s)",
  772. Evidence.Temperature,
  773. Evidence.TemperatureRoom.Name
  774. )
  775.  
  776. if Evidence.Temperature < 0 then
  777.  
  778. TemperatureLabel.TextColor3 =
  779. Color3.fromRGB(0, 255, 120)
  780.  
  781. else
  782.  
  783. TemperatureLabel.TextColor3 =
  784. Color3.fromRGB(255, 80, 80)
  785. end
  786.  
  787. else
  788.  
  789. TemperatureLabel.Text =
  790. "Temperature: --.-°C (Unknown)"
  791.  
  792. TemperatureLabel.TextColor3 =
  793. Color3.fromRGB(255, 80, 80)
  794. end
  795.  
  796. -- =============================================
  797. -- GHOST
  798. -- =============================================
  799.  
  800. local Ghost = IdentifyGhost(Evidence)
  801.  
  802. GhostResult.Text =
  803. "Ghost: " .. Ghost
  804.  
  805. if Ghost ~= "Unknown" then
  806.  
  807. GhostResult.TextColor3 =
  808. Color3.fromRGB(0, 255, 120)
  809.  
  810. else
  811.  
  812. GhostResult.TextColor3 =
  813. Color3.fromRGB(255, 255, 255)
  814. end
  815. end
  816.  
  817. -- =====================================================
  818. -- UPDATE LOOP
  819. -- =====================================================
  820.  
  821. task.spawn(function()
  822.  
  823. while AcheronGui.Parent do
  824.  
  825. local Success, Error =
  826. pcall(UpdateUI)
  827.  
  828. if not Success then
  829. warn("[Acheron] Update error:", Error)
  830. end
  831.  
  832. task.wait(0.5)
  833. end
  834. end)
RAW Paste Data Copied