# ProximityPromptService

ProximityPromptService : `Instance`

## Overview

월드 내 모든 ProximityPrompt를 전역으로 관리하는 서비스입니다.

`game:GetService("ProximityPromptService")`를 통해 획득할 수 있습니다.&#x20;

개별 ProximityPrompt 인스턴스 대신 이 서비스를 통해 이벤트를 수신하면, 월드 전체의 프롬프트 상호작용을 한 곳에서 처리할 수 있습니다.

## Properties

### MaxPromptsVisible

`number`

동시에 화면에 표시할 수 있는 프롬프트의 최대 개수입니다.

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")
ProximityPromptService.MaxPromptsVisible = 3
```

### Enabled

`boolean`

서비스 전체의 ProximityPrompt 기능을 활성화 또는 비활성화합니다.&#x20;

false로 설정하면 월드의 모든 프롬프트가 표시되지 않습니다.

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")
ProximityPromptService.Enabled = false
```

## Methods

## Events

### PromptShown

월드 내 어떤 ProximityPrompt가 화면에 표시될 때 발생하는 이벤트입니다.

이 이벤트는 클라이언트 환경에서만 동작합니다.

#### Parameters

| `ProximityPrompt` prompt | 표시된 ProximityPrompt 인스턴스입니다. |
| ------------------------ | ---------------------------- |

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")

ProximityPromptService.PromptShown:Connect(function(prompt)
    print(prompt.ObjectText .. " prompt is now visible.")
end)
```

### PromptHidden

월드 내 어떤 ProximityPrompt가 화면에서 숨겨질 때 발생하는 이벤트입니다.

이 이벤트는 클라이언트 환경에서만 동작합니다.

#### Parameters

| `ProximityPrompt` prompt | 숨겨진 ProximityPrompt 인스턴스입니다. |
| ------------------------ | ---------------------------- |

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")

ProximityPromptService.PromptHidden:Connect(function(prompt)
    print(prompt.ObjectText .. " prompt is now hidden.")
end)
```

### PromptTriggered

월드 내 어떤 ProximityPrompt가 활성화되었을 때 발생하는 이벤트입니다.

#### Parameters

| `ProximityPrompt` prompt | 활성화된 ProximityPrompt 인스턴스입니다. |
| ------------------------ | ----------------------------- |
| `Player` player          | 프롬프트를 활성화한 플레이어입니다.           |

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")

ProximityPromptService.PromptTriggered:Connect(function(prompt, player)
    print(player.Name .. " interacted with " .. prompt.ObjectText)
end)
```

### PromptTriggerEnded

활성화 중이던 ProximityPrompt의 트리거가 완료되거나 취소되었을 때 발생하는 이벤트입니다.

#### Parameters

| `ProximityPrompt` prompt | 해당 ProximityPrompt 인스턴스입니다. |
| ------------------------ | --------------------------- |
| `Player` player          | 관련 플레이어입니다.                 |

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")

ProximityPromptService.PromptTriggerEnded:Connect(function(prompt, player)
    print(player.Name .. "'s trigger has ended.")
end)
```

### PromptButtonHoldBegan

월드 내 어떤 ProximityPrompt의 버튼 홀드가 시작되었을 때 발생하는 이벤트입니다.

#### Parameters

| `ProximityPrompt` prompt | 해당 ProximityPrompt 인스턴스입니다. |
| ------------------------ | --------------------------- |
| `Player` player          | 버튼을 누르기 시작한 플레이어입니다.        |

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")

ProximityPromptService.PromptButtonHoldBegan:Connect(function(prompt, player)
    print(player.Name .. " started holding.")
end)
```

### PromptButtonHoldEnded

월드 내 어떤 ProximityPrompt의 버튼 홀드가 종료되었을 때 발생하는 이벤트입니다.

#### Parameters

| `ProximityPrompt` prompt | 해당 ProximityPrompt 인스턴스입니다. |
| ------------------------ | --------------------------- |
| `Player` player          | 버튼에서 손을 뗀 플레이어입니다.          |

#### Code Samples

```lua
local ProximityPromptService = game:GetService("ProximityPromptService")

ProximityPromptService.PromptButtonHoldEnded:Connect(function(prompt, player)
    print(player.Name .. " stopped holding.")
end)
```

## See also

{% content-ref url="../../../manual/studio-manual/object/proximityprompt" %}
[proximityprompt](https://docs.overdare.com/korean/manual/studio-manual/object/proximityprompt)
{% endcontent-ref %}
