LoadCharacter (Method): Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>JulienDethurens
No edit summary
m Text replacement - "<SyntaxHighlight code="lua">" to "<syntaxhighlight lang="lua">"
 
(6 intermediate revisions by 3 users not shown)
Line 22: Line 22:
This script turns off auto-loading and simulates character respawning.
This script turns off auto-loading and simulates character respawning.


{{code|=
<syntaxhighlight lang="lua">
local respawnTime = 5
local respawnTime = 5


Line 30: Line 30:
Players.PlayerAdded:connect(function(Player)
Players.PlayerAdded:connect(function(Player)
Player.CharacterAdded:connect(function(Character)
Player.CharacterAdded:connect(function(Character)
-- find the humanoid, and detect when it dies
local Humanoid = Character:FindFirstChild("Humanoid")
local Humanoid = Character:FindFirstChild("Humanoid")
if Humanoid then
if Humanoid then
Humanoid.Died:connect(function()
Humanoid.Died:connect(function()
-- find the humanoid, and detect when it dies
-- delay, then respawn the character
wait(respawnTime)
wait(respawnTime)
Player:LoadCharacter()
Player:LoadCharacter()
Line 40: Line 41:
end)
end)
Player:LoadCharacter(true) -- load the character for the first time
Player:LoadCharacter() -- load the character for the first time
end)
end)
}}
</syntaxhighlight>


[[Category:Methods]]
[[Category:Methods]]

Latest revision as of 06:19, 27 April 2023

LoadCharacter( bool inGame = true )
Returns nil
Description: Loads in a new character for this player. This will replace the player's current character, if they have one.
Member of: Player


Remarks

LoadCharacter should be used in conjunction with Players.CharacterAutoLoads to control spawning of characters. This method only works from a server-side Script (not a LocalScript).

If inGame is true, then a default character will be loaded, then the Player's CharacterAppearance will be applied.

If inGame is false, then a character with the most recently loaded CharacterAppearance is used.

Example

This script turns off auto-loading and simulates character respawning.

local respawnTime = 5

local Players = Game:GetService("Players")
Players.CharacterAutoLoads = false

Players.PlayerAdded:connect(function(Player)
	Player.CharacterAdded:connect(function(Character)
		-- find the humanoid, and detect when it dies
		local Humanoid = Character:FindFirstChild("Humanoid")
		if Humanoid then
			Humanoid.Died:connect(function()
				-- delay, then respawn the character
				wait(respawnTime)
				Player:LoadCharacter()
			end)
		end
	end)
	
	Player:LoadCharacter() -- load the character for the first time
end)