Jjgames

Untitled

Jan 1st, 2023
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. --[[
  2. FE Custom BTools V2 | Script made by Cyclically
  3. BTools will only replicate on unanchored parts
  4. https://v3rmillion.net/member.php?action=profile&uid=785986
  5. Don't edit script unless you know what you're doing. If you wanna add this into a script, please give credits and message me on discord that you added it in a script at Cyclically#4905
  6. ]]
  7.  
  8. local LocalPlayer = game:GetService("Players").LocalPlayer
  9. local mouse = LocalPlayer:GetMouse()
  10. local movetool = Instance.new("Tool", LocalPlayer.Backpack)
  11. local deletetool = Instance.new("Tool", LocalPlayer.Backpack)
  12. local undotool = Instance.new("Tool", LocalPlayer.Backpack)
  13. local identifytool = Instance.new("Tool", LocalPlayer.Backpack)
  14. local movedetect = false
  15. local movingpart = nil
  16. local movetransparency = 0
  17. if editedparts == nil then
  18. editedparts = {}
  19. parentfix = {}
  20. positionfix = {}
  21. end
  22. deletetool.Name = "Delete"
  23. undotool.Name = "Undo"
  24. identifytool.Name = "Identify"
  25. movetool.Name = "Move"
  26. undotool.CanBeDropped = false
  27. deletetool.CanBeDropped = false
  28. identifytool.CanBeDropped = false
  29. movetool.CanBeDropped = false
  30. undotool.RequiresHandle = false
  31. deletetool.RequiresHandle = false
  32. identifytool.RequiresHandle = false
  33. movetool.RequiresHandle = false
  34. local function createnotification(title, text)
  35. game:GetService("StarterGui"):SetCore("SendNotification", {
  36. Title = title;
  37. Text = text;
  38. Duration = 1;
  39. })
  40. end
  41. deletetool.Activated:Connect(function()
  42. createnotification("Delete Tool", "You have deleted "..mouse.Target.Name)
  43. table.insert(editedparts, mouse.Target)
  44. table.insert(parentfix, mouse.Target.Parent)
  45. table.insert(positionfix, mouse.Target.CFrame)
  46. spawn(function()
  47. local deletedpart = mouse.Target
  48. repeat
  49. deletedpart.Anchored = true
  50. deletedpart.CFrame = CFrame.new(1000000000, 1000000000, 1000000000)
  51. wait()
  52. until deletedpart.CFrame ~= CFrame.new(1000000000, 1000000000, 1000000000)
  53. end)
  54. end)
  55. undotool.Activated:Connect(function()
  56. createnotification("Undo Tool", "You have undone "..editedparts[#editedparts].Name)
  57. editedparts[#editedparts].Parent = parentfix[#parentfix]
  58. editedparts[#editedparts].CFrame = positionfix[#positionfix]
  59. table.remove(positionfix, #positionfix)
  60. table.remove(editedparts, #editedparts)
  61. table.remove(parentfix, #parentfix)
  62. end)
  63. identifytool.Activated:Connect(function()
  64. createnotification("Identify Tool", "Instance: "..mouse.Target.ClassName.."\nName: "..mouse.Target.Name)
  65. end)
  66. movetool.Activated:Connect(function()
  67. createnotification("Move Tool", "You are moving: "..mouse.Target.Name)
  68. movingpart = mouse.Target
  69. movedetect = true
  70. movingpart.CanCollide = false
  71. movetransparency = movingpart.Transparency
  72. movingpart.Transparency = 0.5
  73. mouse.TargetFilter = movingpart
  74. table.insert(editedparts, movingpart)
  75. table.insert(parentfix, movingpart.Parent)
  76. table.insert(positionfix, movingpart.CFrame)
  77. movingpart.Transparency = movingpart.Transparency / 2
  78. repeat
  79. mouse.Move:Wait()
  80. movingpart.CFrame = CFrame.new(mouse.Hit.p)
  81. until movedetect == false
  82. end)
  83. movetool.Deactivated:Connect(function()
  84. createnotification("Move Tool", "You have stopped moving: "..mouse.Target.Name)
  85. movingpart.CanCollide = true
  86. movedetect = false
  87. mouse.TargetFilter = nil
  88. movingpart.Transparency = movetransparenc
  89. end)
Add Comment
Please, Sign In to add comment