Impulse:zh-cn

From Valve Developer Community
Jump to: navigation, search
English


Impulse是一种同时作用于用户端与服务器端的控制台命令 ),可在不更改用户端的网络管理等仅作用于用户端的运行指令的情况下使用。

命令格式: [b]impulse 数字[/b] ,如 impulse 101 

与诸如cl_cmdrate或其他可能影响网络稳定性的控制台命令不同,Impulse命令只有在用户端发出之后才会被服务器接收并予以反馈,保证了数据通畅。

如果你的延迟较高,Impulse命令发出后,服务器需要更长时间才能接收并反馈给其他玩家,这是由于延迟补偿等网络优化设定让低延迟玩家的行走轨迹,在高延迟玩家的用户端看起来快于实际,即提前对低延迟玩家的操作进行预测,以免出现“打空气”的情况。但Impulse命令不受延迟补偿的影响,你的延迟越高,其他玩家越需要更长时间才能看到你发起的Impulse命令的反馈。


Impulse命令多用于开发和测试用途,且大多情况下需要开启sv_cheats作弊,详见开发教程有关CBasePlayer::ImpulseCommands()CBasePlayer::CheatImpulseCommands()CHL2_Player::CheatImpulseCommands()的部分。

Impulse

通用指令

控制台输入impulse加空格再加下方的数字,可用于大多Source引擎的游戏。

数字 注意 相关注释
50 非作弊指令 等同于《半条命2》当中默认的键盘C键,用于呼叫市民或反叛军\\citizen过来与玩家集合。
81 获得武器weapon_cubemap,用于测试环境反射(详见cubemaps)。
100 非作弊指令 默认为F键,开关手电筒,可能需要已经配备了item_suit(防护衣)。
101 血量、武器、弹药全满。
102 在玩家头顶生成一个有物理碰撞效果的头骨模型,对应models\Gibs\AGIBS.mdl
103 将玩家准星指向的NPC的当前AI状态输出至控制台,须开启 developer 开发者模式
106 将玩家准星指向的实体的分组、targetname(命名)、model(对应的模型位置)一起输出至控制台。
107 将准星指向的固体(brush)所用的贴图名称输出到控制台,但建议使用 mat_crosshair ,后者可识别凹凸不平的置换表层(Displacement)。
108 将准星指向的NPC开启调试模式,用意不明。
195, 196, 197 不明 按控制台指示,这三个命令分别显示距离玩家最近的空中、大型、人类NPC的AI节点(node),实际不管用。
200 收起正在使用的武器,实际是V模的一个动画,不影响开枪,部分武器没有收枪动画所以会直接消失。
201 非作弊指令 默认为T键,在准星处喷漆,仅多人模式可用。
202 已无用 将准星指向的固体表面喷满番茄酱,现版本Source引擎取消了该指令。
202 非作弊指令 播放外号为player jingle的音频,输出方式同喷漆,首先使用命令cl_soundfile 指向一个占用空间小于128Kb的wav文件,输入cl_customsounds 1然后加入服务器,即可使用Impulse 202发出声音。但这个命令只能用于Source SDK(第三方MOD)环境,游戏原作当中无用。
203 移除准星指向的实体,用法同ent_remove

仅用于《半条命2》系列游戏

数字 注意 相关注释
50 非作弊指令 等同于《半条命2》当中默认的键盘C键,用于呼叫市民或反叛军\\citizen过来与玩家集合。
51 刷出会给随机装备的补给箱(详见item_dynamic_resupply)。
52 测距用,将当前玩家、准星指向处的XYZ轴坐标,以及3D直线、2D平面距离输出到控制台。
82 刷出配备了高斯枪的buggy小车
83 刷出汽艇,没有武器。