迷你世界UGC3.0脚本Wiki触发器脚本交互
迷你世界UGC3.0脚本Wiki
Menu
On this page
Sidebar Navigation
快速入门
首页组件介绍
MOD、组件介绍
什么是Lua编程
开发者常见问题
组件介绍
组件函数组件属性
全局函数
对象介绍
触发器脚本交互
脚本方法
二维表介绍
组件说明
事件
触发器事件管理组件事件管理
函数库
服务模块
世界模块管理接口 World对象模块管理接口 GameObject
角色模块管理接口 Actor
玩家模块管理接口 Player
生物模块管理接口 Monster
方块模块管理接口 Block
道具模块管理接口 Item
背包模块管理接口 Backpack
界面模块管理接口 CustomUI
图文信息模块管理接口 Graphics
区域模块管理接口 Area
容器模块管理接口 WorldContainer
资源模块管理接口 Mod
计时器模块管理接口 Timer
状态模块管理接口 Buff
消息模块管理接口 Chat
普通变量数据管理接口 Data
数组变量数据管理接口 Array
二维表变量数据管理接口 Table
云服模块管理接口 CloudSever
全局函数
全局函数脚本常见问题
开发者常见问题进阶指南
触发器脚本交互对象介绍
二维表介绍
更新日志
更新日志触发器脚本交互
脚本发送广播消息
步骤如下:1.触发器组件中新建广播消息,并添加广播事件对应的执行逻辑。
2.脚本中发送广播消息,广播消息名选择广播ID即可。
动图演示:脚本使用步骤
脚本代码如下:
local Script = {}
function Script:OnStart()
-- 监听触发器事件 玩家点击方块事件
self:AddTriggerEvent(TriggerEvent.PlayerClickBlock, self.OnPlayerClickBlock)
endfunction Script:OnPlayerClickBlock(event)
self:PushCustomEvent("具体广播ID",2,3) -- 需要选择具体广播ID替换
end
return Script
脚本监听广播消息
步骤如下:1.触发器组件中新建广播消息,并添加发送广播消息的事件。
2.脚本OnStart中添加监听广播消息,并实现广播消息对应的处理逻辑。
动图演示:脚本使用步骤
脚本代码如下:
local Script = {}function Script:OnStart()
self:AddCustomEvent("具体广播ID", self.OnCustomEvent) --具体广播ID需要选择替换
endfunction Script:OnCustomEvent(event, arg1,arg2)
Chat:SendSystemMsg("消息名 : " .. event.eventType)
Chat:SendSystemMsg("参数1 : " .. tostring(arg1))
Chat:SendSystemMsg("参数2 : " .. tostring(arg2))
endreturn Script
脚本调用触发器自定义函数
步骤如下:1.触发器组件中新建自定义函数,并实现函数功能。
2.脚本中获取触发器组件,然后选择自定义函数,传入参数。
3.转玩法执行触发事件查看效果。
动图演示:脚本使用步骤
![]()
脚本代码如下:
local Script = {}function Script:OnStart()
-- 监听触发器事件 玩家点击方块事件
self:AddTriggerEvent(TriggerEvent.PlayerClickBlock, self.OnPlayerClickBlock)
endfunction Script:OnPlayerClickBlock(event)
-- 获取当前脚本对象 如果查找的触发器组件和当前脚本组件挂载到同一个物体上,则可以直接获取组件
local obj = self
-- 获取当前世界对象 如果查找的触发器组件挂载到世界对象上,当前脚本组件不是挂载世界对象上,则需要获取世界对象
-- obj = GetWorld()-- 获取当前物体 如果查找的触发器组件挂载非世界对象上,则需要获取物体
-- obj = GameObject:FindObject("7482986899365911542-22886") --获取UI对象--获取obj对象的触发器组件·
local cmp = obj:GetComponent("具体组件ID") --需要选择具体组件替换
if cmp then
-- 调用触发器组件的自定义函数 传入参数2和3
local ret = cmp:具体自定义函数名(2,3) --需要选择自定函数替换
-- 发送系统消息 将ret转换为字符串并发送
Chat:SendSystemMsg(tostring(ret))
end
end
return Script
触发器调用脚本开放函数
步骤如下:1.脚本中新建自定义函数,并实现函数功能。
2.在脚本openFnArgs配置中声明需要开放外部调用的函数
3.触发器组件中选择脚本,然后选择自定义函数,传入参数。
动图演示:脚本使用步骤
脚本代码如下:
local Script = {}Script.openFnArgs = {
Add = {
returnType = Mini.Number, -- 返回值(不填则为无返回值)
displayName = "脚本加法", -- 代码块上显示的别名(不填缺省则显示函数名)
params = {Mini.Number, Mini.Number},-- 参数列表类型(不填则为无参数)
},
SpawnMob = {
displayName = "生物生成", -- 代码块上显示的别名(不填缺省则显示函数名)
params = {Mini.Vec3, Mini.MobType,Mini.Number},-- 参数列表类型 参考组件属性说明
},
}-- 返回两个数值相加
function Script:Add(a, b)
if a and b then
return a + b
end
end-- 生成生物 传入位置 生物对象 数量
function Script:SpawnMob(pos, monstertype,num)
if pos and monstertype and num and num > 0 then
local objs = GameObject:CreatePrefab(ObjType.Mob, monstertype, pos.x, pos.y, pos.z,num)
if objs and #objs > 0 then
for i, objid in ipairs(objs) do
Chat:SendSystemMsg(string.format("序号 : %d 对象ID : %d ",i,objid) )
end
end
end
end
return Script
Last updated: 2025/4/25 14:48Pager
Previous page
对象介绍
Next page
脚本方法