ProximityPrompt objects khuyến khích người dùng tương tác để kích hoạt một hành động khi họ tiếp cận các đối tượng trong trò chơi như cửa, công tắc đèn và nút bấm. Sử dụng đối tượng này, bạn có thể:
- Chỉ định các đối tượng mà người dùng có thể tương tác trong trò chơi.
- Hiển thị hành động mà người dùng có thể thực hiện trên đối tượng, sau đó kích hoạt hành động thông qua đầu vào của người dùng như nhấn hoặc giữ một phím.
- Hiển thị đầu vào chính xác cho tất cả các loại đầu vào, chẳng hạn như bàn phím, tay cầm và phím cảm ứng.
Tạo gợi ý gần
Bạn phải gán gợi ý gần cho phần, mô hình hoặc gắn kết mà bạn muốn người dùng tương tác. Để thêm một gợi ý gần vào đối tượng BasePart, Model, hoặc Attachment:
Trong cửa sổ Explorer, di chuột qua BasePart, Model, hoặc Attachment và nhấp vào nút ⊕. Một menu ngữ cảnh sẽ hiển thị.
Từ menu, chèn một ProximityPrompt.

Tùy chỉnh gợi ý gần
Bạn có thể tùy chỉnh một gợi ý gần dựa trên cách bạn muốn nó xuất hiện, khi nào bạn muốn nó hiển thị, và những gì bạn muốn người dùng làm để kích hoạt hành động.
Xuất hiện
Gợi ý gần cần truyền đạt ba điều:
- đối tượng mà người dùng có thể tương tác.
- hành động được kích hoạt khi họ tương tác với gợi ý gần.
- phím mà người dùng phải nhấn hoặc giữ.
Bạn có thể chỉ định những điều này thông qua các thuộc tính sau:
ObjectText Tên tùy chọn cho đối tượng mà người dùng có thể tương tác.
ActionText Tên tùy chọn cho hành động mà người dùng sẽ kích hoạt.
KeyboardKeyCode Phím bàn phím mà người dùng phải nhấn hoặc giữ để kích hoạt hành động.
GamepadKeyCode Phím tay cầm mà người dùng phải nhấn hoặc giữ để kích hoạt hành động.

Hiển thị
Bạn có thể kiểm soát khi nào gợi ý gần hiển thị thông qua các thuộc tính MaxActivationDistance, RequiresLineOfSight, và Exclusivity.
MaxActivationDistance
Thuộc tính MaxActivationDistance cho phép bạn xác định khoảng cách xung quanh đối tượng ProximityPrompt mà kích hoạt sự hiển thị của gợi ý gần. Khi nhân vật của người dùng vào trong khoảng cách đó, gợi ý gần sẽ trở nên hiển thị.

RequiresLineOfSight
Thuộc tính RequiresLineOfSight kích hoạt sự hiển thị của gợi ý gần khi có một con đường rõ ràng từ camera đến đối tượng ProximityPrompt. Mặc định, thuộc tính này được đặt là true.
Exclusivity
Nếu nhân vật của người dùng nằm trong phạm vi của nhiều gợi ý gần, sự hiển thị của mỗi gợi ý gần phụ thuộc vào gợi ý gần mà camera đang chỉ vào, cũng như giá trị thuộc tính Exclusivity của mỗi gợi ý gần.

Tương tác
Bạn có thể tùy chỉnh cách người dùng tương tác với một gợi ý gần thông qua các thuộc tính HoldDuration và ClickablePrompt.
HoldDuration
Thuộc tính HoldDuration xác định số giây mà người dùng phải nhấn một phím trước khi hành động của gợi ý gần được kích hoạt. Nếu thuộc tính này có giá trị là 0, hành động của gợi ý gần sẽ được kích hoạt ngay lập tức.
ClickablePrompt
Thuộc tính ClickablePrompt chỉ định xem người dùng có thể nhấp vào một gợi ý gần để kích hoạt hành động của nó hay không. Khi được đặt thành true, người dùng có thể tương tác với gợi ý gần bằng cách nhấp trực tiếp vào gợi ý gần hoặc bằng cách nhấn phím đã chỉ định. Khi được đặt thành false, người dùng chỉ có thể tương tác với gợi ý gần bằng cách nhấn phím đã chỉ định.
Kịch bản gợi ý gần
Bạn có thể kết nối với các sự kiện gợi ý gần trên chính đối tượng ProximityPrompt hoặc toàn cầu thông qua ProximityPromptService. ProximityPromptService cho phép bạn quản lý tất cả hành vi gợi ý gần từ một vị trí, ngăn chặn bất kỳ nhu cầu nào cho mã trùng lặp trong trò chơi của bạn.
| Sự kiện | Mô tả |
|---|---|
| PromptTriggered | Được kích hoạt khi một người chơi tương tác với một gợi ý gần (sau thời gian cho một gợi ý có HoldDuration không bằng 0). |
| PromptTriggerEnded | Kích hoạt khi người chơi ngừng tương tác với một gợi ý gần. |
| PromptButtonHoldBegan | Được kích hoạt khi một người chơi bắt đầu tương tác với một gợi ý gần có giá trị HoldDuration không bằng 0. |
| PromptButtonHoldEnded | Được kích hoạt khi một người chơi ngừng tương tác với một gợi ý gần có giá trị HoldDuration không bằng 0. |
| PromptShown | Kích hoạt trong LocalScripts khi một gợi ý gần được hiển thị. |
| PromptHidden | Kích hoạt trong LocalScripts khi một gợi ý bị ẩn. |
Mẫu mã sau đây bao gồm một khung cơ bản để sử dụng ProximityPromptService:
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Phát hiện khi gợi ý được kích hoạt
local function onPromptTriggered(promptObject, player)
end
-- Phát hiện khi bắt đầu giữ gợi ý
local function onPromptHoldBegan(promptObject, player)
end
-- Phát hiện khi kết thúc giữ gợi ý
local function onPromptHoldEnded(promptObject, player)
end
-- Kết nối các sự kiện gợi ý với các hàm xử lý
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)