--[[
🎮 CENIROSO REMOTE SPY - V1 (Pro Edition)
صانع السكربت: عباس 🇮🇶 | Script Maker: Abbas 🇮🇶
]]
if getgenv().CenirosoSpyV1Loaded then
if game.CoreGui:FindFirstChild("CenirosoRemoteSpyV1") then
game.CoreGui.CenirosoRemoteSpyV1:Destroy()
end
end
getgenv().CenirosoSpyV1Loaded = true
local CoreGui = game:GetService("CoreGui")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")
local CurrentLang = "AR" -- افتراضي عربي لحين اختيار اللغة
-- 1. واجهة اختيار اللغة عند التشغيل (تصميم ليلي فاخر)
local LangGui = Instance.new("ScreenGui")
LangGui.Name = "CenirosoRemoteSpyV1"
LangGui.ResetOnSpawn = false
LangGui.Parent = CoreGui
local LangFrame = Instance.new("Frame")
LangFrame.Size = UDim2.new(0, 340, 0, 200)
LangFrame.Position = UDim2.new(0.5, -170, 0.5, -100)
LangFrame.BackgroundColor3 = Color3.fromRGB(20, 22, 28)
LangFrame.BorderSizePixel = 0
LangFrame.Parent = LangGui
local LangCorner = Instance.new("UICorner") LangCorner.CornerRadius = UDim.new(0, 12) LangCorner.Parent = LangFrame
local LangStroke = Instance.new("UIStroke") LangStroke.Thickness = 2 LangStroke.Color = Color3.fromRGB(0, 162, 255) LangStroke.Parent = LangFrame
local LangTitle = Instance.new("TextLabel")
LangTitle.Size = UDim2.new(1, 0, 0, 50)
LangTitle.BackgroundTransparency = 1
LangTitle.Text = "SELECT LANGUAGE / اختر لغتك"
LangTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
LangTitle.TextSize = 14
LangTitle.Font = Enum.Font.GothamBold
LangTitle.Parent = LangFrame
local LangCredit = Instance.new("TextLabel")
LangCredit.Size = UDim2.new(1, 0, 0, 20)
LangCredit.Position = UDim2.new(0, 0, 0, 32)
LangCredit.BackgroundTransparency = 1
LangCredit.Text = "By: Abbas 🇮🇶"
LangCredit.TextColor3 = Color3.fromRGB(0, 162, 255)
LangCredit.TextSize = 11
LangCredit.Font = Enum.Font.GothamMedium
LangCredit.Parent = LangFrame
local function CreateLangBtn(posY, text, langCode)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 290, 0, 45)
btn.Position = UDim2.new(0.5, -145, 0, posY)
btn.BackgroundColor3 = Color3.fromRGB(30, 34, 44)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextSize = 14
btn.Font = Enum.Font.GothamBold
btn.Parent = LangFrame
local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, 8) c.Parent = btn
return btn
end
local ArBtn = CreateLangBtn(70, "العربية (Arabic)", "AR")
local EnBtn = CreateLangBtn(125, "English", "EN")
local function LaunchMainUI()
LangGui:Destroy()
-- 2. الواجهة الرئيسية المطورة V1
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "CenirosoRemoteSpyV1"
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(24, 26, 33)
MainFrame.BorderSizePixel = 0
MainFrame.Position = UDim2.new(0.5, -280, 0.5, -190)
MainFrame.Size = UDim2.new(0, 560, 0, 380)
MainFrame.Active = true
local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 10) MainCorner.Parent = MainFrame
local MainStroke = Instance.new("UIStroke") MainStroke.Thickness = 1.5 MainStroke.Color = Color3.fromRGB(0, 162, 255) MainStroke.Parent = MainFrame
-- شريط العنوان العلوي
local TopBar = Instance.new("Frame")
TopBar.Parent = MainFrame
TopBar.BackgroundColor3 = Color3.fromRGB(18, 20, 26)
TopBar.BorderSizePixel = 0
TopBar.Size = UDim2.new(1, 0, 0, 35)
local TopBarCorner = Instance.new("UICorner") TopBarCorner.CornerRadius = UDim.new(0, 10) TopBarCorner.Parent = TopBar
local TopBarHider = Instance.new("Frame")
TopBarHider.Parent = TopBar
TopBarHider.BackgroundColor3 = Color3.fromRGB(18, 20, 26)
TopBarHider.BorderSizePixel = 0
TopBarHider.Position = UDim2.new(0, 0, 1, -5)
TopBarHider.Size = UDim2.new(1, 0, 0, 5)
local Title = Instance.new("TextLabel")
Title.Parent = TopBar
Title.BackgroundTransparency = 1
Title.Position = UDim2.new(0, 15, 0, 0)
Title.Size = UDim2.new(0.6, 0, 1, 0)
Title.Font = Enum.Font.GothamBold
Title.Text = (CurrentLang == "AR") and "Ceniroso Remote Spy - V1 (عباس)" or "Ceniroso Remote Spy - V1 (Abbas)"
Title.TextColor3 = Color3.fromRGB(0, 162, 255)
Title.TextSize = 13
Title.TextXAlignment = Enum.TextXAlignment.Left
local CloseButton = Instance.new("TextButton")
CloseButton.Parent = TopBar
CloseButton.BackgroundTransparency = 1
CloseButton.Position = UDim2.new(1, -35, 0, 0)
CloseButton.Size = UDim2.new(0, 35, 1, 0)
CloseButton.Font = Enum.Font.GothamBold
CloseButton.Text = "✕"
CloseButton.TextColor3 = Color3.fromRGB(200, 50, 50)
CloseButton.TextSize = 14
-- قائمة الريموتات الجانبية
local RemotesList = Instance.new("ScrollingFrame")
RemotesList.Parent = MainFrame
RemotesList.Active = true
RemotesList.BackgroundColor3 = Color3.fromRGB(20, 22, 28)
RemotesList.BorderSizePixel = 0
RemotesList.Position = UDim2.new(0, 12, 0, 45)
RemotesList.Size = UDim2.new(0, 185, 1, -95)
RemotesList.CanvasSize = UDim2.new(0, 0, 0, 0)
RemotesList.ScrollBarThickness = 4
RemotesList.ScrollBarImageColor3 = Color3.fromRGB(0, 162, 255)
local ListCorner = Instance.new("UICorner") ListCorner.CornerRadius = UDim.new(0, 6) ListCorner.Parent = RemotesList
local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Parent = RemotesList
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 5)
UIListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
RemotesList.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 10)
end)
-- شاشة عرض الأكواد الملونة
local CodeDisplay = Instance.new("TextLabel")
CodeDisplay.Parent = MainFrame
CodeDisplay.BackgroundColor3 = Color3.fromRGB(29, 31, 39)
CodeDisplay.BorderSizePixel = 0
CodeDisplay.Position = UDim2.new(0, 210, 0, 45)
CodeDisplay.Size = UDim2.new(1, -222, 1, -95)
CodeDisplay.Font = Enum.Font.Code
CodeDisplay.Text = (CurrentLang == "AR") and "-- بانتظار تفاعل الريموتات...\n-- سيظهر الكود هنا مبرمجاً وجاهزاً للنسخ." or "-- Waiting for remotes...\n-- Scripts will appear here with syntax highlighting."
CodeDisplay.TextColor3 = Color3.fromRGB(248, 248, 242)
CodeDisplay.TextSize = 13
CodeDisplay.TextXAlignment = Enum.TextXAlignment.Left
CodeDisplay.TextYAlignment = Enum.TextYAlignment.Top
CodeDisplay.RichText = true
CodeDisplay.TextWrapped = true
local CodeCorner = Instance.new("UICorner") CodeCorner.CornerRadius = UDim.new(0, 6) CodeCorner.Parent = CodeDisplay
local UIPadding = Instance.new("UIPadding") UIPadding.Parent = CodeDisplay UIPadding.PaddingTop = UDim.new(0, 10) UIPadding.PaddingLeft = UDim.new(0, 10)
-- أزرار التحكم السفلى
local function CreateControlBtn(posX, text, color)
local btn = Instance.new("TextButton")
btn.Parent = MainFrame
btn.BackgroundColor3 = color
btn.Position = UDim2.new(0, posX, 1, -45)
btn.Size = UDim2.new(0, 110, 0, 33)
btn.Font = Enum.Font.GothamBold
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextSize = 12
local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, 6) c.Parent = btn
return btn
end
local CopyButton = CreateControlBtn(210, (CurrentLang == "AR") and "نسخ الكود" or "Copy", Color3.fromRGB(0, 120, 215))
local SlowButton = CreateControlBtn(328, (CurrentLang == "AR") and "الوضع البطئ: OFF" or "Slow: OFF", Color3.fromRGB(100, 100, 100))
local ClearButton = CreateControlBtn(446, (CurrentLang == "AR") and "مسح الكل" or "Clear", Color3.fromRGB(180, 45, 45))
-- تحريك اللوحة (Drag)
local dragging, dragInput, dragStart, startPos
TopBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
TopBar.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)
-- محرك التلوين والتعامل مع الكود
local function ApplySyntaxHighlighting(codeString)
local highlighted = codeString:gsub("<", "<"):gsub(">", ">")
local colorKeyword = "#FF79C6" local colorString = "#F1FA8C" local colorNumber = "#BD93F9" local colorMethod = "#50FA7B"
local tempStrings = {} local stringCounter = 0
highlighted = highlighted:gsub('("[^"]*")', function(str)
stringCounter = stringCounter + 1
tempStrings[stringCounter] = str
return "___STR_PLACEHOLDER_" .. stringCounter .. "___"
end)
highlighted = highlighted:gsub("([%s%[,=])(%d+%.?%d*)([%s%],;])", "%1%2%3")
highlighted = highlighted:gsub("(FireServer)", '%1')
highlighted = highlighted:gsub("(InvokeServer)", '%1')
for _, kw in ipairs({"local", "function", "return", "if", "then", "else", "end", "for", "while", "do", "in", "and", "or", "true", "false", "nil"}) do
highlighted = highlighted:gsub("([^%a_])("..kw..")([^%a_])", "%1%2%3")
end
for i = 1, stringCounter do
highlighted = highlighted:gsub("___STR_PLACEHOLDER_" .. i .. "___", ''..tempStrings[i]..'')
end
return highlighted
end
local function getPathToInstance(instance)
local path = {} local current = instance
while current and current ~= game do table.insert(path, 1, current) current = current.Parent end
local pathString = "game"
for i, inst in ipairs(path) do
local name = inst.Name
if i == 1 then pathString = string.format("game:GetService(%q)", name)
else
if name:match("^[a-zA-Z_][a-zA-Z0-9_]*$") then pathString = pathString .. "." .. name
else pathString = pathString .. string.format("[%q]", name) end
end
end
return pathString
end
local function formatValue(value, depth)
depth = depth or 0 if depth > 6 then return '"[Table Deep]"' end
local valType = typeof(value)
if valType == "string" then return string.format("%q", value)
elseif valType == "number" or valType == "boolean" then return tostring(value)
elseif valType == "Instance" then return getPathToInstance(value)
elseif valType == "Vector3" then return string.format("Vector3.new(%f, %f, %f)", value.X, value.Y, value.Z)
elseif valType == "CFrame" then return string.format("CFrame.new(%f, %f, %f)", value.X, value.Y, value.Z)
else return string.format("%q", tostring(value)) end
end
local _G_RawCode = ""
local RemoteQueue = {}
local IsSlowMode = false
local function CreateRemoteButton(remoteName, generatedCode)
local RemoteBtn = Instance.new("TextButton")
RemoteBtn.Parent = RemotesList
RemoteBtn.BackgroundColor3 = Color3.fromRGB(30, 33, 42)
RemoteBtn.BorderSizePixel = 0
RemoteBtn.Size = UDim2.new(1, -8, 0, 26)
RemoteBtn.Font = Enum.Font.Gotham
RemoteBtn.Text = " " .. remoteName
RemoteBtn.TextColor3 = Color3.fromRGB(220, 220, 220)
RemoteBtn.TextSize = 12
RemoteBtn.TextXAlignment = Enum.TextXAlignment.Left
local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, 4) c.Parent = RemoteBtn
RemoteBtn.MouseButton1Click:Connect(function()
_G_RawCode = generatedCode
CodeDisplay.Text = ApplySyntaxHighlighting(generatedCode)
end)
end
task.spawn(function()
while true do
if #RemoteQueue > 0 then
local eventData = table.remove(RemoteQueue, 1)
if eventData then CreateRemoteButton(eventData.Name, eventData.Code) end
task.wait(IsSlowMode and 2 or 0.1)
else
task.wait(0.1)
end
end
end)
local function handleRemote(remote)
if remote:IsA("RemoteEvent") then
remote.OnClientEvent:Connect(function(...)
local args = {...} local fmt = {}
for i, v in ipairs(args) do fmt[i] = string.format("[%d] = %s", i, formatValue(v)) end
local code = string.format("local args = {\n %s\n}\n\n%s:FireServer(unpack(args))", table.concat(fmt, ",\n "), getPathToInstance(remote))
if #RemoteQueue < 100 then table.insert(RemoteQueue, {Name = remote.Name, Code = code}) end
end)
elseif remote:IsA("RemoteFunction") then
remote.OnClientInvoke = function(...)
local args = {...} local fmt = {}
for i, v in ipairs(args) do fmt[i] = string.format("[%d] = %s", i, formatValue(v)) end
local code = string.format("local args = {\n %s\n}\n\nlocal res = %s:InvokeServer(unpack(args))", table.concat(fmt, ",\n "), getPathToInstance(remote))
if #RemoteQueue < 100 then table.insert(RemoteQueue, {Name = remote.Name, Code = code}) end
return ...
end
end
end
for _, folder in ipairs({ReplicatedStorage, Players.LocalPlayer:WaitForChild("PlayerScripts")}) do
for _, obj in ipairs(folder:GetDescendants()) do
if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then handleRemote(obj) end
end
folder.DescendantAdded:Connect(function(obj)
if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then handleRemote(obj) end
end)
end
CopyButton.MouseButton1Click:Connect(function()
if setclipboard and _G_RawCode ~= "" then
setclipboard(_G_RawCode)
CopyButton.Text = (CurrentLang == "AR") and "تم النسخ!" or "Copied!"
task.wait(1.5)
CopyButton.Text = (CurrentLang == "AR") and "نسخ الكود" or "Copy"
end
end)
SlowButton.MouseButton1Click:Connect(function()
IsSlowMode = not IsSlowMode
SlowButton.Text = IsSlowMode and ((CurrentLang == "AR") and "الوضع البطئ: ON" or "Slow: ON") or ((CurrentLang == "AR") and "الوضع البطئ: OFF" or "Slow: OFF")
SlowButton.BackgroundColor3 = IsSlowMode and Color3.fromRGB(200, 130, 40) or Color3.fromRGB(100, 100, 100)
end)
ClearButton.MouseButton1Click:Connect(function()
RemoteQueue = {}
for _, child in pairs(RemotesList:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
CodeDisplay.Text = (CurrentLang == "AR") and "-- تم مسح القائمة..." or "-- Cleared..."
_G_RawCode = ""
end)
end
ArBtn.MouseButton1Click:Connect(function() CurrentLang = "AR" LaunchMainUI() end)
EnBtn.MouseButton1Click:Connect(function() CurrentLang = "EN" LaunchMainUI() end)