Depending on the type of object, such as Service, Part, or Player, you can get the required object in various ways.
Getting the Service Object
A Service object refers to a built-in system object designed to perform specific functions within the game.
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local ServerStorage = game:GetService("ServerStorage")
local StarterGui = game:GetService("StarterGui")
local StarterPlayer = game:GetService("StarterPlayer")
local Players = game:GetService("Players")
...
Referencing Parent Object
-- Parent of an object
local ParentPart = Part.Parent
-- Parent of a script
local ScriptParent = script.Parent
Referencing Child Object
-- Return object by address (may fail if object is not loaded yet)
local ChildPart1 = Workspace.ChildPart
-- Return the first object matching the name
local ChildPart2 = Workspace:FindFirstChild("ChildPart")
-- Wait for the object to be returned
local ChildPart3 = SomePart:WaitForChild("ChildPart")
Getting All Child Objects
When the hierarchy of the Part is as follows:
local Part = Workspace:WaitForChild("Part")
-- Return all the first child objects of the parent object (Part)
local Children = Part:GetChildren()
for _, child in ipairs(Children) do
-- Print ChildPart1, ChildPart2
print(child.Name)
end
-- Return all descendant objects of the parent object (Part)
local Descendants = Part:GetDescendants()
for _, descendant in ipairs(Descendants) do
-- Print ChildPart1, ChildPart1-1, ChildPart2, ChildPart2-1
print(descendant.Name)
end
Getting All Players
local Players = game:GetService("Players")
local PlayerList = Players:GetPlayers()
for i = 1, #PlayerList do
print(PlayerList[i])
end
Getting LocalPlayer (LocalScript)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
Getting Humanoid from Player
local Character = Player.Character
local Humanoid = Character:FindFirstChild("Humanoid")
local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
Getting Player from Humanoid
local Character = Humanoid.Parent
local Player = Players:GetPlayerFromCharacter(Character)