Universal Telekinesis

Code du script
local Plrs = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")
local LP = Plrs.LocalPlayer
local Mouse = LP:GetMouse()
local Cam = workspace.CurrentCamera
-- main config
local REACH = 200
local FORCE = 150
local START_DIST = 15
-- keybinds
local KEY_OUT = Enum.KeyCode.N -- push object away
local KEY_IN = Enum.KeyCode.M -- pull object closer
local SPEED = 0.5 -- distance adjustment speed
-- visual customization
local FILL_CLR = Color3.fromRGB(0, 255, 150)
local LINE_CLR = Color3.fromRGB(255, 255, 255)
local active = false
local part = nil
local bPos = nil
local bGyro = nil
local hl = nil
local dist = START_DIST
local function getRoot()
return LP.Character and LP.Character:FindFirstChild("HumanoidRootPart")
end
local function getTarget()
local t = Mouse.Target
if not t then return nil end
if LP.Character and t:IsDescendantOf(LP.Character) then return nil end
if not t.Anchored then return t end
return nil
end
local function drop()
active = false
if bPos then bPos:Destroy() end
if bGyro then bGyro:Destroy() end
if hl then hl:Destroy() end
part = nil
hl = nil
end
local function grab()
local root = getRoot()
local t = getTarget()
if not root or not t then return end
part = t
active = true
dist = (part.Position - root.Position).Magnitude
if dist > REACH then dist = REACH end
if dist < 5 then dist = START_DIST end
bPos = Instance.new("BodyPosition")
bPos.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bPos.P = 10000
bPos.D = 500
bPos.Position = part.Position
bPos.Parent = part
bGyro = Instance.new("BodyGyro")
bGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
bGyro.P = 10000
bGyro.CFrame = part.CFrame
bGyro.Parent = part
hl = Instance.new("Highlight")
hl.Name = "G_HL"
hl.FillColor = FILL_CLR
hl.FillTransparency = 0.6
hl.OutlineColor = LINE_CLR
hl.OutlineTransparency = 0
hl.Adornee = part
hl.Parent = part
end
local function fling()
if not active or not part then return end
local v = Cam.CFrame.LookVector * FORCE
local p = part
drop()
p.Velocity = v
end
UIS.InputBegan:Connect(function(input, gpe)
if gpe then return end
if input.KeyCode == Enum.KeyCode.E then
if active then drop() else grab() end
elseif input.UserInputType == Enum.UserInputType.MouseButton1 and active then
fling()
end
end)
RS.RenderStepped:Connect(function()
local root = getRoot()
if active and part and bPos and bGyro and root then
if UIS:IsKeyDown(KEY_OUT) then
dist = math.clamp(dist + SPEED, 5, REACH)
elseif UIS:IsKeyDown(KEY_IN) then
dist = math.clamp(dist - SPEED, 5, REACH)
end
bPos.Position = root.Position + (Cam.CFrame.LookVector * dist)
bGyro.CFrame = Cam.CFrame
elseif active and not root then
drop()
end
end)
print("loaded, have fun")Description
really fun and simple telekinesis script with no ui! you can throw bricks at people now! ## keybinds 1. E - grab/drop, 2. M1 (Click) - throw, 3. N/M - push/pull (by default) ## have fun lol
Commentaires (0)
Connectez-vous pour participer à la conversation
- Soyez le premier à commenter.
Questions fréquentes
- Comment utiliser le script Universal Telekinesis ?
- Copiez le code du script ci-dessus, rejoignez Universal sur Roblox, puis collez et exécutez le code dans votre executor. Les fonctionnalités s'activent dès que le script tourne.
- Est-ce que Universal Telekinesis fonctionne encore ?
- Oui — Universal Telekinesis est actuellement marqué comme fonctionnel (dernière mise à jour : 17 sept. 2026). S'il casse après une mise à jour de Roblox, repassez bientôt pour une version corrigée.
- Quel exécuteur fonctionne avec Universal Telekinesis ?
- Ce script fonctionne avec la plupart des exécuteurs Roblox populaires. Consultez notre page d'exécuteurs pour trouver un exécuteur gratuit ou payant fiable pour votre appareil.







