FireAllClient

格式

FireAllClient( ...)

只有服务器脚本可访问

简介

服务器向所有客户端发送事件,用来触发客户端上的事件。

相关链接

参数

名称 类型 默认值 描述
可变参数 Tuple 传递事件所用参数

返回值

类型 描述
event 将传入的参数注册为事件

实例

在工作区添加一个事件对象。创建服务器脚本,功能为创建零件并在玩家触碰时发送事件到客户端,执行方法用文本显示玩家的名字。

local workSpace=GetService("WorkSpace") --获取工作区服务
local new = RWObject:New("Part")--创建零件
new.Position = Vector3.New(1,1,1)
new.Parent = workSpace
local eventobject = workSpace.事件对象--找到在工作区的事件对象
new.CollisionEnter:Connect(function(plr)
  if plr:IsClass("Avatar") then 
  local uid = plr.PlayerId
  local showname = plr.Name
  eventobject:FireAllClient(showname) --发送事件,参数为玩家名
  end
end)

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

wait(0.5) --等待加载
local utilService=GetService("UtilService") --获取工具服务
local workSpace=GetService("WorkSpace") --获取工作区服务
local eventobject = workSpace:WaitForChild("事件对象")--等到工作区的事件对象
eventobject.ClientEventCallBack:Connect(function(showname)
    local person = Players:GetLocalPlayer()--获取玩家 
    local uipanel = RWObject:New("UiPanel") -- 创建2d容器
    local uitxt = RWObject:New("UiText") -- 创建文本
    uitxt.Text = showname--文本为接收到的玩家名
    uipanel.Parent = person.GameUI -- 把容器的父级设置成玩家界面
    uitxt.Parent = uipanel --将创建的文本的父级设置成新创建容器
    utilService:DelayDestroy(uipanel,2) --2秒后删除UI
end)
文档更新时间: 2020-08-17 20:20   作者:王辰剑