我的目标是为我在Roblox中的Roblox位置拥有一个初始/最大的自定义球员健康。
为此,我在StarterPlayer/StarterPlayerScript
中创建了一个脚本,其内容如下:
local DEFAULT_HEALTH = 10
game.Players.PlayerAdded:connect(function(player)
player.character.Humanoid.MaxHealth = DEFAULT_HEALTH
player.character.Humanoid.Health = DEFAULT_HEALTH
end)
我也曾尝试过:
local DEFAULT_HEALTH = 10
local Character = script.Parent
local Humanoid = Character:WaitForChild("Humanoid")
Humanoid.MaxHealth = DEFAULT_HEALTH
Humanoid.Health = DEFAULT_HEALTH
在这两种情况下,当我播放测试it (TEST->PLAY
)时,似乎使用的是默认的health=100而不是health=10。
有可能解决概述的问题吗?
发布于 2022-11-11 00:26:45
一旦播放器加入服务器,PlayerAdded事件就会触发,但是它们的字符模型不会立即加载到世界上。所以你需要等待玩家的角色模型产生。幸运的是,您可以使用CharacterAdded事件来知道何时会发生这种情况。
因此,在Workspace或ServerScriptService中使用一个脚本,尝试如下:
local DEFAULT_HEALTH = 10
game.Players.PlayerAdded:connect(function(player)
player.CharacterAdded:Connect(function(character)
character.Humanoid.MaxHealth = DEFAULT_HEALTH
character.Humanoid.Health = DEFAULT_HEALTH
end)
end)
https://stackoverflow.com/questions/74393546
复制相似问题