如何在 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)
我让它可以将您传送,但我不知道如何使它同时更改您的团队。这是我的团队。
当你第一次加入时,你在市民团队里。当你走过门时,你进入了城堡团队。
有人知道如何使这个工作吗?
在开始更改队伍之前,您应该注意更改玩家的“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个出生点。 将第一个出生点的属性设置如下:
- AllowTeamChangeOnTouch: true
- Neutral: false
- TeamColor: 红色 (根据你的队伍颜色设置)
第二个出生点如下:
- AllowTeamChangeOnTouch: true
- Neutral: false
- TeamColor: 蓝色 (根据你的队伍颜色设置)
在你的“TEAMS”文件夹(Roblox Studio Explorer)中将两个队伍的“AutoAssignable”都设置为 FALSE。
把这些出生点放在你的2个门前面,让玩家必须在进门之前踩到它们。
工作原理:
如果一个新玩家加入游戏,他将会在房间中心生成,此时他还没有分配队伍。
然后他必须经过其中一个出生点,这将为他分配一个队伍(取决于他踩下的出生点)。
之后他就可以继续向门口走了。
下次这个玩家重生(死后),他将会直接在他的队伍出生点生成并直接进入门。
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?


你可以使用函数 '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 的脚本。