Hello everybody,
PreloadService Blue was a program I discontinued back a while ago. But now, it’s back!
PreloadService Blue is my style of a beta program. You get early access to new features, and you test stuff out and report any issues!
I had discontinued it, but with the upcoming release of 3.0 I’m bringing it back.
Reminder: This is a beta program. I do not recommend usage in production games. Only use this in development locations.
If you’re looking for the original one, find it here
Well now that I know what it is, how do I get it?
Join this server:
Tell me you’re there for PS Blue and I’ll give you access to report bugs, suggest features, and announcements to make sure you update.
Why do I have to join a Discord server?
This is to make sure I can get people up-to-date and submit feedback easily.
Current beta features in testing:
Beta Feature | Expected Release | Testing Begun | Date Released |
---|---|---|---|
Plugins | v3 | 11/9/22 | N/A |
Plugins API | Full release v3.1, partial v3 | 11/9/22 | N/A |
How to report issues or suggest things?
Please report them to my Discord server, which you will be invited to.
Plugins Guide
The following is an example plugin I wrote to show off the 1.0.1 API.
task.wait(1) -- Wait for PS to exist
local API = require(game.ReplicatedStorage.PreloadService.PluginsAPI)
-- Make a new folder for remotes
local Folder = API.PluginEventsFolder("ExamplePlugin" --[[Name]])
-- Make a new remote
local function OnServerEvent()
print("Server event!")
-- Actually, we want to remove the event now that it's run.
local Result = API.RemoveRemote("ExampleRemEvent","ExamplePlugin",true--[[Force it. If false, it iwll not close the event if it has active connections.]])
print(tostring(Result[1]) --[[ success (true/false) ]],Result[2]--[[ message ]])
end
API.NewRemoteEvent("ExampleRemEvent"--[[Event Name]],"ExamplePlugin"--[[Folder Name]],OnServerEvent--[[Function (can be a normal function, this is just my example)]])
-- Make a new remote function
local function OnInvoke()
print("Hello World!")
end
API.NewRemoteFunction("ExampleRemFunction", "ExamplePlugin", OnInvoke) --Same description for above, but it's a remote function.
-- Construct a button
API.NewButton(
"rbxassetid://10065089093", --Image
"Computer", -- Name
script.Computer, --Frame
"G", -- Position in the menu
"This is an example plugin." -- Short description
)
API.BuildPlugin(function(Config)
--When the plugin is building, the configuration file will be available under the Config variable.
-- It'll be in a table by default, so you dont have to require() it
warn("Plugin is now running!")
end, script.Config)
Making a frame for PreloadService Guide:
Make the size {1, 0},{1.086, 0}. Reminder that there is some deadspace at the top due to the dock and titlebar.
Style Guide
Use the Gotham or Noto Sans font, and make everything transparent.
No’s when designing for PreloadService
- Flat borders. Use 8px for buttons, TextBoxes, other inputs/text interfaces, and 18px for frames.
- Heavy colors
- Fonts other than Gotham, Ubuntu, Noto Sans, Raleway, and possibly more later.
- TextScaled without a UITextSizeConstraint
- Large text
- Things that interfere with other pages
Info
- To make a frame’s background transparent, give it the attribute “ExcludeTransparent” and set it to
true
[Subject to renaming in 3.0 or 3.1] - For consistency, use FlatIcon’s UICons Icon Pack for your icons.
Making new pages
- Make a new, transparent frame.
- Make it’s size
{1, 0},{1.086, 0}
and position{0, 0},{-0.086, 0}
- Accounting for the topbar and the dock, the usable size is
{1, 0},{0.78, 0}
That’s it for now. Thank you!