FireClient

格式

FireClient(Playerid,eventName, ...)

不推荐使用

只有服务器脚本可访问

简介

给单个客户端发送消息,用来触发客户端上的方法。

推荐通过EventObject来调用

参数

名称 类型 默认值 描述
Playerid int Playerid 用户的Playerid
eventName string 传递事件的名称
tuple Tuple 事件传递的参数

实例

实例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:FireClient(uid,"显示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-08-24 16:02   作者:王辰剑