【发布时间】:2015-10-22 05:52:41
【问题描述】:
我需要编写一个可以改变玩家队伍的代码。
假设我有红队和蓝队。
现在我想通过代码让一名球员加入蓝队。
我该怎么做?
【问题讨论】:
我需要编写一个可以改变玩家队伍的代码。
假设我有红队和蓝队。
现在我想通过代码让一名球员加入蓝队。
我该怎么做?
【问题讨论】:
Player 对象具有TeamColor 属性。如果此颜色与Team 的TeamColor 匹配,则该玩家在该团队中。
如果您只是想将Player1 的团队更改为Red Team,您可以这样做:
game.Players.Player1.TeamColor = game.Teams["Blue Team"].TeamColor
还要注意的是TeamColor 实际上是BrickColor,这意味着您可以硬编码颜色(但是如果您更改团队的 BrickColor,则需要更改脚本,但是如果您硬编码 TeamColor ,您可以放心更改团队名称,这是代码不允许的)
local TeamRed = Instance.new("Team")
TeamRed.Name = "Team Red"
TeamRed.TeamColor = BrickColor.new("Bright red")
TeamRed.Parent = game:GetService("Teams")
-- Some other script
game.Players.Player1.TeamColor = BrickColor.new("Bright red")
不过,我建议在您以后使用它们的代码中创建团队:
local TeamRed = Instance.new("Team")
TeamRed.Name = "Team Red"
TeamRed.TeamColor = BrickColor.new("Bright red")
TeamRed.Parent = game:GetService("Teams")
local TeamBlue = Instance.new("Team")
TeamBlue.Name = "Team Blue"
TeamBlue.TeamColor = BrickColor.new("Bright blue")
TeamBlue.Parent = game:GetService("Teams")
local some_clever_named_variable = true
game.Players.PlayerAdded:connect(function(Player)
Player.TeamColor = some_clever_named_variable and TeamRed.TeamColor or TeamBlue.TeamColor
some_clever_named_variable = not some_clever_named_variable
end)
【讨论】:
game.Players.Player1.TeamColor = game.Teams["Blue Team"].TeamColor(测试玩家名称为 Player1,因此并非如此)
Teams 不应该是 Folder,而是服务 Teams,我的最后一个代码将在适当的位置创建两个团队,试试吧,你会看到它是如何工作的。 Teams 服务是专门插入的,如果您想手动操作,请参阅the wiki guide