PlayerRevive 类型与事件¶
汇总 PlayerRevive 暴露给外部的事件类、枚举与数据类型。
ApiEvents¶
可注册事件的枚举集合,通过 PlayerReviveServerAPI.getApiEvents() 获取。
class PlayerReviveServerAPI.ApiEvents(BaseEnum):
ReviveNeededUpdateEvent # 玩家倒地状态切换
ReviveMaxHealthUpdateEvent # 倒地血量上限更新
ReviveHealthUpdateEvent # 倒地血量数值更新
每个枚举项是 ApiEvents.EnumObject,可通过 .getEventCls() 取出对应的事件类。注册事件时传入枚举项或事件类本身均可。ApiEvents 继承自 BaseEnum,可调用 values() / valueOf(name) 反射访问。
ReviveNeededUpdateEvent¶
玩家进入或退出「倒地」状态时触发。
| 属性 | 类型 | 说明 |
|---|---|---|
playerId |
str |
状态发生变化的玩家 ID |
isNeedRevive |
bool |
True 表示进入倒地状态,False 表示退出(被救援 / 死亡 / 重生) |
damagerId |
str | None |
触发倒地的实体 ID(若是退出倒地则为 None) |
Getter
| 方法 | 返回 |
|---|---|
getPlayerId() |
str |
getIsNeedRevive() |
bool |
getDamagerId() |
str —— 注:源码声明返回 str,但实际可能为 None(构造时允许 None) |
示例
def onReviveNeededUpdate(event):
if event.getIsNeedRevive():
print("玩家 {} 进入倒地状态,凶手: {}".format(event.getPlayerId(), event.getDamagerId()))
else:
print("玩家 {} 退出倒地状态".format(event.getPlayerId()))
api.registerEventHandler(
api.getApiEvents().ReviveNeededUpdateEvent,
onReviveNeededUpdate,
)
ReviveMaxHealthUpdateEvent¶
玩家的倒地血量上限发生变化时触发。
| 属性 | 类型 | 说明 |
|---|---|---|
playerId |
str |
玩家 ID |
newMaxHealth |
float |
新的倒地血量上限 |
Getter
| 方法 | 返回 |
|---|---|
getPlayerId() |
str |
getNewMaxHealth() |
float |
ReviveHealthUpdateEvent¶
玩家的倒地血量数值发生变化时触发。
| 属性 | 类型 | 说明 |
|---|---|---|
playerId |
str |
玩家 ID |
oldHealth |
float |
变化前的倒地血量 |
newHealth |
float |
变化后的倒地血量 |
Getter
| 方法 | 返回 |
|---|---|
getPlayerId() |
str |
getOldHealth() |
float |
getNewHealth() |
float |
Note
若 newHealth == 0 且玩家此前已处于倒地状态,则随后会触发死亡逻辑(具体取决于内部状态机)。订阅 ReviveHealthUpdateEvent 用于显示血条变化或预警,订阅 ReviveNeededUpdateEvent 用于做最终的死亡 / 倒地判定。
PlayerReviveEventPriorityEnum¶
事件处理器执行优先级。slot 越小越先触发。
from PlayerReviveScripts.common.enum.PlayerReviveEventPriorityEnum import PlayerReviveEventPriorityEnum
| 常量 | slot |
触发顺序 |
|---|---|---|
LOWEST |
0 |
最先触发 |
LOW |
1 |
|
NORMAL |
2 |
默认值 |
HIGH |
3 |
|
HIGHEST |
4 |
最晚触发 |
ApiEvents.EnumObject¶
每个 ApiEvents 成员的实际类型。
| 方法 | 返回 |
|---|---|
getEventCls() |
type —— 对应的事件类(如 ReviveNeededUpdateEvent) |