在Roblox Studio中创建手机和拨打朋友
2021-1-7 14:4:57
收藏:0
阅读:135
评论:1
你好,我想知道是否有人知道如何创建一个电话来拨打朋友,例如你可以在电话上看到在线的人员列表,拨打其中一个人并在他回答后与他进行私人聊天...
有什么想法或方式可以实现吗?我已经到处寻找解决方案了,但找不到一个可行的方法...
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 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 代码?

首先,在创建聊天功能之前,我们需要一个玩家列表。创建一个框架来充当手机,然后添加以下本地脚本:
local frame = script.parent local plrs = game:GetService("Players") local plr = plrs.LocalPlayer for i,v in pairs(plrs) do if v.Name ~= plr.Name then local optionButton = Instance.new("TextButton") optionButton.Text = v.Name optionButton.Parent = frame optionButton.MouseButton1Click:Connect(function() --他们选择要聊天的玩家 --我们将创建一个值在玩家身上,以便我们可以记住他们正在与谁交谈: local val = Instance.new("StringValue") val.Name = "chattingTo" val.Value = v.Name val.Parent = plr end) end end当他们点击该按钮时,我们知道他们想要和玩家 V 聊天。你可以添加一些响铃系统,这样另一位玩家就可以选择接受或拒绝呼叫,但这并不重要。为了在玩家之间进行通信,我们需要一个移除事件(称为“ChatEvent”),以及一个用来显示消息的滚动框架。 在聊天框架下创建一个本地脚本,其中包含以下内容:
local rs = game:GetService("ReplicatedStorage") local event = rs:WaitForChild("ChatEvent") event.OnClientEvent:Connect(function(msg, from) local textlabel = Instance.new("TextLabel") textlabel.Text = from.Name..": "..msg textlabel.Parent = script.Parent end)以上脚本将处理显示它接收到的消息。现在我们想发送消息,因此在该本地脚本的底部添加以下内容:
local inputBox = script.Parent.myTextBox --obviously change all variables to the route in your game local sendButton = script.Parent.sendButton local uis = game:GetService("UserInputService") function sendChat() local msgToSend = inputBox.Text local sendTo = game.Players.LocalPlayer.chattingTo.Value event:FireServer(sendTo, msgToSend) local textlabel = Instance.new("TextLabel") textlabel.Text = game.Players.LocalPlayer.Name..": "..msg textlabel.Parent = script.Parent end sendButton.MouseButton1Click:Connect(sendChat) uis.InputBegan:Connect(function(input) if input.KeyCode == Enum.KeyCode.Return then sendChat() end end)因此,现在无论是点击发送按钮还是按下回车键,都会在服务器上触发一个事件。当客户端上由服务器触发的事件时,它将向聊天添加一个消息。现在我们只需要使用以下脚本将它们连接在一起(服务器):
local rs = game:GetService("ReplicatedStorage") local event = rs:WaitForChild("ChatEvent") event.OnServerEvent:Connect(function(from, to, msg) --变量 'to' 是我们要发送的对象 - 但它是一个字符串!所以: local sendTo = game.Players[to] event:FireClient(sendTo, msg, from) end)然后(应该)就完成了。这个应用可以工作,但它可能会受到监管行动的影响,因为它没有使用 roblox 的聊天过滤器,因此我建议你集成一些功能以符合要求。