
KeylessUniversal

local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local fovList = {100, 80, 70, 90}
local fovIndex = 1
-- بيانات الاهتزاز
local isShaking = false
local shakeDuration = 0.25
local shakeMagnitude = 0.25
local shakeStartTime = 0.25
local originalCFrame = nil
-- فحص المنظور
local function isFirstPerson()
return (Camera.CFrame.Position - Camera.Focus.Position).Magnitude < 1
end
-- تحريك الكاميرا تدريجياً
local function transitionToThirdPerson()
if not LocalPlayer.Character then return end
local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not hrp then return end
local targetPos = hrp.Position - hrp.CFrame.LookVector * 4 + Vector3.new(0, 2, 0)
local newCFrame = CFrame.new(targetPos, hrp.Position)
local tweenInfo = TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
local goal = {CFrame = newCFrame}
local tween = TweenService:Create(Camera, tweenInfo, goal)
tween:Play()
end
-- الاهتزاز في المنظور الثالث فقط
local function startShake()
if isFirstPerson() then return end
if isShaking then
isShaking = false
wait()
end
isShaking = true
shakeStartTime = tick()
originalCFrame = Camera.CFrame
end
local function applyShake()
if isShaking and not isFirstPerson() then
local elapsed = tick() - shakeStartTime
if elapsed < shakeDuration then
local offset = Vector3.new(
(math.random() - 0.5) * shakeMagnitude,
(math.random() - 0.5) * shakeMagnitude,
(math.random() - 0.5) * shakeMagnitude
)
Camera.CFrame = originalCFrame * CFrame.new(offset)
else
isShaking = false
Camera.CFrame = originalCFrame
originalCFrame = nil
end
end
end
-- التعامل مع الضغط على R
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.R then
fovIndex += 1
if fovIndex > #fovList then fovIndex = 1 end
local wasFirstPerson = isFirstPerson()
Camera.FieldOfView = fovList[fovIndex]
if wasFirstPerson and not isFirstPerson() then
transitionToThirdPerson()
end
startShake()
end
end)
-- الشفافية ومنع الرأس والإكسسوارات فقط في المنظور الأول
local function setupCharacter(character)
local humanoid = character:WaitForChild("Humanoid")
RunService.RenderStepped:Connect(function()
local inFirstPerson = isFirstPerson()
local head = character:FindFirstChild("Head")
-- الرأس
if head then
head.LocalTransparencyModifier = inFirstPerson and 1 or 0
end
-- الإكسسوارات
for _, accessory in ipairs(character:GetChildren()) do
if accessory:IsA("Accessory") then
local handle = accessory:FindFirstChild("Handle")
if handle then
handle.LocalTransparencyModifier = inFirstPerson and 1 or 0
end
end
end
-- باقي أجزاء الجسم تبقى ظاهرة
for _, partName in ipairs({
"RightUpperArm", "RightLowerArm", "RightHand",
"LeftUpperArm", "LeftLowerArm", "LeftHand",
"RightUpperLeg", "RightLowerLeg", "RightFoot",
"LeftUpperLeg", "LeftLowerLeg", "LeftFoot",
"UpperTorso", "LowerTorso"
}) do
local part = character:FindFirstChild(partName)
if part then
part.LocalTransparencyModifier = 0
end
end
-- تعويض الكاميرا أثناء الحركة
local root = character:FindFirstChild("HumanoidRootPart")
if root then
local isMoving = root:FindFirstChild("Running") and root.Running.IsPlaying
humanoid.CameraOffset = isMoving and Vector3.new(0, 0, -1.75) or Vector3.new(0, -0.1, -1.75)
end
applyShake()
end)
end
-- تشغيل السكربت عند جاهزية الشخصية
if LocalPlayer.Character then
setupCharacter(LocalPlayer.Character)
end
LocalPlayer.CharacterAdded:Connect(setupCharacter)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

