Загрузка данных
--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local re=game:GetService("Workspace")
local _Name="Telekinesis V6"
local uis=game:GetService("UserInputService")
local _Ins, _CF_new, _VTR_new=Instance.new, CFrame.new, Vector3.new
local con=getfenv().sethiddenproperty
local w=wait
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
Tool0=_Ins("Tool")
Part1=_Ins("Part")
local selectionbox=Instance.new("SelectionBox", LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait())
selectionbox.LineThickness=0.03
selectionbox.Color3=Color3.fromRGB(255, 255, 255)
re=game:GetService("RunService")
Tool0.Name=_Name
Tool0.Parent=LocalPlayer.Backpack
Tool0.Grip=_CF_new(0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Tool0.GripPos=_VTR_new(0, 0, 1)
Tool0.RequiresHandle = true
Tool0.CanBeDropped = false
Part1.Name="Handle"
Part1.Parent=Tool0
local changed="Changed"
Part1.CFrame=_CF_new(-3.5, 5.30000019, -3.5, 1, 0, 0, 0, -1, 0, 0, 0, -1)
Part1.Orientation=_VTR_new(0, 180, 180)
Part1.Position=_VTR_new(-3.5, 5.300000190734863, -3.5)
Part1.Rotation=_VTR_new(-180, 0, 0)
Part1.Color=Color3.new(0.972549, 0.972549, 0.972549)
Part1.Transparency=1
local cam=re.RenderStepped
Part1.Size=_VTR_new(1, 1, 1)
Part1.BottomSurface=Enum.SurfaceType.Smooth
Part1.BrickColor=BrickColor.new("Institutional white")
Part1.Locked=true
local speed=31
local mb=uis.TouchEnabled
Part1.TopSurface=Enum.SurfaceType.Smooth
Part1.brickColor=BrickColor.new("Institutional white")
local Sound=_Ins("Sound", game.Workspace)
Sound.SoundId="rbxassetid://1092093337"
Sound.Volume = 0.3
Sound:Play()
pcall(function()
cam:Connect(function()
if con then
pcall(function()
con(LocalPlayer, changed, speed)
end)
end
end)
end)
changed="SimulationRadius"
local ScreenGui = _Ins("ScreenGui")
ScreenGui.Name = "TelekinesisGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local MainFrame = _Ins("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
MainFrame.BorderColor3 = Color3.fromRGB(60, 60, 60)
MainFrame.BorderSizePixel = 1
MainFrame.Position = UDim2.new(1, -210, 0.5, -180)
MainFrame.Size = UDim2.new(0, 200, 0, 360)
local Title = _Ins("TextLabel")
Title.Name = "Title"
Title.Parent = MainFrame
Title.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Title.BorderSizePixel = 0
Title.Size = UDim2.new(1, 0, 0, 30)
Title.Font = Enum.Font.Code
Title.Text = "TELEKINESIS V6"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 14
local ScrollFrame = _Ins("ScrollingFrame")
ScrollFrame.Name = "ControlsList"
ScrollFrame.Parent = MainFrame
ScrollFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
ScrollFrame.BorderSizePixel = 0
ScrollFrame.Position = UDim2.new(0, 0, 0, 30)
ScrollFrame.Size = UDim2.new(1, 0, 1, -30)
ScrollFrame.ScrollBarThickness = 6
ScrollFrame.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 80)
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
local UIListLayout = _Ins("UIListLayout")
UIListLayout.Parent = ScrollFrame
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 2)
UIListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 5)
end)
local UIPadding = _Ins("UIPadding")
UIPadding.Parent = ScrollFrame
UIPadding.PaddingTop = UDim.new(0, 5)
UIPadding.PaddingLeft = UDim.new(0, 8)
UIPadding.PaddingRight = UDim.new(0, 8)
local function createControlLabel(keyText, actionText, descText, layoutOrder)
local ControlFrame = _Ins("Frame")
ControlFrame.Name = "Control"
ControlFrame.Parent = ScrollFrame
ControlFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
ControlFrame.BorderColor3 = Color3.fromRGB(40, 40, 40)
ControlFrame.BorderSizePixel = 1
ControlFrame.Size = UDim2.new(1, -10, 0, 40)
ControlFrame.LayoutOrder = layoutOrder
local KeyLabel = _Ins("TextLabel")
KeyLabel.Name = "Key"
KeyLabel.Parent = ControlFrame
KeyLabel.BackgroundTransparency = 1
KeyLabel.Position = UDim2.new(0, 5, 0, 3)
KeyLabel.Size = UDim2.new(0, 20, 0, 15)
KeyLabel.Font = Enum.Font.Code
KeyLabel.Text = keyText
KeyLabel.TextColor3 = Color3.fromRGB(120, 180, 255)
KeyLabel.TextSize = 13
KeyLabel.TextXAlignment = Enum.TextXAlignment.Left
local ActionLabel = _Ins("TextLabel")
ActionLabel.Name = "Action"
ActionLabel.Parent = ControlFrame
ActionLabel.BackgroundTransparency = 1
ActionLabel.Position = UDim2.new(0, 28, 0, 3)
ActionLabel.Size = UDim2.new(1, -33, 0, 15)
ActionLabel.Font = Enum.Font.Code
ActionLabel.Text = actionText
ActionLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
ActionLabel.TextSize = 12
ActionLabel.TextXAlignment = Enum.TextXAlignment.Left
local DescLabel = _Ins("TextLabel")
DescLabel.Name = "Description"
DescLabel.Parent = ControlFrame
DescLabel.BackgroundTransparency = 1
DescLabel.Position = UDim2.new(0, 5, 0, 20)
DescLabel.Size = UDim2.new(1, -10, 0, 15)
DescLabel.Font = Enum.Font.Code
DescLabel.Text = descText
DescLabel.TextColor3 = Color3.fromRGB(140, 140, 140)
DescLabel.TextSize = 10
DescLabel.TextXAlignment = Enum.TextXAlignment.Left
return ControlFrame
end
createControlLabel("LMB", "Grab", "Click to grab objects", 1)
createControlLabel("F", "Freeze", "Lock object in place", 2)
createControlLabel("E", "Pull In", "Decrease distance by 5", 3)
createControlLabel("Q", "Push Out", "Increase distance by 5", 4)
createControlLabel("X", "Close", "Set distance to 15", 5)
createControlLabel("Y", "Throw", "Set distance to 100", 6)
createControlLabel("J", "Launch", "Set distance to 5000", 7)
createControlLabel("L", "Lock Spin", "Stop object rotation", 8)
createControlLabel("U", "Spin", "Apply rotation force", 9)
createControlLabel("P", "Lift", "Apply upward force", 10)
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
local frozenObjects = {}
local heldObjects = {}
local activeLines = {}
local LineConnect=function(part1,part2,parent)
local line=_Ins("Part")
line.TopSurface=0
line.BottomSurface=0
line.Reflectance=.5
line.Name="Laser"
line.Locked=true
line.CanCollide=false
line.Anchored=true
line.formFactor=0
line.Size=_VTR_new(1,1,1)
local mesh=_Ins("BlockMesh")
mesh.Parent=line
local connection
connection = game:GetService("RunService").RenderStepped:Connect(function()
if not part1 or not part2 or not part1.Parent or not part2.Parent then
pcall(function() line:Destroy() end)
if connection then connection:Disconnect() end
return
end
local lv=_CF_new(part1.Position,part2.Position)
local dist=(part1.Position-part2.Position).magnitude
line.Parent=parent
line.BrickColor=Part1.BrickColor
line.Reflectance=Part1.Reflectance
line.Transparency=Part1.Transparency
line.CFrame=_CF_new(part1.Position+lv.lookVector*dist/2)
line.CFrame=_CF_new(line.Position,part2.Position)
mesh.Scale=_VTR_new(.25,.25,dist)
end)
table.insert(activeLines, {line=line, connection=connection})
return line, connection
end
local tool=Tool0
local object=nil
local mousedown=false
local found=false
local dist=nil
local point=_Ins("Part")
point.Locked=true
point.Anchored=true
point.formFactor=0
point.Shape=0
point.BrickColor=BrickColor.Blue()
point.Size=_VTR_new(1,1,1)
point.CanCollide=false
local mesh=_Ins("SpecialMesh")
mesh.MeshType="Sphere"
mesh.Scale=_VTR_new(.7,.7,.7)
mesh.Parent=point
local handle=tool.Handle
local front=tool.Handle
local color=tool.Handle
local onButton1Down=function(mouse)
if (mousedown==true) then return end
mousedown=true
coroutine.resume(coroutine.create(function()
local p=point:clone()
p.Parent=tool
local lineObj, lineConn = LineConnect(front,p,workspace)
while (mousedown==true) do
p.Parent=tool
if (object==nil) then
if (mouse.Target==nil) then
local lv=_CF_new(front.Position,mouse.Hit.p)
p.CFrame=_CF_new(front.Position+(lv.lookVector*1000))
else
p.CFrame=_CF_new(mouse.Hit.p)
end
else
LineConnect(front,object,workspace)
break
end
w()
end
if lineConn then lineConn:Disconnect() end
pcall(function() p:Destroy() end)
end))
while (mousedown==true) do
if (mouse.Target~=nil) then
local t=mouse.Target
if (t.Anchored==false) then
object=t
selectionbox.Adornee=object
dist=(object.Position-front.Position).magnitude
break
end
end
w()
end
local currentBP = _Ins("BodyPosition")
currentBP.maxForce=_VTR_new(math.huge*math.huge,math.huge*math.huge,math.huge*math.huge)
currentBP.P=currentBP.P*3
if object then
heldObjects[object] = {BP = currentBP, dist = dist}
end
while (mousedown==true) do
if (object==nil or object.Parent==nil) then break end
local lv=_CF_new(front.Position,mouse.Hit.p)
currentBP.Parent=object
currentBP.position=front.Position+lv.lookVector*dist
w()
end
if object and not frozenObjects[object] then
pcall(function() currentBP:Destroy() end)
heldObjects[object] = nil
object=nil
selectionbox.Adornee=nil
end
end
local onKeyDown=function(key,mouse)
local key=key:lower()
if (key=="q") then
if (dist and dist>=5) then
dist=dist-5
if heldObjects[object] then
heldObjects[object].dist = dist
end
end
end
if (key=="u") then
if (object and dist ~=1) then
local BX=_Ins("BodyGyro")
BX.MaxTorque=_VTR_new(math.huge,0,math.huge)
BX.CFrame=BX.CFrame * CFrame.Angles(0, math.rad(45), 0)
BX.D=0
BX.Parent=object
end
end
if (key=="p") then
if (object and dist ~=1) then
local BX=_Ins("BodyVelocity")
BX.maxForce=_VTR_new(0,math.huge,0)
BX.velocity=_VTR_new(0,1,0)
BX.Parent=object
end
end
if key == "l" then
if (object==nil) then return end
for _,v in pairs(object:GetChildren()) do
if v.ClassName == "BodyGyro" then
return nil
end
end
local BG=_Ins("BodyGyro")
BG.maxTorque=_VTR_new(math.huge,math.huge,math.huge)
BG.cframe=_CF_new(object.CFrame.p)
BG.Parent=object
repeat w() until(object.CFrame == _CF_new(object.CFrame.p))
BG.Parent=nil
if (object==nil) then return end
for _,v in pairs(object:GetChildren()) do
if v.ClassName == "BodyGyro" then
v.Parent=nil
end
end
object.Velocity=_VTR_new(0,0,0)
object.RotVelocity=_VTR_new(0,0,0)
end
if (key=="y") then
if (dist ~=100) then
dist=100
if heldObjects[object] then
heldObjects[object].dist = dist
end
end
end
if (key=="j") then
if (dist~=5000) then
dist=5000
if heldObjects[object] then
heldObjects[object].dist = dist
end
end
end
if (key=="e") then
if dist then
dist=dist+5
if heldObjects[object] then
heldObjects[object].dist = dist
end
end
end
if (key=="x") then
if dist ~= 15 then
dist=15
if heldObjects[object] then
heldObjects[object].dist = dist
end
end
end
if (key=="f") then
if (object==nil) then return end
if frozenObjects[object] then
local frozenData = frozenObjects[object]
if frozenData.BP then
pcall(function() frozenData.BP:Destroy() end)
end
if frozenData.selectionBox then
pcall(function() frozenData.selectionBox:Destroy() end)
end
frozenObjects[object] = nil
else
local holdData = heldObjects[object]
if not holdData then return end
local freezeBP = holdData.BP
local freezeBox = _Ins("SelectionBox")
freezeBox.LineThickness = 0.03
freezeBox.Color3 = Color3.fromRGB(0, 255, 0)
freezeBox.Adornee = object
freezeBox.Parent = object
frozenObjects[object] = {
BP = freezeBP,
selectionBox = freezeBox,
object = object
}
heldObjects[object] = nil
object = nil
selectionbox.Adornee = nil
end
end
end
local onEquipped=function(mouse)
local char=tool.Parent
local human=char:FindFirstChildOfClass("Humanoid")
if human then
human.Changed:connect(function()
if (human.Health==0) then
mousedown=false
point:Remove()
tool:Remove()
end
end)
end
mouse.Button1Down:connect(function() onButton1Down(mouse) end)
mouse.KeyDown:connect(function(key) onKeyDown(key,mouse) end)
mouse.Icon="rbxasset://textures\\GunCursor.png"
if mb then
uis.TouchLongPress:Connect(function() onKeyDown("y",mouse) end)
uis.TouchEnded:Connect(function() mousedown=false end)
else
mouse.Button1Up:connect(function() mousedown=false end)
end
end
local function cleanup()
mousedown=false
for _, lineData in pairs(activeLines) do
if lineData.connection then lineData.connection:Disconnect() end
if lineData.line then pcall(function() lineData.line:Destroy() end) end
end
activeLines = {}
for obj, data in pairs(heldObjects) do
if data.BP then pcall(function() data.BP:Destroy() end) end
end
heldObjects = {}
if object then
object = nil
selectionbox.Adornee = nil
end
end
Tool0.Equipped:connect(onEquipped)
Tool0.Unequipped:connect(cleanup)
LocalPlayer.CharacterAdded:Connect(function()
cleanup()
for obj, data in pairs(frozenObjects) do
if data.BP then pcall(function() data.BP:Destroy() end) end
if data.selectionBox then pcall(function() data.selectionBox:Destroy() end) end
end
frozenObjects = {}
w(0.1)
selectionbox = Instance.new("SelectionBox", LocalPlayer.Character)
selectionbox.LineThickness=0.03
selectionbox.Color3=Color3.fromRGB(255, 255, 255)
end)