0% found this document useful (0 votes)
69 views9 pages

Raindrop

The document outlines a Lua script for a Roblox GUI called 'Raindrop', which includes a loading screen with fade-in and fade-out effects, as well as a main interface for executing and managing scripts. It features a draggable UI, text labels, buttons for executing scripts, and a dropdown menu for loading scripts from a specified folder. The script also includes functionality for displaying line numbers and syntax highlighting in a text box for user input.

Uploaded by

akeliousreavis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views9 pages

Raindrop

The document outlines a Lua script for a Roblox GUI called 'Raindrop', which includes a loading screen with fade-in and fade-out effects, as well as a main interface for executing and managing scripts. It features a draggable UI, text labels, buttons for executing scripts, and a dropdown menu for loading scripts from a specified folder. The script also includes functionality for displaying line numbers and syntax highlighting in a text box for user input.

Uploaded by

akeliousreavis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

local TweenService = game:GetService("TweenService")

local Players = game:GetService("Players")


local player = Players.LocalPlayer
local playerGui = player:FindFirstChildOfClass("PlayerGui")

-- Create the ScreenGui


local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui

-- Create the Frame (Bigger UI)


local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 400, 0, 200) -- Increased size
frame.Position = UDim2.new(0.5, -200, 0.5, -100) -- Centered
frame.BackgroundTransparency = 1 -- Fully transparent
frame.BackgroundColor3 = Color3.fromRGB(114, 187, 234)
frame.BorderSizePixel = 0 -- Removes outline/border
frame.Parent = screenGui

-- Create the "Raindrop" Label (Slightly Up)


local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 50) -- Fixed height
titleLabel.Position = UDim2.new(0, 0, 0.35, 0) -- Slightly moved up
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Raindrop"
titleLabel.Font = Enum.Font.SourceSans -- Regular font
titleLabel.TextSize = 40 -- Slightly larger for emphasis
titleLabel.TextColor3 = Color3.new(0, 0, 0) -- Black text
titleLabel.TextWrapped = true -- Ensures text stays within bounds
titleLabel.Parent = frame

-- Create the "loading... please wait" Label (Slightly Up)


local loadingLabel = Instance.new("TextLabel")
loadingLabel.Size = UDim2.new(1, 0, 0, 30) -- Fixed height
loadingLabel.Position = UDim2.new(0, 0, 0.35, 50) -- Slightly moved up below
"Raindrop"
loadingLabel.BackgroundTransparency = 1
loadingLabel.Text = "loading... please wait"
loadingLabel.Font = Enum.Font.SourceSansItalic -- Italicized text
loadingLabel.TextSize = 20
loadingLabel.TextColor3 = Color3.new(0, 0, 0) -- Black text
loadingLabel.TextWrapped = true
loadingLabel.Parent = frame

-- Fade In Effect
frame.BackgroundTransparency = 1
titleLabel.TextTransparency = 1
loadingLabel.TextTransparency = 1

local tweenInfo = TweenInfo.new(1.5, Enum.EasingStyle.Quad,


Enum.EasingDirection.Out)

TweenService:Create(frame, tweenInfo, {BackgroundTransparency = 0.2}):Play()


TweenService:Create(titleLabel, tweenInfo, {TextTransparency = 0}):Play()
TweenService:Create(loadingLabel, tweenInfo, {TextTransparency = 0}):Play()

-- Wait for 6 seconds before fading out


task.wait(6)

local fadeOutTween = TweenInfo.new(1.5, Enum.EasingStyle.Quad,


Enum.EasingDirection.In)

TweenService:Create(frame, fadeOutTween, {BackgroundTransparency = 1}):Play()


TweenService:Create(titleLabel, fadeOutTween, {TextTransparency = 1}):Play()
TweenService:Create(loadingLabel, fadeOutTween, {TextTransparency = 1}):Play()

task.wait(1.5) -- Wait for fade-out to complete


screenGui:Destroy() -- Remove loading screen

-- Gui to Lua
-- Version: 3.2

-- Instances:

local ScreenGui = Instance.new("ScreenGui")


local UI = Instance.new("Frame")
local Title = Instance.new("TextLabel")
local LuaWrapper = Instance.new("ScrollingFrame")
local LineNumbers = Instance.new("TextLabel")
local LineBorder = Instance.new("Frame")
local Lua = Instance.new("TextBox")
local Execute = Instance.new("TextButton")
local Clear = Instance.new("TextButton")
local OpenFile = Instance.new("TextButton")
local Commands = Instance.new("TextButton")
local Credits = Instance.new("TextLabel")
local FolderScripts = Instance.new("Frame")
local Minimize = Instance.new("TextButton")
local Exit = Instance.new("TextButton")

-- Parent

ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
ScreenGui.ResetOnSpawn = false

-- UI Frame

UI.Name = "UI"
UI.Parent = ScreenGui
UI.BackgroundColor3 = Color3.fromRGB(114, 187, 234)
UI.BackgroundTransparency = 0.100
UI.BorderSizePixel = 0
UI.Position = UDim2.new(0.208, 0, 0.303, 0)
UI.Size = UDim2.new(0, 729, 0, 346)
UI.Active = true
UI.Draggable = true

-- Title

Title.Name = "Title"
Title.Parent = UI
Title.BackgroundTransparency = 1.000
Title.Position = UDim2.new(-0.051, 0, 0, 0)
Title.Size = UDim2.new(0, 201, 0, 41)
Title.Font = Enum.Font.SourceSans
Title.Text = "Raindrop - v2.0.0"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 16.000
-- LuaWrapper

LuaWrapper.Name = "LuaWrapper"
LuaWrapper.Parent = UI
LuaWrapper.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
LuaWrapper.BackgroundTransparency = 0.2
LuaWrapper.Position = UDim2.new(0.0124, 0, 0.1185, 0)
LuaWrapper.Size = UDim2.new(0, 602, 0, 234)
LuaWrapper.ScrollBarThickness = 10
LuaWrapper.ScrollingDirection = Enum.ScrollingDirection.Y
LuaWrapper.AutomaticCanvasSize = Enum.AutomaticSize.Y
LuaWrapper.CanvasSize = UDim2.new(0, 0, 0, 0)
LuaWrapper.ClipsDescendants = true

-- LineNumbers

LineNumbers.Name = "LineNumbers"
LineNumbers.Parent = LuaWrapper
LineNumbers.BackgroundTransparency = 1
LineNumbers.Position = UDim2.new(0, 0, 0, 0)
LineNumbers.Size = UDim2.new(0, 40, 1, 0)
LineNumbers.Font = Enum.Font.Code
LineNumbers.Text = "1"
LineNumbers.TextColor3 = Color3.fromRGB(100, 100, 100)
LineNumbers.TextTransparency = 0.3
LineNumbers.TextXAlignment = Enum.TextXAlignment.Left
LineNumbers.TextYAlignment = Enum.TextYAlignment.Top
LineNumbers.TextSize = 14
LineNumbers.RichText = true

-- 🔧 Script: Line Numbers & Syntax Highlighting


Lua:GetPropertyChangedSignal("Text"):Connect(function()
local lineCount = select(2, Lua.Text:gsub("\n", "\n")) + 1
local lines = {}
for i = 1, lineCount do
lines[#lines + 1] = tostring(i)
end
LineNumbers.Text = table.concat(lines, "\n")
end)

-- Line Border

LineBorder.Name = "LineBorder"
LineBorder.Parent = LuaWrapper
LineBorder.BackgroundColor3 = Color3.fromRGB(180, 180, 180)
LineBorder.BorderSizePixel = 0
LineBorder.Position = UDim2.new(0, 42, 0, 0)
LineBorder.Size = UDim2.new(0, 1, 1, 0)

-- Lua TextBox

Lua.Name = "Lua"
Lua.Parent = LuaWrapper
Lua.BackgroundTransparency = 1
Lua.Position = UDim2.new(0, 45, 0, 0)
Lua.Size = UDim2.new(1, -45, 0, 0)
Lua.Font = Enum.Font.Code
Lua.Text = ""
Lua.TextColor3 = Color3.fromRGB(0, 0, 0) -- Set text color to black
Lua.TextSize = 14
Lua.TextXAlignment = Enum.TextXAlignment.Left
Lua.TextYAlignment = Enum.TextYAlignment.Top
Lua.ClearTextOnFocus = false
Lua.MultiLine = true
Lua.TextWrapped = false
Lua.AutomaticSize = Enum.AutomaticSize.Y
Lua.RichText = true

-- Buttons

Execute.Name = "Execute"
Execute.Parent = UI
Execute.BackgroundTransparency = 1.000
Execute.Position = UDim2.new(0.037, 0, 0.815, 0)
Execute.Size = UDim2.new(0, 153, 0, 33)
Execute.Font = Enum.Font.SourceSans
Execute.Text = "Execute"
Execute.TextColor3 = Color3.fromRGB(255, 255, 255)
Execute.TextSize = 21.000

Clear.Name = "Clear"
Clear.Parent = UI
Clear.BackgroundTransparency = 1.000
Clear.Position = UDim2.new(0.194, 0, 0.815, 0)
Clear.Size = UDim2.new(0, 153, 0, 33)
Clear.Font = Enum.Font.SourceSans
Clear.Text = "Clear"
Clear.TextColor3 = Color3.fromRGB(255, 255, 255)
Clear.TextSize = 21.000

OpenFile.Name = "Open File"


OpenFile.Parent = UI
OpenFile.BackgroundTransparency = 1.000
OpenFile.Position = UDim2.new(0.339, 0, 0.815, 0)
OpenFile.Size = UDim2.new(0, 153, 0, 33)
OpenFile.Font = Enum.Font.SourceSans
OpenFile.Text = "Open File"
OpenFile.TextColor3 = Color3.fromRGB(255, 255, 255)
OpenFile.TextSize = 21.000

Commands.Name = "Commands"
Commands.Parent = UI
Commands.BackgroundTransparency = 1.000
Commands.Position = UDim2.new(0.508, 0, 0.815, 0)
Commands.Size = UDim2.new(0, 153, 0, 33)
Commands.Font = Enum.Font.SourceSans
Commands.Text = "Commands"
Commands.TextColor3 = Color3.fromRGB(255, 255, 255)
Commands.TextSize = 21.000

Credits.Name = "Credits"
Credits.Parent = UI
Credits.BackgroundTransparency = 1.000
Credits.Position = UDim2.new(0.710, 0, 0.884, 0)
Credits.Size = UDim2.new(0, 200, 0, 50)
Credits.Font = Enum.Font.SourceSansItalic
Credits.Text = "Made by 3dsboy08 @ v3rmillion.net"
Credits.TextColor3 = Color3.fromRGB(255, 255, 255)
Credits.TextSize = 14.000

FolderScripts.Name = "FolderScripts"
FolderScripts.Parent = UI
FolderScripts.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
FolderScripts.BorderSizePixel = 0
FolderScripts.BackgroundTransparency = 0.2
FolderScripts.Position = UDim2.new(0.848, 0, 0.118, 0)
FolderScripts.Size = UDim2.new(0, 100, 0, 248)
FolderScripts.ClipsDescendants = true

Minimize.Name = "Minimize"
Minimize.Parent = UI
Minimize.BackgroundColor3 = Color3.fromRGB(53, 53, 53)
Minimize.Position = UDim2.new(0.926, 0, 0, 0)
Minimize.Size = UDim2.new(0, 24, 0, 22)
Minimize.Font = Enum.Font.SourceSans
Minimize.Text = "-"
Minimize.TextColor3 = Color3.fromRGB(255, 255, 255)
Minimize.TextSize = 65.000

Exit.Name = "Exit"
Exit.Parent = UI
Exit.BackgroundColor3 = Color3.fromRGB(159, 0, 0)
Exit.Position = UDim2.new(0.967, 0, 0, 0)
Exit.Size = UDim2.new(0, 24, 0, 22)
Exit.Font = Enum.Font.SourceSans
Exit.Text = "x"
Exit.TextColor3 = Color3.fromRGB(255, 255, 255)
Exit.TextSize = 31.000

-- Add fade effect to UI


local TweenService = game:GetService("TweenService")
local originalColor = UI.BackgroundColor3

local function fadeToColor()


local goal = {BackgroundColor3 = Color3.fromRGB(65, 127, 240)}
local tween = TweenService:Create(UI, TweenInfo.new(9, Enum.EasingStyle.Quad,
Enum.EasingDirection.InOut, -1, true), goal)
tween:Play()
end

fadeToColor()

-- Dropdown functionality

local function createDropdown(button, filePath)


local dropdown = Instance.new("Frame")
dropdown.Size = UDim2.new(0, 100, 0, 0)
dropdown.Position = UDim2.new(0, 0, 0, 30)
dropdown.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
dropdown.BackgroundTransparency = 0
dropdown.Parent = button

-- Tween for fade-in effect


dropdown:TweenSize(
UDim2.new(0, 100, 0, 60),
Enum.EasingDirection.Out,
Enum.EasingStyle.Quad,
0.3,
true
)

local buttonY = 0 -- Y position tracker for dropdown buttons

local function createDropdownButton(text, callback)


local btn = Instance.new("TextButton")
btn.Text = text
btn.Size = UDim2.new(1, 0, 0, 30)
btn.Position = UDim2.new(0, 0, 0, buttonY) -- Positioning buttons
vertically inside dropdown
btn.BackgroundTransparency = 1
btn.TextColor3 = Color3.fromRGB(0, 0, 0) -- Black text
btn.Font = Enum.Font.SourceSans
btn.TextSize = 14
btn.TextXAlignment = Enum.TextXAlignment.Left -- Align text to the start
btn.TextTruncate = Enum.TextTruncate.AtEnd -- Cut off text if too long
btn.Parent = dropdown
btn.MouseButton1Click:Connect(function()
callback()
dropdown:Destroy()
end)

-- Increase Y position for the next button


buttonY = buttonY + 30 -- 30 height for each button, no extra space
end

createDropdownButton("Execute", function()
local scriptContent = readfile(filePath)
pcall(function()
loadstring(scriptContent)()
end)
end)

createDropdownButton("Load", function()
local scriptContent = readfile(filePath)
Lua.Text = scriptContent
end)

local function removeDropdown()


if dropdown and dropdown.Parent then
dropdown:Destroy()
end
end

-- Detect clicks outside to close dropdown


local function onClickOutside(input)
if not dropdown or not dropdown.Parent then return end
if not dropdown:IsDescendantOf(ScreenGui) then
removeDropdown()
end
end

game:GetService("UserInputService").InputBegan:Connect(onClickOutside)
end
-- Load scripts from folder

-- Load and display scripts in FolderScripts


function loadScriptsFromRaindropFolder()
local folderPath = "Raindrop" -- Folder where scripts are stored.

-- Check if the necessary functions are available.


if not isfolder or not makefolder or not listfiles or not readfile then
warn("Your executor does not support file operations.")
return
end

-- If the folder exists


if isfolder(folderPath) then
local files = listfiles(folderPath) -- List files in the folder
local buttonY = 0 -- Tracks Y position for buttons

-- Loop through each file in the folder


for _, filePath in pairs(files) do
if filePath:match("%.lua$") or filePath:match("%.txt$") then
local fileName = filePath:match("[^/]+$") -- Extract the file name

-- Create a button for each script file


local button = Instance.new("TextButton")
button.Text = fileName
button.Size = UDim2.new(1, 0, 0, 30) -- Make button the full width
of FolderScripts
button.Position = UDim2.new(0, 0, 0, buttonY) -- Position the
button below the previous one
button.BackgroundTransparency = 1
button.TextColor3 = Color3.fromRGB(0, 0, 0) -- Black text
button.Font = Enum.Font.SourceSans
button.TextSize = 14
button.TextXAlignment = Enum.TextXAlignment.Left -- Align text to
the start
button.TextTruncate = Enum.TextTruncate.AtEnd -- Cut off text if
too long
button.Parent = FolderScripts

-- Increase Y position for the next button


buttonY = buttonY + 30 -- Adjust the Y position without excessive
spacing

-- Left-click on the button to load the script into the Lua box
button.MouseButton1Click:Connect(function()
local scriptContent = readfile(filePath) -- Read the content
of the script
Lua.Text = scriptContent -- Set the Lua text box to the
content
end)

-- Right-click on the button to open the dropdown menu


button.MouseButton2Click:Connect(function()
createDropdown(button, filePath)
end)
end
end
else
warn("The 'Raindrop' folder does not exist.")
end
end

-- Initialize FolderScripts and load scripts from the folder


loadScriptsFromRaindropFolder()

-- Execute button functionality

Execute.MouseButton1Click:Connect(function()
local code = Lua.Text
if code and code ~= "" then
pcall(function()
loadstring(code)() -- Execute the Lua code
end)
else
print("No code to execute.")
end
end)

-- Clear button functionality

Clear.MouseButton1Click:Connect(function()
Lua.Text = "" -- Clear the Lua box content
end)

-- Minimize button functionality

Minimize.MouseButton1Click:Connect(function()
UI.Visible = not UI.Visible -- Toggle visibility
end)

-- Exit button functionality

Exit.MouseButton1Click:Connect(function()
ScreenGui:Destroy() -- Close the UI
end)

-- Commands button functionality to execute script from Pastebin

Commands.MouseButton1Click:Connect(function()
local url = "https://pastebin.com/raw/4545isWu"
local scriptContent = game:HttpGet(url) -- Fetch script from Pastebin
pcall(function()
loadstring(scriptContent)() -- Execute the script from Pastebin
end)
end)

-- Dropdown removal (click outside to close)

game:GetService("UserInputService").InputBegan:Connect(function(input,
gameProcessed)
if input.UserInputType == Enum.UserInputType.MouseButton1 and not
FolderScripts:IsAncestorOf(input.Target) then
for _, dropdown in pairs(FolderScripts:GetChildren()) do
if dropdown:IsA("Frame") then
dropdown:Destroy() -- Close dropdown if clicked outside
end
end
end
end)

createRaindropFolder()
loadScriptsFromRaindropFolder()

You might also like