FireAllClient

格式

FireAllClient(eventName, ...)

不推荐使用

只有服务器脚本可访问

简介

给所有客户端发送消息,用来触发客户端上的事件。

推荐通过EventObject来调用

参数

名称 类型 默认值 描述
event function event 要注册的函数
tuple Tuple 传递event所用参数

实例

实例1 玩家碰触零件时,在所有玩家的客户端界面下显示该玩家名称

服务器脚本,功能为创建零件并在玩家触碰时给对应玩家的客户端发送消息。

local workSpace = GetService("WorkSpace") --获取工作区服务
local new = RWObject:New("Part") --创建新零件信息
new.Position = Vector3.New(1,1,1) --设置新零件的位置
new.Parent = workSpace --在工作区下创建该零件
new.CollisionEnter:Connect(function(plr) --在零件上添加碰撞事件:若碰撞零件的对象为玩家,则向客户端发送消息
  if plr:IsClass("Avatar") then  
  local uid = plr.PlayerId
  local showname = plr.Name
  MessageEvent:FireAllClient("显示UI",showname) --向触碰的玩家客户端发送名为“显示UI”的消息,参数为玩家名
  end
end)

将下面客户端脚本复制到客户端预加载下,脚本功能为新建文本控件显示玩家的名称。

MessageEvent:ClientEventCallBack("显示UI"):Connect(function(showname) --当服务器向客户端发送名为“显示UI”的信息时触发
    local person = Players:GetLocalPlayer()--获取玩家 
    local uipanel = RWObject:New("UiPanel") -- 创建2d容器
    local uitxt = RWObject:New("UiText") -- 创建文本
    uipanel.Parent = person.GameUI -- 把容器的父级设置成玩家界面
    uitxt.Text = showname--文本为接收到的玩家名
    uitxt.Parent = uipanel --将创建的文本的父级设置成新创建容器
    DelayDestroy(uipanel,2) --2秒后销毁ui容器
end)
文档更新时间: 2020-10-23 17:19   作者:王辰剑