Advertisement
HEHEJ

Untitled

Jun 13th, 2020
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 47.11 KB | None | 0 0
  1. local gui = game.CoreGui:FindFirstChild("bloodUI")
  2. if gui then gui:Destroy() end
  3.  
  4. local blood = {}
  5. blood.gs = {}
  6.  
  7. blood.theme = { -- light
  8. main_container = Color3.fromRGB(249, 249, 255),
  9. separator_color = Color3.fromRGB(255,0,0),
  10.  
  11. text_color = Color3.fromRGB(96, 96, 96),
  12.  
  13. category_button_background = Color3.fromRGB(223, 219, 228),
  14. category_button_border = Color3.fromRGB(200, 196, 204),
  15.  
  16. checkbox_checked = Color3.fromRGB(255,0,0),
  17. checkbox_outer = Color3.fromRGB(198, 189, 202),
  18. checkbox_inner = Color3.fromRGB(249, 239, 255),
  19.  
  20. slider_color = Color3.fromRGB(255,0,0),
  21. slider_color_sliding = Color3.fromRGB(255,0,0),
  22. slider_background = Color3.fromRGB(198, 188, 202),
  23. slider_text = Color3.fromRGB(112, 112, 112),
  24.  
  25. textbox_background = Color3.fromRGB(198, 189, 202),
  26. textbox_background_hover = Color3.fromRGB(215, 206, 227),
  27. textbox_text = Color3.fromRGB(112, 112, 112),
  28. textbox_text_hover = Color3.fromRGB(50, 50, 50),
  29. textbox_placeholder = Color3.fromRGB(178, 178, 178),
  30.  
  31. dropdown_background = Color3.fromRGB(198, 189, 202),
  32. dropdown_text = Color3.fromRGB(112, 112, 112),
  33. dropdown_text_hover = Color3.fromRGB(50, 50, 50),
  34. dropdown_scrollbar_color = Color3.fromRGB(198, 189, 202),
  35.  
  36. button_background = Color3.fromRGB(198, 189, 202),
  37. button_background_hover = Color3.fromRGB(215, 206, 227),
  38. button_background_down = Color3.fromRGB(178, 169, 182),
  39.  
  40. scrollbar_color = Color3.fromRGB(255,0,0),
  41. }
  42.  
  43. blood.dark_theme = { -- dark
  44.  
  45. main_container = Color3.fromRGB(32, 32, 33),
  46. separator_color = Color3.fromRGB(255,0,0),
  47.  
  48. text_color = Color3.fromRGB(206, 206, 206),
  49.  
  50. category_button_background = Color3.fromRGB(63, 62, 65),
  51. category_button_border = Color3.fromRGB(255,0,0),
  52.  
  53. checkbox_checked = Color3.fromRGB(255,0,0),
  54. checkbox_outer = Color3.fromRGB(84, 81, 86),
  55. checkbox_inner = Color3.fromRGB(132, 132, 136),
  56.  
  57. slider_color = Color3.fromRGB(177, 177, 177),
  58. slider_color_sliding = Color3.fromRGB(255,0,0),
  59. slider_background = Color3.fromRGB(88, 84, 90),
  60. slider_text = Color3.fromRGB(177, 177, 177),
  61.  
  62. textbox_background = Color3.fromRGB(103, 103, 106),
  63. textbox_background_hover = Color3.fromRGB(255,0,0),
  64. textbox_text = Color3.fromRGB(195, 195, 195),
  65. textbox_text_hover = Color3.fromRGB(232, 232, 232),
  66. textbox_placeholder = Color3.fromRGB(135, 135, 138),
  67.  
  68. dropdown_background = Color3.fromRGB(88, 88, 91),
  69. dropdown_text = Color3.fromRGB(195, 195, 195),
  70. dropdown_text_hover = Color3.fromRGB(232, 232, 232),
  71. dropdown_scrollbar_color = Color3.fromRGB(118, 118, 121),
  72.  
  73. button_background = Color3.fromRGB(103, 103, 106),
  74. button_background_hover = Color3.fromRGB(137, 137, 141),
  75. button_background_down = Color3.fromRGB(255,0,0),
  76.  
  77. scrollbar_color = Color3.fromRGB(118, 118, 121),
  78. }
  79.  
  80. setmetatable(blood.gs, {
  81. __index = function(_, service)
  82. return game:GetService(service)
  83. end,
  84. __newindex = function(t, i)
  85. t[i] = nil
  86. return
  87. end
  88. })
  89.  
  90.  
  91. local mouse = blood.gs["Players"].LocalPlayer:GetMouse()
  92.  
  93. function blood:Create(class, properties)
  94. local object = Instance.new(class)
  95.  
  96. for prop, val in next, properties do
  97. if object[prop] and prop ~= "Parent" then
  98. object[prop] = val
  99. end
  100. end
  101.  
  102. return object
  103. end
  104.  
  105. function blood:addShadow(object, transparency)
  106. local shadow = self:Create("ImageLabel", {
  107. Name = "Shadow",
  108. AnchorPoint = Vector2.new(0.5, 0.5),
  109. BackgroundTransparency = 1,
  110. Position = UDim2.new(0.5, 0, 0.5, 4),
  111. Size = UDim2.new(1, 6, 1, 6),
  112. Image = "rbxassetid://1316045217",
  113. ImageTransparency = transparency and true or 0.5,
  114. ImageColor3 = Color3.fromRGB(35, 35, 35),
  115. ScaleType = Enum.ScaleType.Slice,
  116. SliceCenter = Rect.new(10, 10, 118, 118)
  117. })
  118.  
  119. shadow.Parent = object
  120. end
  121.  
  122. function blood.new(isdark, gprojectName, thinProject)
  123. local bloodObject = {}
  124. local self2 = bloodObject
  125. local self = blood
  126.  
  127. if not blood.gs["RunService"]:IsStudio() and self.gs["CoreGui"]:FindFirstChild("bloodUI") then
  128. warn("blood:", "instance already exists in coregui!")
  129.  
  130. return
  131. end
  132.  
  133. local theme = blood.theme
  134. local projectName = false
  135. local thinMenu = false
  136.  
  137. if isdark == true then theme = blood.dark_theme end
  138. if gprojectName then projectName = gprojectName end
  139. if thinProject then thinMenu = thinProject end
  140.  
  141. local toggled = true
  142. local typing = false
  143. local firstCategory = true
  144. local savedposition = UDim2.new(0.5, 0, 0.5, 0)
  145.  
  146.  
  147. local bloodData
  148. bloodData = {
  149. UpConnection = nil,
  150. ToggleKey = Enum.KeyCode.Home,
  151. }
  152.  
  153. self2.ChangeToggleKey = function(NewKey)
  154. bloodData.ToggleKey = NewKey
  155.  
  156. if not projectName then
  157. self2.tip.Text = "Press '".. string.sub(tostring(NewKey), 14) .."' to hide this menu"
  158. end
  159.  
  160. if bloodData.UpConnection then
  161. bloodData.UpConnection:Disconnect()
  162. end
  163.  
  164. bloodData.UpConnection = blood.gs["UserInputService"].InputEnded:Connect(function(Input)
  165. if Input.KeyCode == bloodData.ToggleKey and not typing then
  166. toggled = not toggled
  167.  
  168. pcall(function() self2.modal.Modal = toggled end)
  169.  
  170. if toggled then
  171. pcall(self2.container.TweenPosition, self2.container, savedposition, "Out", "Sine", 0.5, true)
  172. else
  173. savedposition = self2.container.Position;
  174. pcall(self2.container.TweenPosition, self2.container, UDim2.new(savedposition.Width.Scale, savedposition.Width.Offset, 1.5, 0), "Out", "Sine", 0.5, true)
  175. end
  176. end
  177. end)
  178. end
  179.  
  180. self2.ChangeBackgroundImage = function(ImageID, Transparency)
  181. self2.container.Image = ImageID
  182.  
  183. if Transparency then
  184. self2.container.ImageTransparency = Transparency
  185. else
  186. self2.container.ImageTransparency = 0.8
  187. end
  188. end
  189.  
  190. bloodData.UpConnection = blood.gs["UserInputService"].InputEnded:Connect(function(Input)
  191. if Input.KeyCode == bloodData.ToggleKey and not typing then
  192. toggled = not toggled
  193.  
  194. if toggled then
  195. self2.container:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), "Out", "Sine", 0.5, true)
  196. else
  197. self2.container:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), "Out", "Sine", 0.5, true)
  198. end
  199. end
  200. end)
  201.  
  202. self2.userinterface = self:Create("ScreenGui", {
  203. Name = "bloodUI",
  204. ZIndexBehavior = Enum.ZIndexBehavior.Global,
  205. ResetOnSpawn = false,
  206. })
  207.  
  208. self2.container = self:Create("ImageLabel", {
  209. Draggable = true,
  210. Active = true,
  211. Name = "Container",
  212. AnchorPoint = Vector2.new(0.5, 0.5),
  213. BackgroundTransparency = 1,
  214. BackgroundColor3 = theme.main_container,
  215. BorderSizePixel = 0,
  216. Position = UDim2.new(0.5, 0, 0.5, 0),
  217. Size = UDim2.new(0, 800, 0, 500),
  218. ZIndex = 2,
  219. ImageTransparency = 1,
  220. Image = "rbxassetid://3883502641"
  221. })
  222.  
  223. self2.modal = self:Create("TextButton", {
  224. Text = "";
  225. Transparency = 1;
  226. Modal = true;
  227. }) self2.modal.Parent = self2.userinterface;
  228.  
  229. if thinProject and typeof(thinProject) == "UDim2" then
  230. self2.container.Size = thinProject
  231. end
  232.  
  233. self2.container.Draggable = true
  234. self2.container.Active = true
  235.  
  236. self2.sidebar = self:Create("Frame", {
  237. Name = "Sidebar",
  238. BackgroundColor3 = Color3.new(0.976471, 0.937255, 1),
  239. BackgroundTransparency = 1,
  240. BorderColor3 = Color3.new(0.745098, 0.713726, 0.760784),
  241. Size = UDim2.new(0, 120, 1, -30),
  242. Position = UDim2.new(0, 0, 0, 30),
  243. ZIndex = 2,
  244. })
  245.  
  246. self2.categories = self:Create("Frame", {
  247. Name = "Categories",
  248. BackgroundColor3 = Color3.new(0.976471, 0.937255, 1),
  249. ClipsDescendants = true,
  250. BackgroundTransparency = 1,
  251. BorderColor3 = Color3.new(0.745098, 0.713726, 0.760784),
  252. Size = UDim2.new(1, -120, 1, -30),
  253. AnchorPoint = Vector2.new(1, 0),
  254. Position = UDim2.new(1, 0, 0, 30),
  255. ZIndex = 2,
  256. })
  257. self2.categories.ClipsDescendants = true
  258.  
  259. self2.topbar = self:Create("Frame", {
  260. Name = "Topbar",
  261. ZIndex = 2,
  262. Size = UDim2.new(1,0,0,30),
  263. BackgroundTransparency = 2
  264. })
  265.  
  266. self2.tip = self:Create("TextLabel", {
  267. Name = "TopbarTip",
  268. ZIndex = 2,
  269. Size = UDim2.new(1, -30, 0, 30),
  270. Position = UDim2.new(0, 30, 0, 0),
  271. Text = "Press '".. string.sub(tostring(self.ToggleKey), 14) .."' to hide this menu",
  272. Font = Enum.Font.GothamSemibold,
  273. TextSize = 13,
  274. TextXAlignment = Enum.TextXAlignment.Left,
  275. BackgroundTransparency = 1,
  276. TextColor3 = theme.text_color,
  277. })
  278.  
  279. if projectName then
  280. self2.tip.Text = projectName
  281. else
  282. self2.tip.Text = "Press '".. string.sub(tostring(self.ToggleKey), 14) .."' to hide this menu"
  283. end
  284.  
  285. local separator = self:Create("Frame", {
  286. Name = "Separator",
  287. BackgroundColor3 = theme.separator_color,
  288. BorderSizePixel = 0,
  289. Position = UDim2.new(0, 118, 0, 30),
  290. Size = UDim2.new(0, 1, 1, -30),
  291. ZIndex = 6,
  292. })
  293. separator.Parent = self2.container
  294. separator = nil
  295.  
  296. local separator = self:Create("Frame", {
  297. Name = "Separator",
  298. BackgroundColor3 = theme.separator_color,
  299. BorderSizePixel = 0,
  300. Position = UDim2.new(0, 0, 0, 30),
  301. Size = UDim2.new(1, 0, 0, 1),
  302. ZIndex = 6,
  303. })
  304. separator.Parent = self2.container
  305. separator = nil
  306.  
  307. local uipagelayout = self:Create("UIPageLayout", {
  308. Padding = UDim.new(0, 10),
  309. FillDirection = Enum.FillDirection.Vertical,
  310. TweenTime = 0.7,
  311. EasingStyle = Enum.EasingStyle.Quad,
  312. EasingDirection = Enum.EasingDirection.InOut,
  313. SortOrder = Enum.SortOrder.LayoutOrder,
  314. })
  315. uipagelayout.Parent = self2.categories
  316. uipagelayout = nil
  317.  
  318. local uipadding = self:Create("UIPadding", {
  319. PaddingTop = UDim.new(0, 3),
  320. PaddingLeft = UDim.new(0, 2)
  321. })
  322. uipadding.Parent = self2.sidebar
  323. uipadding = nil
  324.  
  325. local uilistlayout = self:Create("UIListLayout", {
  326. SortOrder = Enum.SortOrder.LayoutOrder
  327. })
  328. uilistlayout.Parent = self2.sidebar
  329. uilistlayout = nil
  330.  
  331. function self2:Category(name)
  332. local category = {}
  333.  
  334. category.button = blood:Create("TextButton", {
  335. Name = name,
  336. BackgroundColor3 = theme.category_button_background,
  337. BackgroundTransparency = 1,
  338. BorderMode = Enum.BorderMode.Inset,
  339. BorderColor3 = theme.category_button_border,
  340. Size = UDim2.new(1, -4, 0, 25),
  341. ZIndex = 2,
  342. AutoButtonColor = false,
  343. Font = Enum.Font.GothamSemibold,
  344. Text = name,
  345. TextColor3 = theme.text_color,
  346. TextSize = 14
  347. })
  348.  
  349. category.container = blood:Create("ScrollingFrame", {
  350. Name = name,
  351. BackgroundTransparency = 1,
  352. ScrollBarThickness = 4,
  353. BorderSizePixel = 0,
  354. Size = UDim2.new(1, 0, 1, 0),
  355. ZIndex = 2,
  356. CanvasSize = UDim2.new(0, 0, 0, 0),
  357. ScrollBarImageColor3 = theme.scrollbar_color or Color3.fromRGB(118, 118, 121),
  358. BottomImage = "rbxassetid://967852042",
  359. MidImage = "rbxassetid://967852042",
  360. TopImage = "rbxassetid://967852042",
  361. ScrollBarImageTransparency = 1 --
  362. })
  363.  
  364.  
  365. category.hider = blood:Create("ImageLabel", {
  366. Name = "Hider",
  367. BackgroundTransparency = 0, --
  368. BorderSizePixel = 0,
  369. BackgroundColor3 = theme.main_container,
  370. Size = UDim2.new(1, 0, 1, 0),
  371. ZIndex = 5
  372. ImageTransparency = 1,
  373. Image = "rbxassetid://3883502641"
  374. })
  375. category.L = blood:Create("Frame", {
  376. Name = "L",
  377. BackgroundColor3 = Color3.new(1, 1, 1),
  378. BackgroundTransparency = 1,
  379. Position = UDim2.new(0, 10, 0, 3),
  380. Size = UDim2.new(0.5, -20, 1, -3),
  381. ZIndex = 2
  382. })
  383.  
  384. if not thinProject then
  385. category.R = blood:Create("Frame", {
  386. Name = "R",
  387. AnchorPoint = Vector2.new(1, 0),
  388. BackgroundColor3 = Color3.new(1, 1, 1),
  389. BackgroundTransparency = 1,
  390. Position = UDim2.new(1, -10, 0, 3),
  391. Size = UDim2.new(0.5, -20, 1, -3),
  392. ZIndex = 2
  393. })
  394. end
  395.  
  396. if thinProject then
  397. category.L.Size = UDim2.new(1, -20, 1, -3)
  398. end
  399.  
  400. if firstCategory then
  401. blood.gs["TweenService"]:Create(category.hider, TweenInfo.new(0.3), {ImageTransparency = 1}):Play()
  402. blood.gs["TweenService"]:Create(category.container, TweenInfo.new(0.3), {ImageTransparency = 0}):Play()
  403. end
  404.  
  405. do
  406. local uilistlayout = blood:Create("UIListLayout", {
  407. SortOrder = Enum.SortOrder.LayoutOrder
  408. })
  409.  
  410. local uilistlayout2 = blood:Create("UIListLayout", {
  411. SortOrder = Enum.SortOrder.LayoutOrder
  412. })
  413.  
  414. local function computeSizeChange()
  415. local largestListSize = 0
  416.  
  417. largestListSize = uilistlayout.AbsoluteContentSize.Y
  418.  
  419. if uilistlayout2.AbsoluteContentSize.Y > largestListSize then
  420. largestListSize = largestListSize
  421. end
  422.  
  423. category.container.CanvasSize = UDim2.new(0, 0, 0, largestListSize + 5)
  424. end
  425.  
  426. uilistlayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(computeSizeChange)
  427. uilistlayout2:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(computeSizeChange)
  428.  
  429. uilistlayout.Parent = category.L
  430. uilistlayout2.Parent = category.R
  431. end
  432.  
  433. category.button.MouseEnter:Connect(function()
  434. blood.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 0.5}):Play()
  435. end)
  436. category.button.MouseLeave:Connect(function()
  437. blood.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
  438. end)
  439. category.button.MouseButton1Down:Connect(function()
  440. for _, categoryf in next, self2.userinterface["Container"]["Categories"]:GetChildren() do
  441. if categoryf:IsA("ScrollingFrame") then
  442. if categoryf ~= category.container then
  443. blood.gs["TweenService"]:Create(categoryf.Hider, TweenInfo.new(0.3), {ImageTransparency = 0}):Play()
  444. blood.gs["TweenService"]:Create(categoryf, TweenInfo.new(0.3), {ScrollBarImageTransparency = 1}):Play()
  445. end
  446. end
  447. end
  448.  
  449. blood.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 0.2}):Play()
  450. blood.gs["TweenService"]:Create(category.hider, TweenInfo.new(0.3), {ImageTransparency = 1}):Play()
  451. blood.gs["TweenService"]:Create(category.container, TweenInfo.new(0.3), {ScrollBarImageTransparency = 0}):Play()
  452.  
  453. self2.categories["UIPageLayout"]:JumpTo(category.container)
  454. end)
  455. category.button.MouseButton1Up:Connect(function()
  456. blood.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
  457. end)
  458.  
  459. category.container.Parent = self2.categories
  460. category.button.Parent = self2.sidebar
  461.  
  462. if not thinProject then
  463. category.R.Parent = category.container
  464. end
  465.  
  466. category.L.Parent = category.container
  467. category.hider.Parent = category.container
  468.  
  469. local function calculateSector()
  470. if thinProject then
  471. return "L"
  472. end
  473.  
  474. local R = #category.R:GetChildren() - 1
  475. local L = #category.L:GetChildren() - 1
  476.  
  477. if L > R then
  478. return "R"
  479. else
  480. return "L"
  481. end
  482. end
  483.  
  484. function category:Sector(name)
  485. local sector = {}
  486.  
  487. sector.frame = blood:Create("Frame", {
  488. Name = name,
  489. BackgroundColor3 = Color3.new(1, 1, 1),
  490. BackgroundTransparency = 1,
  491. Size = UDim2.new(1, 0, 0, 25),
  492. ZIndex = 2
  493. })
  494.  
  495. sector.container = blood:Create("Frame", {
  496. Name = "Container",
  497. BackgroundColor3 = Color3.new(1, 1, 1),
  498. BackgroundTransparency = 1,
  499. Position = UDim2.new(0, 0, 0, 22),
  500. Size = UDim2.new(1, -5, 1, -30),
  501. ZIndex = 2
  502. })
  503.  
  504. sector.title = blood:Create("TextLabel", {
  505. Name = "Title",
  506. Text = name,
  507. BackgroundColor3 = Color3.new(1, 1, 1),
  508. BackgroundTransparency = 1,
  509. Size = UDim2.new(1, -5, 0, 25),
  510. ZIndex = 2,
  511. Font = Enum.Font.GothamSemibold,
  512. TextColor3 = theme.text_color,
  513. TextSize = 14,
  514. TextXAlignment = Enum.TextXAlignment.Left,
  515. })
  516.  
  517. local uilistlayout = blood:Create("UIListLayout", {
  518. SortOrder = Enum.SortOrder.LayoutOrder
  519. })
  520.  
  521. uilistlayout.Changed:Connect(function()
  522. pcall(function()
  523. sector.frame.Size = UDim2.new(1, 0, 0, sector.container["UIListLayout"].AbsoluteContentSize.Y + 25)
  524. sector.container.Size = UDim2.new(1, 0, 0, sector.container["UIListLayout"].AbsoluteContentSize.Y)
  525. end)
  526. end)
  527. uilistlayout.Parent = sector.container
  528. uilistlayout = nil
  529.  
  530. function sector:Cheat(kind, name, callback, data)
  531. local cheat = {}
  532. cheat.value = nil
  533.  
  534. cheat.frame = blood:Create("Frame", {
  535. Name = name,
  536. BackgroundColor3 = Color3.new(1, 1, 1),
  537. BackgroundTransparency = 1,
  538. Size = UDim2.new(1, 0, 0, 25),
  539. ZIndex = 2,
  540. })
  541.  
  542. cheat.label = blood:Create("TextLabel", {
  543. Name = "Title",
  544. BackgroundColor3 = Color3.new(1, 1, 1),
  545. BackgroundTransparency = 1,
  546. Size = UDim2.new(1, 0, 1, 0),
  547. ZIndex = 2,
  548. Font = Enum.Font.Gotham,
  549. TextColor3 = theme.text_color,
  550. TextSize = 13,
  551. Text = name,
  552. TextXAlignment = Enum.TextXAlignment.Left
  553. })
  554.  
  555. cheat.container = blood:Create("Frame", {
  556. Name = "Container",
  557. AnchorPoint = Vector2.new(1, 0.5),
  558. BackgroundColor3 = Color3.new(1, 1, 1),
  559. BackgroundTransparency = 1,
  560. Position = UDim2.new(1, 0, 0.5, 0),
  561. Size = UDim2.new(0, 150, 0, 22),
  562. ZIndex = 2,
  563. })
  564.  
  565. if kind then
  566. if string.lower(kind) == "checkbox" or string.lower(kind) == "toggle" then
  567. if data then
  568. if data.enabled then
  569. cheat.value = true
  570. end
  571. end
  572.  
  573. cheat.checkbox = blood:Create("Frame", {
  574. Name = "Checkbox",
  575. AnchorPoint = Vector2.new(1, 0),
  576. BackgroundColor3 = Color3.new(1, 1, 1),
  577. BackgroundTransparency = 1,
  578. Position = UDim2.new(1, 0, 0, 0),
  579. Size = UDim2.new(0, 25, 0, 25),
  580. ZIndex = 2,
  581. })
  582.  
  583. cheat.outerbox = blood:Create("ImageLabel", {
  584. Name = "Outer",
  585. AnchorPoint = Vector2.new(1, 0.5),
  586. BackgroundColor3 = Color3.new(1, 1, 1),
  587. BackgroundTransparency = 1,
  588. Position = UDim2.new(1, 0, 0.5, 0),
  589. Size = UDim2.new(0, 20, 0, 20),
  590. ZIndex = 2,
  591. Image = "rbxassetid://3570695787",
  592. ImageColor3 = theme.checkbox_outer,
  593. ScaleType = Enum.ScaleType.Slice,
  594. SliceCenter = Rect.new(100, 100, 100, 100),
  595. SliceScale = 0.06,
  596. })
  597.  
  598. cheat.checkboxbutton = blood:Create("ImageButton", {
  599. AnchorPoint = Vector2.new(0.5, 0.5),
  600. Name = "CheckboxButton",
  601. BackgroundColor3 = Color3.new(1, 1, 1),
  602. BackgroundTransparency = 1,
  603. Position = UDim2.new(0.5, 0, 0.5, 0),
  604. Size = UDim2.new(0, 14, 0, 14),
  605. ZIndex = 2,
  606. Image = "rbxassetid://3570695787",
  607. ImageColor3 = theme.checkbox_inner,
  608. ScaleType = Enum.ScaleType.Slice,
  609. SliceCenter = Rect.new(100, 100, 100, 100),
  610. SliceScale = 0.04
  611. })
  612.  
  613. if data then
  614. if data.enabled then
  615. blood.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  616. blood.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  617. end
  618. end
  619.  
  620. cheat.checkboxbutton.MouseEnter:Connect(function()
  621. local lightertheme = Color3.fromRGB((theme.checkbox_outer.R * 255) + 20, (theme.checkbox_outer.G * 255) + 20, (theme.checkbox_outer.B * 255) + 20)
  622. blood.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = lightertheme}):Play()
  623. end)
  624. cheat.checkboxbutton.MouseLeave:Connect(function()
  625. if not cheat.value then
  626. blood.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_outer}):Play()
  627. else
  628. blood.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  629. end
  630. end)
  631. cheat.checkboxbutton.MouseButton1Down:Connect(function()
  632. if cheat.value then
  633. blood.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_outer}):Play()
  634. else
  635. blood.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  636. end
  637. end)
  638. cheat.checkboxbutton.MouseButton1Up:Connect(function()
  639. cheat.value = not cheat.value
  640.  
  641. if callback then
  642. local s, e = pcall(function()
  643. callback(cheat.value)
  644. end)
  645.  
  646. if not s then warn("error: ".. e) end
  647. end
  648.  
  649. if cheat.value then
  650. blood.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  651. else
  652. blood.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_outer}):Play()
  653. blood.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_inner}):Play()
  654. end
  655. end)
  656.  
  657. cheat.checkboxbutton.Parent = cheat.outerbox
  658. cheat.outerbox.Parent = cheat.container
  659. elseif string.lower(kind) == "color" or string.lower(kind) == "colorpicker" then
  660. cheat.value = Color3.new(1, 1, 1);
  661.  
  662. if data then
  663. if data.color then
  664. cheat.value = data.color
  665. end
  666. end
  667.  
  668. local hsvimage = "rbxassetid://4613607014"
  669. local lumienceimage = "rbxassetid://4613627894"
  670.  
  671. cheat.hsvbar = blood:Create("ImageButton", {
  672. AnchorPoint = Vector2.new(0.5, 0.5),
  673. Name = "HSVBar",
  674. BackgroundColor3 = Color3.new(1, 1, 1),
  675. BackgroundTransparency = 1,
  676. Position = UDim2.new(0.5, 0, 0.5, 0),
  677. Size = UDim2.new(1, 0, 0, 6),
  678. ZIndex = 2,
  679. Image = hsvimage
  680. })
  681.  
  682. cheat.arrowpreview = blood:Create("ImageLabel", {
  683. Name = "ArrowPreview",
  684. BackgroundColor3 = Color3.new(1, 1, 1),
  685. BackgroundTransparency = 1,
  686. ImageTransparency = 0.25,
  687. Position = UDim2.new(0.5, 0, 0.5, -6),
  688. Size = UDim2.new(0, 6, 0, 6),
  689. ZIndex = 3,
  690. Image = "rbxassetid://2500573769",
  691. Rotation = -90
  692. })
  693.  
  694. cheat.hsvbar.MouseButton1Down:Connect(function()
  695. local rs = blood.gs["RunService"]
  696. local uis = blood.gs["UserInputService"]local last = cheat.value;
  697.  
  698. cheat.hsvbar.Image = hsvimage
  699.  
  700. while uis:IsMouseButtonPressed'MouseButton1' do
  701. local mouseloc = uis:GetMouseLocation()
  702. local sx = cheat.arrowpreview.AbsoluteSize.X / 2;
  703. local offset = (mouseloc.x - cheat.hsvbar.AbsolutePosition.X) - sx
  704. local scale = offset / cheat.hsvbar.AbsoluteSize.X
  705. local position = math.clamp(offset, -sx, cheat.hsvbar.AbsoluteSize.X - sx) / cheat.hsvbar.AbsoluteSize.X
  706.  
  707. blood.gs["TweenService"]:Create(cheat.arrowpreview, TweenInfo.new(0.1), {Position = UDim2.new(position, 0, 0.5, -6)}):Play()
  708.  
  709. cheat.value = Color3.fromHSV(math.clamp(scale, 0, 1), 1, 1)
  710.  
  711. if cheat.value ~= last then
  712. last = cheat.value
  713.  
  714. if callback then
  715. local s, e = pcall(function()
  716. callback(cheat.value)
  717. end)
  718.  
  719. if not s then warn("error: ".. e) end
  720. end
  721. end
  722.  
  723. rs.RenderStepped:wait()
  724. end
  725. end)
  726. cheat.hsvbar.MouseButton2Down:Connect(function()
  727. local rs = blood.gs["RunService"]
  728. local uis = blood.gs["UserInputService"]
  729. local last = cheat.value;
  730.  
  731. cheat.hsvbar.Image = lumienceimage
  732.  
  733. while uis:IsMouseButtonPressed'MouseButton2' do
  734. local mouseloc = uis:GetMouseLocation()
  735. local sx = cheat.arrowpreview.AbsoluteSize.X / 2
  736. local offset = (mouseloc.x - cheat.hsvbar.AbsolutePosition.X) - sx
  737. local scale = offset / cheat.hsvbar.AbsoluteSize.X
  738. local position = math.clamp(offset, -sx, cheat.hsvbar.AbsoluteSize.X - sx) / cheat.hsvbar.AbsoluteSize.X
  739.  
  740. blood.gs["TweenService"]:Create(cheat.arrowpreview, TweenInfo.new(0.1), {Position = UDim2.new(position, 0, 0.5, -6)}):Play()
  741.  
  742. cheat.value = Color3.fromHSV(1, 0, 1 - math.clamp(scale, 0, 1))
  743.  
  744. if cheat.value ~= last then
  745. last = cheat.value
  746.  
  747. if callback then
  748. local s, e = pcall(function()
  749. callback(cheat.value)
  750. end)
  751.  
  752. if not s then warn("error: ".. e) end
  753. end
  754. end
  755.  
  756. rs.RenderStepped:wait()
  757. end
  758. end)
  759.  
  760. cheat.hsvbar.Parent = cheat.container
  761. cheat.arrowpreview.Parent = cheat.hsvbar
  762. elseif string.lower(kind) == "dropdown" then
  763. if data then
  764. if data.default then
  765. cheat.value = data.default
  766. elseif data.options then
  767. cheat.value = data.options[1]
  768. else
  769. cheat.value = "None"
  770. end
  771. end
  772.  
  773. local options
  774.  
  775. if data and data.options then
  776. options = data.options
  777. end
  778.  
  779. cheat.dropped = false
  780.  
  781. cheat.dropdown = blood:Create("ImageButton", {
  782. Name = "Dropdown",
  783. BackgroundColor3 = Color3.new(1, 1, 1),
  784. BackgroundTransparency = 1,
  785. Size = UDim2.new(1, 0, 1, 0),
  786. ZIndex = 2,
  787. Image = "rbxassetid://3570695787",
  788. ImageColor3 = theme.dropdown_background,
  789. ImageTransparency = 0.5,
  790. ScaleType = Enum.ScaleType.Slice,
  791. SliceCenter = Rect.new(100, 100, 100, 100),
  792. SliceScale = 0.02
  793. })
  794.  
  795. cheat.selected = blood:Create("TextLabel", {
  796. Name = "Selected",
  797. BackgroundColor3 = Color3.new(1, 1, 1),
  798. BackgroundTransparency = 1,
  799. Position = UDim2.new(0, 10, 0, 0),
  800. Size = UDim2.new(1, -35, 1, 0),
  801. ZIndex = 2,
  802. Font = Enum.Font.Gotham,
  803. Text = tostring(cheat.value),
  804. TextColor3 = theme.dropdown_text,
  805. TextSize = 13,
  806. TextXAlignment = Enum.TextXAlignment.Left
  807. })
  808.  
  809. cheat.list = blood:Create("ScrollingFrame", {
  810. Name = "List",
  811. BackgroundColor3 = theme.dropdown_background,
  812. BackgroundTransparency = 0.5,
  813. BorderSizePixel = 0,
  814. Position = UDim2.new(0, 0, 1, 0),
  815. Size = UDim2.new(1, 0, 0, 100),
  816. ZIndex = 3,
  817. BottomImage = "rbxassetid://967852042",
  818. MidImage = "rbxassetid://967852042",
  819. TopImage = "rbxassetid://967852042",
  820. ScrollBarThickness = 4,
  821. VerticalScrollBarInset = Enum.ScrollBarInset.None,
  822. ScrollBarImageColor3 = theme.dropdown_scrollbar_color
  823. })
  824.  
  825. local uilistlayout = blood:Create("UIListLayout", {
  826. SortOrder = Enum.SortOrder.LayoutOrder,
  827. Padding = UDim.new(0, 2)
  828. })
  829. uilistlayout.Parent = cheat.list
  830. uilistlayout = nil
  831. local uipadding = blood:Create("UIPadding", {
  832. PaddingLeft = UDim.new(0, 2)
  833. })
  834. uipadding.Parent = cheat.list
  835. uipadding = nil
  836.  
  837. local function refreshOptions()
  838. if cheat.dropped then
  839. cheat.fadelist()
  840. end
  841.  
  842. for _, child in next, cheat.list:GetChildren() do
  843. if child:IsA("TextButton") then
  844. child:Destroy()
  845. end
  846. end
  847.  
  848. for _, value in next, options do
  849. local button = blood:Create("TextButton", {
  850. BackgroundColor3 = Color3.new(1, 1, 1),
  851. BackgroundTransparency = 1,
  852. Size = UDim2.new(1, 0, 0, 20),
  853. ZIndex = 3,
  854. Font = Enum.Font.Gotham,
  855. Text = value,
  856. TextColor3 = theme.dropdown_text,
  857. TextSize = 13
  858. })
  859.  
  860. button.Parent = cheat.list
  861.  
  862. button.MouseEnter:Connect(function()
  863. blood.gs["TweenService"]:Create(button, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text_hover}):Play()
  864. end)
  865. button.MouseLeave:Connect(function()
  866. blood.gs["TweenService"]:Create(button, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text}):Play()
  867. end)
  868. button.MouseButton1Click:Connect(function()
  869. if cheat.dropped then
  870. cheat.value = value
  871. cheat.selected.Text = value
  872.  
  873. cheat.fadelist()
  874.  
  875. if callback then
  876. local s, e = pcall(function()
  877. callback(cheat.value)
  878. end)
  879.  
  880. if not s then warn("error: ".. e) end
  881. end
  882. end
  883. end)
  884.  
  885.  
  886. blood.gs["TweenService"]:Create(button, TweenInfo.new(0), {TextTransparency = 1}):Play()
  887. end
  888.  
  889. blood.gs["TweenService"]:Create(cheat.list, TweenInfo.new(0), {Size = UDim2.new(1, 0, 0, 0), Position = UDim2.new(0, 0, 1, 0), CanvasSize = UDim2.new(0, 0, 0, cheat.list["UIListLayout"].AbsoluteContentSize.Y), ScrollBarImageTransparency = 1, BackgroundTransparency = 1}):Play()
  890. end
  891.  
  892.  
  893. function cheat.fadelist()
  894. cheat.dropped = not cheat.dropped
  895.  
  896. if cheat.dropped then
  897. for _, button in next, cheat.list:GetChildren() do
  898. if button:IsA("TextButton") then
  899. blood.gs["TweenService"]:Create(button, TweenInfo.new(0.2), {TextTransparency = 0}):Play()
  900. end
  901. end
  902.  
  903. blood.gs["TweenService"]:Create(cheat.list, TweenInfo.new(0.2), {Size = UDim2.new(1, 0, 0, math.clamp(cheat.list["UIListLayout"].AbsoluteContentSize.Y, 0, 150)), Position = UDim2.new(0, 0, 1, 0), ScrollBarImageTransparency = 0, BackgroundTransparency = 0.5}):Play()
  904. else
  905. for _, button in next, cheat.list:GetChildren() do
  906. if button:IsA("TextButton") then
  907. blood.gs["TweenService"]:Create(button, TweenInfo.new(0.2), {TextTransparency = 1}):Play()
  908. end
  909. end
  910.  
  911. blood.gs["TweenService"]:Create(cheat.list, TweenInfo.new(0.2), {Size = UDim2.new(1, 0, 0, 0), Position = UDim2.new(0, 0, 1, 0), ScrollBarImageTransparency = 1, BackgroundTransparency = 1}):Play()
  912. end
  913. end
  914.  
  915. cheat.dropdown.MouseEnter:Connect(function()
  916. blood.gs["TweenService"]:Create(cheat.selected, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text_hover}):Play()
  917. end)
  918. cheat.dropdown.MouseLeave:Connect(function()
  919. blood.gs["TweenService"]:Create(cheat.selected, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text}):Play()
  920. end)
  921. cheat.dropdown.MouseButton1Click:Connect(function()
  922. cheat.fadelist()
  923. end)
  924.  
  925. refreshOptions()
  926.  
  927. function cheat:RemoveOption(value)
  928. local removed = false
  929. for index, option in next, options do
  930. if option == value then
  931. table.remove(options, index)
  932. removed = true
  933. break
  934. end
  935. end
  936.  
  937. if removed then
  938. refreshOptions()
  939. end
  940.  
  941. return removed
  942. end
  943.  
  944. function cheat:AddOption(value)
  945. table.insert(options, value)
  946.  
  947. refreshOptions()
  948. end
  949.  
  950. function cheat:SetValue(value)
  951. cheat.selected.Text = value
  952. cheat.value = value
  953.  
  954. if cheat.dropped then
  955. cheat.fadelist()
  956. end
  957.  
  958. if callback then
  959. local s, e = pcall(function()
  960. callback(cheat.value)
  961. end)
  962.  
  963. if not s then warn("error: ".. e) end
  964. end
  965. end
  966.  
  967. cheat.selected.Parent = cheat.dropdown
  968. cheat.dropdown.Parent = cheat.container
  969. cheat.list.Parent = cheat.container
  970. elseif string.lower(kind) == "textbox" then
  971. local placeholdertext = data and data.placeholder
  972.  
  973. cheat.background = blood:Create("ImageLabel", {
  974. Name = "Background",
  975. BackgroundColor3 = Color3.new(1, 1, 1),
  976. BackgroundTransparency = 1,
  977. Size = UDim2.new(1, 0, 1, 0),
  978. ZIndex = 2,
  979. Image = "rbxassetid://3570695787",
  980. ImageColor3 = theme.textbox_background,
  981. ImageTransparency = 0.5,
  982. ScaleType = Enum.ScaleType.Slice,
  983. SliceCenter = Rect.new(100, 100, 100, 100),
  984. SliceScale = 0.02
  985. })
  986.  
  987. cheat.textbox = blood:Create("TextBox", {
  988. Name = "Textbox",
  989. BackgroundColor3 = Color3.new(1, 1, 1),
  990. BackgroundTransparency = 1,
  991. Position = UDim2.new(0, 0, 0, 0),
  992. Size = UDim2.new(1, 0, 1, 0),
  993. ZIndex = 2,
  994. Font = Enum.Font.Gotham,
  995. Text = "",
  996. TextColor3 = theme.textbox_text,
  997. PlaceholderText = placeholdertext or "Value",
  998. TextSize = 13,
  999. TextXAlignment = Enum.TextXAlignment.Center,
  1000. ClearTextOnFocus = false
  1001. })
  1002.  
  1003. cheat.background.MouseEnter:Connect(function()
  1004. blood.gs["TweenService"]:Create(cheat.textbox, TweenInfo.new(0.1), {TextColor3 = theme.textbox_text_hover}):Play()
  1005. end)
  1006. cheat.background.MouseLeave:Connect(function()
  1007. blood.gs["TweenService"]:Create(cheat.textbox, TweenInfo.new(0.1), {TextColor3 = theme.textbox_text}):Play()
  1008. end)
  1009. cheat.textbox.Focused:Connect(function()
  1010. typing = true
  1011.  
  1012. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.textbox_background_hover}):Play()
  1013. end)
  1014. cheat.textbox.FocusLost:Connect(function()
  1015. typing = false
  1016.  
  1017. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.textbox_background}):Play()
  1018. blood.gs["TweenService"]:Create(cheat.textbox, TweenInfo.new(0.1), {TextColor3 = theme.textbox_text}):Play()
  1019.  
  1020. cheat.value = cheat.textbox.Text
  1021.  
  1022. if callback then
  1023. local s, e = pcall(function()
  1024. callback(cheat.value)
  1025. end)
  1026.  
  1027. if not s then warn("error: "..e) end
  1028. end
  1029. end)
  1030.  
  1031. cheat.background.Parent = cheat.container
  1032. cheat.textbox.Parent = cheat.container
  1033. elseif string.lower(kind) == "slider" then
  1034. cheat.value = 0
  1035.  
  1036. local suffix = data.suffix or ""
  1037. local minimum = data.min or 0
  1038. local maximum = data.max or 1
  1039.  
  1040. local moveconnection
  1041. local releaseconnection
  1042.  
  1043. cheat.sliderbar = blood:Create("ImageButton", {
  1044. Name = "Sliderbar",
  1045. AnchorPoint = Vector2.new(1, 0.5),
  1046. BackgroundColor3 = Color3.new(1, 1, 1),
  1047. BackgroundTransparency = 1,
  1048. Position = UDim2.new(1, 0, 0.5, 0),
  1049. Size = UDim2.new(1, 0, 0, 6),
  1050. ZIndex = 2,
  1051. Image = "rbxassetid://3570695787",
  1052. ImageColor3 = theme.slider_background,
  1053. ImageTransparency = 0.5,
  1054. ScaleType = Enum.ScaleType.Slice,
  1055. SliceCenter = Rect.new(100, 100, 100, 100),
  1056. SliceScale = 0.02,
  1057. })
  1058.  
  1059. cheat.numbervalue = blood:Create("TextLabel", {
  1060. Name = "Value",
  1061. AnchorPoint = Vector2.new(0, 0.5),
  1062. BackgroundColor3 = Color3.new(1, 1, 1),
  1063. BackgroundTransparency = 1,
  1064. Position = UDim2.new(0.5, 5, 0.5, 0),
  1065. Size = UDim2.new(1, 0, 0, 13),
  1066. ZIndex = 2,
  1067. Font = Enum.Font.Gotham,
  1068. TextXAlignment = Enum.TextXAlignment.Left,
  1069. Text = "",
  1070. TextTransparency = 1,
  1071. TextColor3 = theme.slider_text,
  1072. TextSize = 13,
  1073. })
  1074.  
  1075. cheat.visiframe = blood:Create("ImageLabel", {
  1076. Name = "Frame",
  1077. BackgroundColor3 = Color3.new(1, 1, 1),
  1078. BackgroundTransparency = 1,
  1079. Size = UDim2.new(0.5, 0, 1, 0),
  1080. ZIndex = 2,
  1081. Image = "rbxassetid://3570695787",
  1082. ImageColor3 = theme.slider_color,
  1083. ScaleType = Enum.ScaleType.Slice,
  1084. SliceCenter = Rect.new(100, 100, 100, 100),
  1085. SliceScale = 0.02
  1086. })
  1087.  
  1088. cheat.sliderbar.MouseButton1Down:Connect(function()
  1089. local size = math.clamp(mouse.X - cheat.sliderbar.AbsolutePosition.X, 0, 150)
  1090. local percent = size / 150
  1091.  
  1092. cheat.value = math.floor((minimum + (maximum - minimum) * percent) * 100) / 100
  1093. cheat.numbervalue.Text = tostring(cheat.value) .. suffix
  1094.  
  1095. if callback then
  1096. local s, e = pcall(function()
  1097. callback(cheat.value)
  1098. end)
  1099.  
  1100. if not s then warn("error: ".. e) end
  1101. end
  1102.  
  1103. blood.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1104. Size = UDim2.new(size / 150, 0, 1, 0),
  1105. ImageColor3 = theme.slider_color_sliding
  1106. }):Play()
  1107.  
  1108. blood.gs["TweenService"]:Create(cheat.numbervalue, TweenInfo.new(0.1), {
  1109. Position = UDim2.new(size / 150, 5, 0.5, 0),
  1110. TextTransparency = 0
  1111. }):Play()
  1112.  
  1113. moveconnection = mouse.Move:Connect(function()
  1114. local size = math.clamp(mouse.X - cheat.sliderbar.AbsolutePosition.X, 0, 150)
  1115. local percent = size / 150
  1116.  
  1117. cheat.value = math.floor((minimum + (maximum - minimum) * percent) * 100) / 100
  1118. cheat.numbervalue.Text = tostring(cheat.value) .. suffix
  1119.  
  1120. if callback then
  1121. local s, e = pcall(function()
  1122. callback(cheat.value)
  1123. end)
  1124.  
  1125. if not s then warn("error: ".. e) end
  1126. end
  1127.  
  1128. blood.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1129. Size = UDim2.new(size / 150, 0, 1, 0),
  1130. ImageColor3 = theme.slider_color_sliding
  1131. }):Play()
  1132.  
  1133. local Position = UDim2.new(size / 150, 5, 0.5, 0);
  1134.  
  1135. if Position.Width.Scale >= 0.6 then
  1136. Position = UDim2.new(1, -cheat.numbervalue.TextBounds.X, 0.5, 10);
  1137. end
  1138.  
  1139. blood.gs["TweenService"]:Create(cheat.numbervalue, TweenInfo.new(0.1), {
  1140. Position = Position,
  1141. TextTransparency = 0
  1142. }):Play()
  1143. end)
  1144.  
  1145. releaseconnection = blood.gs["UserInputService"].InputEnded:Connect(function(Mouse)
  1146. if Mouse.UserInputType == Enum.UserInputType.MouseButton1 then
  1147.  
  1148. blood.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1149. ImageColor3 = theme.slider_color
  1150. }):Play()
  1151.  
  1152. blood.gs["TweenService"]:Create(cheat.numbervalue, TweenInfo.new(0.1), {
  1153. TextTransparency = 1
  1154. }):Play()
  1155.  
  1156. moveconnection:Disconnect()
  1157. moveconnection = nil
  1158. releaseconnection:Disconnect()
  1159. releaseconnection = nil
  1160. end
  1161. end)
  1162. end)
  1163.  
  1164. cheat.visiframe.Parent = cheat.sliderbar
  1165. cheat.numbervalue.Parent = cheat.sliderbar
  1166. cheat.sliderbar.Parent = cheat.container
  1167. elseif string.lower(kind) == "button" then
  1168. local button_text = data and data.text
  1169.  
  1170. cheat.background = blood:Create("ImageLabel", {
  1171. Name = "Background",
  1172. BackgroundColor3 = Color3.new(1, 1, 1),
  1173. BackgroundTransparency = 1,
  1174. Size = UDim2.new(1, 0, 1, 0),
  1175. ZIndex = 2,
  1176. Image = "rbxassetid://3570695787",
  1177. ImageColor3 = theme.button_background,
  1178. ImageTransparency = 0.5,
  1179. ScaleType = Enum.ScaleType.Slice,
  1180. SliceCenter = Rect.new(100, 100, 100, 100),
  1181. SliceScale = 0.02
  1182. })
  1183.  
  1184. cheat.button = blood:Create("TextButton", {
  1185. Name = "Button",
  1186. BackgroundColor3 = Color3.new(1, 1, 1),
  1187. BackgroundTransparency = 1,
  1188. Position = UDim2.new(0, 0, 0, 0),
  1189. Size = UDim2.new(1, 0, 1, 0),
  1190. ZIndex = 2,
  1191. Font = Enum.Font.Gotham,
  1192. Text = button_text or "Button",
  1193. TextColor3 = theme.textbox_text,
  1194. TextSize = 13,
  1195. TextXAlignment = Enum.TextXAlignment.Center
  1196. })
  1197.  
  1198. cheat.button.MouseEnter:Connect(function()
  1199. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_hover}):Play()
  1200. end)
  1201. cheat.button.MouseLeave:Connect(function()
  1202. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1203. end)
  1204. cheat.button.MouseButton1Down:Connect(function()
  1205. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_down}):Play()
  1206. end)
  1207. cheat.button.MouseButton1Up:Connect(function()
  1208. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1209.  
  1210. if callback then
  1211. local s, e = pcall(function()
  1212. callback()
  1213. end)
  1214.  
  1215. if not s then warn("error: ".. e) end
  1216. end
  1217. end)
  1218.  
  1219. cheat.background.Parent = cheat.container
  1220. cheat.button.Parent = cheat.container
  1221.  
  1222. elseif string.lower(kind) == "keybind" or string.lower(kind) == "bind" then
  1223. local callback_bind = data and data.bind
  1224. local connection
  1225.  
  1226. cheat.background = blood:Create("ImageLabel", {
  1227. Name = "Background",
  1228. BackgroundColor3 = Color3.new(1, 1, 1),
  1229. BackgroundTransparency = 1,
  1230. Size = UDim2.new(1, 0, 1, 0),
  1231. ZIndex = 2,
  1232. Image = "rbxassetid://3570695787",
  1233. ImageColor3 = theme.button_background,
  1234. ImageTransparency = 0.5,
  1235. ScaleType = Enum.ScaleType.Slice,
  1236. SliceCenter = Rect.new(100, 100, 100, 100),
  1237. SliceScale = 0.02
  1238. })
  1239.  
  1240. cheat.button = blood:Create("TextButton", {
  1241. Name = "Button",
  1242. BackgroundColor3 = Color3.new(1, 1, 1),
  1243. BackgroundTransparency = 1,
  1244. Position = UDim2.new(0, 0, 0, 0),
  1245. Size = UDim2.new(1, 0, 1, 0),
  1246. ZIndex = 2,
  1247. Font = Enum.Font.Gotham,
  1248. Text = "Click to Bind",
  1249. TextColor3 = theme.textbox_text,
  1250. TextSize = 13,
  1251. TextXAlignment = Enum.TextXAlignment.Center
  1252. })
  1253.  
  1254. cheat.button.MouseEnter:Connect(function()
  1255. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_hover}):Play()
  1256. end)
  1257. cheat.button.MouseLeave:Connect(function()
  1258. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1259. end)
  1260. cheat.button.MouseButton1Down:Connect(function()
  1261. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_down}):Play()
  1262. end)
  1263. cheat.button.MouseButton2Down:Connect(function()
  1264. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_down}):Play()
  1265. end)
  1266. cheat.button.MouseButton1Up:Connect(function()
  1267. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1268. cheat.button.Text = "Press key..."
  1269.  
  1270. if connection then
  1271. connection:Disconnect()
  1272. connection = nil
  1273. end
  1274.  
  1275. connection = blood.gs["UserInputService"].InputBegan:Connect(function(Input)
  1276. if Input.UserInputType.Name == "Keyboard" and Input.KeyCode ~= bloodData.ToggleKey and Input.KeyCode ~= Enum.KeyCode.Backspace then
  1277. cheat.button.Text = "Bound to " .. tostring(Input.KeyCode.Name)
  1278.  
  1279. if connection then
  1280. connection:Disconnect()
  1281. connection = nil
  1282. end
  1283.  
  1284. delay(0, function()
  1285. callback_bind = Input.KeyCode
  1286.  
  1287. if callback then
  1288. local s, e = pcall(function()
  1289. callback(Input.KeyCode)
  1290. end)
  1291.  
  1292. if not s then warn("error: ".. e) end
  1293. end
  1294. end)
  1295. elseif Input.KeyCode == Enum.KeyCode.Backspace then
  1296. callback_bind = nil
  1297. cheat.button.Text = "Click to Bind"
  1298.  
  1299. delay(0, function()
  1300. if callback then
  1301. local s, e = pcall(function()
  1302. callback()
  1303. end)
  1304.  
  1305. if not s then warn("error: ".. e) end
  1306. end
  1307. end)
  1308.  
  1309. connection:Disconnect()
  1310. connection = nil
  1311. elseif Input.KeyCode == bloodData.ToggleKey then
  1312. cheat.button.Text = "Invalid Key";
  1313. end
  1314. end)
  1315. end)
  1316.  
  1317. cheat.button.MouseButton2Up:Connect(function()
  1318. blood.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1319.  
  1320. callback_bind = nil
  1321. cheat.button.Text = "Click to Bind"
  1322.  
  1323. delay(0, function()
  1324. if callback then
  1325. local s, e = pcall(function()
  1326. callback()
  1327. end)
  1328.  
  1329. if not s then warn("error: ".. e) end
  1330. end
  1331. end)
  1332.  
  1333. if connection then
  1334. connection:Disconnect()
  1335. connection = nil
  1336. end
  1337. end)
  1338.  
  1339.  
  1340. blood.gs["UserInputService"].InputBegan:Connect(function(Input, Process)
  1341. if callback_bind and Input.KeyCode == callback_bind and not Process then
  1342. if callback then
  1343. local s, e = pcall(function()
  1344. callback(Input.KeyCode)
  1345. end)
  1346.  
  1347. if not s then warn("error: ".. e) end
  1348. end
  1349. end
  1350. end)
  1351.  
  1352. if callback_bind then
  1353. cheat.button.Text = "Bound to " .. tostring(callback_bind.Name)
  1354. end
  1355.  
  1356. cheat.background.Parent = cheat.container
  1357. cheat.button.Parent = cheat.container
  1358. end
  1359. end
  1360.  
  1361. cheat.frame.Parent = sector.container
  1362. cheat.label.Parent = cheat.frame
  1363. cheat.container.Parent = cheat.frame
  1364.  
  1365. return cheat
  1366. end
  1367.  
  1368. sector.frame.Parent = category[calculateSector()]
  1369. sector.container.Parent = sector.frame
  1370. sector.title.Parent = sector.frame
  1371.  
  1372. return sector
  1373. end
  1374.  
  1375. firstCategory = false
  1376.  
  1377. return category
  1378. end
  1379.  
  1380. self:addShadow(self2.container, 0)
  1381.  
  1382. self2.categories.ClipsDescendants = true
  1383.  
  1384. if not blood.gs["RunService"]:IsStudio() then
  1385. self2.userinterface.Parent = self.gs["CoreGui"]
  1386. else
  1387. self2.userinterface.Parent = self.gs["Players"].LocalPlayer:WaitForChild("PlayerGui")
  1388. end
  1389.  
  1390. self2.container.Parent = self2.userinterface
  1391. self2.categories.Parent = self2.container
  1392. self2.sidebar.Parent = self2.container
  1393. self2.topbar.Parent = self2.container
  1394. self2.tip.Parent = self2.topbar
  1395.  
  1396. return self2, bloodData
  1397. end
  1398.  
  1399. return blood
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement