ServerEventCallBack
格式
ServerEventCallBack(eventName, ...)
- 事件
- 所属对象:MessageEvent
不推荐使用
只有客户端脚本可访问
简介
服务器接收消息后执行方法。
推荐通过EventObject
来调用
相关链接
- 教学视频
https://creator.reworlder.com/tutorials 进阶课程第一章课时8
参数
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
eventName | string | 传递事件的名称 | |
PlayerId | int | 用户的PlayerId | |
… | 可变… | 事件传递的参数 |
实例
实例1 客户端触发事件,在服务器创建指定个数的零件
客户端脚本,功能是点击按钮事件向服务器发消息。
wait(1)
local person = Players:GetLocalPlayer()--获取玩家
local uipanel = RWObject:New("UiPanel") -- 创建2d容器
local uibtn = RWObject:New("UiButton") -- 创建文本
uipanel.Parent = person.GameUI -- 把容器的父级设置成玩家界面
uibtn.Parent = uipanel --将创建的文本的父级设置成新创建容器
uibtn.OnClick:Connect(function()
local number = 10
MessageEvent.FireServer("创建零件",number)--创建零件,参数是10
uipanel.IsVisable = false -- 将2d容器隐藏
end)
服务器代码,功能是创建给定参数个数的零件。
function ADD(playerid,number)--创建零件方法,其中第一个参数为默认接收玩家的uid,不能为空,不需要从客户端发送
for i = 1,number do
local p = RWObject:New("Part") --创建新零件信息
p.Name = "part"..i --设置新零件名称
p.Position = Vector3.New(i+0.5,i+0.5,i+0.5) --设置新零件坐标
p.Anchored = true --将新零件设为锚定状态
p.Parent = WorkSpace --在工作区下创建该零件
end
end
MessageEvent.ServerEventCallBack("创建零件"):Connect(ADD)--服务器接收到信息后执行创建功能
文档更新时间: 2020-09-05 15:50 作者:王辰剑