local player = game.Players.LocalPlayer local PlayerGui = player:WaitForChild("PlayerGui") -- GUI作成 local screenGui = Instance.new("ScreenGui") screenGui.Parent = PlayerGui local toggleButton = Instance.new("TextButton") toggleButton.Size = UDim2.new(0,150,0,50) toggleButton.Position = UDim2.new(0,20,0,20) toggleButton.Text = "Auto Move OFF" toggleButton.Parent = screenGui -- 状態管理 local autoMove = false local baseStep = 0.2 -- 0.2スタッドずつ local interval = 0.05 -- 基本0.05秒ごと local hrp, humanoid -- GUIドラッグ設定 local dragging = false local dragStartPos = Vector2.new() local buttonStartPos = Vector2.new() toggleButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStartPos = input.Position buttonStartPos = toggleButton.Position end end) toggleButton.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then local delta = input.Position - dragStartPos toggleButton.Position = UDim2.new( buttonStartPos.X.Scale, buttonStartPos.X.Offset + delta.X, buttonStartPos.Y.Scale, buttonStartPos.Y.Offset + delta.Y ) end end) toggleButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) toggleButton.MouseButton1Click:Connect(function() autoMove = not autoMove toggleButton.Text = autoMove and "Auto Move ON" or "Auto Move OFF" if hrp then hrp.CanCollide = not autoMove -- ONなら壁貫通 end end) -- キャラクター取得・再取得 local function setupCharacter(char) hrp = char:WaitForChild("HumanoidRootPart") humanoid = char:WaitForChild("Humanoid") hrp.CanCollide = not autoMove end if player.Character then setupCharacter(player.Character) end player.CharacterAdded:Connect(function(char) setupCharacter(char) end) -- 微小ステップ前進(ランダム揺らし+ロルバ防止+検知回避) local function StepTP() if not hrp or not humanoid then return end -- ステップ幅ランダム化(0.85〜1.15倍) local step = baseStep * (0.85 + math.random() * 0.3) -- 前方ベクトル local forward = hrp.CFrame.LookVector -- 微小左右揺れ(-1.5°〜+1.5°) local yawOffset = (math.random() - 0.5) * math.rad(3) local cf = CFrame.new(hrp.Position, hrp.Position + forward) * CFrame.Angles(0, yawOffset, 0) -- 新しい位置 local newPos = cf.Position + cf.LookVector * step -- Humanoid:MoveToで物理補正 humanoid:MoveTo(newPos) -- CFrame更新で見た目滑らかに hrp.CFrame = CFrame.new(newPos, newPos + cf.LookVector) end -- Auto Moveループ(間隔も少しランダム化して人間らしく) spawn(function() while true do if autoMove then StepTP() end -- 0.045〜0.06秒間隔 wait(interval * (0.9 + math.random()*0.2)) end end) -- 常に死亡無効化&壁貫通維持 spawn(function() while true do if humanoid then humanoid.Health = humanoid.MaxHealth humanoid.PlatformStand = false if hrp then hrp.CanCollide = not autoMove end end wait(0.1) end end)