Lớp công cụ
Player
*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.
Tóm Tắt
Thuộc Tính
Phương Pháp
Sự Kiện
CharacterAdded(character: Model):RBXScriptSignal |
CharacterAppearanceLoaded(character: Model):RBXScriptSignal |
CharacterRemoving(character: Model):RBXScriptSignal |
Chatted(message: string,recipient: Player):RBXScriptSignal |
Idled(time: number):RBXScriptSignal |
OnTeleport(teleportState: Enum.TeleportState,placeId: number,spawnName: string):RBXScriptSignal |
Tài Liệu Tham Khảo API
Thuộc Tính
AutoJumpEnabled
Mẫu mã
Chuyển đổi Tự Nhảy
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
local function update()
-- Cập nhật văn bản nút
if player.AutoJumpEnabled then
button.Text = "Tự Nhảy đã BẬT"
else
button.Text = "Tự Nhảy đã TẮT"
end
-- Phản ánh thuộc tính trong nhân vật của người chơi, nếu họ có
if player.Character then
local human = player.Character:FindFirstChild("Humanoid")
if human then
human.AutoJumpEnabled = player.AutoJumpEnabled
end
end
end
local function onActivated()
-- Chuyển đổi tự nhảy
player.AutoJumpEnabled = not player.AutoJumpEnabled
-- Cập nhật mọi thứ khác
update()
end
button.Activated:Connect(onActivated)
update()CameraMode
Mẫu mã
Chơi ở Chế độ Người thứ nhất
local Players = game:GetService("Players")
local player = Players.LocalPlayer
player.CameraMode = Enum.CameraMode.LockFirstPersonCharacterAppearance
DataComplexity
DataReady
FollowUserId
Mẫu mã
Thông báo người theo dõi
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player:WaitForChild("PlayerGui")
local function onPlayerAdded(newPlayer)
if newPlayer.FollowUserId == player.UserId then
local textLabel = Instance.new("TextLabel")
textLabel.Parent = screenGui
textLabel.Text = "Bạn đã được theo dõi vào trò chơi này bởi " .. newPlayer.Name .. "!"
task.delay(3, function()
if textLabel then
textLabel:Destroy()
end
end)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)HasRobloxSubscription
Mẫu mã
Kiểm tra trạng thái đăng ký Roblox
local Players = game:GetService("Players")
local player = Players.LocalPlayer
if player.HasRobloxSubscription then
-- Cung cấp nội dung hoặc đặc quyền dành riêng cho người đăng ký
endMembershipType
PartyId
Mẫu mã
ID Đội Bè.Cờ
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local partyId = player.PartyId
if partyId ~= "" then
print("Người chơi đang ở trong một đội với ID: " .. partyId)
else
print("Người chơi không ở trong một đội")
end
player:GetPropertyChangedSignal("PartyId"):Connect(function()
if player.PartyId ~= "" then
print("Người chơi đã tham gia đội với ID: " .. player.PartyId)
else
print("Người chơi đã rời đội")
end
end)
end)RespawnLocation
Mẫu mã
Thay Đổi Điểm Xuất Hiện Khi Chạm
local Players = game:GetService("Players")
local function addSpawn(spawnLocation)
-- lắng nghe khi điểm xuất hiện bị chạm vào
spawnLocation.Touched:Connect(function(hit)
local character = hit:FindFirstAncestorOfClass("Model")
if character then
local player = Players:GetPlayerFromCharacter(character)
if player and player.RespawnLocation ~= spawnLocation then
local humanoid = character:FindFirstChildOfClass("Humanoid")
-- đảm bảo rằng nhân vật không chết
if humanoid and humanoid:GetState() ~= Enum.HumanoidStateType.Dead then
print("điểm xuất hiện đã được thiết lập")
player.RespawnLocation = spawnLocation
end
end
end
end)
end
local firstSpawn
-- tìm kiếm trong workspace để tìm các điểm xuất hiện
for _, descendant in pairs(workspace:GetDescendants()) do
if descendant:IsA("SpawnLocation") then
if descendant.Name == "FirstSpawn" then
firstSpawn = descendant
end
addSpawn(descendant)
end
end
local function playerAdded(player)
player.RespawnLocation = firstSpawn
end
-- lắng nghe người chơi mới
Players.PlayerAdded:Connect(playerAdded)
-- xử lý các người chơi hiện có
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
endThirdPartyTextChatRestrictionStatus
UserId
Mẫu mã
Player.UserId
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print(player.UserId)
end
Players.PlayerAdded:Connect(onPlayerAdded)Dữ liệu lưu trữ đến Bảng xếp hạng
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local goldDataStore = DataStoreService:GetDataStore("Gold")
local STARTING_GOLD = 100
local function onPlayerAdded(player)
local playerKey = "Player_" .. player.UserId
local leaderstats = Instance.new("IntValue")
leaderstats.Name = "leaderstats"
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Parent = leaderstats
local success, result = pcall(function()
return goldDataStore:GetAsync(playerKey) or STARTING_GOLD
end)
if success then
gold.Value = result
else
-- Không thể lấy dữ liệu
warn(result)
end
leaderstats.Parent = player
end
Players.PlayerAdded:Connect(onPlayerAdded)userId
Phương Pháp
ClearCharacterAppearance
Player:ClearCharacterAppearance():()
Lợi Nhuận
()
Mẫu mã
Cách xóa ngoại hình của một nhân vật
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local function onChildRemoved(child)
print(child.ClassName, "đã bị xóa khỏi nhân vật")
end
character.ChildRemoved:Connect(onChildRemoved)
player:ClearCharacterAppearance()
--> BodyColors đã bị xóa khỏi nhân vật
--> ShirtGraphic đã bị xóa khỏi nhân vật
--> Shirt đã bị xóa khỏi nhân vật
--> Pants đã bị xóa khỏi nhân vật
--> CharacterMesh đã bị xóa khỏi nhân vật
--> Hat đã bị xóa khỏi nhân vật
--> Shirt đã bị xóa khỏi nhân vậtClearCachedAvatarAppearance
Player:ClearCachedAvatarAppearance():()
Lợi Nhuận
()
DistanceFromCharacter
GetFriendsOnline
GetFriendsOnlineAsync
Tham Số
| Giá Trị Mặc Định: 200 |
Lợi Nhuận
Mẫu mã
Lấy danh sách kết nối trực tuyến
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local success, result = pcall(player.GetFriendsOnlineAsync, player, 10)
if success then
for _, friend in pairs(result) do
print(friend.UserName)
end
else
warn("Không thể lấy danh sách người chơi trực tuyến: " .. result)
endGetJoinData
Lợi Nhuận
Mẫu mã
Theo dõi nguồn lưu lượng truy cập
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local analyticsStore = DataStoreService:GetDataStore("Analytics")
local ALLOWED_SOURCES = {
"twitter",
"youtube",
"discord",
}
local function onPlayerAdded(player)
local source = player:GetJoinData().LaunchData
-- kiểm tra xem nguồn cung cấp có hợp lệ không
if source and table.find(ALLOWED_SOURCES, source) then
-- cập nhật kho dữ liệu để theo dõi độ phổ biến của nguồn
local success, result = pcall(analyticsStore.IncrementAsync, analyticsStore, source)
if success then
print(player.Name, "tham gia từ", source, "- tổng cộng:", result)
else
warn("Không thể ghi lại nguồn tham gia: " .. result)
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)Trình tạo URL giới thiệu
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local DIRECT_JOIN_URL = "https://www.roblox.com/games/start?placeId=%d&launchData=%s"
local textBox = script.Parent
local function generateReferralURL(player)
return DIRECT_JOIN_URL:format(game.PlaceId, player.UserId)
end
local function highlightAll()
if -- tránh các cập nhật thuộc tính đệ quy
textBox:IsFocused() and not (textBox.SelectionStart == 1 and textBox.CursorPosition == #textBox.Text + 1)
then
textBox.SelectionStart = 1
textBox.CursorPosition = #textBox.Text + 1
end
end
textBox.Focused:Connect(highlightAll)
textBox:GetPropertyChangedSignal("SelectionStart"):Connect(highlightAll)
textBox:GetPropertyChangedSignal("CursorPosition"):Connect(highlightAll)
textBox.TextEditable = false
textBox.ClearTextOnFocus = false
textBox.Text = generateReferralURL(player)Sử dụng Bảng làm Dữ liệu Khởi động
local HttpService = game:GetService("HttpService")
local DATA_CHARACTER_LIMIT = 200
local function encodeTableAsLaunchData(data)
-- chuyển đổi bảng thành một chuỗi
local jsonEncodedData = HttpService:JSONEncode(data)
if #jsonEncodedData <= DATA_CHARACTER_LIMIT then
-- thoát các ký tự không hợp lệ, chẳng hạn như khoảng trắng
local urlEncodedData = HttpService:UrlEncode(jsonEncodedData)
return true, urlEncodedData
else
-- báo lỗi vượt giới hạn ký tự
return false, ("Bảng đã mã hóa vượt quá giới hạn %d ký tự"):format(DATA_CHARACTER_LIMIT)
end
end
local sampleData = {
joinMessage = "Xin chào!",
urlCreationDate = os.time(),
magicNumbers = {
534,
1337,
746733573,
},
}
local success, encodedData = encodeTableAsLaunchData(sampleData)
if success then
print(encodedData)
else
warn("thất bại trong việc mã hóa dữ liệu khởi động: " .. encodedData)
endGiải mã Dữ liệu Khởi động JSON
local HttpService = game:GetService("HttpService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local launchData = player:GetJoinData().LaunchData
if launchData then
-- cố gắng giải mã dữ liệu
local success, result = pcall(HttpService.JSONDecode, HttpService, launchData)
if success then
print(player.Name, "tham gia với dữ liệu:", result)
else
-- điều này có thể do người dùng sửa đổi URL
warn("Không thể phân tích dữ liệu khởi động:" .. result)
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)Ví dụ Dữ liệu Teleport trên Máy Chủ
local Players = game:GetService("Players")
local approvedPlaceIds = { 1 } -- chèn các PlaceId đã được phê duyệt ở đây
local function isPlaceIdApproved(placeId)
for _, id in pairs(approvedPlaceIds) do
if id == placeId then
return true
end
end
return false
end
local function onPlayerAdded(player)
local joinData = player:GetJoinData()
-- xác nhận rằng dữ liệu này được gửi bởi một địa điểm đã phê duyệt
if isPlaceIdApproved(joinData.SourcePlaceId) then
local teleportData = joinData.TeleportData
if teleportData then
local currentLevel = teleportData.currentLevel
print(player.Name .. " đang ở cấp độ " .. currentLevel)
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetRankInGroup
GetRankInGroupAsync
GetRoleInGroup
GetRoleInGroupAsync
HasAppearanceLoaded
Lợi Nhuận
Mẫu mã
Kiểm tra xem Hình dáng của Người chơi đã được tải chưa
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local loaded = player:HasAppearanceLoaded()
print(loaded)
while not loaded do
loaded = player:HasAppearanceLoaded()
print(loaded)
task.wait()
end
end
Players.PlayerAdded:Connect(onPlayerAdded)IsBestFriendsWith
IsFriendsWith
isFriendsWith
IsInGroup
IsVerified
LoadBoolean
loadBoolean
LoadCharacter
LoadCharacterAppearance
LoadCharacterAsync
Player:LoadCharacterAsync():()
Lợi Nhuận
()
Mẫu mã
Tắt Tự Tải và Mô Phỏng Hồi Sinh Nhân Vật
local Players = game:GetService("Players")
local RESPAWN_DELAY = 5
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
local function onCharacterAdded(character)
local humanoid = character:WaitForChild("Humanoid")
local function onDied()
task.wait(RESPAWN_DELAY)
player:LoadCharacterAsync()
end
humanoid.Died:Connect(onDied)
end
player.CharacterAdded:Connect(onCharacterAdded)
player:LoadCharacterAsync()
end
Players.PlayerAdded:Connect(onPlayerAdded)LoadCharacterWithHumanoidDescription
LoadCharacterWithHumanoidDescriptionAsync
Player:LoadCharacterWithHumanoidDescriptionAsync(
):()
Tham Số
| Giá Trị Mặc Định: "Default" |
Lợi Nhuận
()
Mẫu mã
Phát Sinh Nhân Vật Với HumanoidDescription
local Players = game:GetService("Players")
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "2551510151,2535600138"
humanoidDescription.BodyTypeScale = 0.1
humanoidDescription.ClimbAnimation = 619521311
humanoidDescription.Face = 86487700
humanoidDescription.GraphicTShirt = 1711661
humanoidDescription.HeadColor = Color3.new(0, 1, 0)
player:LoadCharacterWithHumanoidDescriptionAsync(humanoidDescription)
end
Players.PlayerAdded:Connect(onPlayerAdded)LoadInstance
loadInstance
LoadNumber
loadNumber
LoadString
loadString
Move
Lợi Nhuận
()
Mẫu mã
Di chuyển Người chơi tương đối so với Camera của họ
local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
-- Chờ cho nhân vật và humanoid của người chơi, chúng phải tồn tại trước khi gọi :Move()
local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
character:WaitForChild("Humanoid")
-- Người chơi sẽ di chuyển cho đến khi họ cách 50 studs khỏi vị trí của camera tại thời điểm thực thi
localPlayer:Move(Vector3.new(0, 0, -50), true)RemoveReplicationFocus
RequestStreamAroundAsync
SaveBoolean
saveBoolean
SaveInstance
saveInstance
SaveNumber
saveNumber
SaveString
saveString
WaitForDataReady
waitForDataReady
Sự Kiện
CharacterAdded
Tham Số
Mẫu mã
Phát hiện Sự xuất hiện và Biến mất của Người chơi
local Players = game:GetService("Players")
local function onCharacterAdded(character)
print(character.Name .. " đã xuất hiện")
end
local function onCharacterRemoving(character)
print(character.Name .. " đang biến mất")
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(onCharacterAdded)
player.CharacterRemoving:Connect(onCharacterRemoving)
end
Players.PlayerAdded:Connect(onPlayerAdded)Bộ phận gỡ bỏ
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local function destroyAccessory(object)
if object:IsA("Hat") or object:IsA("Accessory") then
object:Destroy()
end
end
local function onCharacterAdded(character)
-- Chờ một chút trước khi gỡ bỏ phụ kiện để tránh
-- cảnh báo "Một cái gì đó bất ngờ đã đặt ___ cha mẹ thành NULL"
RunService.Stepped:Wait()
-- Kiểm tra bất kỳ phụ kiện nào hiện có trong nhân vật của người chơi
for _, child in pairs(character:GetChildren()) do
destroyAccessory(child)
end
-- Mũ có thể được thêm vào nhân vật một chút sau khi
-- CharacterAdded được kích hoạt, vì vậy chúng tôi lắng nghe
-- những cái đó sử dụng ChildAdded
character.ChildAdded:Connect(destroyAccessory)
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)CharacterAppearanceLoaded
Tham Số
Mẫu mã
Xóa Phụ Kiện Sau Khi Tải
local Players = game:GetService("Players")
local function onPlayerAddedAsync(player)
local connection = player.CharacterAppearanceLoaded:Connect(function(character)
-- Tất cả phụ kiện đã được tải tại thời điểm này
local humanoid = character:FindFirstChildOfClass("Humanoid")
local numAccessories = #humanoid:GetAccessories()
print(("Đang xóa %d phụ kiện cho %s"):format(numAccessories, player.Name))
humanoid:RemoveAccessories()
end)
-- Đảm bảo chúng ta ngắt kết nối kết nối với người chơi sau khi họ rời đi
-- để cho phép người chơi được thu gom rác
player.AncestryChanged:Wait()
connection:Disconnect()
end
for _, player in Players:GetPlayers() do
task.spawn(onPlayerAddedAsync, player)
end
Players.PlayerAdded:Connect(onPlayerAddedAsync)CharacterRemoving
Tham Số
Mẫu mã
Phát hiện Sự xuất hiện và Biến mất của Người chơi
local Players = game:GetService("Players")
local function onCharacterAdded(character)
print(character.Name .. " đã xuất hiện")
end
local function onCharacterRemoving(character)
print(character.Name .. " đang biến mất")
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(onCharacterAdded)
player.CharacterRemoving:Connect(onCharacterRemoving)
end
Players.PlayerAdded:Connect(onPlayerAdded)Chatted
OnTeleport
Player.OnTeleport(
Tham Số
Mẫu mã
NgườiChơi.TrênĐi
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local playerOnTeleport = player
player.OnTeleport:Connect(function(teleportState, _placeId, _spawnName)
if teleportState == Enum.TeleportState.Started then
print("Bắt đầu đi (" .. playerOnTeleport.Name .. ")")
elseif teleportState == Enum.TeleportState.WaitingForServer then
print("Đang chờ máy chủ đi (" .. playerOnTeleport.Name .. ")")
elseif teleportState == Enum.TeleportState.InProgress then
print("Đang đi (" .. playerOnTeleport.Name .. ")")
elseif teleportState == Enum.TeleportState.Failed then
print("Việc đi thất bại! (" .. playerOnTeleport.Name .. ")")
end
end)
end)