如何在 Roblox Studio 中制作可以改变您的团队的零件
How to make a part that changes your team in Roblox Studio
我正在努力做到当你在我的 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)
我制作它是为了让它可以传送你,但我不知道如何制作它所以它也会改变你的团队。这是我的团队
当您第一次加入时,您是 Citizen 团队的一员。当你穿过门时,你会去城堡队。
有谁知道如何进行这项工作?
您可以使用'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 的脚本更好,请用那个代替我的
在我开始介绍团队更改器之前,您应该注意更改玩家 "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 个 SpawnLocations。
像这样设置第一个 SpawnLocation 的属性:
- AllowTeamChangeOnTouch: true
- 中性:错误
- TeamColor: Red(根据你的队伍颜色设置)
第二个 SpawnLocation 如下:
- AllowTeamChangeOnTouch: true
- 中性:错误
- TeamColor:Blue(根据您的团队颜色设置)
在资源管理器 (Roblox Studio Explorer) 的 TEAMS 文件夹中,将您的两个团队 "AutoAssignable" 设置为 FALSE。
将这些 SpawnLocations 放在你的 2 个门前,这样玩家在进门之前必须触摸它们(踩在上面)。
工作原理:
如果有新玩家加入游戏,他会出现在你房间的中央,同时他还没有分配团队。
然后他必须走过你的一个 SpawnLocations,这会为他分配一个团队(取决于他踩到哪个 SpawnLocation)。
之后他就可以继续到门口了
下一次该玩家重生到游戏中(在他死后)。他将直接在他的团队的 SpawnLocation 上生成,并且可以直接进入门。
我正在努力做到当你在我的 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)
我制作它是为了让它可以传送你,但我不知道如何制作它所以它也会改变你的团队。这是我的团队
当您第一次加入时,您是 Citizen 团队的一员。当你穿过门时,你会去城堡队。
有谁知道如何进行这项工作?
您可以使用'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 的脚本更好,请用那个代替我的
在我开始介绍团队更改器之前,您应该注意更改玩家 "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 个 SpawnLocations。 像这样设置第一个 SpawnLocation 的属性:
- AllowTeamChangeOnTouch: true
- 中性:错误
- TeamColor: Red(根据你的队伍颜色设置)
第二个 SpawnLocation 如下:
- AllowTeamChangeOnTouch: true
- 中性:错误
- TeamColor:Blue(根据您的团队颜色设置)
在资源管理器 (Roblox Studio Explorer) 的 TEAMS 文件夹中,将您的两个团队 "AutoAssignable" 设置为 FALSE。
将这些 SpawnLocations 放在你的 2 个门前,这样玩家在进门之前必须触摸它们(踩在上面)。
工作原理:
如果有新玩家加入游戏,他会出现在你房间的中央,同时他还没有分配团队。
然后他必须走过你的一个 SpawnLocations,这会为他分配一个团队(取决于他踩到哪个 SpawnLocation)。
之后他就可以继续到门口了
下一次该玩家重生到游戏中(在他死后)。他将直接在他的团队的 SpawnLocation 上生成,并且可以直接进入门。