如何在 Roblox Studio 中制作更改您的团队的部件

我尝试制作这样一个部件:当您在我的 Roblox 游戏中生成时,您会在一个房间里。如果您走过其中一个门,它会将您传送并更改您的团队。这是我的代码

function onTouched(m)
    p = m.Parent:findFirstChild("Humanoid")
    if p ~= nil then
        p.Torso.CFrame = CFrame.new(0,8,9) --更改为坐标
    end
end
script.Parent.Touched:connect(onTouched)

我让它可以将您传送,但我不知道如何使它同时更改您的团队。这是我的团队。

Teams

当你第一次加入时,你在市民团队里。当你走过门时,你进入了城堡团队。

有人知道如何使这个工作吗?

点赞
用户10399217
用户10399217

你可以使用函数 'GetPlayerFromCharacter' 然后更改玩家的队伍。

function onTouched(m)
    p = m.Parent:FindFirstChildOfClass("Humanoid")
    if p ~= nil and p:FindFirstChild("Torso") then
        p.Torso.CFrame = CFrame.new(0,8,9) --更改坐标。

        if game.Players:GetPlayerFromCharacter(m.Parent) ~= nil then
            game.Players:GetPlayerFromCharacter(m.Parent).Team = game.Teams["Castle Team"] --更改要设置的队伍。
        end
    end
end
script.Parent.Touched:connect(onTouched)

编辑:Taazar 的脚本更好,请使用 Taazar 的脚本。

2018-09-26 07:01:34
用户5373986
用户5373986

在开始更改队伍之前,您应该注意更改玩家的“Torso”的CFrame会使其死亡。相反,您应该更改名称为“HumanoidRootPart”的部件的CFrame,它在角色中进行了排序并具有玩家“Torso”的相同位置。

另一个重点是,当使用仅具有三个坐标的新CFrame位置时,您需要将其从Vector3转换。因此,你的传送线将变成:

p.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0,8,9))

然后,要更改团队,我会查看Crabway的答案,因为我没有看到更改团队的任何问题。因此,您的最终结果代码将如下所示:

function onTouched(m)
    p = m.Parent:FindFirstChildOfClass("Humanoid")
    if p ~= nil and p:FindFirstChild("Torso") then
        p.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0,8,9)) --Change to coordinates.

        if game.Players:GetPlayerFromCharacter(m.Parent) ~= nil then
            game.Players:GetPlayerFromCharacter(m.Parent).Team = game.Teams["Castle Team"] --Change to desired team.
        end
    end
end
script.Parent.Touched:connect(onTouched)
2018-09-26 07:52:14
用户1284542
用户1284542

不写任何代码的解决方案:

在你的初始房间中放置2个出生点。 将第一个出生点的属性设置如下:

  • AllowTeamChangeOnTouch: true
  • Neutral: false
  • TeamColor: 红色 (根据你的队伍颜色设置)

第二个出生点如下:

  • AllowTeamChangeOnTouch: true
  • Neutral: false
  • TeamColor: 蓝色 (根据你的队伍颜色设置)

在你的“TEAMS”文件夹(Roblox Studio Explorer)中将两个队伍的“AutoAssignable”都设置为 FALSE

把这些出生点放在你的2个门前面,让玩家必须在进门之前踩到它们。

工作原理:

如果一个新玩家加入游戏,他将会在房间中心生成,此时他还没有分配队伍。

然后他必须经过其中一个出生点,这将为他分配一个队伍(取决于他踩下的出生点)。

之后他就可以继续向门口走了。

下次这个玩家重生(死后),他将会直接在他的队伍出生点生成并直接进入门。

2019-10-15 22:07:23