# 事件系统 Event

# 游戏事件管理Events

直接添加要监听的事件即可,无需自行创建事件管理对象。具体例子如下:

--游戏事件---
ScriptSupportEvent:registerEvent([=[Game.Start]=], Game_StartGame)
ScriptSupportEvent:registerEvent([=[Game.Run]=], Game_Update)
ScriptSupportEvent:registerEvent([=[Game.End]=], Game_GameOver)
--玩家事件---
ScriptSupportEvent:registerEvent([=[Player.Die]=], Player_Dead)
ScriptSupportEvent:registerEvent([=[Player.Revive]=], Player_Revive)
ScriptSupportEvent:registerEvent([=[Player.AddItem]=], BackPack_AddItem)
--方块事件---
ScriptSupportEvent:registerEvent([=[Block.Add]=], Block_Add)
ScriptSupportEvent:registerEvent([=[Block.DestroyBy]=], Block_Destroy)
ScriptSupportEvent:registerEvent([=[Block.Trigger]=], Block_Trigger)

# 游戏事件类型及描述

序号 事件类型 事件描述
1 世界事件 地图内相关的事件
2 游戏逻辑 游戏逻辑相关的事件
3 玩家事件 玩家相关的事件
4 生物事件 生物(非玩家)相关的事件
5 方块事件 游戏内方块相关的事件
6 道具事件 道具相关的事件
7 特效事件 特效相关的事件
8 UI事件 自定义UI的事件
9 其他事件 其他事件

# 世界事件 (World)

名称 用法描述 接口参数 参数说明
Backpack.ItemChange 容器内道具变化 blockid,itemid,itemnum,x,y,z 方块类型,道具类型,道具数量,方块坐标
Backpack.ItemPutIn 容器内有道具放入 blockid,itemid,itemnum,x,y,z 方块类型,道具类型,道具数量,方块坐标
Backpack.ItemTakeOut 容器内有道具取出 blockid,itemid,itemnum,x,y,z 方块类型,道具类型,道具数量,方块坐标

# 游戏逻辑 (Game)

名称 用法描述 接口参数 参数说明
Game.Hour 世界小时时间变化 hour 游戏小时时间
Game.RunTime 世界Tick变化 second,ticks 游戏分钟,游戏秒

# 玩家事件 (Player)

名称 用法描述 接口参数 参数说明
Game.AnyPlayer.Defeat 任一玩家失败 eventobjid,shortix,x,y,z 事件玩家,快捷栏索引,坐标位置
Game.AnyPlayer.EnterGame 任一玩家进入 eventobjid,shortix,x,y,z 事件玩家,快捷栏索引,坐标位置
Game.AnyPlayer.LeaveGame 任一玩家离开 eventobjid,shortix,x,y,z 事件玩家,快捷栏索引,坐标位置
Game.AnyPlayer.Victory 任一玩家胜利 eventobjid,shortix,x,y,z 事件玩家,快捷栏索引,坐标位置
Player.AddBuff 玩家获得状态效果 eventobjid,buffid,bufflvl 事件玩家,状态ID,状态等级
Player.AddItem 玩家获得道具 eventobjid,itemid,itemnum 事件玩家,道具类型,道具数量
Player.AreaIn 玩家进入区域 eventobjid,areaid 事件玩家,区域ID
Player.AreaOut 玩家离开区域 eventobjid,areaid 事件玩家,区域ID
Player.AttackHit 玩家击中目标 eventobjid,toobjid,targetactorid 事件玩家,事件目标对象,被攻击的对象
Player.Attack 玩家攻击 eventobjid,shortix,x,y,z 玩家攻击
Player.BackPackChange 背包栏变化 eventobjid,itemid,itemnum,itemix 事件玩家,道具类型,道具数量,道具所在格子索引
Player.BeHurt 玩家受到伤害 eventobjid,hurtlv 事件玩家,伤害值
Player.ChangeAttr 玩家属性变化 eventobjid,shortix,playerattr,playerattrval,x,y,z 事件玩家,快捷栏索引,改变的属性,改变的值,坐标位置
Player.ClickActor 点击生物 eventobjid,toobjid,targetactorid 事件玩家,事件目标对象,被点击击的对象
Player.ClickBlock 点击方块 eventobjid,blockid,x,y,z 事件玩家,点击的方块类型,方块位置
Player.Collide 玩家跟玩家/生物碰撞 eventobjid,toobjid 事件玩家,目标对象
Player.ConsumeItem 玩家消耗道具 eventobjid,itemid,itemnum 玩家消耗道具
Player.DamageActor 玩家造成伤害 eventobjid,toobjid,targetactorid,hurtlv 事件玩家,事件目标对象,目标玩家,伤害值
Player.DefeatActor 玩家击败目标 eventobjid,toobjid,targetactorid 事件玩家,事件目标对象,被攻击的对象
Player.Die 玩家死亡 eventobjid,shortix,x,y,z 事件玩家,快捷栏索引,坐标位置
Player.DiscardItem 丢弃道具 eventobjid,itemid,itemnum,toobjid 事件玩家,道具类型,道具数量,掉落物objid
Player.DismountActor 玩家骑乘下 eventobjid,toobjid,targetactorid 事件玩家,事件目标对象,被攻击的对象
Player.EquipChange 装备栏变化 eventobjid,itemid,itemnum,itemix 事件玩家,道具类型,道具数量,道具所在格子索引
Player.EquipOff 脱下装备 eventobjid,itemid,itemnum,itemix 事件玩家,道具类型,道具数量,道具所在格子索引
Player.EquipOn 穿上装备 eventobjid,itemid,itemnum,itemix 事件玩家,道具类型,道具数量,道具所在格子索引
Player.InputContent 输入字符串 eventobjid,content 事件玩家,事件中的字符串
Player.InputKeyDown 玩家按下按键 eventobjid,vkey 事件玩家,按下的键值
Player.InputKeyOnPress 玩家长按按键 eventobjid,vkey 事件玩家,按下的键值
Player.InputKeyUp 玩家松开按键 eventobjid,vkey 事件玩家,按下的键值
Player.LevelModelUpgrade 玩家等级发生改变 eventobjid 事件玩家
Player.MotionStateChange 玩家行为状态变更 eventobjid,playermotion 事件玩家,行为状态枚举
Player.MountActor 玩家骑乘上 eventobjid,toobjid,targetactorid 事件玩家,事件目标对象,被攻击的对象
Player.MoveOneBlockSize 玩家移动(移动一格) eventobjid,shortix,x,y,z 事件玩家
Player.NewInputContent 从聊天框输入 eventobjid,content 事件玩家,事件中的字符串
Player.PickUpItem 玩家拾取 eventobjid,toobjid,itemid,itemnum 事件玩家,掉落物objid,道具类型ID,道具数量
Player.PlayAction 玩家使用表情动作 eventobjid,act 事件玩家,动作ID
Player.RemoveBuff 玩家失去指定状态效果 eventobjid,buffid,bufflvl 事件玩家,状态ID,状态等级
Player.Revive 玩家复活 eventobjid,shortix,x,y,z 事件玩家,快捷栏索引,坐标位置
Player.SelectShortcut 快捷栏选择 eventobjid,itemid,itemnum 事件玩家,道具类型,道具数量
Player.ShortcutChange 快捷栏变化 eventobjid,itemid,itemnum,itemix 事件玩家,道具类型,道具数量,道具所在格子索引
Player.UseGiftPack 局部此类包裹道具被使用[] eventobjid,itemid,itemnum 事件对象,道具类型,道具数量
Player.UseItem 玩家使用道具 eventobjid,itemid,itemnum,itemix 事件玩家,道具类型,道具数量,道具所在格子索引

# 生物事件 (Actor)

名称 用法描述 接口参数 参数说明
Actor.AddBuff 生物获得状态效果 eventobjid,actorid,buffid,bufflvl 事件生物,事件生物类型,状态ID,状态等级
Actor.AreaIn 生物进入区域 eventobjid,areaid 事件生物,区域ID
Actor.AreaOut 生物离开区域 eventobjid,areaid 事件生物,区域ID
Actor.AttackHit 攻击命中 eventobjid,toobjid,actorid,targetactorid 事件生物,攻击对象,事件生物类型,攻击对象生物类型
Actor.Attack 攻击 eventobjid,toobjid,actorid,targetactorid 事件生物,攻击对象,事件生物类型,攻击对象生物类型
Actor.BeHurt 受到伤害 eventobjid,toobjid,hurtlv,actorid 事件生物,攻击对象,伤害值,事件生物类型
Actor.Beat 生物击败玩家/生物 eventobjid,toobjid,actorid,targetactorid 事件生物,攻击对象,事件生物类型,攻击对象生物类型
Actor.ChangeAttr 属性变化 eventobjid,actorid,actorattr,actorattrval 事件生物,事件生物类型,属性枚举值,改变的值
Actor.ChangeMotion 生物行为状态变更到[n] eventobjid,areaid,actormotion 事件生物,事件生物类型,动作枚举值
Actor.Collide 碰撞到玩家/生物 eventobjid,toobjid,actorid,targetactorid 事件生物,攻击对象,事件生物类型,攻击对象生物类型
Actor.Create 被创建 eventobjid,actorid 事件生物,事件生物类型
Actor.Damage 造成伤害 eventobjid,toobjid,hurtlv,actorid,targetactorid 事件生物,攻击对象,伤害值,事件生物类型,攻击对象生物类型
Actor.Die 死亡 eventobjid,toobjid,actorid 事件生物,攻击对象,事件生物类型
Actor.Projectile.Hit 投掷物击中 eventobjid,toobjid,itemid,targetactorid,x,y,z 事件投掷物对象,被击中的对象,道具类型,被击中的生物类型,方块坐标
Actor.RemoveBuff 生物失去状态效果 eventobjid,actorid,buffid,bufflvl 事件生物,事件生物类型,状态ID,状态等级

# 方块事件 (Block)

名称 用法描述 接口参数 参数说明
Block.Add 被创建 blockid,x,y,z 方块类型,方块坐标
Block.DestroyBy 局部此类方块被破坏时 eventobjid,blockid,x,y,z 事件玩家,方块类型,方块坐标
Block.Dig.Begin 任意方块被挖掘时 eventobjid,blockid,x,y,z 事件玩家,方块类型,方块坐标
Block.Dig.Cancel 任意方块被挖掘取消 eventobjid,blockid,x,y,z 事件玩家,方块类型,方块坐标
Block.Dig.End 方块被挖 eventobjid,blockid,x,y,z 事件玩家,方块类型,方块坐标
Block.Remove 方块移除 blockid,x,y,z 方块类型,方块坐标
Block.Trigger 活跃/通电 eventobjid,blockid,x,y,z 事件玩家,方块类型,方块坐标

# 道具事件 (Item)

名称 用法描述 接口参数 参数说明
DropItem.AreaIn 掉落物进入区域 eventobjid,areaid,itemid 事件掉落物,区域ID,道具类型
DropItem.AreaOut 掉落物离开区域 eventobjid,areaid,itemid 事件掉落物,区域ID,道具类型
Item.Create 掉落物被创建 eventobjid,itemid,defaultvalue,x,y,z 事件掉落物,道具类型,掉落方式,方块坐标
Item.Destroy 局部此类装备被破坏时 eventobjid,itemid,itemnum 事件对象,道具类型,道具数量
Item.Disappear 掉落物消失 eventobjid,itemid,itemnum,x,y,z 事件掉落物,道具类型,道具数量,方块坐标
Item.Pickup 掉落物被拾取 eventobjid,toobjid,itemid,itemnum,x,y,z 事件玩家,被拾取的对象,道具类型,道具数量,方块坐标
Item.expend 局部此类食物道具被消耗 eventobjid,itemid,itemnum 事件对象,道具类型,道具数量
Missile.AreaIn 投掷物进入区域 eventobjid,areaid,itemid 事件投掷物,区域ID,道具类型
Missile.AreaOut 投掷物离开区域 eventobjid,areaid,itemid 事件投掷物,区域ID,道具类型
Missile.Create 投掷物被创建 eventobjid,itemid,toobjid,x,y,z 事件玩家,道具类型,事件投掷物,方块坐标
Particle.Item.OnCreate 当特效在掉落物上创建 eventobjid,effectid,x,y,z 事件掉落物,特效类型,方块位置

# 特效事件 (Particle)

名称 用法描述 接口参数 参数说明
Particle.Mob.OnCreate 任意生物身上特效被创建 eventobjid,effectid,x,y,z 事件生物,特效类型,方块位置
Particle.Player.OnCreate 任意玩家身上特效被创建 eventobjid,effectid,x,y,z 事件玩家,特效类型,方块位置
Particle.Pos.OnCreate 任意位置上特效被创建 effectid,x,y,z 特效类型,方块位置
Particle.Projectile.OnCreate 任意投掷物特效被创建 eventobjid,effectid,x,y,z 事件投掷物,特效类型,方块位置

# UI事件 (UI)

名称 用法描述 接口参数 参数说明
UI.Button.Click 按钮点击 eventobjid,CustomUI,uielement 事件玩家,事件UI,事件元件
UI.Button.TouchBegin 按钮按下 eventobjid,CustomUI,uielement 事件玩家,事件UI
UI.Hide 界面被关闭 eventobjid,CustomUI 事件玩家,事件UI
UI.LostFocus 自定义ui输入框失去焦点 eventobjid,CustomUI,uielement,content 事件玩家,事件UI,事件元件,输入的内容
UI.Show 界面被打开 eventobjid,CustomUI 事件玩家,事件UI

# 其他事件 (*)

名称 用法描述 接口参数 参数说明
BluePrint.BuildBegin 蓝图开始创建 areaid 区域ID
Craft.end 任意配方合成完成 eventobjid,craftid,itemid,itemnum 事件对象,配方ID,道具类型,道具数量
Developer.BuyItem 任意玩家购买商品道具 eventobjid,itemid 事件对象,道具类型
Furnace.begin 任意熔炼开始 furanceid,x,y,z 熔炼ID,方块位置
Furnace.end 任意熔炼结束 furanceid,x,y,z 熔炼ID,方块位置
MiNiVip_1 购买迷你大会员1个月 eventobjid 事件玩家
MiNiVip_3 购买迷你大会员3个月 eventobjid 事件玩家
Plot.begin 任意剧情开始 eventobjid,toobjid,plotid,targetactorid 事件对象,目标对象,剧情类型,目标生物类型
Plot.end 任意剧情结束 eventobjid,toobjid,plotid,targetactorid 事件对象,目标对象,剧情类型,目标生物类型
QQMusic.PlayBegin QQ音乐开始播放 eventobjid,qqMusicId 事件玩家,音乐ID
minitimer.change 指定计时器变化 timerid,timername,timertime 计时器ID,计时器名称,计时器时间
上次更新: 2023/5/10 15:09:30