Skip to content

聊天栏命令

PracLab 通过拦截全局聊天(say)与队伍聊天(say_team)来识别玩家指令。所有命令均支持以下两种前缀形式,大小写不敏感:

前缀 示例
. .prac
! !prac

命令总览

Practice 模式控制

命令 别名 功能
.prac 加载练习配置,开启 practice 模式

地图管理

命令 别名 功能
.map 显示可用地图列表(仅发送者可见)
.inferno 切换到「炼狱小镇」(de_inferno)
.mirage 切换到「荒漠迷城」(de_mirage)
.nuke 切换到「核子危机」(de_nuke)
.ancient 切换到「远古遗迹」(de_ancient)
.vertigo 切换到「殒命大厦」(de_vertigo)
.anubis 切换到「阿努比斯」(de_anubis)
.dust2 切换到「炙热沙城2」(de_dust2)
.train 切换到「列车停放站」(de_train)
.cache 切换到「死城之谜」(de_cache)

机器人管理

命令 别名 功能
.bot 在玩家位置生成一个 bot
.crouchbot .cbot 在玩家位置生成一个蹲着的 bot
.kickall 移除所有 bot
.kick 移除准星指向的 bot

道具与环境

命令 别名 功能
.clear 清除所有的道具
.break .br 破坏所有可破坏实体

时间与无敌

命令 别名 功能
.fastforward .ff 启动 10 倍速服务器时间倍速,持续 20 秒后自动还原
.noflash 切换该玩家的闪光弹免疫(事件驱动,其他玩家不受影响)
.god 切换该玩家无敌模式

出生点传送

命令 别名 功能
.spawn <N> .s 传送到同队第 N 个出生点(缺省 N=1)
.ctspawn <N> .cts 传送到 CT 方第 N 个出生点
.tspawn <N> .ts 传送到 T 方第 N 个出生点
.bestspawn .bs 传送到最近的己方出生点
.worstspawn .ws 传送到最远的己方出生点
.bestctspawn .bcts 传送到最近的 CT 方出生点
.worstctspawn .wcts 传送到最远的 CT 方出生点
.besttspawn .bts 传送到最近的 T 方出生点
.worsttspawn .wts 传送到最远的 T 方出生点

出生点方框

命令 别名 功能
.showspawns 重新显示双方出生点方框(prac 模式开启时自动显示)
.hidespawns 隐藏出生点方框

E 键传送:对准方框按下使用键(默认 E)即可传送到该出生点,聊天栏提示「已传送到第 N 个出生点」。CT 和 T 方框均为绿色,方框中心显示序号(按地图配置旋转)。prac 模式下不限制队伍,玩家可瞄准任一方框传送。方框仅显示竞技模式出生点(与 .spawn 系列命令一致)。

队伍切换

命令 别名 功能
.watch .fas 强制所有其他玩家进入观察者模式,仅保留命令使用者活动

道具重投与位置回溯

命令 别名 功能
.rethrow .rt 重新投掷玩家最后投掷的道具
.rethrowsmoke .rethrows 仅重投最后投掷的烟雾弹
.rethrownade .rethrown 仅重投最后投掷的手雷
.rethrowflash .rethrowf 仅重投最后投掷的闪光弹
.rethrowmolotov .rethrowm 仅重投最后投掷的燃烧瓶
.rethrowdecoy .rethrowd 仅重投最后投掷的诱饵弹
.last .ls 传送回最后投掷道具的位置

Dryrun 与回合控制

命令 别名 功能
.dryrun .dry 从 prac 模式临时切换到竞技配置打一个回合,回合结束自动回到 prac 模式
.restartround .rr 重新开始当前回合(执行 mp_restartgame

Dryrun 流程:踢出所有 bot → 关闭 prac 特有 ConVar(sv_cheats、traj、infinite_ammo 等)→ 加载 dryrun.cfg 竞技配置 → 重启回合开始;回合结束(EventRoundEnd)自动恢复 prac 配置。用于在练习中快速打一个真竞技回合。

回放系统

命令 别名 功能
.record 进入待录制状态,玩家移动或按 F 键(检视键)开始录制,再次按 F 或 .stoprecord 停止并保存
.stoprecord 停止录制并保存(与按 F 键等效)
.replay [Id] 无参数:并行回放所有已停止的录制;指定 Id:仅回放该录制。自动创建同队 Bot 作为回放载体
.stopreplay 停止所有正在进行的回放并踢出对应 Bot
.clearrecord <Id> 删除指定 Id 的录制(同时删除 JSON 文件与列表条目)
.clearrecordall 清除所有录制
.currentrecord .currentrec 服务器控制台输出录制列表表格(ID / 名称 / 状态 / Bot)

二层架构:回放系统由两部分组成——

  • Layer 1(CSSharp C#):命令分发、UI 提示、录制文件 JSON 读写(cfg/PracLab/recordings/)。
  • Layer 2(C++ Metamod 插件 PracLabReplayEngine:通过 Hook ProcessMovementCCSBot::UpdatePlayerRunCommand 等引擎函数实现帧级移动录制与回放。

跨语言 ABI 契约见 replay-engine/include/praclab_replay.h,修改字段顺序/类型须同步更新两层代码。

回放引擎未部署时:所有 .record/.replay/... 命令会向玩家提示「回放引擎未加载,回放功能不可用」,但插件其他功能不受影响。

计时器

命令 别名 功能
.timer 开始计时;再次输入 .timer 时停止并向玩家打印耗时

ConVar 切换

命令 别名 功能
.solid 切换 mp_solid_teammates(队友碰撞)
.impacts 切换 sv_showimpacts(显示子弹命中点)
.traj 切换 sv_grenade_trajectory_prac_pipreview(显示投掷物轨迹)

帮助

命令 别名 功能
.help 在聊天栏分类显示所有可用指令(仅发送者可见)