local char = owner.Character
local p = Instance.new("Part")
p.Transparency = 1
p.Size = Vector3.new(4^2,3^2,0.005)
p.CanQuery = false
p.CanCollide = false
p.Parent = script
p.Anchored = true
p.CFrame = char.PrimaryPart.CFrame * CFrame.new(0,0,-5)
local g = Instance.new("SurfaceGui")
g.Parent = p
g.Face = Enum.NormalId.Back
local main = Instance.new("Frame")
local b = Instance.new("Frame")
local TextLabel = Instance.new("TextLabel")
local TextLabel_2 = Instance.new("ImageLabel")
local UIGradient = Instance.new("UIGradient")
local editor = Instance.new("Frame")
local bar = Instance.new("Frame")
local file = Instance.new("TextButton")
local edit = Instance.new("TextButton")
local view = Instance.new("TextButton")
local UIListLayout = Instance.new("UIListLayout")
local run = Instance.new("TextButton")
local text = Instance.new("Frame")
local b_2 = Instance.new("Frame")
local UIGradient_2 = Instance.new("UIGradient")
local filename = Instance.new("TextLabel")
local fileselector = Instance.new("Frame")
local b_3 = Instance.new("Frame")
local UIGradient_3 = Instance.new("UIGradient")
local TextLabel_4 = Instance.new("TextLabel")
local UIListLayout_2 = Instance.new("UIListLayout")
local example = Instance.new("Frame")
local _n = Instance.new("TextLabel")
local type = Instance.new("ImageLabel")
local scroll = Instance.new("ScrollingFrame")
local code = Instance.new("TextBox")
local UIPadding = Instance.new("UIPadding")
local remote1 = Instance.new("RemoteEvent")
remote1.Name = "Receive"
remote1.Parent = char
remote1.OnServerEvent:Connect(function(player,t)
code.Text = t
end)
remote1:FireClient(owner,g)
main.Name = "main"
main.Parent = g
main.BackgroundColor3 = Color3.fromRGB(236, 236, 222)
main.BackgroundTransparency = 1.000
main.BorderColor3 = Color3.fromRGB(0, 0, 0)
main.BorderSizePixel = 0
main.Size = UDim2.new(1, 0, 1, 0)
b.Name = "b"
b.Parent = main
b.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
b.BorderColor3 = Color3.fromRGB(0, 0, 0)
b.BorderSizePixel = 0
b.Size = UDim2.new(1, 0, 0.00507614203, 20)
TextLabel.Parent = b
TextLabel.BackgroundColor3 = Color3.fromRGB(0, 55, 255)
TextLabel.BackgroundTransparency = 1.000
TextLabel.BorderColor3 = Color3.fromRGB(0, 0, 0)
TextLabel.BorderSizePixel = 0
TextLabel.Position = UDim2.new(0.0273141116, 0, 0, 0)
TextLabel.Size = UDim2.new(0.929438531, 0, 0, 20)
TextLabel.Font = Enum.Font.SourceSansSemibold
TextLabel.Text = "idk what to name this man"
TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel.TextScaled = true
TextLabel.TextSize = 14.000
TextLabel.TextWrapped = true
TextLabel.TextXAlignment = Enum.TextXAlignment.Left
TextLabel_2.Name = "TextLabel"
TextLabel_2.Parent = b
TextLabel_2.BackgroundColor3 = Color3.fromRGB(0, 55, 255)
TextLabel_2.BackgroundTransparency = 1.000
TextLabel_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
TextLabel_2.BorderSizePixel = 0
TextLabel_2.Position = UDim2.new(-0.000570561329, 0, 0, 0)
TextLabel_2.Size = UDim2.new(0.0278846454, 0, 0, 20)
TextLabel_2.Image = "rbxasset://textures/ClassImages.png"
TextLabel_2.ImageRectOffset = Vector2.new(96, 0)
TextLabel_2.ImageRectSize = Vector2.new(16, 16)
TextLabel_2.ScaleType = Enum.ScaleType.Fit
UIGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(0, 103, 242)), ColorSequenceKeypoint.new(0.48, Color3.fromRGB(83, 135, 255)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(0, 103, 242))}
UIGradient.Rotation = 90
UIGradient.Parent = b
editor.Name = "editor"
editor.Parent = main
editor.BackgroundColor3 = Color3.fromRGB(236, 236, 222)
editor.BorderColor3 = Color3.fromRGB(0, 0, 0)
editor.BorderSizePixel = 0
editor.Position = UDim2.new(0, 0, 0.0389170907, 0)
editor.Size = UDim2.new(1, 0, 0.961082935, 0)
bar.Name = "bar"
bar.Parent = editor
bar.BackgroundColor3 = Color3.fromRGB(236, 236, 222)
bar.BorderColor3 = Color3.fromRGB(0, 0, 0)
bar.BorderSizePixel = 0
bar.Size = UDim2.new(1, 0, 0.0500000007, 0)
file.Name = "file"
file.Parent = bar
file.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
file.BackgroundTransparency = 1.000
file.BorderColor3 = Color3.fromRGB(0, 0, 0)
file.BorderSizePixel = 0
file.Size = UDim2.new(0, 72, 0, 20)
file.Font = Enum.Font.SourceSans
file.Text = "File"
file.TextColor3 = Color3.fromRGB(27, 42, 53)
file.TextSize = 20.000
file.TextStrokeColor3 = Color3.fromRGB(227, 231, 230)
file.TextStrokeTransparency = 0.800
edit.Name = "edit"
edit.Parent = bar
edit.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
edit.BackgroundTransparency = 1.000
edit.BorderColor3 = Color3.fromRGB(0, 0, 0)
edit.BorderSizePixel = 0
edit.Position = UDim2.new(0.0447647944, 0, 0, 0)
edit.Size = UDim2.new(0, 72, 0, 20)
edit.Font = Enum.Font.SourceSans
edit.Text = "Edit"
edit.TextColor3 = Color3.fromRGB(27, 42, 53)
edit.TextSize = 20.000
edit.TextStrokeColor3 = Color3.fromRGB(227, 231, 230)
edit.TextStrokeTransparency = 0.800
view.Name = "view"
view.Parent = bar
view.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
view.BackgroundTransparency = 1.000
view.BorderColor3 = Color3.fromRGB(0, 0, 0)
view.BorderSizePixel = 0
view.Position = UDim2.new(0.0993930176, 0, 0, 0)
view.Size = UDim2.new(0, 72, 0, 20)
view.Font = Enum.Font.SourceSans
view.Text = "View"
view.TextColor3 = Color3.fromRGB(27, 42, 53)
view.TextSize = 20.000
view.TextStrokeColor3 = Color3.fromRGB(227, 231, 230)
view.TextStrokeTransparency = 0.800
UIListLayout.Parent = bar
UIListLayout.FillDirection = Enum.FillDirection.Horizontal
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
run.Name = "run"
run.Parent = bar
run.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
run.BackgroundTransparency = 1.000
run.BorderColor3 = Color3.fromRGB(0, 0, 0)
run.BorderSizePixel = 0
run.Position = UDim2.new(0.0993930176, 0, 0, 0)
run.Size = UDim2.new(0, 72, 0, 20)
run.Font = Enum.Font.SourceSans
run.Text = "Run"
run.TextColor3 = Color3.fromRGB(27, 42, 53)
run.TextSize = 20.000
run.TextStrokeColor3 = Color3.fromRGB(227, 231, 230)
run.TextStrokeTransparency = 0.800
text.Name = "text"
text.Parent = editor
text.BackgroundColor3 = Color3.fromRGB(236, 236, 222)
text.BackgroundTransparency = 1.000
text.BorderColor3 = Color3.fromRGB(0, 0, 0)
text.BorderSizePixel = 0
text.Position = UDim2.new(0.0199999996, 0, 0.0500000007, 0)
text.Size = UDim2.new(0.899999976, 0, 0.88499999, 0)
b_2.Name = "b"
b_2.Parent = text
b_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
b_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
b_2.BorderSizePixel = 0
b_2.Size = UDim2.new(1, 0, 0.00507614203, 20)
b_2.ZIndex = 69
UIGradient_2.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(0, 103, 242)), ColorSequenceKeypoint.new(0.48, Color3.fromRGB(83, 135, 255)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(0, 103, 242))}
UIGradient_2.Rotation = 90
UIGradient_2.Parent = b_2
filename.Parent = b_2
filename.BackgroundTransparency = 1
filename.BorderColor3 = Color3.fromRGB(0, 0, 0)
filename.BorderSizePixel = 0
filename.Position = UDim2.new(0, 0, 0, 0)
filename.Size = UDim2.new(1, 0, 1, 0)
filename.Font = Enum.Font.SourceSansSemibold
filename.Text = "null"
filename.TextColor3 = Color3.fromRGB(255, 255, 255)
filename.TextScaled = true
filename.TextSize = 14
filename.TextWrapped = true
filename.TextXAlignment = Enum.TextXAlignment.Left
fileselector.Name = "fileselector"
fileselector.Parent = text
fileselector.BackgroundColor3 = Color3.fromRGB(236, 236, 222)
fileselector.BorderColor3 = Color3.fromRGB(0, 0, 0)
fileselector.BorderSizePixel = 0
fileselector.Position = UDim2.new(0.863365233, 0, 0.0619359687, 0)
fileselector.Size = UDim2.new(0.129135087, 0, 0.938064158, 0)
b_3.Name = "b"
b_3.Parent = fileselector
b_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
b_3.BorderColor3 = Color3.fromRGB(0, 0, 0)
b_3.BorderSizePixel = 0
b_3.Size = UDim2.new(1, 0, 0.00507614203, 20)
b_3.ZIndex = 69
UIGradient_3.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(0, 103, 242)), ColorSequenceKeypoint.new(0.48, Color3.fromRGB(83, 135, 255)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(0, 103, 242))}
UIGradient_3.Rotation = 90
UIGradient_3.Parent = b_3
TextLabel_4.Parent = b_3
TextLabel_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_4.BackgroundTransparency = 1.000
TextLabel_4.BorderColor3 = Color3.fromRGB(0, 0, 0)
TextLabel_4.BorderSizePixel = 0
TextLabel_4.Position = UDim2.new(0, 0, 0, 0)
TextLabel_4.Size = UDim2.new(1, 0, 1, 0)
TextLabel_4.Font = Enum.Font.SourceSansSemibold
TextLabel_4.Text = "File Selector"
TextLabel_4.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_4.TextScaled = true
TextLabel_4.TextSize = 14.000
TextLabel_4.TextWrapped = true
TextLabel_4.TextXAlignment = Enum.TextXAlignment.Left
UIListLayout_2.Parent = fileselector
UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout_2.Padding = UDim.new(0, 3)
example.Name = "example"
example.Parent = text
example.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
example.BackgroundTransparency = 1.000
example.BorderColor3 = Color3.fromRGB(0, 0, 0)
example.BorderSizePixel = 0
example.Position = UDim2.new(-2.39072233e-06, 0, 0.0474898033, 0)
example.Size = UDim2.new(0, 153, 0, 20)
example.Visible = false
_n.Name = "_n"
_n.Parent = example
_n.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
_n.BackgroundTransparency = 1.000
_n.BorderColor3 = Color3.fromRGB(0, 0, 0)
_n.BorderSizePixel = 0
_n.Position = UDim2.new(0.177858844, 0, 0.044342421, 0)
_n.Size = UDim2.new(0.759503961, 0, 0, 20)
_n.Font = Enum.Font.SourceSansSemibold
_n.Text = "null"
_n.TextColor3 = Color3.fromRGB(27, 42, 53)
_n.TextScaled = true
_n.TextSize = 14.000
_n.TextStrokeColor3 = Color3.fromRGB(255, 255, 255)
_n.TextStrokeTransparency = 0.700
_n.TextWrapped = true
_n.TextXAlignment = Enum.TextXAlignment.Left
type.Name = "type"
type.Parent = example
type.BackgroundColor3 = Color3.fromRGB(0, 55, 255)
type.BackgroundTransparency = 1.000
type.BorderColor3 = Color3.fromRGB(0, 0, 0)
type.BorderSizePixel = 0
type.Position = UDim2.new(0.00596628617, 0, 0, 0)
type.Size = UDim2.new(0.178429022, 0, 0, 20)
type.Image = "rbxasset://textures/ClassImages.png"
type.ImageRectOffset = Vector2.new(96, 0)
type.ImageRectSize = Vector2.new(16, 16)
type.ScaleType = Enum.ScaleType.Fit
scroll.Name = "scroll"
scroll.Parent = text
scroll.Active = true
scroll.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
scroll.BackgroundTransparency = 1.000
scroll.BorderColor3 = Color3.fromRGB(0, 0, 0)
scroll.BorderSizePixel = 0
scroll.Position = UDim2.new(0.00758725358, 0, 0.0639113709, 0)
scroll.Size = UDim2.new(0, 600, 0, 465)
scroll.BottomImage = ""
scroll.MidImage = "rbxassetid://4710023238"
scroll.ScrollBarImageColor3 = Color3.fromRGB(0,103,242)
scroll.ScrollBarThickness = 10
scroll.TopImage = ""
code.Name = "code"
code.Parent = scroll
code.BackgroundColor3 = Color3.fromRGB(247, 247, 247)
code.BorderColor3 = Color3.fromRGB(0, 0, 0)
code.BorderSizePixel = 0
code.Size = UDim2.new(1, 0, 1, 0)
code.ClearTextOnFocus = false
code.Font = Enum.Font.SourceSansLight
code.MultiLine = true
code.Text = "print(\"Hello world!\")"
code.TextColor3 = Color3.fromRGB(0, 0, 0)
code.TextSize = 14.000
code.RichText = true
code.TextXAlignment = Enum.TextXAlignment.Left
code.TextYAlignment = Enum.TextYAlignment.Top
UIPadding.Parent = code
UIPadding.PaddingLeft = UDim.new(0, 5)
UIPadding.PaddingRight = UDim.new(0, 5)
UIPadding.PaddingTop = UDim.new(0, 5)
local stroke = Instance.new("UIStroke")
stroke.Parent = text
stroke.Color = Color3.fromRGB(0,103,242)
stroke.LineJoinMode = Enum.LineJoinMode.Round
stroke.Thickness = 3
local stroke2 = Instance.new("UIStroke")
stroke2.Parent = main
stroke2.Color = Color3.fromRGB(0,103,242)
stroke2.LineJoinMode = Enum.LineJoinMode.Round
stroke2.Thickness = 3
local stroke3 = Instance.new("UIStroke")
stroke3.Parent = fileselector
stroke3.Color = Color3.fromRGB(0,103,242)
stroke3.LineJoinMode = Enum.LineJoinMode.Round
stroke3.Thickness = 3
local stroke4 = Instance.new("UIStroke")
stroke4.Parent = scroll
stroke4.Color = Color3.fromRGB(27,43,53)
stroke4.LineJoinMode = Enum.LineJoinMode.Round
stroke4.Thickness = 1
stroke4.Transparency = 0.7
stroke4.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
-- Credits the original creators
local lua_keywords = {
"and", "break", "do", "else", "elseif", "end",
"false", "for", "function", "goto", "if", "in", "local", "nil",
"not", "or", "repeat", "return", "then", "true", "until", "while", "plugin"
}
local global_env = {
"getrawmetatable", "game", "workspace", "script", "math", "string", "table",
"print", "wait", "BrickColor", "Color3", "next", "pairs", "ipairs", "select",
"unpack", "Instance", "Vector2", "Vector3", "CFrame", "Ray", "UDim2", "Enum", "assert",
"error", "warn", "tick", "loadstring", "_G", "shared", "getfenv", "setfenv", "newproxy",
"setmetatable", "getmetatable", "os", "debug", "pcall", "ypcall", "xpcall", "rawequal",
"rawset", "rawget", "tonumber", "tostring", "type", "typeof", "_VERSION", "coroutine",
"delay", "require", "spawn", "LoadLibrary", "settings", "stats", "time", "UserSettings",
"version", "Axes", "ColorSequence", "Faces", "ColorSequenceKeypoint", "NumberRange",
"NumberSequence", "NumberSequenceKeypoint", "gcinfo", "elapsedTime", "collectgarbage",
"PhysicalProperties", "Rect", "Region3", "Region3int16", "UDim",
"Vector2int16", "Vector3int16", "task"
}
function highlight(EditorFrame)
local Source = EditorFrame.Source
local Lines = EditorFrame.Lines
local Highlight = function(string, keywords)
local K = {}
local S = string
local Token =
{
["="] = true,
["."] = true,
[","] = true,
["("] = true,
[")"] = true,
["["] = true,
["]"] = true,
["{"] = true,
["}"] = true,
[":"] = true,
["*"] = true,
["/"] = true,
["+"] = true,
["-"] = true,
["%"] = true,
[";"] = true,
["~"] = true
}
for i, v in pairs(keywords) do
K[v] = true
end
S = S:gsub(".", function(c)
if Token[c] ~= nil then
return "\32"
else
return c
end
end)
S = S:gsub("%S+", function(c)
if K[c] ~= nil then
return c
else
return (" "):rep(#c)
end
end)
return S
end
local hTokens = function(string)
local Token =
{
["="] = true,
["."] = true,
[","] = true,
["("] = true,
[")"] = true,
["["] = true,
["]"] = true,
["{"] = true,
["}"] = true,
[":"] = true,
["*"] = true,
["/"] = true,
["+"] = true,
["-"] = true,
["%"] = true,
[";"] = true,
["~"] = true
}
local A = ""
string:gsub(".", function(c)
if Token[c] ~= nil then
A = A .. c
elseif c == "\n" then
A = A .. "\n"
elseif c == "\t" then
A = A .. "\t"
else
A = A .. "\32"
end
end)
return A
end
local strings = function(string)
local highlight = ""
local quote = false
string:gsub(".", function(c)
if quote == false and c == "\"" then
quote = true
elseif quote == true and c == "\"" then
quote = false
end
if quote == false and c == "\"" then
highlight = highlight .. "\""
elseif c == "\n" then
highlight = highlight .. "\n"
elseif c == "\t" then
highlight = highlight .. "\t"
elseif quote == true then
highlight = highlight .. c
elseif quote == false then
highlight = highlight .. "\32"
end
end)
return highlight
end
local comments = function(string)
local ret = ""
string:gsub("[^\r\n]+", function(c)
local comm = false
local i = 0
c:gsub(".", function(n)
i = i + 1
if c:sub(i, i + 1) == "--" then
comm = true
end
if comm == true then
ret = ret .. n
else
ret = ret .. "\32"
end
end)
ret = ret
end)
return ret
end
local numbers = function(string)
local A = ""
string:gsub(".", function(c)
if tonumber(c) ~= nil then
A = A .. c
elseif c == "\n" then
A = A .. "\n"
elseif c == "\t" then
A = A .. "\t"
else
A = A .. "\32"
end
end)
return A
end
local highlight_source = function(type)
if type == "Text" then
Source.Text = Source.Text:gsub("\13", "")
Source.Text = Source.Text:gsub("\t", " ")
local s = Source.Text
Source.Comments_.Text = comments(s)
Source.Keywords_.Text = Highlight(s, lua_keywords)
Source.Globals_.Text = Highlight(s, global_env)
Source.RemoteHighlight_.Text = Highlight(s, {"FireServer","fireServer","InvokeServer","invokeServer"})
Source.Tokens_.Text = hTokens(s)
Source.Numbers_.Text = numbers(s)
Source.Strings_.Text = strings(s)
local lin = 1
s:gsub("\n", function()
lin = lin + 1
end)
Lines.Text = ""
for i = 1, lin do
Lines.Text = Lines.Text .. i .. "\n"
end
EditorFrame.CanvasSize = UDim2.new(
0.1, EditorFrame.Source.TextBounds.X,
0.1, EditorFrame.Source.TextBounds.Y
)
end
end
highlight_source("Text")
Source.Changed:Connect(highlight_source)
end
spawn(function()
while wait() do
highlight(code)
end
end)
highlight(code)
NLS([[
local char = owner.Character
local g = nil
local c = nil
local r = char:WaitForChild("Receive")
local uis = game:GetService("UserInputService")
r.OnClientEvent:Connect(function(gui)
g = gui
c = gui.main.editor.text.scroll.code
c = c:Clone()
c.Parent = gui.main.editor.text.scroll.code
c.TextTransparency = 1
c.BackgroundTransparency = 1
end)
task.wait(.5)
uis.InputBegan:Connect(function(input,busy)
if not busy then
if input.KeyCode == Enum.KeyCode.Semicolon then
c:CaptureFocus()
end
end
end)
while wait() do
r:FireServer(c.Text)
end
]])