Proximity Prompt Studio Beta

Thanks for checking out the beta, and thanks for catching this issue! We’ll address this.

1 Like

Here’s a fun hack:

You can probably fashion a jank region system out of this kinda like this suggestion

You could do custom streaming or custom ambience based on the closest part and just not use Triggered for anything.

-- localscript
local Lighting = game:GetService("Lighting")
local ProximityPromptService = game:GetService("ProximityPromptService")

ProximityPromptService.PromptShown:Connect(function(instance)
    local parent = instance.Parent
    
    Lighting.Ambient = parent.Color
    Lighting.OutdoorAmbient = parent.Color
end)

proximityRegionHack.rbxl (25.7 KB)

53 Likes

Thanks for trying out the feature! I can’t be sure what is causing this issue. Is this script definitely a sibling of an object called “Humanoid”? Can you put prints in to determine which line it’s yielding forever on?

this’ll make things much easier

I don’t understand the old ways of proximity detection

1 Like

honestly never expected any updates like this to roblox that tend to be scripted by the developer,
I made a system similar to this that I’m using in multiple games and it looks like I’ll probably need to port over to this eventually as it seems identical in functionality but will obviously have better support

Oh, sorry i solved it, i tried writing and deleting things :sweat_smile:

This is the new code:

local hum = script.Parent.Parent:WaitForChild("Humanoid")

local anim = hum:LoadAnimation(script:FindFirstChildOfClass("Animation"))

workspace.Steamder.ProximityPrompt.Triggered:Connect(function()

anim.Looped = false --the animation still being looped

anim:Play()

end)

But now the animation is being looped, idk why, but it is supposed to happen? @crypto_mancer


Also, i found a small error, in the image, look closer at the wheel, its image its cutted
Dia

5 Likes

Found an Issue, feel free to test this yourself. If the brick with proximity prompt is in the lighting or starter player scripts, (pretty much anywhere that’s not the workspace BESIDES Server Storage) the Prompt still shows.

The Task Brick in Lighting has a Proximity Prompt in it.

3 Likes

This is actually very possible from using ProximityService like GollyGreg mentions above. Here’s a quick example of it that I got set up in a couple of minutes.

https://streamable.com/aygokn

For this example, I put a ProximityService instance in each collectible part, and set its Style property to Custom, so that no Gui pops up. I also set the MaxActivationDistance to 5.

-- LocalScript
local ProximityPromptService = game:GetService("ProximityPromptService")
ProximityPromptService.PromptShown:Connect(function(instance)
	local parent = instance.Parent

	if parent.Name == "Collectible" then
		parent:Destroy()
		print("Collected!")
	end
end)

As you mentioned, it’s slightly hacky as it listens for the changed state, but honestly it works pretty great :happy2:

5 Likes

Nice lol. This feels like how you’d have to make this work if we were making minecraft mods.

Though I agree with @BusyCityGuy, it’d be nice to have proper sphere casting.

5 Likes

Is there any chance we will be able to make similar prompts that are always on the screen, rather than only world space prompts?

For example, a screen space button prompt on the bottom right of the screen that you hold to return to the game’s hub.

4 Likes

This is very cool. Could we also mainstream radials? : )

1 Like

I think that the Proximity Prompt is great, however when trying to ride the car, there should be a wait sentence and a sort of animation rather then just getting teleported to the car. That would be nice, otherwise this new API Instance seems greater then expected! Nice job Roblox!

I haven’t personally tested out the feature; however, I do have one pressing question. Let’s say I have a car and I want to have multiple interactions at once, one to lock it and one to sit in it. Is there any way utilizing this system to get it to stack on top of each-other much like using a UIListLayout while also having different keys bound? If that’s not possible is it something on the roadmap of things to be added?

For me this has been a long awaited feature as an alternative to my current interaction system that would create less overhead. I look forward to testing this out in the morning!

Is there any easy way to force it to always use the camera’s focus, and if not, could you consider adding one? This feels like it would make a lot more sense than taking the character position (to prevent things behind you getting prompted, for example).

WOW! When will this be fully released? PLEASE be soon! Loving the amazing updates Roblox :heart_eyes:

2 Likes

You could probably program it when customizing the proximity prompt to make it fade in or out depending on the distance from the players character.

Oh yeah - didn’t read the API so I missed that there was a .PromptShown event. The verbiage here is awkward since this is using it for a non-prompt purpose.

Perhaps a more generalized event name could be “ProximityEntered”, which makes it a bit more targeted toward other general proximity use cases.

3 Likes

This is a wonderful feature and cannot wait for it to be finished!

FINALLY, no longer needed to make my own modules, and scripts that aren’t working 100% perfectly, this is literally the best thing added to studio, and its going to make our jobs easier.

Great update!!!

Just located a bug, whenever I have this beta feature enabled, and whenever I try to put a Script into a folder inside a folder, it crashes studio. Not sure what other ways there are to replicate this, but I’ve turned it off for now, and it doesn’t crash anymore.