如何在Roblox Studio中做出改变您的团队的角色

时间:2018-09-25 21:16:11

标签: roblox

我正在尝试做到这一点,所以当您在我的Roblox游戏中生成时,您就在一个房间里。如果您走过其中一扇门,它会传送您并改变您的团队。到目前为止,这是我的代码:

function onTouched(m)
    p = m.Parent:findFirstChild("Humanoid")
    if p ~= nil then
        p.Torso.CFrame = CFrame.new(0,8,9) --Change to coordinates.
    end
end
script.Parent.Touched:connect(onTouched)

我做到了,所以它可以传送你,但是我不知道如何做到,这也改变了你的团队。这是我的团队

Teams

首次加入时,您就是公民团队。当您走进大门时,您将前往城堡小队。

有人知道怎么做吗?

3 个答案:

答案 0 :(得分:0)

您可以使用“ 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) --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)

编辑:Taazar的脚本更好,请使用它代替我的

答案 1 :(得分:0)

在我开始换队之前,您应该注意,更改球员"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)

答案 2 :(得分:0)

无需编写任何代码的解决方案:

在您的初始房间中放置2个SpawnLocation。 像这样设置第一个SpawnLocation的属性:

  • AllowTeamChangeOnTouch: true
  • 中立:错误
  • TeamColor:红色(根据您的团队颜色进行设置)

第二个SpawnLocation像这样:

  • AllowTeamChangeOnTouch: true
  • 中立:错误
  • TeamColor:蓝色(根据您的团队颜色进行设置)

在资源管理器(Roblox Studio资源管理器)的TEAMS文件夹中,将两个团队的“自动分配”设置为 FALSE

将这些SpawnLocations放置在您2个门的前面,因此玩家在进入门前必须触摸它们(踩到它们)。

工作原理

如果有新玩家加入游戏,他将在您房间的中央产生,而他尚未分配任何团队。

然后他必须走过您的SpawnLocations中的一个,这将为他分配一个团队(取决于他踩到的SpawnLocation)。

然后他可以继续上门。

下一次该玩家在死后生成游戏。他将直接在其团队的SpawnLocation产生,并可以直接进入大门。