l4d2_pwa_native_attrs:按玩家枪械属性(私有)
给单个玩家单独设置枪械原生属性(伤害、射速、弹容……),带完整审计工具。
l4d2_pwa_native_attrs(Per-player Weapon Native Attrs,简称 PWA)是私有武器属性体系的核心:直接改写 WeaponInfo 原生属性,实现按玩家的枪械属性定制(伤害、射速、弹容、后座等),用于赞助者福利"定制轮廓/皮肤属性"。
它做什么
- 按玩家 profile 应用枪械属性,切枪/换人自动切换与恢复,全局基线可一键还原(
sm_pwa_restore)。 - profile 来源:数据库协调器(
l4d2_player_attr_db,网页后台可编辑)或旧 cfg。 - 审计工具链:
sm_pwa_tx_audit、sm_pwa_native_audit、sm_pwa_live_fire_audit、sm_pwa_matrix_audit等一系列命令用于验证属性切换的正确性与隔离性(详见命令表)。
私有清单插件,需 l4d2_private_license 授权。日常管理建议走网页后台的"玩家武器属性"面板,而不是手敲命令。
文件位置
| 项目 | 路径 |
|---|---|
| 插件文件 | plugins/optional/AnneHappy/l4d2_pwa_native_attrs.smx |
| 源码 | addons/sourcemod/scripting/optional/AnneHappy/l4d2_pwa_native_attrs.sp |
| 更新源清单 | private/Anne_Updater_Private.txt(私有,需服务器授权) |
命令一览
| 命令 | 类型 | 权限 | 说明 |
|---|---|---|---|
sm_pwa_set <target> <weapon\ | @active> <attr> <value> [attr value]...` | 管理员 | ADMFLAG_ROOT |
sm_pwa_clear <target> | 管理员 | ADMFLAG_ROOT | 清除目标当前 PWA profile。 |
sm_pwa_list | 管理员 | ADMFLAG_ROOT | 列出当前在线玩家的 PWA profile。 |
sm_pwa_reload_config | 管理员 | ADMFLAG_ROOT | 重新读取旧 cfg profile。DB 协调器启用时通常会关闭旧 cfg 自动应用。 |
sm_pwa_apply_config <target> <weapon\ | @active>` | 管理员 | ADMFLAG_ROOT |
sm_pwa_config_status | 管理员 | ADMFLAG_ROOT | 查看旧 cfg profile 缓存状态。 |
sm_pwa_restore | 管理员 | ADMFLAG_ROOT | 将被 PWA 碰过的全局 WeaponInfo 属性恢复到缓存基线。 |
sm_pwa_tx_audit <target_a> <target_b> <weapon\ | @active>` | 管理员 | ADMFLAG_ROOT |
sm_pwa_return_audit <target> <weapon\ | @active>` | 管理员 | ADMFLAG_ROOT |
sm_pwa_native_audit <target_a> <target_b> <weapon\ | @active> [safe\ | all]` | 管理员 |
sm_pwa_live_fire_audit <target_a> <target_b> <weapon\ | @active>` | 管理员 | ADMFLAG_ROOT |
sm_pwa_live_fire_cancel | 管理员 | ADMFLAG_ROOT | 取消 live fire 审计并恢复 profile/武器。 |
sm_pwa_live_return_audit <target_a> <target_b> <weapon\ | @active> [seconds]` | 管理员 | ADMFLAG_ROOT |
sm_pwa_live_return_cancel | 管理员 | ADMFLAG_ROOT | 取消 live return 审计。 |
sm_pwa_matrix_audit <target_a> <target_b> <weapon\ | @active> [safe\ | all\ | live\ |
sm_pwa_bot_matrix_audit <bot_a> <bot_b> <weapon> [safe\ | all]` | 管理员 | ADMFLAG_ROOT |
sm_pwa_bot_live_smoke <bot_a> <bot_b> <weapon> [live\ | full]` | 管理员 | ADMFLAG_ROOT |
sm_pwa_preflight <target_a> <target_b> <weapon\ | @active>` | 管理员 | ADMFLAG_ROOT |
sm_pwa_preflight_matrix <target_a> <target_b> <weapon\ | @active> [safe\ | all\ | live\ |
聊天中输入 !命令名(去掉 sm_ 前缀)等价于控制台命令。