Notepad for Roblox Studio


NOTEPAD PLUGIN

As you may have already realized, Notepad is a notepad for Roblox Studio where you can take notes about your experience or something else about development.

Why should I install the plugin?
There is no need to open the built-in Notepad app on your computer, just hit the “Open Notepad” button in the plugin section of Roblox Studio.

Get the plugin here: Notepad - Roblox

Special thanks to @HugeCoolboy2007 for helping me with text automatic saving

Commands:
tRed = red textcolor
tBlue = Blue textcolor
tYellow = yellow textcolor
tGreen = green textcolor
tPurple = purple textcolor
bRed, bBlue, bYellow, bGreen, bPurple = change background color to red, blue, yellow, green or purple color.
Note: To execute these commands delete the text on the textbox and just write the command and then press enter.

6 Likes

Use plugin:SetSetting to save the information it’s really simple

2 Likes

Thank you for the info. I will update the plugin very soon.

That seems really nice, but could you consider some pictures please?

local toolbar = plugin:CreateToolbar("Notepad")

local button = toolbar:CreateButton("Open Notepad", "Notepad", "rbxassetid://10886215059")
local runBeforeKey = "RunBefore"
local hasrunbefore = plugin:GetSetting(runBeforeKey)

button.ClickableWhenViewportHidden = true
local opened = false

local widgetInfo = DockWidgetPluginGuiInfo.new(
	Enum.InitialDockState.Float,  
	true,
	false,
	200,    
	300,    
	150,    
	150     
)

local widget = plugin:CreateDockWidgetPluginGui("Notepad", widgetInfo)


button.Click:Connect(function()
	if hasrunbefore then
	if opened then
		widget.Title = "Notepad"
		local Box = Instance.new("TextBox")
		Box.BorderSizePixel = 0
		Box.TextSize = 20
		Box.TextColor3 = Color3.new(0.243137, 0.243137, 0.243137)
		Box.AnchorPoint = Vector2.new(0.5,0.5)
		Box.Size = UDim2.new(1,0,1,0)
		Box.Position = UDim2.new(0.5,0,0.5,0)
		Box.SizeConstraint = Enum.SizeConstraint.RelativeYY
		Box.Parent = widget
		Box.TextScaled = true
		widget.Enabled = false
			opened = false
	else
		widget.Title = "Notepad"
		local Box = Instance.new("TextBox")
		Box.BorderSizePixel = 0
		Box.TextSize = 20
		Box.TextColor3 = Color3.new(0.243137, 0.243137, 0.243137)
		Box.AnchorPoint = Vector2.new(0.5,0.5)
		Box.Size = UDim2.new(1,0,1,0)
		Box.Position = UDim2.new(0.5,0,0.5,0)
		Box.SizeConstraint = Enum.SizeConstraint.RelativeYY
		Box.Parent = widget
		Box.TextScaled = true
		opened = true
		widget.Enabled = true
		plugin:SetSetting(runBeforeKey, true)
	end
	end
	end)

Could you help me find the bug in this code? The text is not saved.

1 Like

Pictures of what? The notepad’s widget?

Yes. Please

(limitttttttttttttttt)

I’ll try!

Summary

This text will be hidden

I made a few modifications to your plugin’s source code:

local toolbar = plugin:CreateToolbar("Notepad")
local button = toolbar:CreateButton("Open Notepad", "Notepad", "rbxassetid://10886215059")
button.ClickableWhenViewportHidden = true

local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, false, false, 200, 300, 150, 150)
local widget = plugin:CreateDockWidgetPluginGui("Notepad", widgetInfo)
widget.Name = "Notepad" -- Set the widget's name to 'Notepad' for easy identification in the PluginGuiService
widget.Title = "Notepad"

local saveSettingKey = "notepad_save"

-- Create the box by default, you don't have to wait for the widget to be clicked
local Box = Instance.new("TextBox")
Box.BorderSizePixel = 0
Box.TextSize = 20
Box.TextColor3 = Color3.new(0.243137, 0.243137, 0.243137)
Box.AnchorPoint = Vector2.new(0.5, 0.5)
Box.Size = UDim2.new(1, 0, 1, 0)
Box.Position = UDim2.new(0.5, 0, 0.5, 0)
Box.SizeConstraint = Enum.SizeConstraint.RelativeYY
Box.ClearTextOnFocus = false -- So that user progress isn't erased when they click on the widget (textbox) again
Box.TextScaled = true
Box.TextXAlignment = Enum.TextXAlignment.Left
Box.TextYAlignment = Enum.TextYAlignment.Top
Box.Text = plugin:GetSetting(saveSettingKey) or "" -- Load the setting key or blank text
Box.Parent = widget

local function savecontent()
	plugin:SetSetting(saveSettingKey, Box.Text) -- Save the box's text
end

button.Click:Connect(function()
	-- No need for a variable, just set the Enabled state to opposite of its current state
	widget.Enabled = not widget.Enabled
	savecontent()
end)

widget:BindToClose(function()
	-- Disable widget when it's closed
	widget.Enabled = false
	savecontent()
end)
2 Likes

I guess @HugeCoolboy2007 solved your problem.
I think it would be better if you put the ui under the script however

1 Like

Tysm for the help!

(characters limit)

update done. :+1:

(character limit)

Nice plugin but I feel like personally I rather just use a note pad on my laptop which is easy to get within 2 clicks.

3 Likes

kinda nice plugin but i still like way more writing stuff in a script using
–[[

–]]

1 Like

This might solve the issue:

Press Win+R and then type in “notepad”. When you’re done, press CTRL+S and then type a name, then press enter. Optionally press Alt+F4 after saving (Or alt then x) to close the window.

I have already proposed this idea here: Notes plugin, saves your notes

It includes clean, studio-matching UI

Nice job though.

1 Like