跳转到内容
可用

Universal Telekinesis

CLclarkdevlinorg1 次浏览Universal2026年7月26日
分享
Universal Telekinesis

脚本代码

Lua
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")

描述

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

评论 (0)

登录以参与讨论

  • 成为第一个评论的人。

常见问题

如何使用 Universal Telekinesis 脚本?
复制上方的脚本代码,打开你的 Roblox 执行器,粘贴代码,然后在游戏中点击执行。脚本运行后功能会立即激活。
Universal Telekinesis 脚本免费吗?
是的。此脚本免费复制和使用。如果使用密钥系统,请通过「获取密钥」链接免费解锁。
使用 Universal Telekinesis 脚本安全吗?
完整源代码显示在此页面上,让你在运行前准确了解其功能。请始终使用可信的执行器,并记住使用脚本违反 Roblox 服务条款,风险自负。
哪个执行器兼容 Universal Telekinesis?
此脚本兼容大多数热门 Roblox 执行器。查看我们的执行器页面,为你的设备找到可信的免费或付费执行器。
Universal Telekinesis | BloxScripter