# 事件系统 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,计时器名称,计时器时间 |