
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local localPlayer = Players.LocalPlayer
local camera = workspace.CurrentCamera
local observing = false
local currentIndex = 1
local otherPlayers = {}
-- تحديث قائمة اللاعبين الآخرين
local function updateOtherPlayers()
otherPlayers = {}
for _, player in ipairs(Players:GetPlayers()) do
if player ~= localPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
table.insert(otherPlayers, player)
end
end
end
-- تفعيل/إلغاء تفعيل وضع المراقبة
local function toggleCamera()
if not observing then
updateOtherPlayers()
if #otherPlayers > 0 then
observing = true
currentIndex = 1
camera.CameraSubject = otherPlayers[currentIndex].Character:FindFirstChild("Humanoid")
end
else
observing = false
camera.CameraSubject = localPlayer.Character and localPlayer.Character:FindFirstChild("Humanoid") or localPlayer
end
end
-- عند الضغط على J
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.J then
toggleCamera()
end
end)
-- تحديث الكاميرا إذا خرج اللاعب من اللعبة أو اختفى
RunService.RenderStepped:Connect(function()
if observing then
if not otherPlayers[currentIndex] or not otherPlayers[currentIndex].Character or not otherPlayers[currentIndex].Character:FindFirstChild("Humanoid") then
updateOtherPlayers()
if #otherPlayers > 0 then
currentIndex = (currentIndex % #otherPlayers) + 1
camera.CameraSubject = otherPlayers[currentIndex].Character:FindFirstChild("Humanoid")
else
observing = false
camera.CameraSubject = localPlayer.Character and localPlayer.Character:FindFirstChild("Humanoid") or localPlayer
end
end
end
end)No comments yet for this script.



