Vị trí bạn bè

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Việc tìm kiếm bạn bè trong trải nghiệm có thể là một thách thức. Mô-đun FriendsLocator nhà phát triển cho phép người chơi dễ dàng tìm và dịch chuyển đến bạn bè của họ trong một nơi.

Cách sử dụng mô-đun

Cài đặt

Để sử dụng mô-đun FriendsLocator trong một trải nghiệm:

  1. Từ menu Cửa sổ của Studio hoặc thanh công cụ Trang chủ, mở Toolbox và chọn tab Cửa hàng Người sáng tạo.

  2. Đảm bảo rằng sắp xếp Mô hình được chọn, sau đó nhấp vào nút Xem Tất cả cho Thể loại.

  3. Tìm và nhấp vào ô Gói.

  4. Tìm mô-đun Vị trí bạn bè và nhấp vào nó, hoặc kéo và thả vào chế độ 3D.

  5. Trong cửa sổ Khám phá, di chuyển toàn bộ mô hình FriendsLocator vào ReplicatedStorage. Khi chạy trải nghiệm, mô-đun sẽ bắt đầu hoạt động.

Kiểm tra trong Studio

Để kiểm tra mô-đun trong Studio, mô-đun FriendsLocator phải được chạy trong một mô phỏng đa khách hàng, vì sẽ không có bạn bè nào trong một bài kiểm tra chơi đơn.

  1. Trong StarterPlayerScripts, tạo một LocalScript mới và đổi tên thành ConfigureFriendsLocator.

  2. Dán mã sau vào tập lệnh ConfigureFriendsLocator mới. Cài đặt showAllPlayers trong hàm configure đảm bảo rằng các trình định vị được hiển thị cho tất cả người dùng trong khi kiểm tra trong Studio, nhưng không ở một nơi đã được công bố.

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Cho phép gỡ lỗi trong Studio
    })
  3. Từ mezzanine của Studio, bắt đầu một mô phỏng đa khách hàng với 2 khách hàng. Ba phiên bản mới của Studio sẽ mở; một máy chủ mô phỏng và hai khách hàng mô phỏng.

    Tùy chọn Máy chủ & Khách hàng trong menu thả xuống chế độ thử nghiệm của mezzanine Studio.
  4. Vào một trong những phiên bản khách hàng của Studio, di chuyển một khoảng cách 100 studs xa khỏi nhân vật khác, và bạn nên thấy một biểu tượng định vị xuất hiện trên đầu của nó.

Kết nối đến sự kiện

Mô-đun FriendsLocator cung cấp sự kiện để bạn có thể giới thiệu các hành vi tùy chỉnh khi người dùng tương tác với một biểu tượng định vị.

  1. Đảm bảo rằng bạn đã tạo tập lệnh ConfigureFriendsLocator được nêu trong thử nghiệm trong Studio.

  2. Thêm dòng 8 và 11-13 vào tập lệnh:

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Cho phép gỡ lỗi trong Studio
    teleportToFriend = false, -- Ngăn dịch chuyển khi nhấp/chạm vào biểu tượng
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("Bạn đã nhấp vào biểu tượng định vị cho", player.DisplayName)
    end)
  3. Tiến hành một bài kiểm tra đa khách hàng và nhấp vào biểu tượng định vị của một nhân vật khác. Lưu ý rằng nhân vật của bạn không dịch chuyển đến vị trí đó, và sự kiện được kích hoạt để cho phép xử lý tùy chỉnh của các lần nhấp vào biểu tượng.

Giao diện định vị tùy chỉnh

Nếu kiểu mặc định không phù hợp với trải nghiệm của bạn, bạn có thể thay thế giao diện chân dung avatar mặc định bằng giao diện của riêng bạn.

Để thay thế giao diện mặc định:

  1. Tạo một thể hiện ScreenGui mới bên trong container StarterGui.

  2. Tạo một thể hiện Frame có tên FriendLocator làm con của ScreenGui mới, sau đó thêm các phần tử như ImageLabels, TextLabels để thiết kế giao diện tùy chỉnh của bạn.

  3. Khi hoàn thành, tắt ScreenGui chính để mô-đun không hiển thị giao diện định vị tùy chỉnh cho đến khi cần.

  4. (Tùy chọn) Nếu bạn muốn hình ảnh chân dung avatar của bạn bè và DisplayName hiển thị ở đâu đó trong giao diện tùy chỉnh, bạn có thể đặt các thể hiện sau vào bên trong khung FriendLocator.

    Mô-đun sẽ tìm kiếm những mục này và hiển thị hình ảnh chân dung avatar của bạn bè và/hoặc tên hiển thị tương ứng.

Tham chiếu API

Các hàm

configure

configure(config: table)

Ghi đè các tùy chọn cấu hình mặc định thông qua các khóa/giá trị sau trong bảng config.

KhóaMô tảMặc định
alwaysOnTopNếu là true, hiển thị các biểu tượng định vị trên tất cả mọi thứ, ngăn cản chúng bị chặn bởi các đối tượng 3D trong thế giới.true
showAllPlayersNếu là true, hiển thị vị trí cho tất cả người chơi, không chỉ bạn bè; điều này có thể giúp xác nhận chức năng của mô-đun trong Studio.false
teleportToFriendDịch chuyển nhân vật người chơi đến vị trí của bạn bè khi biểu tượng định vị của họ được nhấp hoặc chạm.true
thresholdDistanceNgưỡng khoảng cách camera tại đó các biểu tượng định vị xuất hiện; những người bạn gần hơn khoảng cách này sẽ không hiển thị biểu tượng.100
maxLocatorsSố lượng biểu tượng định vị tối đa được hiển thị trong bất kỳ thời điểm nào.10
LocalScript - ConfigureFriendsLocator

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.configure({
alwaysOnTop = true,
showAllPlayers = false,
teleportToFriend = true,
thresholdDistance = 100,
maxLocators = 10
})

Sự kiện

clicked

Bắn ra khi một biểu tượng định vị được nhấp/kích hoạt bởi người chơi địa phương. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

Tham số
player: PlayerNgười chơi mà biểu tượng định vị thuộc về.
playerCFrame: CFrameCFrame của Humanoid.RootPart của người chơi mà biểu tượng định vị thuộc về.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
local localPlayer = Players.LocalPlayer
FriendsLocator.clicked:Connect(function(player, playerCFrame)
-- Yêu cầu phát trực tuyến xung quanh vị trí mục tiêu
if Workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("Bạn đã nhấp vào biểu tượng định vị cho", player.DisplayName, "tại vị trí", playerCFrame.Position)
end)

visibilityChanged

Bắn ra khi một biểu tượng định vị được hiển thị/ẩn trên màn hình của người chơi địa phương. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

Tham số
player: PlayerĐối tượng Player mà biểu tượng định vị thuộc về.
playerCFrame: CFrameCFrame của Humanoid.RootPart của người chơi mà biểu tượng định vị thuộc về.
isVisible: booleanLiệu biểu tượng định vị hiện đang hiển thị trên màn hình của người chơi địa phương. Lưu ý rằng điều này vẫn sẽ là true nếu alwaysOnTopfalse và biểu tượng định vị được hiển thị phía sau một đối tượng trong thế giới 3D.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Tính khả thi của biểu tượng định vị cho", player.DisplayName, ":", isVisible)
end)
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.