The Remotespy for Solara is a versatile tool that enhances gaming experiences by allowing users to execute scripts seamlessly across various platforms.
Designed with both ease of use and functionality in mind, this tool is suitable for gamers looking to gain an edge by customizing their play style with efficient script execution.
Game Name: | Universal |
Features: | Remotespy for solara Scripts, |
Update Date: | 29.09.2024 |
local G2L = {};
_G.Code = “”
— StarterGui.sexy spy from tf2
G2L[“1”] = Instance.new(“ScreenGui”, game:GetService(“Players”).LocalPlayer:WaitForChild(“PlayerGui”));
G2L[“1”][“Name”] = [[sexy spy from tf2]];
G2L[“1”][“ResetOnSpawn”] = false
G2L[“1”][“ZIndexBehavior”] = Enum.ZIndexBehavior.Sibling;
— StarterGui.sexy spy from tf2.Frame
G2L[“2”] = Instance.new(“Frame”, G2L[“1”]);
G2L[“2”][“BorderSizePixel”] = 0;
G2L[“2”][“BackgroundColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“2”][“Size”] = UDim2.new(0, 425, 0, 253);
G2L[“2”][“Position”] = UDim2.new(0.02067, 0, 0.17804, 0);
G2L[“2”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
— StarterGui.sexy spy from tf2.Frame.TopBar
G2L[“3”] = Instance.new(“Frame”, G2L[“2”]);
G2L[“3”][“BorderSizePixel”] = 0;
G2L[“3”][“BackgroundColor3”] = Color3.fromRGB(38, 36, 39);
G2L[“3”][“Size”] = UDim2.new(0, 425, 0, 18);
G2L[“3”][“Position”] = UDim2.new(0, 0, -0.00378, 0);
G2L[“3”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“3”][“Name”] = [[TopBar]];
— StarterGui.sexy spy from tf2.Frame.TopBar.Name
G2L[“4”] = Instance.new(“TextLabel”, G2L[“3”]);
G2L[“4”][“BorderSizePixel”] = 0;
G2L[“4”][“BackgroundColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“4”][“TextSize”] = 14;
G2L[“4”][“FontFace”] = Font.new([[rbxasset://fonts/families/Arial.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“4”][“TextColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“4”][“BackgroundTransparency”] = 1;
G2L[“4”][“Size”] = UDim2.new(0, 58, 0, 14);
G2L[“4”][“BorderColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“4”][“Text”] = [[sexy spy from tf2]];
G2L[“4”][“Name”] = [[Name]];
G2L[“4”][“Position”] = UDim2.new(0, 0, 0, 0);
— StarterGui.sexy spy from tf2.Frame.TopBar.X
G2L[“5”] = Instance.new(“TextButton”, G2L[“3”]);
G2L[“5”][“BorderSizePixel”] = 0;
G2L[“5”][“TextStrokeColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“5”][“TextSize”] = 21;
G2L[“5”][“TextColor3”] = Color3.fromRGB(205, 205, 205);
G2L[“5”][“BackgroundColor3”] = Color3.fromRGB(38, 36, 39);
G2L[“5”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“5”][“RichText”] = true;
G2L[“5”][“Size”] = UDim2.new(0, 24, 0, 18);
G2L[“5”][“Name”] = [[X]];
G2L[“5”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“5”][“Text”] = [[X]];
G2L[“5”][“Position”] = UDim2.new(0.94353, 0, 0, 0);
— StarterGui.sexy spy from tf2.Frame.Buttons
G2L[“6”] = Instance.new(“Frame”, G2L[“2”]);
G2L[“6”][“BorderSizePixel”] = 0;
G2L[“6”][“BackgroundColor3”] = Color3.fromRGB(75, 75, 75);
G2L[“6”][“Size”] = UDim2.new(0, 273, 0, 106);
G2L[“6”][“Position”] = UDim2.new(0.35765, 0, 0.58103, 0);
G2L[“6”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“6”][“Name”] = [[Buttons]];
— StarterGui.sexy spy from tf2.Frame.Buttons.CopyR
G2L[“7”] = Instance.new(“TextButton”, G2L[“6”]);
G2L[“7”][“TextSize”] = 14;
G2L[“7”][“TextColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“7”][“BackgroundColor3”] = Color3.fromRGB(27, 27, 29);
G2L[“7”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“7”][“Size”] = UDim2.new(0, 93, 0, 17);
G2L[“7”][“Name”] = [[CopyR]];
G2L[“7”][“BorderColor3”] = Color3.fromRGB(139, 139, 139);
G2L[“7”][“Text”] = [[Copy Remote]];
G2L[“7”][“Position”] = UDim2.new(0.32967, 0, 0.08491, 0);
— StarterGui.sexy spy from tf2.Frame.Buttons.CopyR.Border
G2L[“8”] = Instance.new(“TextLabel”, G2L[“7”]);
G2L[“8”][“BorderSizePixel”] = 0;
G2L[“8”][“BackgroundColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“8”][“TextSize”] = 14;
G2L[“8”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“8”][“TextColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“8”][“Size”] = UDim2.new(0, 8, 0, 17);
G2L[“8”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“8”][“Text”] = [[]];
G2L[“8”][“Name”] = [[Border]];
— StarterGui.sexy spy from tf2.Frame.Buttons.CopyC
G2L[“9”] = Instance.new(“TextButton”, G2L[“6”]);
G2L[“9”][“TextSize”] = 14;
G2L[“9”][“TextColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“9”][“BackgroundColor3”] = Color3.fromRGB(27, 27, 29);
G2L[“9”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“9”][“Size”] = UDim2.new(0, 83, 0, 17);
G2L[“9”][“Name”] = [[CopyC]];
G2L[“9”][“BorderColor3”] = Color3.fromRGB(139, 139, 139);
G2L[“9”][“Text”] = [[Copy Code]];
G2L[“9”][“Position”] = UDim2.new(0, 0, 0.08491, 0);
G2L[“9”].MouseButton1Click:Connect(function()
if setclipboard then
setclipboard(_G.Code)
else
print(“Your executer doesn’t support clipboard”)
end
end)
— StarterGui.sexy spy from tf2.Frame.Buttons.CopyC.Border
G2L[“a”] = Instance.new(“TextLabel”, G2L[“9”]);
G2L[“a”][“BorderSizePixel”] = 0;
G2L[“a”][“BackgroundColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“a”][“TextSize”] = 14;
G2L[“a”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“a”][“TextColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“a”][“Size”] = UDim2.new(0, 8, 0, 17);
G2L[“a”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“a”][“Text”] = [[]];
G2L[“a”][“Name”] = [[Border]];
— StarterGui.sexy spy from tf2.Frame.Buttons.Run
G2L[“b”] = Instance.new(“TextButton”, G2L[“6”]);
G2L[“b”][“TextSize”] = 14;
G2L[“b”][“TextColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“b”][“BackgroundColor3”] = Color3.fromRGB(27, 27, 29);
G2L[“b”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“b”][“Size”] = UDim2.new(0, 81, 0, 17);
G2L[“b”][“Name”] = [[Run]];
G2L[“b”][“BorderColor3”] = Color3.fromRGB(139, 139, 139);
G2L[“b”][“Text”] = [[Run Code]];
G2L[“b”][“Position”] = UDim2.new(0.7033, 0, 0.08491, 0);
— StarterGui.sexy spy from tf2.Frame.Buttons.Run.Border
G2L[“c”] = Instance.new(“TextLabel”, G2L[“b”]);
G2L[“c”][“BorderSizePixel”] = 0;
G2L[“c”][“BackgroundColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“c”][“TextSize”] = 14;
G2L[“c”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“c”][“TextColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“c”][“Size”] = UDim2.new(0, 8, 0, 17);
G2L[“c”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“c”][“Text”] = [[]];
G2L[“c”][“Name”] = [[Border]];
G2L[“d2”] = Instance.new(“TextButton”, G2L[“6”]);
G2L[“d2”][“TextSize”] = 14;
G2L[“d2”][“TextColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“d2”][“BackgroundColor3”] = Color3.fromRGB(27, 27, 29);
G2L[“d2”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“d2”][“Size”] = UDim2.new(0, 83, 0, 17);
G2L[“d2”][“Name”] = [[Clear]];
G2L[“d2”][“BorderColor3”] = Color3.fromRGB(139, 139, 139);
G2L[“d2”][“Text”] = [[Clear Output]];
G2L[“d2”][“Position”] = UDim2.new(0, 0, 0.33962, 0);
G2L[“e2”] = Instance.new(“TextLabel”, G2L[“d2”]);
G2L[“e2”][“BorderSizePixel”] = 0;
G2L[“e2”][“BackgroundColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“e2”][“TextSize”] = 14;
G2L[“e2”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“e2”][“TextColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“e2”][“Size”] = UDim2.new(0, 8, 0, 17);
G2L[“e2”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“e2”][“Text”] = [[]];
G2L[“e2”][“Name”] = [[Border]];
— StarterGui.sexy spy from tf2.Frame.Remotes
G2L[“d”] = Instance.new(“ScrollingFrame”, G2L[“2”]);
G2L[“d”][“Active”] = true;
G2L[“d”][“BorderSizePixel”] = 0;
G2L[“d”][“CanvasSize”] = UDim2.new(9999, 9999, 9999, 9999);
G2L[“d”][“BackgroundColor3”] = Color3.fromRGB(54, 54, 56);
G2L[“d”][“Name”] = [[Remotes]];
G2L[“d”][“ScrollBarImageTransparency”] = 1;
G2L[“d”][“Size”] = UDim2.new(0, 152, 0, 236);
G2L[“d”][“ScrollBarImageColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“d”][“Position”] = UDim2.new(0, 0, 0.06719, 0);
G2L[“d”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“d”][“ScrollBarThickness”] = 0;
G2L[“d”][“LayoutOrder”] = 1;
— StarterGui.sexy spy from tf2.Frame.Remotes.RemoteExample
G2L[“e”] = Instance.new(“TextButton”, G2L[“d”]);
G2L[“e”][“BorderSizePixel”] = 3;
G2L[“e”][“TextSize”] = 14;
G2L[“e”][“TextColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“e”][“BackgroundColor3”] = Color3.fromRGB(255, 255, 255);
G2L[“e”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.SemiBold, Enum.FontStyle.Normal);
G2L[“e”][“Size”] = UDim2.new(0, 152, 0, 22);
G2L[“e”][“BackgroundTransparency”] = 0.8;
G2L[“e”][“Name”] = [[RemoteExample]];
G2L[“e”][“BorderColor3”] = Color3.fromRGB(93, 96, 102);
G2L[“e”][“Text”] = [[RemoteName]];
— StarterGui.sexy spy from tf2.Frame.Remotes.RemoteExample.border
G2L[“f”] = Instance.new(“TextLabel”, G2L[“e”]);
G2L[“f”][“BorderSizePixel”] = 0;
G2L[“f”][“BackgroundColor3”] = Color3.fromRGB(253, 242, 81);
G2L[“f”][“TextSize”] = 14;
G2L[“f”][“FontFace”] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“f”][“TextColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“f”][“Size”] = UDim2.new(0, 10, 0, 22);
G2L[“f”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“f”][“Text”] = [[]];
G2L[“f”][“Name”] = [[border]];
— StarterGui.sexy spy from tf2.Frame.Remotes.UIListLayout
G2L[“10”] = Instance.new(“UIListLayout”, G2L[“d”]);
G2L[“10”][“Padding”] = UDim.new(0, 7);
G2L[“10”][“SortOrder”] = Enum.SortOrder.LayoutOrder;
— StarterGui.sexy spy from tf2.Frame.CodeSample
G2L[“11”] = Instance.new(“TextBox”, G2L[“2”]);
G2L[“11”][“CursorPosition”] = -1;
G2L[“11”][“Interactable”] = false;
G2L[“11”][“TextColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“11”][“BorderSizePixel”] = 0;
G2L[“11”][“TextXAlignment”] = Enum.TextXAlignment.Left;
G2L[“11”][“TextWrapped”] = true;
G2L[“11”][“TextSize”] = 15;
G2L[“11”][“Name”] = [[CodeSample]];
G2L[“11”][“TextYAlignment”] = Enum.TextYAlignment.Top;
G2L[“11”][“BackgroundColor3”] = Color3.fromRGB(42, 45, 54);
G2L[“11”][“FontFace”] = Font.new([[rbxasset://fonts/families/Balthazar.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L[“11”][“MultiLine”] = true;
G2L[“11”][“ClearTextOnFocus”] = false;
G2L[“11”][“Size”] = UDim2.new(0, 272, 0, 130);
G2L[“11”][“Position”] = UDim2.new(0.35784, 0, 0.06719, 0);
G2L[“11”][“BorderColor3”] = Color3.fromRGB(0, 0, 0);
G2L[“11”][“Text”] = [[]];
— StarterGui.sexy spy from tf2.Frame.Drag
G2L[“12”] = Instance.new(“LocalScript”, G2L[“2”]);
G2L[“12”][“Name”] = [[Drag]];
— StarterGui.sexy spy from tf2.Frame.Main
G2L[“13”] = Instance.new(“LocalScript”, G2L[“2”]);
G2L[“13”][“Name”] = [[Main]];
— StarterGui.sexy spy from tf2.Frame.Drag
local function C_12()
local script = G2L[“12”];
local frame = script.Parent
local UserInputService = game:GetService(“UserInputService”)
local dragging
local dragInput
local dragStart
local startPos
local function update(input)
local delta = input.Position – dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
frame.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
update(input)
end
end)
end;
task.spawn(C_12);
— StarterGui.sexy spy from tf2.Frame.Main
local function C_13()
local script = G2L[“13”];
local TweenService = game:GetService(“TweenService”)
local MainFrame = script.Parent
local TopBar = MainFrame.TopBar
local function Close()
MainFrame.Parent:Destroy()
end
local function SetupButtons()
TopBar.X.MouseEnter:Connect(function()
TweenService:Create(TopBar.X, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(170, 0, 0)}):Play()
end)
TopBar.X.MouseLeave:Connect(function()
TweenService:Create(TopBar.X, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(37, 35, 38)}):Play()
end)
TopBar.X.MouseButton1Click:Connect(function()
Close()
end)
MainFrame.Buttons.Clear.MouseButton1Click:Connect(function()
for _,v in pairs(MainFrame.Remotes:GetChildren()) do
if v:IsA(“TextButton”) then
v:Destroy()
end
end
end)
end
local function Init()
— Close Function
SetupButtons()
end
Init()
end;
task.spawn(C_13);
local function getPathToInstance(instance)
local path = {}
local current = instance
while current and current ~= game do
local name = current.Name
if name:sub(1, 4) == “Game” then
name = “game” .. name:sub(5)
end
table.insert(path, 1, name)
current = current.Parent
end
return table.concat(path, “.”)
end
local function formatValue(value)
if typeof(value) == “string” then
return string.format(“%q”, value)
elseif typeof(value) == “number” then
return tostring(value)
elseif typeof(value) == “boolean” then
return value and “true” or “false”
elseif typeof(value) == “Instance” then
return getPathToInstance(value)
else
return string.format(“%q”, tostring(value))
end
end
local function Format(args)
local formattedArgs = {}
for i, arg in ipairs(args) do
formattedArgs[i] = string.format(“[%d] = %s”, i, formatValue(arg))
end
return formattedArgs
end
local tabelhell = nil
tabelhell = function(newtonbar, depth)
local value = “{”
local deeper = “”
for i=1,depth do
deeper = deeper .. ” ”
end
local passes = 0
for name, value2 in pairs(newtonbar) do
if type(value2) == “string” then value2 = ‘”‘ .. value2 .. ‘”‘ end
if type(value2) == “table” then value2 = tabelhell(value2, depth+1) end
local ender = “,\n”
passes += 1
if passes == #newtonbar then
ender = “”
end
if not tonumber(name) then
name = ‘”‘ .. name .. ‘”‘
end
value = value .. deeper .. ‘[‘ .. name .. ‘] = ‘ .. tostring(value2) .. ender
end
value = value .. “\n}”
return value
end
local function handleRemote(remote)
local path = {}
local current = remote
while current and current.Parent ~= game do
local name = current.Name
if name:sub(1, 4) == “Game” then
name = “game” .. name:sub(5)
end
table.insert(path, 1, name)
current = current.Parent
end
local fullPath = table.concat(path, “.”)
if remote:IsA(“RemoteEvent”) then
remote.OnClientEvent:Connect(function(…)
local args = {…}
local argsString = “”
local passes = 0
for name, value in pairs(args) do
local value = value
local newtonbar = value
if type(value) == “string” then value = ‘”‘ .. value .. ‘”‘ end
if type(newtonbar) == “table” then
value = tablehell(newtonbar, 2)
end
if type(value) == “userdata” then value = value:GetFullName() end
local ender = “,”
passes += 1
if passes == #newtonbar then
ender = “”
end
if not tonumber(name) then
name = ‘”‘ .. name .. ‘”‘
end
argsString = argsString .. ‘\n [‘ .. name .. ‘] = ‘ .. tostring(value) .. ender
end
G2L[“yu”] = G2L[“e”]:Clone()
G2L[“yu”][“Name”] = remote.Name
G2L[“yu”][“Text”] = remote.Name
G2L[“yu”][“Parent”] = G2L[“d”]
G2L[“yu”].MouseButton1Click:Connect(function()
_G.Code = string.format([[local args = {
%s
}
%s:FireServer(unpack(args))
]], argsString, fullPath)
G2L[“11”][“Text”] = _G.Code
end)
end)
elseif remote:IsA(“RemoteFunction”) then
remote.OnClientInvoke = function(…)
local args = {…}
local argsString = “”
local passes = 0
for name, value in pairs(args) do
local value = value
local newtonbar = value
if type(value) == “string” then value = ‘”‘ .. value .. ‘”‘ end
if type(value) == “userdata” then value = value:GetFullName() end
if type(newtonbar) == “table” then
value = tablehell(newtonbar, 2)
end
local ender = “,”
passes += 1
if passes == #newtonbar then
ender = “”
end
if not tonumber(name) then
name = ‘”‘ .. name .. ‘”‘
end
argsString = argsString .. ‘\n [‘ .. name .. ‘] = ‘ .. tostring(value) .. ender
end
G2L[“yu2”] = G2L[“e”]:Clone()
G2L[“yu2”][“Name”] = remote.Name
G2L[“yu2”][“Text”] = remote.Name
G2L[“yu2”][“Parent”] = G2L[“d”]
G2L[“yu2”].MouseButton1Click:Connect(function()
_G.Code = string.format([[local args = {
%s
}
%s:InvokeServer(unpack(args))
]], argsString, fullPath)
end)
return …
end
end
end
local function wrapRemotes(folder)
for _, obj in ipairs(folder:GetDescendants()) do
if obj:IsA(“RemoteEvent”) or obj:IsA(“RemoteFunction”) then
handleRemote(obj)
end
end
folder.DescendantAdded:Connect(function(descendant)
if descendant:IsA(“RemoteEvent”) or descendant:IsA(“RemoteFunction”) then
handleRemote(descendant)
end
end)
end
local folders = {
game.ReplicatedStorage,
game.StarterGui,
game.StarterPack,
game.StarterPlayer
}
for _, folder in ipairs(folders) do
wrapRemotes(folder)
folder.DescendantAdded:Connect(function(descendant)
if descendant:IsA(“RemoteEvent”) or descendant:IsA(“RemoteFunction”) then
handleRemote(descendant)
end
end)
end
return G2L[“1”], require;
- Click the COPY button to automatically copy the script.
- Paste the script into your script application.
- Run the script and you’re done!
By following these simple steps, players can quickly and easily enhance their Roblox game experience.