# 玩家
# 索引
事件 | 描述 | |
---|---|---|
AddExpEvent | 服务端 | 触发时机:当玩家增加经验时触发该事件。 |
AddLevelEvent | 服务端 | 触发时机:当玩家升级时触发该事件。 |
CameraMotionStartClientEvent | 客户端 | 相机运动器开始事件。相机添加运动器后,运动器开始运行时触发 |
CameraMotionStopClientEvent | 客户端 | 相机运动器停止事件。相机添加运动器并开始运行后,运动器自动停止时触发 |
ChangeLevelUpCostServerEvent | 服务端 | 触发时机:获取玩家下一个等级升级经验时,用于重载玩家的升级经验,每个等级在重置之前都只会触发一次 |
DimensionChangeClientEvent | 客户端 | 玩家维度改变时客户端抛出 |
DimensionChangeFinishClientEvent | 客户端 | 玩家维度改变完成后客户端抛出 |
DimensionChangeFinishServerEvent | 服务端 | 玩家维度改变完成后服务端抛出 |
DimensionChangeServerEvent | 服务端 | 玩家维度改变时服务端抛出 |
ExtinguishFireClientEvent | 客户端 | 玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。 |
ExtinguishFireServerEvent | 服务端 | 玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。 |
GameTypeChangedClientEvent | 客户端 | 个人游戏模式发生变化时客户端触发。 |
GameTypeChangedServerEvent | 服务端 | 当默认游戏模式或个人游戏模式发生变化时服务端触发,如果个人游戏模式不为默认时,修改默认游戏模式也会同时修改个人游戏模式,此时会触发两次该事件 |
OnLocalPlayerActionClientEvent | 客户端 | 玩家动作事件,当本地玩家开始/停止某些动作时触发该事件 |
OnLocalPlayerStartJumpClientEvent | 客户端 | 本地玩家开始跳跃时触发 |
OnPlayerActionServerEvent | 服务端 | 玩家动作事件,当玩家开始/停止某些动作时触发该事件 |
OnPlayerHitBlockClientEvent | 客户端 | 触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。玩家着地时会触发OnGroundClientEvent,而不是该事件。客户端和服务端分别作碰撞检测,可能两个事件返回的结果略有差异。 |
OnPlayerHitBlockServerEvent | 服务端 | 触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。监听玩家着地请使用客户端的OnGroundClientEvent。客户端和服务端分别作碰撞检测,可能两个事件返回的略有差异。 |
PerspChangeClientEvent | 客户端 | 视角切换时会触发的事件 |
PlayerAttackEntityEvent | 服务端 | 触发时机:当玩家攻击时触发该事件。 |
PlayerCheatSpinAttackServerEvent | Apollo | 触发时机:玩家开始/结束快速旋转攻击并且不符合发送快速旋转攻击条件时触发(装备激流附魔的三叉戟、在水中或雨中,且未骑乘) |
PlayerDieEvent | 服务端 | 触发时机:当玩家死亡时触发该事件。 |
PlayerDoInteractServerEvent | 服务端 | 玩家与有minecraft:interact组件的生物交互时触发该事件,例如玩家手持空桶对牛挤奶、玩家手持打火石点燃苦力怕 |
PlayerEatFoodServerEvent | 服务端 | 触发时机:玩家吃下食物时触发 |
PlayerFeedEntityServerEvent | 服务端 | 玩家喂养生物时触发,例如玩家手持小麦喂养牛、玩家手持胡萝卜喂养幼年猪。 |
PlayerHungerChangeServerEvent | 服务端 | 玩家饥饿度变化时触发该事件 |
PlayerHurtEvent | 服务端 | 触发时机:当玩家受伤害前触发该事件。 |
PlayerInteractServerEvent | 服务端 | 触发时机:玩家可以与实体交互时。如果是鼠标控制模式,则当准心对着实体时触发。如果是触屏模式,则触发时机与屏幕下方的交互按钮显示的时机相同。玩家真正与实体发生交互的事件见PlayerDoInteractServerEvent |
PlayerNamedEntityServerEvent | 服务端 | 玩家用命名牌重命名实体时触发,例如玩家手持命名牌对羊修改名字、玩家手持命名牌对盔甲架修改名字。 |
PlayerRespawnEvent | 服务端 | 触发时机:玩家复活时触发该事件。 |
PlayerRespawnFinishServerEvent | 服务端 | 触发时机:玩家复活完毕时触发 |
PlayerSleepServerEvent | 服务端 | 玩家使用床睡觉成功 |
PlayerSpinAttackServerEvent | Apollo | 触发时机:玩家开始/结束快速旋转攻击时触发 |
PlayerStopSleepServerEvent | 服务端 | 玩家停止睡觉 |
PlayerTeleportEvent | 服务端 | 触发时机:当玩家传送时触发该事件,如:玩家使用末影珍珠或tp指令时。 |
PlayerTrySleepServerEvent | 服务端 | 玩家尝试使用床睡觉 |
ServerPlayerGetExperienceOrbEvent | 服务端 | 触发时机:玩家获取经验球时触发的事件 |
StoreBuySuccServerEvent | 服务端 | 触发时机:玩家游戏内购买商品时服务端抛出的事件 |
# 玩家
# AddExpEvent
服务端
描述
触发时机:当玩家增加经验时触发该事件。
参数
参数名 数据类型说明 id str 玩家id addExp int 增加的经验值 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# AddLevelEvent
服务端
描述
触发时机:当玩家升级时触发该事件。
参数
参数名 数据类型说明 id str 玩家id addLevel int 增加的等级值 newLevel int 新的等级 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# CameraMotionStartClientEvent
客户端
描述
相机运动器开始事件。相机添加运动器后,运动器开始运行时触发
参数
参数名 数据类型说明 motionId int 运动器id 返回值
无
# CameraMotionStopClientEvent
客户端
描述
相机运动器停止事件。相机添加运动器并开始运行后,运动器自动停止时触发
参数
参数名 数据类型说明 motionId int 运动器id remove bool 是否移除该运动器,设置为False则保留,默认为True,即运动器停止后自动移除 返回值
无
备注
- 注意:该事件触发表示运动器播放顺利完成,手动调用的StopCameraMotion、RemoveCameraMotion不会触发该事件。
# ChangeLevelUpCostServerEvent
服务端
描述
触发时机:获取玩家下一个等级升级经验时,用于重载玩家的升级经验,每个等级在重置之前都只会触发一次
参数
参数名 数据类型说明 level int 玩家当前等级 levelUpCostExp int 当前等级升级到下个等级需要的经验值,当设置升级经验小于1时会被强制调整到1 changed bool 设置为True,重载玩家升级经验才会生效 返回值
无
# 相关接口
# ClearDefinedLevelUpCost
method in mod.server.component.playerCompServer.PlayerCompServer
描述
接口用于重置升级经验。使用ChangeLevelUpCostServerEvent事件设置升级经验后,升级经验无法调整。需要调整升级经验时,可使用该接口。使用步骤如下:1、使用ClearDefineLevelUpconst,2、在升级抛出ChangeLevelUpCostServerEvent事件后重新设置经验。
参数
参数名 数据类型说明 level int 指定清理的等级,加入传入的数值小于0,则清理所有等级的升级经验值缓存 返回值
数据类型说明 bool 是否清理成功。 示例
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
suc = comp.ClearDefinedLevelUpCost(1)
# DimensionChangeClientEvent
客户端
描述
玩家维度改变时客户端抛出
参数
参数名 数据类型说明 playerId str 玩家实体id fromDimensionId int 维度改变前的维度 toDimensionId int 维度改变后的维度 fromX float 改变前的位置x fromY float 改变前的位置Y fromZ float 改变前的位置Z toX float 改变后的位置x toY float 改变后的位置Y toZ float 改变后的位置Z 返回值
无
备注
- 当通过传送门从末地回到主世界时,toY值为32767,其他情况一般会比设置值高1.62
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# DimensionChangeFinishClientEvent
客户端
描述
玩家维度改变完成后客户端抛出
参数
参数名 数据类型说明 playerId str 玩家实体id fromDimensionId int 维度改变前的维度 toDimensionId int 维度改变后的维度 toPos tuple(float,float,float) 改变后的位置x,y,z,其中y值为脚底加上角色的身高值 返回值
无
备注
- 当通过传送门从末地回到主世界时,toPos的y值为32767,其他情况一般会比设置值高1.62
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# DimensionChangeFinishServerEvent
服务端
描述
玩家维度改变完成后服务端抛出
参数
参数名 数据类型说明 playerId str 玩家实体id fromDimensionId int 维度改变前的维度 toDimensionId int 维度改变后的维度 toPos tuple(float,float,float) 改变后的位置x,y,z,其中y值为脚底加上角色的身高值 返回值
无
备注
- 当通过传送门从末地回到主世界时,toPos的y值为32767,其他情况一般会比设置值高1.62
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# DimensionChangeServerEvent
服务端
描述
玩家维度改变时服务端抛出
参数
参数名 数据类型说明 playerId str 玩家实体id fromDimensionId int 维度改变前的维度 toDimensionId int 维度改变后的维度 fromX float 改变前的位置x fromY float 改变前的位置Y fromZ float 改变前的位置Z toX float 改变后的位置x toY float 改变后的位置Y toZ float 改变后的位置Z 返回值
无
备注
- 当通过传送门从末地回到主世界时,toY值为32767,其他情况一般会比设置值高1.62
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# ExtinguishFireClientEvent
客户端
描述
玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。
参数
参数名 数据类型说明 pos tuple(float,float,float) 火焰方块的坐标 playerId str 玩家id cancel bool 修改为True时,可阻止玩家扑灭火焰。需要与ExtinguishFireServerEvent一起修改。 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# ExtinguishFireServerEvent
服务端
描述
玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。
参数
参数名 数据类型说明 pos tuple(float,float,float) 火焰方块的坐标 playerId str 玩家id cancel bool 修改为True时,可阻止玩家扑灭火焰。需要与ExtinguishFireClientEvent一起修改。 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# GameTypeChangedClientEvent
客户端
描述
个人游戏模式发生变化时客户端触发。
参数
参数名 数据类型说明 playerId str 玩家Id oldGameType int 切换前的游戏模式 newGameType int 切换后的游戏模式 返回值
无
备注
- 游戏模式:GetMinecraftEnum().GameType.*:Survival,Creative,Adventure分别为0~2 默认游戏模式发生变化时最后反映在个人游戏模式之上。
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# GameTypeChangedServerEvent
服务端
描述
当默认游戏模式或个人游戏模式发生变化时服务端触发,如果个人游戏模式不为默认时,修改默认游戏模式也会同时修改个人游戏模式,此时会触发两次该事件
参数
参数名 数据类型说明 playerId str 玩家Id,SetDefaultGameType接口改变游戏模式时该参数为空字符串 oldGameType int 切换前的游戏模式 newGameType int 切换后的游戏模式 返回值
无
备注
- 游戏模式:GetMinecraftEnum().GameType.*:Survival,Creative,Adventure分别为0~2,Spectator为6 默认游戏模式发生变化时最后反映在个人游戏模式之上。 注意:避免在该事件中调用修改ability相关的接口,比如ChangePlayerFlyState等接口,如确实需要,可加定时器延后调用
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# OnLocalPlayerActionClientEvent
客户端
描述
玩家动作事件,当本地玩家开始/停止某些动作时触发该事件
参数
参数名 数据类型说明 actionType int 动作事件枚举,详见Minecraft枚举值文档的PlayerActionType 返回值
无
# OnLocalPlayerStartJumpClientEvent
客户端
描述
本地玩家开始跳跃时触发
参数
无
返回值
无
# OnPlayerActionServerEvent
服务端
描述
玩家动作事件,当玩家开始/停止某些动作时触发该事件
参数
参数名 数据类型说明 playerId str 玩家id actionType int 动作事件枚举,详见Minecraft枚举值文档的PlayerActionType 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# OnPlayerHitBlockClientEvent
客户端
描述
触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。玩家着地时会触发OnGroundClientEvent,而不是该事件。客户端和服务端分别作碰撞检测,可能两个事件返回的结果略有差异。
参数
参数名 数据类型说明 playerId str 碰撞到方块的玩家Id posX int 碰撞方块x坐标 posY int 碰撞方块y坐标 posZ int 碰撞方块z坐标 blockId str 碰撞方块的identifier auxValue int 碰撞方块的附加值 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# 相关接口
# OpenPlayerHitBlockDetection
method in mod.client.component.playerCompClient.PlayerCompClient
描述
开启碰撞方块的检测,开启后碰撞时会触发OnPlayerHitBlockClientEvent事件
参数
参数名 数据类型说明 precision float 碰撞检测精度,参数需要在区间[0, 1),值越小,表示碰撞检测精度越高(可以理解为轻轻碰一下就能触发) 返回值
数据类型说明 bool 是否设置成功 备注
- 注:该碰撞检测会屏蔽草、空气、火、高草四种方块
示例
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.OpenPlayerHitBlockDetection(0.0001)
# ClosePlayerHitBlockDetection
method in mod.client.component.playerCompClient.PlayerCompClient
描述
关闭碰撞方块的检测,关闭后将不会触发OnPlayerHitBlockClientEvent事件
参数
无
返回值
数据类型说明 bool 是否设置成功 示例
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.ClosePlayerHitBlockDetection()
# OnPlayerHitBlockServerEvent
服务端
描述
触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。监听玩家着地请使用客户端的OnGroundClientEvent。客户端和服务端分别作碰撞检测,可能两个事件返回的略有差异。
参数
参数名 数据类型说明 playerId str 碰撞到方块的玩家Id posX int 碰撞方块x坐标 posY int 碰撞方块y坐标 posZ int 碰撞方块z坐标 blockId str 碰撞方块的identifier auxValue int 碰撞方块的附加值 dimensionId int 维度id 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# 相关接口
# OpenPlayerHitBlockDetection
method in mod.server.component.playerCompServer.PlayerCompServer
描述
开启碰撞方块的检测,开启后碰撞时会触发OnPlayerHitBlockServerEvent事件
参数
参数名 数据类型说明 precision float 碰撞检测精度,参数需要在区间[0, 1),值越小,表示碰撞检测精度越高(可以理解为轻轻碰一下就能触发) 返回值
数据类型说明 bool 是否设置成功 备注
- 注:该碰撞检测会屏蔽草、空气、火、高草四种方块
示例
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
comp.OpenPlayerHitBlockDetection(0.0001)
# ClosePlayerHitBlockDetection
method in mod.server.component.playerCompServer.PlayerCompServer
描述
关闭碰撞方块的检测,关闭后将不会触发OnPlayerHitBlockServerEvent事件
参数
无
返回值
数据类型说明 bool 是否设置成功 示例
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
comp.ClosePlayerHitBlockDetection()
# PerspChangeClientEvent
客户端
描述
视角切换时会触发的事件
参数
参数名 数据类型说明 from int 切换前的视角 to int 切换后的视角 返回值
无
备注
- 视角数字代表含义 0: 第一人称 1: 第三人称背面 2: 第三人称正面
# PlayerAttackEntityEvent
服务端
描述
触发时机:当玩家攻击时触发该事件。
参数
参数名 数据类型说明 playerId str 玩家id victimId str 受击者id damage int 伤害值:引擎传过来的值是0 允许脚本层修改为其他数 isValid int 脚本是否设置伤害值:1表示是;0 表示否 cancel bool 是否取消该次攻击,默认不取消 isKnockBack bool 是否支持击退效果,默认支持,当不支持时将屏蔽武器击退附魔效果 isCrit bool 本次攻击是否产生暴击,不支持修改 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerCheatSpinAttackServerEvent
仅Apollo可用
描述
触发时机:玩家开始/结束快速旋转攻击并且不符合发送快速旋转攻击条件时触发(装备激流附魔的三叉戟、在水中或雨中,且未骑乘)
参数
参数名 数据类型说明 playerId str 玩家的entityId isStart bool True时代表开始快速旋转攻击;False时代表结束快速旋转攻击 返回值
无
备注
- 假如没有自定义类似三叉戟/激流附魔的物品,那么触发此事件说明此有很大可能此玩家使用了【杀戮光环】外挂
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerDieEvent
服务端
描述
触发时机:当玩家死亡时触发该事件。
参数
参数名 数据类型说明 id str 玩家id attacker str 伤害来源id customTag str 使用Hurt接口传入的自定义伤害类型 cause str 伤害来源,详见Minecraft枚举值文档的ActorDamageCause 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerDoInteractServerEvent
服务端
描述
玩家与有minecraft:interact组件的生物交互时触发该事件,例如玩家手持空桶对牛挤奶、玩家手持打火石点燃苦力怕
参数
参数名 数据类型说明 playerId str 玩家id itemDict dict 交互时使用物品的物品信息字典 interactEntityId str 交互的生物entityId 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerEatFoodServerEvent
服务端
描述
触发时机:玩家吃下食物时触发
参数
参数名 数据类型说明 playerId str 玩家Id itemDict dict 食物物品的物品信息字典 hunger int 食物增加的饥饿值,可修改 nutrition float 食物的营养价值,回复饱和度 = 食物增加的饥饿值 * 食物的营养价值 * 2,饱和度最大不超过当前饥饿值,可修改 返回值
无
备注
- 由于牛奶本身并没有饱食度的概念,因此,当喝牛奶触发该事件时,饥饿度、营养价值字段无效并始终为0
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerFeedEntityServerEvent
服务端
描述
玩家喂养生物时触发,例如玩家手持小麦喂养牛、玩家手持胡萝卜喂养幼年猪。
参数
参数名 数据类型说明 playerId str 主动喂养生物的玩家的唯一ID entityId str 被喂养生物的唯一ID itemDict dict 当前玩家手持物品的物品信息字典 cancel bool 是否取消触发,默认为False,若设为True,可阻止触发后续的生物喂养逻辑 返回值
无
备注
- 1.对于幼年生物,用对应的物品喂养后就可以触发事件,例如用小麦喂养幼年牛、用生鲑鱼喂养幼年猫; 2.对于成年生物,用对应的物品喂养后,该生物要进入“求爱模式”(持续散发红心粒子),才可以触发事件。特殊的成年生物列举如下: a.可骑乘生物,例如马,玩家要驯服马后,再给它喂养食物(例如金苹果、金萝卜),才可以触发事件;已驯服的马受伤后,用金苹果喂养时会治疗马,不触发事件,马的血量回满时,再喂养金苹果,才会触发事件; b.可驯服生物,例如狼,玩家要用骨头驯服狼后,再给它喂养肉类物品(例如熟猪排),才可以触发事件; c.需要在特定环境下才能繁殖的生物,例如熊猫,玩家用竹子喂养熊猫时,熊猫的5格内至少要有8根竹子,喂养后才可以触发事件。 3.该事件中如需调用使用手持物相关的接口,如PlayerUseItemToEntity或其他设置物品数量的接口,会导致接口正常调用但是物品数量计算异常,建议通过timer延迟调用。
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerHungerChangeServerEvent
服务端
描述
玩家饥饿度变化时触发该事件
参数
参数名 数据类型说明 playerId str 玩家id hungerBefore float 变化前的饥饿度 hunger float 变化后的饥饿度 cancel bool 是否取消饥饿度变化 返回值
无
备注
- 当通过setplayerhunger接口设置饥饿度时,不会触发服务端对应的事件
- 当通过/hunger等指令设置饥饿度设置时,hunger字段值可能会超过最大饥饿度
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerHurtEvent
服务端
描述
触发时机:当玩家受伤害前触发该事件。
参数
参数名 数据类型说明 id str 受击玩家id attacker str 伤害来源实体id,若没有实体攻击,例如高空坠落,id为-1 customTag str 使用Hurt接口传入的自定义伤害类型 cause str 伤害来源,详见Minecraft枚举值文档的ActorDamageCause 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerInteractServerEvent
服务端
描述
触发时机:玩家可以与实体交互时。如果是鼠标控制模式,则当准心对着实体时触发。如果是触屏模式,则触发时机与屏幕下方的交互按钮显示的时机相同。玩家真正与实体发生交互的事件见PlayerDoInteractServerEvent
参数
参数名 数据类型说明 cancel bool 是否取消触发,默认为False,若设为True,可阻止触发后续的实体交互事件 playerId str 主动与实体互动的玩家的唯一ID itemDict dict 当前玩家手持物品的物品信息字典 victimId str 被动的实体的唯一ID 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerNamedEntityServerEvent
服务端
描述
玩家用命名牌重命名实体时触发,例如玩家手持命名牌对羊修改名字、玩家手持命名牌对盔甲架修改名字。
参数
参数名 数据类型说明 playerId str 主动命名实体的玩家的唯一ID entityId str 被命名实体的唯一ID preName str 实体当前的名字 afterName str 实体重命名后的名字 cancel bool 是否取消触发,默认为False,若设为True,可阻止触发后续的实体命名逻辑 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerRespawnEvent
服务端
描述
触发时机:玩家复活时触发该事件。
参数
参数名 数据类型说明 id str 玩家id 返回值
无
备注
- 该事件为玩家点击重生按钮时触发,但是触发时玩家可能尚未完成复活,此时请勿对玩家进行切维度或设置生命值等操作 一般情况下推荐使用PlayerRespawnFinishServerEvent
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerRespawnFinishServerEvent
服务端
描述
触发时机:玩家复活完毕时触发
参数
参数名 数据类型说明 playerId str 玩家id 返回值
无
备注
- 该事件触发时玩家已重生完毕,可以安全使用切维度等操作
- 通过末地传送门回到主世界时也算重生,同样也会触发该事件
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerSleepServerEvent
服务端
描述
玩家使用床睡觉成功
参数
参数名 数据类型说明 playerId str 玩家id 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerSpinAttackServerEvent
仅Apollo可用
描述
触发时机:玩家开始/结束快速旋转攻击时触发
参数
参数名 数据类型说明 playerId str 玩家的entityId isInWaterOrRain bool 是否在水中或雨中 isRiding bool 是否骑乘状态 isStart bool True时代表开始快速旋转攻击;False时代表结束快速旋转攻击 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerStopSleepServerEvent
服务端
描述
玩家停止睡觉
参数
参数名 数据类型说明 playerId str 玩家id 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerTeleportEvent
服务端
描述
触发时机:当玩家传送时触发该事件,如:玩家使用末影珍珠或tp指令时。
参数
参数名 数据类型说明 id str 玩家id 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# PlayerTrySleepServerEvent
服务端
描述
玩家尝试使用床睡觉
参数
参数名 数据类型说明 playerId str 玩家id cancel bool 是否取消(开发者传入) 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# ServerPlayerGetExperienceOrbEvent
服务端
描述
触发时机:玩家获取经验球时触发的事件
参数
参数名 数据类型说明 playerId str 玩家id experienceValue int 经验球经验值 cancel bool 是否取消(开发者传入) 返回值
无
备注
cancel
值设为True时,捡起的经验球不会增加经验值,但是经验球一样会消失。
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
# StoreBuySuccServerEvent
服务端
描述
触发时机:玩家游戏内购买商品时服务端抛出的事件
参数
参数名 数据类型说明 playerId str 购买商品的玩家实体id 返回值
无
示例
import mod.server.extraServerApi as serverApi
self.ListenForEvent(serverApi.GetEngineNamespace(),serverApi.GetEngineSystemName(),
"StoreBuySuccServerEvent",
self, self.OnStoreBuySucc)
def OnStoreBuySucc(self, args):
entityId = args['playerId']
print 'Ship Item.EntityId:', playerId
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件