Prompts+
This module is no longer maintained. I recommend checking out https://devforum.roblox.com/t/proximity-prompt-customizer/1663458Prompts+ is an easy way to customize your proximity prompts, and even take them out of the 3d space and into your UI’s.
Example
The first two from the left are actually ScreenGuis, not Billboardguis! One of them is in a frame with a list layout. Here is the code that I used to setup this example:
Example Script
local Prompt = require(game:GetService("ReplicatedStorage"):WaitForChild("Prompt"));
wait(3);
local WorldPrompt = Prompt.new({
Parent = workspace:WaitForChild("Dummy");
ObjectText = "Dummy";
HoldDuration = 1;
Size = UDim2.new(1, 0, 1, 0);
Transparency = 0.5;
BackgroundColor = Color3.fromRGB(204, 204, 204);
ProgressBarColor = Color3.fromRGB(65, 214, 255);
RoundFrameTransparency = 0.1;
RoundFrameBackgroundColor = Color3.fromRGB(13, 13, 13);
TextColor = Color3.fromRGB(22, 22, 22);
ObjectTextColor = Color3.fromRGB(67, 67, 67);
InputTextColor = Color3.fromRGB(43, 174, 255);
Font = "Ubuntu";
});
-- On screen prompts!
local CenteredPrompt = Prompt.new({
Parent = game.Players.LocalPlayer.PlayerGui.Test;
Size = UDim2.new(0, 365, 0, 100);
ProgressBarColor = Color3.fromRGB(65, 214, 255);
RoundFrameTransparency = 0.5;
AnchorPoint = Vector2.new(0.5, 0.5);
Position = UDim2.new(0.5, 0, 0.5, 0);
});
CenteredPrompt.Triggered:Connect(function()
print("Works great!");
end)
-- Put it in other UIs!
local PromptInList = Prompt.new({
Parent = game.Players.LocalPlayer.PlayerGui.Test.Frame;
Size = UDim2.new(0, 165, 0, 60);
ProgressBarColor = Color3.fromRGB(65, 214, 255);
RoundFrameTransparency = 0.5;
});
wait(3);
PromptInList:InputHoldBegin();
Features
Ability to change…
- Size
- Transparency
- Background color
- Progress bar color
- Round frame transparency
- Round frame color
- Input, object, and interaction text color and font
- Position (OnScreen)
- AnchorPoint (OnScreen)
These properties can be changed just like any other Roblox instance from a script.
OnScreen
By simply parenting your prompt, created through this module, to a UI object such as a frame, it will go out of the world and into the UI!
Documentation
Usage
View the example script to see what properties you can change!
local Prompt = require(game:GetService("ReplicatedStorage"):WaitForChild("Prompt"));
local NewPrompt = Prompt.new({Arguments});
If you want to use an already existing prompt, then in the arguments, point “PromptObject” to a ProximityPrompt.
Prompt.new({PromptObject = myprompt});
To put the prompt on your screen, simply set the parent to a UI object.
You can set properties outside of the constructor as well.
-- Example
NewPrompt.Size = UDim2.new(0.5, 0, 0.5, 0);
You can change the default prompt settings by changing the values in the PromptObject located in the Prompt module.
Sorry if this post is a mess, I suck at writing stuff like this. Please reply if you need any help or come across any problems. Yes, I know this feature is in beta, so I hope the way you customize prompts doesn’t change too drastically!
The round frame started to look a little bit weird after changing it to scale (to accommodate for larger/smaller prompts) so I put in a size constraint for it. Please let me know if this gets any weird results. I’m not great with that kind of thing!
To do
Keep in mind that I have less time available to script so releases are probably gonna be slow.- Text size
- Transparency of key icon
- Prompts inside prompts? Not sure yet
Get it here!
Totally didn’t realize I copied the name format for Topbar+. Oops!