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 đang BẬT"
else
button.Text = "Tự Nhảy đang 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ó một cái
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.LockFirstPersonCharacter
Mẫu mã
Nhân vật
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
if not character or character.Parent == nil then
character = player.CharacterAdded:Wait()
endCharacterAppearance
DataComplexity
DataReady
FollowUserId
Mẫu mã
Thông báo 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 đến 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
-- Cấp nội dung hoặc đặc quyền chỉ dành cho người đăng ký
endMembershipType
PartyId
Mẫu mã
Player.PartyId
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 nhóm với ID: " .. partyId)
else
print("Người chơi không ở trong một nhóm")
end
player:GetPropertyChangedSignal("PartyId"):Connect(function()
if player.PartyId ~= "" then
print("Người chơi đã tham gia nhóm với ID: " .. player.PartyId)
else
print("Người chơi đã rời nhóm")
end
end)
end)RespawnLocation
Mẫu mã
Thay Đổi Điểm Spawn Khi Chạm
local Players = game:GetService("Players")
local function addSpawn(spawnLocation)
-- lắng nghe khi điểm spawn 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 spawn đã được đặt")
player.RespawnLocation = spawnLocation
end
end
end
end)
end
local firstSpawn
-- tìm kiếm trong workspace để tìm các điểm spawn
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 cho người chơi mới
Players.PlayerAdded:Connect(playerAdded)
-- đi qua các người chơi hiện có
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
endThirdPartyTextChatRestrictionStatus
User
Mẫu mã
Người dùng
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local user = player.User
print("ID người dùng miền:", user.Id)
print("Loại miền:", user.DomainType)
print("ID miền:", user.DomainId)
end)UserId
Mẫu mã
Player.UserId
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print(player.UserId)
end
Players.PlayerAdded:Connect(onPlayerAdded)Kho Dữ Liệu đế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 diện mạo 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
Tham Số
Lợi Nhuận
Mẫu mã
Đo khoảng cách giữa một người chơi và một vị trí
local Players = game:GetService("Players")
for _, player in pairs(Players:GetPlayers()) do
print(player:DistanceFromCharacter(Vector3.new(0, 0, 0)))
endKhoảng cách từ Nhân vật
local position1 = Vector3.new(0, 0, 0)
local position2 = Vector3.new(0, 10, 0)
local distance = (position1 - position2).MagnitudeGetCameraState
Player:GetCameraState():CameraState
Lợi Nhuận
CameraState
Mẫu mã
Lấy Trạng Thái Camera
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local cameraState = player:GetCameraState()
print(cameraState.CFrame)
print(cameraState.FieldOfView)
print(cameraState.ViewportSize)GetFriendsOnline
GetFriendsOnlineAsync
Tham Số
| Giá Trị Mặc Định: 200 |
Lợi Nhuận
Mẫu mã
Lấy danh sách các 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 thông tin 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
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 được 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, "gia nhập từ", source, "- tổng:", result)
else
warn("Không thể ghi lại nguồn gia nhập: " .. 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ậ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 chuỗi
local jsonEncodedData = HttpService:JSONEncode(data)
if #jsonEncodedData <= DATA_CHARACTER_LIMIT then
-- thoát các ký tự có thể 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 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 đã can thiệp vào 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ụ về TeleportData của Server
local Players = game:GetService("Players")
local approvedPlaceIds = { 1 } -- chèn các PlaceIds đã đượ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 minh rằng dữ liệu này được gửi bởi một nơi đã được 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
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
Tham Số
| Giá Trị Mặc Định: "Low" |
Lợi Nhuận
Mẫu mã
Sử dụng IsVerified
local Players = game:GetService("Players")
local function onPlayerAdded(player)
print(player:IsVerified())
end
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)LoadBoolean
loadBoolean
LoadCharacter
LoadCharacterAppearance
LoadCharacterAsync
Player:LoadCharacterAsync():()
Lợi Nhuận
()
Mẫu mã
Tắt Tự Động Tải và Mô Phỏng Tá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ã
Tạo 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 với Camera của họ
local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
-- Chờ đợi nhân vật và humanoid của người chơi, mà 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 vị trí của camera 50 studs vào thời điểm chạy
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ộ xóa phụ kiện
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 xóa phụ kiện để tránh
-- cảnh báo "Something unexpectedly set ___ parent to NULL"
RunService.Stepped:Wait()
-- Kiểm tra bất kỳ phụ kiện nào có sẵn 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 lúc sau khi
-- CharacterAdded kích hoạt, vì vậy chúng ta lắng nghe những điều đó bằ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 rằng chúng ta ngắt kết nối kết nối của mình 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ã
Player.OnTeleport
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("Dịch chuyển đã bắt đầu (" .. playerOnTeleport.Name .. ")")
elseif teleportState == Enum.TeleportState.WaitingForServer then
print("Dịch chuyển đang chờ máy chủ (" .. playerOnTeleport.Name .. ")")
elseif teleportState == Enum.TeleportState.InProgress then
print("Dịch chuyển đang tiến hành (" .. playerOnTeleport.Name .. ")")
elseif teleportState == Enum.TeleportState.Failed then
print("Dịch chuyển thất bại! (" .. playerOnTeleport.Name .. ")")
end
end)
end)