
KeylessUniversal

--[[
HarukaHub V20 Magic - 統合管理スクリプト
説明: スピード、ジャンプ、フライ、Noclip、ESP、および動画のような「魔法陣」機能。
]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Lighting = game:GetService("Lighting")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
-- UIのリセット処理(重複防止)
local uiName = "HarukaHub_V20_Magic"
local existingUI = game:GetService("CoreGui"):FindFirstChild(uiName) or LocalPlayer.PlayerGui:FindFirstChild(uiName)
if existingUI then
existingUI:Destroy()
end
-- グローバル設定
local _G = {
SpeedLevel = 16,
JumpLevel = 50,
Fly = false,
FlySpeed = 60,
Noclip = false,
Esp = false,
MenuOpen = true,
-- 魔法陣設定
MagicActive = false,
MagicMode = "None", -- "None", "Circle", "Spiral", "Chaos"
MagicRadius = 10,
MagicSpeed = 5,
MagicItems = {} -- 制御下のオブジェクト
}
-- --- UI構築 ---
local sg = Instance.new("ScreenGui")
sg.Name = uiName
sg.ResetOnSpawn = false
sg.Parent = LocalPlayer:WaitForChild("PlayerGui")
-- メインフレーム
local main = Instance.new("Frame")
main.Name = "MainFrame"
main.Size = UDim2.new(0, 200, 0, 450)
main.Position = UDim2.new(1, -220, 0.5, -225)
main.BackgroundColor3 = Color3.fromRGB(15, 15, 35)
main.BorderSizePixel = 0
main.Active = true
main.Draggable = true
main.Parent = sg
local corner = Instance.new("UICorner", main)
corner.CornerRadius = UDim.new(0, 10)
local stroke = Instance.new("UIStroke", main)
stroke.Color = Color3.fromRGB(100, 100, 255)
stroke.Thickness = 2
-- タイトル
local title = Instance.new("TextLabel", main)
title.Size = UDim2.new(1, 0, 0, 30)
title.Text = "HarukaHub V20 Magic"
title.TextColor3 = Color3.new(1, 1, 1)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextSize = 14
-- コンテナ(スクロール)
local container = Instance.new("ScrollingFrame", main)
container.Size = UDim2.new(1, -10, 1, -40)
container.Position = UDim2.new(0, 5, 0, 35)
container.BackgroundTransparency = 1
container.ScrollBarThickness = 2
container.CanvasSize = UDim2.new(0, 0, 0, 650)
local layout = Instance.new("UIListLayout", container)
layout.Padding = UDim.new(0, 5)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
-- トグルボタン(最小化)
local tgl = Instance.new("TextButton", sg)
tgl.Size = UDim2.new(0, 40, 0, 40)
tgl.Position = UDim2.new(1, -50, 0.1, 0)
tgl.BackgroundColor3 = Color3.fromRGB(30, 30, 80)
tgl.Text = "-"
tgl.TextColor3 = Color3.new(1, 1, 1)
tgl.Font = Enum.Font.GothamBold
tgl.TextSize = 20
Instance.new("UICorner", tgl).CornerRadius = UDim.new(1, 0)
tgl.MouseButton1Click:Connect(function()
_G.MenuOpen = not _G.MenuOpen
main.Visible = _G.MenuOpen
tgl.Text = _G.MenuOpen and "-" or "+"
end)
-- ボタン作成関数
local function addBtn(txt, callback)
local b = Instance.new("TextButton", container)
b.Size = UDim2.new(1, -10, 0, 35)
b.BackgroundColor3 = Color3.fromRGB(45, 45, 75)
b.Text = txt
b.TextColor3 = Color3.new(1, 1, 1)
b.Font = Enum.Font.GothamBold
b.TextSize = 11
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
b.MouseButton1Click:Connect(function()
callback(b)
end)
return b
end
-- --- 機能実装 ---
-- セクション: プレイヤー
local sectionP = Instance.new("TextLabel", container)
sectionP.Size = UDim2.new(1, 0, 0, 20)
sectionP.BackgroundTransparency = 1
sectionP.Text = "-- Player --"
sectionP.TextColor3 = Color3.fromRGB(150, 150, 255)
sectionP.Font = Enum.Font.GothamBold
sectionP.TextSize = 10
addBtn("スピード: UP", function(b)
_G.SpeedLevel = _G.SpeedLevel + 20
if _G.SpeedLevel > 200 then _G.SpeedLevel = 16 end
b.Text = "スピード: " .. tostring(_G.SpeedLevel)
end)
addBtn("ジャンプ: UP", function(b)
_G.JumpLevel = _G.JumpLevel + 20
if _G.JumpLevel > 300 then _G.JumpLevel = 50 end
b.Text = "ジャンプ: " .. tostring(_G.JumpLevel)
end)
addBtn("飛行: OFF", function(b)
_G.Fly = not _G.Fly
b.Text = _G.Fly and "飛行: ON" or "飛行: OFF"
b.BackgroundColor3 = _G.Fly and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(45, 45, 75)
end)
-- セクション: 魔法陣 (Magic)
local sectionM = Instance.new("TextLabel", container)
sectionM.Size = UDim2.new(1, 0, 0, 20)
sectionM.BackgroundTransparency = 1
sectionM.Text = "-- Magic (Video Style) --"
sectionM.TextColor3 = Color3.fromRGB(255, 100, 100)
sectionM.Font = Enum.Font.GothamBold
sectionM.TextSize = 10
addBtn("魔法陣活性化: OFF", function(b)
_G.MagicActive = not _G.MagicActive
b.Text = _G.MagicActive and "魔法陣活性化: ON" or "魔法陣活性化: OFF"
b.BackgroundColor3 = _G.MagicActive and Color3.fromRGB(150, 0, 0) or Color3.fromRGB(45, 45, 75)
end)
addBtn("モード切替: " .. _G.MagicMode, function(b)
if _G.MagicMode == "None" then _G.MagicMode = "Circle"
elseif _G.MagicMode == "Circle" then _G.MagicMode = "Spiral"
elseif _G.MagicMode == "Spiral" then _G.MagicMode = "Chaos"
else _G.MagicMode = "None" end
b.Text = "モード切替: " .. _G.MagicMode
end)
addBtn("半径: " .. _G.MagicRadius, function(b)
_G.MagicRadius = _G.MagicRadius + 5
if _G.MagicRadius > 50 then _G.MagicRadius = 5 end
b.Text = "半径: " .. _G.MagicRadius
end)
-- --- ループ & ロジック ---
-- 物理制御(ネットワーク所有権が取れるものを探す)
local function getNearbyParts()
local parts = {}
for _, obj in pairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") and not obj:IsDescendantOf(LocalPlayer.Character) and not obj.Anchored then
-- 自分の近くの動かせるパーツを取得
local dist = (obj.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude
if dist < 100 then
table.insert(parts, obj)
end
end
end
return parts
end
RunService.Heartbeat:Connect(function()
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local hrp = char.HumanoidRootPart
-- スピード/ジャンプ適用
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = _G.SpeedLevel
hum.JumpPower = _G.JumpLevel
end
-- 魔法陣ロジック
if _G.MagicActive then
local parts = getNearbyParts()
local time = tick() * _G.MagicSpeed
for i, part in pairs(parts) do
local angle = (i / #parts) * math.pi * 2 + time
local targetPos = hrp.Position
if _G.MagicMode == "Circle" then
-- 平面円形
targetPos = hrp.Position + Vector3.new(math.cos(angle) * _G.MagicRadius, 0, math.sin(angle) * _G.MagicRadius)
elseif _G.MagicMode == "Spiral" then
-- 螺旋
targetPos = hrp.Position + Vector3.new(math.cos(angle) * _G.MagicRadius, math.sin(time + i) * 5, math.sin(angle) * _G.MagicRadius)
elseif _G.MagicMode == "Chaos" then
-- 動画のようなカオス配置
targetPos = hrp.Position + Vector3.new(math.cos(angle * i) * _G.MagicRadius, math.tan(time) * 2, math.sin(angle) * _G.MagicRadius)
end
-- オブジェクトを移動(速度を直接書き換えることでテレポートを防ぐ)
if part.ReceiveAge == 0 or true then -- ネットワーク所有権の擬似的な主張
part.Velocity = (targetPos - part.Position) * 15
part.CFrame = CFrame.new(part.Position, hrp.Position) -- 常に自分を向く
end
end
end
end)
-- 飛行ロジック
local bodyVel, bodyGyro
RunService.RenderStepped:Connect(function()
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if _G.Fly and hrp then
if not hrp:FindFirstChild("FlyVel") then
bodyVel = Instance.new("BodyVelocity", hrp)
bodyVel.Name = "FlyVel"
bodyVel.MaxForce = Vector3.new(1,1,1) * 10^6
bodyGyro = Instance.new("BodyGyro", hrp)
bodyGyro.Name = "FlyGyro"
bodyGyro.MaxTorque = Vector3.new(1,1,1) * 10^6
end
bodyGyro.CFrame = Camera.CFrame
local moveDir = Vector3.new(0,0,0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - Camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + Camera.CFrame.RightVector end
bodyVel.Velocity = moveDir * _G.FlySpeed
else
if hrp then
if hrp:FindFirstChild("FlyVel") then hrp.FlyVel:Destroy() end
if hrp:FindFirstChild("FlyGyro") then hrp.FlyGyro:Destroy() end
end
end
end)
print("HarukaHub V20 Magic Mode Loaded!")



what a sckript ? you made it witn chat gpt?