local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local camera = workspace.CurrentCamera -- Création interface principale local screenGui = Instance.new("ScreenGui", playerGui) screenGui.Name = "NebulaAdminX" local frame = Instance.new("Frame", screenGui) frame.Size = UDim2.new(0, 250, 0, 560) frame.Position = UDim2.new(0, 50, 0, 50) frame.BackgroundColor3 = Color3.fromRGB(20, 20, 40) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true -- Effet de bordure lumineuse local border = Instance.new("Frame", frame) border.Size = UDim2.new(1, 2, 1, 2) border.Position = UDim2.new(0, -1, 0, -1) border.BackgroundColor3 = Color3.fromRGB(0, 120, 215) border.ZIndex = 0 border.BorderSizePixel = 0 -- Titre local titleLabel = Instance.new("TextLabel", frame) titleLabel.Size = UDim2.new(0, 230, 0, 40) titleLabel.Position = UDim2.new(0, 10, 0, 10) titleLabel.BackgroundTransparency = 1 titleLabel.Font = Enum.Font.SciFi titleLabel.TextSize = 24 titleLabel.TextColor3 = Color3.fromRGB(0, 200, 255) titleLabel.Text = "Nebula Admin X" titleLabel.TextStrokeColor3 = Color3.new(0,0,0) titleLabel.TextStrokeTransparency = 0.7 titleLabel.TextXAlignment = Enum.TextXAlignment.Center -- Fonction utilitaire pour créer des boutons local function createButton(text, y) local btn = Instance.new("TextButton", frame) btn.Size = UDim2.new(0, 230, 0, 40) btn.Position = UDim2.new(0, 10, 0, y) btn.BackgroundColor3 = Color3.fromRGB(0, 100, 200) btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.SciFi btn.TextSize = 18 btn.Text = text btn.AutoButtonColor = true btn.BorderSizePixel = 0 return btn end -- États local invisible = false local gravityChanged = false local teleportMode = false local speedBoost = false local flying = false local freezeMode = false local killMode = false local loopKillMode = false local loopKillTarget = nil local loopKillConnection = nil local apparenceOpen = false -- Fonction pour afficher une notification local function showNotification(text) local notification = Instance.new("TextLabel") notification.Size = UDim2.new(0, 200, 0, 40) notification.Position = UDim2.new(0.5, -100, 0, 20) notification.BackgroundColor3 = Color3.fromRGB(0, 0, 0) notification.BackgroundTransparency = 0.5 notification.TextColor3 = Color3.fromRGB(255, 255, 255) notification.Text = text notification.Font = Enum.Font.SciFi notification.TextSize = 16 notification.TextStrokeTransparency = 0 notification.TextXAlignment = Enum.TextXAlignment.Center notification.Parent = screenGui game:GetService("Debris"):AddItem(notification, 3) end -- Fonction Invisibilité local function toggleInvisibility() invisible = not invisible local char = player.Character if not char then return end for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = invisible and 1 or 0 end end end -- Fonction Changement de Gravité local function toggleGravity() gravityChanged = not gravityChanged workspace.Gravity = gravityChanged and 50 or 196.2 end -- Fonction Fly local flyBodyVelocity = nil local flyBodyGyro = nil local flySpeed = 50 local function toggleFly() flying = not flying local char = player.Character if not char then return end local root = char:FindFirstChild("HumanoidRootPart") local humanoid = char:FindFirstChildOfClass("Humanoid") if not root or not humanoid then return end if flying then humanoid.PlatformStand = true flyBodyVelocity = Instance.new("BodyVelocity") flyBodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5) flyBodyVelocity.Velocity = Vector3.new(0, 0, 0) flyBodyVelocity.Parent = root flyBodyGyro = Instance.new("BodyGyro") flyBodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5) flyBodyGyro.CFrame = root.CFrame flyBodyGyro.Parent = root local keys = {W = false, A = false, S = false, D = false, Space = false, LeftControl = false} local flyMoveConnection, flyHeartbeatConnection flyMoveConnection = UserInputService.InputBegan:Connect(function(input, gp) if gp then return end local key = input.KeyCode.Name if keys[key] ~= nil then keys[key] = true end end) UserInputService.InputEnded:Connect(function(input, gp) if gp then return end local key = input.KeyCode.Name if keys[key] ~= nil then keys[key] = false end end) flyHeartbeatConnection = RunService.Heartbeat:Connect(function() if not flying or not root.Parent or not flyBodyVelocity or not flyBodyGyro then flyMoveConnection:Disconnect() flyHeartbeatConnection:Disconnect() return end local direction = Vector3.new(0, 0, 0) if keys.W then direction = direction + root.CFrame.LookVector end if keys.S then direction = direction - root.CFrame.LookVector end if keys.A then direction = direction - root.CFrame.RightVector end if keys.D then direction = direction + root.CFrame.RightVector end if keys.Space then direction = direction + Vector3.new(0, 1, 0) end if keys.LeftControl then direction = direction - Vector3.new(0, 1, 0) end if direction.Magnitude > 0 then flyBodyVelocity.Velocity = direction.Unit * flySpeed else flyBodyVelocity.Velocity = Vector3.new(0, 0, 0) end flyBodyGyro.CFrame = camera.CFrame end) else if flyBodyVelocity then flyBodyVelocity:Destroy() end if flyBodyGyro then flyBodyGyro:Destroy() end humanoid.PlatformStand = false end end -- Fonction Téléportation local teleportConnection = nil local function toggleTeleportMode() teleportMode = not teleportMode if teleportMode then teleportConnection = UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 then local mousePos = UserInputService:GetMouseLocation() local ray = camera:ScreenPointToRay(mousePos.X, mousePos.Y) local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {player.Character} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local raycastResult = workspace:Raycast(ray.Origin, ray.Direction * 1000, raycastParams) if raycastResult and raycastResult.Instance then local char = player.Character if char then local root = char:FindFirstChild("HumanoidRootPart") if root then root.CFrame = CFrame.new(raycastResult.Position) + Vector3.new(0, 3, 0) end end end end end) else if teleportConnection then teleportConnection:Disconnect() teleportConnection = nil end end end -- Fonction Speed Boost local function toggleSpeedBoost() speedBoost = not speedBoost local char = player.Character if not char then return end local humanoid = char:FindFirstChildOfClass("Humanoid") if not humanoid then return end humanoid.WalkSpeed = speedBoost and 100 or 16 end -- Fonction Freeze (Geler un joueur) local function toggleFreezeMode() freezeMode = not freezeMode if freezeMode then UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 then local mousePos = UserInputService:GetMouseLocation() local ray = camera:ScreenPointToRay(mousePos.X, mousePos.Y) local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {player.Character} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local raycastResult = workspace:Raycast(ray.Origin, ray.Direction * 1000, raycastParams) if raycastResult and raycastResult.Instance then local model = raycastResult.Instance.Parent if model and model:FindFirstChildOfClass("Humanoid") then local humanoid = model:FindFirstChildOfClass("Humanoid") humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 for _, part in ipairs(model:GetDescendants()) do if part:IsA("BasePart") then part.Anchored = true end end showNotification("Joueur gelé !") end end end end) end end -- Fonction Kill (Tuer un joueur) local function toggleKillMode() killMode = not killMode if killMode then UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 then local mousePos = UserInputService:GetMouseLocation() local ray = camera:ScreenPointToRay(mousePos.X, mousePos.Y) local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {player.Character} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local raycastResult = workspace:Raycast(ray.Origin, ray.Direction * 1000, raycastParams) if raycastResult and raycastResult.Instance then local model = raycastResult.Instance.Parent if model and model:FindFirstChildOfClass("Humanoid") then local humanoid = model:FindFirstChildOfClass("Humanoid") humanoid.Health = 0 showNotification("Joueur tué !") end end end end) end end -- Fonction Loop Kill (Boucle de mort) local function toggleLoopKillMode() loopKillMode = not loopKillMode if loopKillMode then UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 then local mousePos = UserInputService:GetMouseLocation() local ray = camera:ScreenPointToRay(mousePos.X, mousePos.Y) local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {player.Character} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local raycastResult = workspace:Raycast(ray.Origin, ray.Direction * 1000, raycastParams) if raycastResult and raycastResult.Instance then local model = raycastResult.Instance.Parent if model and model:FindFirstChildOfClass("Humanoid") then loopKillTarget = model if loopKillConnection then loopKillConnection:Disconnect() end loopKillConnection = RunService.Heartbeat:Connect(function() if loopKillMode and loopKillTarget and loopKillTarget:FindFirstChildOfClass("Humanoid") then loopKillTarget:FindFirstChildOfClass("Humanoid").Health = 0 end end) showNotification("Loop Kill activé !") end end end end) else if loopKillConnection then loopKillConnection:Disconnect() loopKillConnection = nil end loopKillTarget = nil end end -- Fonction Véhicule (corrigée et fonctionnelle) local function spawnVehicle() local char = player.Character if not char then return end local root = char:FindFirstChild("HumanoidRootPart") if not root then return end -- Création du châssis local car = Instance.new("Part") car.Name = "SportCar" car.Size = Vector3.new(8, 2, 12) car.Anchored = false car.CanCollide = true car.BrickColor = BrickColor.new("Bright blue") car.Material = Enum.Material.Metal car.Shape = Enum.PartType.Block car.Position = root.Position + root.CFrame.LookVector * 10 car.Orientation = Vector3.new(0, root.Orientation.Y, 0) car.Parent = workspace -- Création du siège conducteur local seat = Instance.new("VehicleSeat") seat.Name = "DriverSeat" seat.Size = Vector3.new(2, 1, 2) seat.Position = Vector3.new(0, 2, -4) seat.Anchored = false seat.CanCollide = false seat.Parent = car -- Création des roues (simplifiées mais fonctionnelles) local wheel1 = Instance.new("Part") wheel1.Name = "Wheel1" wheel1.Size = Vector3.new(1, 1, 1) wheel1.Anchored = false wheel1.CanCollide = true wheel1.BrickColor = BrickColor.new("Black") wheel1.Material = Enum.Material.Rubber wheel1.Shape = Enum.PartType.Cylinder wheel1.Position = car.Position + Vector3.new(-3, -1, -5) wheel1.Orientation = Vector3.new(0, 90, 0) wheel1.Parent = car local wheel2 = Instance.new("Part") wheel2.Name = "Wheel2" wheel2.Size = Vector3.new(1, 1, 1) wheel2.Anchored = false wheel2.CanCollide = true wheel2.BrickColor = BrickColor.new("Black") wheel2.Material = Enum.Material.Rubber wheel2.Shape = Enum.PartType.Cylinder wheel2.Position = car.Position + Vector3.new(3, -1, -5) wheel2.Orientation = Vector3.new(0, 90, 0) wheel2.Parent = car local wheel3 = Instance.new("Part") wheel3.Name = "Wheel3" wheel3.Size = Vector3.new(1, 1, 1) wheel3.Anchored = false wheel3.CanCollide = true wheel3.BrickColor = BrickColor.new("Black") wheel3.Material = Enum.Material.Rubber wheel3.Shape = Enum.PartType.Cylinder wheel3.Position = car.Position + Vector3.new(-3, -1, 5) wheel3.Orientation = Vector3.new(0, 90, 0) wheel3.Parent = car local wheel4 = Instance.new("Part") wheel4.Name = "Wheel4" wheel4.Size = Vector3.new(1, 1, 1) wheel4.Anchored = false wheel4.CanCollide = true wheel4.BrickColor = BrickColor.new("Black") wheel4.Material = Enum.Material.Rubber wheel4.Shape = Enum.PartType.Cylinder wheel4.Position = car.Position + Vector3.new(3, -1, 5) wheel4.Orientation = Vector3.new(0, 90, 0) wheel4.Parent = car -- Soudure des roues au châssis local weld1 = Instance.new("WeldConstraint") weld1.Part0 = car weld1.Part1 = wheel1 weld1.Parent = wheel1 local weld2 = Instance.new("WeldConstraint") weld2.Part0 = car weld2.Part1 = wheel2 weld2.Parent = wheel2 local weld3 = Instance.new("WeldConstraint") weld3.Part0 = car weld3.Part1 = wheel3 weld3.Parent = wheel3 local weld4 = Instance.new("WeldConstraint") weld4.Part0 = car weld4.Part1 = wheel4 weld4.Parent = wheel4 -- Notification showNotification("Voiture spawnée ! Appuie sur E pour monter.") end -- Fonction Apparence (inchangée) -- [Le code de la fonction Apparence reste identique à la version précédente] -- Création boutons principaux local invisibleBtn = createButton("Invisibilité", 60) local gravityBtn = createButton("Gravité", 110) local flyBtn = createButton("Fly", 160) local teleportBtn = createButton("Téléportation", 210) local speedBtn = createButton("Speed Boost", 260) local freezeBtn = createButton("Freeze", 310) local killBtn = createButton("Kill", 360) local loopKillBtn = createButton("Loop Kill", 410) local vehicleBtn = createButton("Véhicule", 460) local apparenceBtn = Instance.new("TextButton", frame) apparenceBtn.Size = UDim2.new(0, 230, 0, 40) apparenceBtn.Position = UDim2.new(0, 10, 0, 510) apparenceBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200) apparenceBtn.TextColor3 = Color3.new(1,1,1) apparenceBtn.Font = Enum.Font.SciFi apparenceBtn.TextSize = 18 apparenceBtn.Text = "Apparence: OFF" apparenceBtn.AutoButtonColor = true apparenceBtn.BorderSizePixel = 0 local closeBtn = Instance.new("TextButton", frame) closeBtn.Size = UDim2.new(0, 230, 0, 40) closeBtn.Position = UDim2.new(0, 10, 0, 560) closeBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50) closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.Font = Enum.Font.SciFi closeBtn.TextSize = 20 closeBtn.Text = "Fermer Menu" closeBtn.AutoButtonColor = true closeBtn.BorderSizePixel = 0 -- Gestion des clics invisibleBtn.MouseButton1Click:Connect(function() toggleInvisibility() updateBtn(invisibleBtn, invisible) end) gravityBtn.MouseButton1Click:Connect(function() toggleGravity() updateBtn(gravityBtn, gravityChanged) end) flyBtn.MouseButton1Click:Connect(function() toggleFly() updateBtn(flyBtn, flying) end) teleportBtn.MouseButton1Click:Connect(function() toggleTeleportMode() updateBtn(teleportBtn, teleportMode) end) speedBtn.MouseButton1Click:Connect(function() toggleSpeedBoost() updateBtn(speedBtn, speedBoost) end) freezeBtn.MouseButton1Click:Connect(function() toggleFreezeMode() updateBtn(freezeBtn, freezeMode) end) killBtn.MouseButton1Click:Connect(function() toggleKillMode() updateBtn(killBtn, killMode) end) loopKillBtn.MouseButton1Click:Connect(function() toggleLoopKillMode() updateBtn(loopKillBtn, loopKillMode) end) vehicleBtn.MouseButton1Click:Connect(function() spawnVehicle() end) apparenceBtn.MouseButton1Click:Connect(function() apparenceOpen = not apparenceOpen if apparenceOpen then apparenceGui = createApparenceWindow() apparenceBtn.Text = "Apparence: ON" else if apparenceGui then apparenceGui:Destroy() apparenceGui = nil end apparenceBtn.Text = "Apparence: OFF" end end) closeBtn.MouseButton1Click:Connect(function() if teleportConnection then teleportConnection:Disconnect() end if flying then toggleFly() end if loopKillConnection then loopKillConnection:Disconnect() end if apparenceGui then apparenceGui:Destroy() end screenGui:Destroy() end)