You can set the offset of the ProximityPrompt to make them into a list shape.
In regards to the UIOffset property: Iâve seen many people ask about prompts stacking when there are multiple parented to the same instance. While we can work with the API to create an automated process for changing this offset now, are there any plans to have this feature built in? Itâs an important feature in most proximity based interaction systems that seems to be missing here.
I tested it out and I gotta say itâs a great addition. Itâs noticeable âeasierâ than doing it the âold fashionedâ way. Also, I was able to achieve the stacking interactions with a rather hacky methodâŚ
I was hoping they would have the ability to have multiple interactions with different inputs on one ProximityPrompt. Stacking the prompts is still possible by creating multiple ProximityPrompts. If the ability to add multiple interactions per prompt were added Iâd hope for a script based API where you can add multiple interactions per prompt with something like AddInteraction(name, keyCode, ...)
. Of course a toggle would likely need to be added to the prompt instance itself. But I do believe this would be an excellent QOL change to the prompts themselves.
In addition to the AddInteraction there should also be RemoveInteraction(name)
it could also be based off of keyCode
instead of name. Overall this would make it a bit easier to have multiple interactions on one object instead of needing to add multiple prompts per object.
The same exists for sounds when in tools. They keep playing from the spot in which you un-equip your tool.
In general Iâd recommend disabling stuff like ProximityPrompts and Sounds when the parent of the tool is in Backpack, or even move the Sound Emitter on the HumanoidRootPart.
Insane, works great! No more need to calculate distance/magnitude and struggle with creating BillBoardGuiâs, as well as making sure only one shows at a time haha.
The proximity prompt doesnt work when i assign the ProximityPromptâs Parent as a part of the character
When can we expect this to launch? Ive messed with it a bit in studio and its AMAZING, the only thing I dont understand is how to do a custom GUI.
Thanks for checking it out!
We will launch the feature once we are confident that we have addressed all the issues and itâs up to our standards. Conservatively, that will be early next year.
Wow, this is a great new feature! Canât wait to try it out. If I run into any problems on the way Iâll make sure to note it here. This is going to make development so much easier for so many people!
Just compute the Magnitude of the click detector and the player on a server level.
IE:
(Player.Character.HumanoidRootPart.Position-ClickDetector.Parent.Position).Magnitude
Is it possible to get this feature rolled out sooner for a few beta users?
I am making a restaurant/cafe type game and I am using ProximityPrompts for a interactive system and a lot of it is already made with it. It would be very appreciated if I could get it rolled out into an actual game early, and then help bug test even further.
It wonât work because roblox calculates the magnitude from the Mouseâs Position. Try your code yourself and you will see what I mean, make a big part by the way and make sure the size of it is not like 2,2,2. Just make sure is not a square.
local Part = script.Parent
local ClickDetector = Part.ClickDetector
ClickDetector.MouseClick:Connect(function(player)
local HumanoidRootPart = player.Character.PrimaryPart
if (HumanoidRootPart.Position - Part.Position).Magnitude > ClickDetector.MaxActivationDistance then
print("You are exploiting, sorry if I caught you by mistake since this is not accurate...")
end
end)
EDIT: So yes, Robloxâs use the MousePosition.
This is honestly an awesome feature to have built into Roblox. It will definitely make it a lot easier to create interaction prompts.
When this gets out of beta I definitely plan on using it. Iâll still check out the API for the beta.
Just add a few to the conditional like a feather. No anti-exploit needs to be 100% accurate, but it needs to be 100% accurate in terms of false positives. Itâs better to let a guilty player go free than punish an innocent.
I did a weird thing already, but Roblox should do an accurate check for us, not everything needs to be inaccurate. Mine doesnât have false positives, instead it expands the range a lot more, if you are really far of it, it will get you. The thing is that is not accurate. I want to catch the exploiter properly.
EDIT: Instances should be secured to use. I hate that they have backdoors, at least some of themâŚ
EDIT: 12/9/2020: I already found a way for accurate checks. Still, Roblox should fix those issues.
When this comes out, Iâm not gonna use it for its intended purpose of showing prompts.
If this feature proves to be more performant than running a loop on a playerâs position (or firing an event every time their position changes), I can see many different uses.
Like an animation that occurs when you get close to it, or a custom rendering system where complex character models are loaded in when the event fires (because we still canât do custom stuff like this with streaming enabled).
I think this feature should be decoupled
Good use case, weâll look into this.
To do this as it is right now, you could add a ProximityPrompt
in a part and do this:
Set the KeyboardKeyCode
to âWâ, so when the player walks near it by pressing W, it triggers.
To make it âinvisibleâ, set the UIOffset
to a huge number, which will move the GUI far away from the part and out of a playerâs view. You can also remove the ActionText
.
This prompt should then fire a Triggered
event when the player walks within the MaxActivationDistance
of the part.
I canât wait till this leaves beta! It will make it so much easier to make interaction prompts.