当前位置: 首页 > news >正文

迷你世界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)
end

function 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需要选择替换
end

function Script:OnCustomEvent(event, arg1,arg2)
   Chat:SendSystemMsg("消息名 : " .. event.eventType)
   Chat:SendSystemMsg("参数1 : " .. tostring(arg1))
   Chat:SendSystemMsg("参数2 : " .. tostring(arg2))
end

return Script
脚本调用触发器自定义函数
步骤如下:

1.触发器组件中新建自定义函数,并实现函数功能。

2.脚本中获取触发器组件,然后选择自定义函数,传入参数。

3.转玩法执行触发事件查看效果。

动图演示:脚本使用步骤

 

 

脚本代码如下:


local Script = {}

function Script:OnStart()
    -- 监听触发器事件 玩家点击方块事件
    self:AddTriggerEvent(TriggerEvent.PlayerClickBlock, self.OnPlayerClickBlock)
end

function 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:48

Pager
Previous page
对象介绍
Next page
脚本方法

相关文章:

  • 云原生--核心组件-容器篇-4-认识Dockerfile文件(镜像创建的基础文件和指令介绍)
  • 企业数据赋能 | 应用模板分享:汽车销售仪表板
  • 《一键式江湖:Docker Compose中间件部署108式》开篇:告别“配置地狱”,从此笑傲云原生武林!》
  • 以科技之力,启智慧出行 —— 阅读《NVIDIA 自动驾驶安全报告》及观看实验室视频有感
  • 【计算机视觉】CV实战项目- Four-Flower:基于TensorFlow的花朵分类实战指南
  • 大数据学习栈记——Hive4.0.1安装
  • 运算符分为哪几类?哪些运算符常用作判断?简述运算符的优先级
  • MCP+A2A协议终极指南:AI系统构建技术全解析(医疗/金融实战+Streamable HTTP代码详解)
  • Vue Router 核心指南:构建高效单页应用的导航艺术
  • Spring MVC 拦截器教程
  • 08-STM32外部中断
  • 【题解-Acwing】861. 二分图的最大匹配
  • 云原生 | K8S中数据存储之StorageClass
  • MAGI-1: Autoregressive Video Generation at Scale
  • 【MySQL】数据类型和表的操作
  • 在 UniApp 中实现 App 与 H5 页面的跳转及通信
  • prometheus手动添加k8s集群外的node-exporter监控
  • 【Linux网络】Http服务优化 - 增加请求后缀、状态码描述、重定向、自动跳转及注册多功能服务
  • 基于RuoYi的WMS仓库管理系统源码级解决方案
  • spring框架学习(下)
  • 美国“杜鲁门”号航母一战机坠海
  • 中方会否公布铁线礁的领海基线?外交部:中方执法活动旨在反制菲方侵权挑衅
  • 北美票房|《罪人》遭媒体唱衰,好莱坞业内人士集体反击
  • 国家发改委答澎湃:将建立和实施育儿补贴制度,深入实施提振消费专项行动
  • 国家发展改革委:我们对实现今年经济社会发展目标任务充满信心
  • 民调显示特朗普执政百日支持率为80年来美历任总统最低