LimbHealth¶
《肢体血量-医疗护理•超多自定义》 扩展原版单血条为身体各部位独立血条系统
简介¶
LimbHealth 把玩家身体拆分成 8 个独立部位——头、躯干、左/右臂、左/右腿、左/右脚——每个部位拥有独立的血量与上限:
- 精确命中判定:箭矢、近战、爆炸等伤害会根据命中位置作用到对应部位
- 外部模组协作:可在调用
Hurt()之前预设下次命中部位 - 自定义药水效果/buff:内置效果:出血(
BLEEDING)、止痛(PAINKILLER)、健胃消食片(STOMACH_STRENGTHENING_TABLET)
入口¶
| 端 | 入口类 | 状态 |
|---|---|---|
| 服务端 | LimbHealthServerAPI |
✅ |
| 客户端 | LimbHealthClientAPI |
暂未开放,可联系作者,Q 群 589523062 |
快速开始¶
from LimbHealthScripts.server.LimbHealthServerAPI import LimbHealthServerAPI
api = LimbHealthServerAPI
posTypeEnum = api.getPosTypeEnum()
# 直接修改某部位的血量
api.setLimbHealth(playerId, posTypeEnum.HEAD, 5.0, isFromHurt=False)
# 查询某部位当前血量
hp = api.getLimbHealth(playerId, posTypeEnum.HEAD)
# 预设下一次命中部位(外部模组在 Hurt() 之前调用)
api.setNextDamageHitPart(playerId, posTypeEnum.LEFT_LEG)
# ... 之后立即 Hurt(),伤害将作用到左腿
# 监听肢体血量变化
def onLimbHealthUpdate(event):
print("{} 的 {} 血量: {} -> {}".format(
event.getPlayerId(),
event.getUpdatePosType().getValue(),
event.getOldHealth(),
event.getNewHealth(),
))
api.registerLimbHealthUpdateEventHandler(onLimbHealthUpdate)
接下来¶
- 浏览所有 Server API 方法
- 查看 类型与事件 了解枚举与事件类