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

迷你世界UGC3.0脚本触发器事件管理(特效)

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

KV表变量数据管理接口 Map

全局函数

全局函数

枚举

枚举库

脚本常见问题

开发者常见问题

进阶指南

全局函数

触发器脚本交互

对象介绍

KV&排行榜介绍

二维表介绍

道具实例

更新日志

更新日志

触发器事件管理​

添加监听函数调用方式参考 : 组件函数

注意:事件中参数如果是nil,则可以用 CurEventParam 来替代获取,字段名如下:

CurEventParam.EventTargetPos 事件中的位置

CurEventParam.EventBuff 事件中的状态效果

CurEventParam.EventTargetEffect 事件中的特效

CurEventParam.EventTargetBlock 事件中的方块类型

CurEventParam.EventShortCutIdx 事件中的快捷栏

CurEventParam.EquipItemPos 事件中的装备栏

CurEventParam.EventElementID 事件中的元件

CurEventParam.EventUIID 事件中的界面

CurEventParam.EventString 事件中的字符串

CurEventParam.SelectUIID 当前编辑的界面

CurEventParam.EventAreaid 事件中的区域

CurEventParam.Hurtlv 事件中伤害值

CurEventParam.TriggerByPlayer 触发事件的玩家

CurEventParam.EventTargetPlayer 事件中的目标玩家

CurEventParam.TriggerByCreature 触发事件的生物

CurEventParam.EventTargetCreature 事件中的目标生物

CurEventParam.Actorid 触发事件的生物类型

CurEventParam.targetactorid 事件中的目标生物类型

CurEventParam.EventTargetItemID 事件中的道具类型

CurEventParam.TriggerByMissile 触发事件的投射物

CurEventParam.EventTargetDropItem 事件中的掉落物

CurEventParam.Itemnum 事件中的道具数量

事件参数添加参数过滤​

部分高频率事件可以添加过滤参数用以提高执行效率,特别是云服房间,添加过滤之后将提高帧率。 如果第三个参数传nil或者"",则不会进行过滤

self:AddTriggerEvent(TriggerEvent.PlayerAreaIn, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.PlayerAreaOut, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.MobAreaIn, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.MobAreaOut, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.MissileAreaIn, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.MissileAreaOut, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.DropItemAreaIn, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.DropItemAreaIn, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.DropItemAreaOut, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.EntityAreaIn, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.EntityAreaOut, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.EntityAreaOut, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.AreaObjAreaIn, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.AreaObjAreaOut, eventfunc,areaid) -- 自主修改 eventfunc 和 areaid

self:AddTriggerEvent(TriggerEvent.MobChangeAttr, eventfunc, RoleAttr.CurHp) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerChangeAttr, eventfunc, RoleAttr.CurHp) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.MinitimerChange, eventfunc, timerid) -- 自主修改 eventfunc 和 计时器ID

self:AddTriggerEvent(TriggerEvent.PlayerGunAction, eventfunc, GunState.Entry,GunAction.Equip) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.MobAttrStateChange, eventfunc, Ability.Walking) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerAttrStateChange, eventfunc, Ability.Walking) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerMotionStateChange, eventfunc, RoleMotion.Walk) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerMotionStateChangeEnd, eventfunc, RoleMotion.Walk) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerInputKeyDown, eventfunc, KeyCode.Q) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerInputKeyOnPress, eventfunc, KeyCode.Q) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerInputKeyUp, eventfunc, KeyCode.Q) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.PlayerInputKeyClick, eventfunc, KeyCode.Q) -- 自主修改 eventfunc 和 过滤枚举

self:AddTriggerEvent(TriggerEvent.UIShow, eventfunc, uiid) -- 自主修改 eventfunc 和 uiid(界面ID)

self:AddTriggerEvent(TriggerEvent.UIHide, eventfunc, uiid) -- 自主修改 eventfunc 和 uiid(界面ID)

self:AddTriggerEvent(TriggerEvent.UIButtonClick, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIButtonTouchBegin, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIButtonTouchEnd, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIButtonLongPress, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UILostFocus, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UISpineComplete, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIGLoader3DTouchBegin, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIGLoader3DTouchEnd, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIGLoader3DTouchClick, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIGLoader3DLongPress, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UISpineComplete, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIScrollPaneTouchBegin, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIScrollPaneTouchEnd, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

self:AddTriggerEvent(TriggerEvent.UIScrollPaneScrollEnd, eventfunc, elementid) -- 自主修改 eventfunc 和 elementid(元件ID)

简单示例:

--这个脚本的作用是当玩家点击草块时,把草块变成钛合金

-- 官方定义的函数,不能修改变动

local Script = {}

-- 组件启动时调用

function Script:OnStart()

-- 玩家点击方块事件

self:AddTriggerEvent(TriggerEvent.PlayerClickBlock, self.Player_Click)

--AddTriggerEvent(TriggerEvent.PlayerClickBlock是官方提供的事件监听,可以在wiki中查看更多的事件

--self.Player_Click 是自定义的一个函数名,可以改成其他你喜欢的

end

-- 定义事件触发时的动作

function Script:Player_Click(event)

local param = event.CurEventParam

-- 玩家点击方块时,判断点的是否是草块

if event.blockid == 100 then

local success = Block:ReplaceBlock(452, event.x, event.y, event.z)

-- Block:ReplaceBlock是官方提供的放置方块方法,可以在wiki中查看更多的方法

-- local success 用来接收Block:ReplaceBlock运行后的结果,可以用来做是否成功放置的判断

end

end

-- 官方定义的函数,不能修改变动

return Script

特效​

序号 事件名 事件名描述

0 TriggerEvent.ParticlePosOnCreate 当 特效 创建在任意位置

1 TriggerEvent.ParticleObjectOnCreate 当 特效 创建在任意对象

2 TriggerEvent.ParticlePlayerOnCreate 当 特效 创建在任意玩家

3 TriggerEvent.ParticleMobOnCreate 当 特效 创建在任意生物

4 TriggerEvent.ParticleProjectileOnCreate 当 特效 创建在任意投掷物

5 TriggerEvent.ParticleItemOnCreate 当 特效 创建在任意掉落物

6 TriggerEvent.ParticleEntityOnCreate 当 特效 创建在任意实体

当 特效 创建在任意位置​

事件名: TriggerEvent.ParticlePosOnCreate

事件传参:

参数名 说明

eventobjid 触发事件的对象

x,y,z 事件中的位置

effectid 事件中的特效类型

当 特效 创建在任意对象​

事件名: TriggerEvent.ParticleObjectOnCreate

事件传参:

参数名 说明

eventobjid 触发事件的对象

x,y,z 事件中的位置

effectid 事件中的特效类型

当 特效 创建在任意玩家​

事件名: TriggerEvent.ParticlePlayerOnCreate

事件传参:

参数名 说明

eventobjid 触发事件的对象

x,y,z 事件中的位置

effectid 事件中的特效类型

当 特效 创建在任意生物​

事件名: TriggerEvent.ParticleMobOnCreate

事件传参:

参数名 说明

eventobjid 触发事件的对象

x,y,z 事件中的位置

effectid 事件中的特效类型

当 特效 创建在任意投掷物​

事件名: TriggerEvent.ParticleProjectileOnCreate

事件传参:

参数名 说明

eventobjid 触发事件的对象

x,y,z 事件中的位置

effectid 事件中的特效类型

当 特效 创建在任意掉落物​

事件名: TriggerEvent.ParticleItemOnCreate

事件传参:

参数名 说明

eventobjid 触发事件的对象

x,y,z 事件中的位置

effectid 事件中的特效类型

当 特效 创建在任意实体​

事件名: TriggerEvent.ParticleEntityOnCreate

事件传参:

参数名 说明

eventobjid 触发事件的对象

x,y,z 事件中的位置

effectid 事件中的特效类型

http://www.jsqmd.com/news/507630/

相关文章:

  • 2026年宜昌短视频代运营公司报价实测与推广效果避坑指南 - 精选优质企业推荐榜
  • 永磁同步电机基于高阶滑模观测器的无位置传感器速度控制仿真探索
  • 【深度解析】数码UV平板打印技术:核心原理、应用场景与实践 - 速递信息
  • Uboot Flash支持全解析:从MX25L51245G到S25FL512S的配置指南
  • 计算机毕业设计springboot营养搭配家庭烹饪网站 基于SpringBoot的家庭膳食营养管理平台 SpringBoot智能家常菜谱推荐与营养分析系统
  • Linux网络驱动之Fixed-Link(23)
  • 2026 年云南型钢TOP5生产厂家实力全景:聚焦优质企业,赋能工程采购 - 深度智识库
  • 大中企业上CRM系统失败的5大原因及避坑指南(附成功案例) - SaaS软件-点评
  • 计算机毕业设计springboot疫情期间学生返校管理系统 基于SpringBoot的高校疫情防控与返校信息管理平台 SpringBoot框架下校园防疫及学生复学报到系统
  • 大模型架构与核心原理深度拆解:从NLP到Transformer,预训练/微调/对齐全流程解析(附开源模型选型)
  • 2026年宜昌短视频运营报价实测,揭秘本地企业推广成本与效果内幕 - 精选优质企业推荐榜
  • 2026申博机构靠谱实测:8家机构深度对比,申博有术凭实力出圈 - 博客万
  • 2025-2026年亚马逊申诉推荐:账号解封服务器支持与办公软件方案对比分析 - 十大品牌推荐
  • 从技术角度看,OpenClaw的核心竞争力在于其插件生态,但插件质量参差不齐,这种去中心化模式能长久吗?
  • 2026年宜昌短视频运营报价实测:企业避坑指南与内幕 - 精选优质企业推荐榜
  • Kaggle平替方案:用和鲸社区搞定数学建模数据+代码(附完整操作截图)
  • 从.com到.xyz:解码域名后缀背后的商业密码与品牌战略
  • 2026男士洗面奶口碑红榜 | 别再乱选了 - 品牌测评鉴赏家
  • PaddleSeg生态实战:用EISeg标注的数据训练你自己的分割模型(保姆级流程)
  • Star CCM+旋风分离器后处理实战:从压力分布到流线可视化的完整指南
  • 优质!2026 上海靠谱的小红书代运营公司推荐,小红书代运营企业心搜网络引领行业标杆 - 品牌推荐师
  • 2026年云南钢结构生产厂家解析:从材料到加工的一站式服务三大厂家 - 深度智识库
  • 2024-2026年亚马逊申诉推荐:多站点KYC审核软件办公服务商口碑对比 - 十大品牌推荐
  • 比肩国际一流品牌!智石开蝉联国产PLM第一 增速领跑全行业
  • 2026年云南方管生产厂家:聚焦钢材+加工一体化服务模式的价值剖析 - 深度智识库
  • 2026年云南镀锌管生产厂家:供应链的“加工+配送”新模式解析 - 深度智识库
  • 基于Matlab Simulink的IEEE9节点系统仿真:潮流计算与稳定性分析
  • 2025-2026年亚马逊申诉推荐:多站点账号关联申诉口碑服务商与软件工具分析 - 十大品牌推荐
  • Qt与gRPC实战:从零构建跨平台RPC通信框架
  • YYW-3000A型动平衡机