Moderator elections are being held. See Valve Developer Community:Moderator elections for more details.
Users who would like to run for moderator must be autoconfirmed and have at least 100 edits. Users can check their own edit count at Special:Preferences.
This article's documentation is for anything that uses the Source engine. Click here for more information.

env_microphone

From Valve Developer Community
Jump to: navigation, search
English (en)Русский (ru)中文 (zh)
... Icon-Important.png
Env microphone.png

env_microphone is a point entity available in all Source Source games. 就是麦克风。在"扬声器模式"下,它会检测声音并将其广播到Speaker target。 它无视Hears X标签并且不会触发SoundLevel的输入。 在"度量模式",它会在Measure target处度量声音级别并且产生声音级别0~1的输出。它只会听到与Hears X相匹配的声音。

度量模式用于检测声音强弱会来决定一些输出。

In code, it is represented by theCEnvMicrophoneclass, defined in theenvmicrophone.cppfile.

Flags

  • 1: Hears combat sounds - 听到战斗声音
  • 2: Hears world sounds - 听到世界中的声音
  • 4: Hears player sounds - 听到玩家的声音
  • 8: Hears bullet impacts - 听到子弹的声音
  • 16: Swallows sounds routed through speakers - 意味着不会接收其他env_microphone实体传递的声音,包括自己本身。
  • 32: Hears explosions - 听到爆炸的声音。
  • 64: Ignores non-attenuated sounds - 忽略非衰减的声音

键值

Speaker target (SpeakerName) (???) <targetname>
实体info_target的名字,播放在此麦克风实体接收的声音。如果指定了,那么麦克风实体会认为自己处于扬声器模式。它应该与env_speaker区分。
Measure target (target) (???) <targetname>
如果处于度量模式,需要被度量的实体名称。
Listen Filter (ListenFilter) (???) <filter>
过滤实体名称,只有符合过滤的实体才能被接收。 而其他实体发出的声音不会被捕捉。
Speaker DSP Preset (speaker_dsp_preset) (???) <choices>
仅限扬声器模式。如果指定了,则通过扬声器播放的声音会受到选择的DSP影响:
Icon-Bug.pngBug:即使有多个麦克风实体设置了不同的DSP模式,但只有其中之一的DSP会工作,即使麦克风实体的距离离得很近。因为这个实体呗一个叫做 dsp_speakerConVar设置。
  • 0: Use environment default 默认
  • 50: (No effect) 无效果,下面同样
  • 51: (No effect)
  • 52: (No effect)
  • 53: (No effect)
  • 54: (No effect)无效果,上面同样
  • 55: Loud speaker 大声的
  • 56: Very small speaker 非常小
  • 57: Echoing speaker 回声
  • 58: Small speaker 小
  • 59: Tiny speaker 小
Note.pngNote:详见 DSP
Sensitivity (0-10) (Sensitivity) (???) <浮点型>
度量模式的敏感度,1正常,10非常敏感。
Smoothing (0-1) (SmoothFactor) (???) <浮点型>
度量模式下的输出平滑值。
Maximum hearing range (0=infinite) (MaxRange) (???) <浮点型>
大于此范围的声音不会被听到。
Warning.pngWarning:设置为0或者比1024大,在扬声器模式下可能会影响性能。
Sound Mask (SoundMask) (???) <integer> !FGD
Blank image.pngTodo: Hear X标签的某种替代形式?

EnableDisable/启动禁用:

Start Disabled (StartDisabled) <boolean> | 布尔值
保持休眠状态,直到被唤醒。(利用Enable输入)。

Base/基础:
Name (targetname) <string简体中文> | 字符串
其他实体用来指代该实体的名称。
Parent简体中文 (parentname) <targetname> | 目标名
实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (parentname [targetname],[attachment]
Tip.pngTip:转换至下一张地图的实体关系会依然存在。
Tip.pngTip:一些不适合做父实体的实体可能难以运行,利用phys_constraint可以解决。
Origin (X Y Z) (origin) <coordinates>
实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
Note.pngNote:Hammer 不会仅在编辑器中相应地移动实体。
Pitch Yaw Roll (X Y Z) (angles) <angle>
实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note.pngNote:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
Classname (classname) <string简体中文> | 字符串 不存在于FGD!
确定实体之前它生成的特征。
Tip.pngTip:使用AddOutput输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
Flags (spawnflags) <integer> | 整数 不存在于FGD!
实体所具有的标志/标签,依实体所具有而定。
Effects (effects) <integer> | 整数 不存在于FGD!
要使用的效果标志的组合。
Entity Scripts简体中文 (vscripts) <scriptlist> | 脚本列表 (存在于自 Left 4 Dead 2 以来)
在所有实体生成后执行的 VScript简体中文 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
Thinker Function简体中文 (thinkfunction) <string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来)
此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
Lag Compensation (LagCompensate) <boolean> | 布尔值 (存在于自 Left 4 Dead 2 以来) 不存在于FGD!
设置为以延迟补偿此实体。应该非常谨慎地使用!
Is Automatic-Aim Target (is_autoaim_target) <boolean> | 布尔值 (in all games since Counter-Strike: Global Offensive) 不存在于FGD!
如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。


输入

SetSpeakerName <targetname>
设置 info_target 实体名,当麦克风接受声音的时候会播放在此处。

EnableDisable/启动禁用:

Enable
Disable
启动/禁用此实体所具备的效果。同样会使实体消失。

Base:
AddContext<string简体中文> | 字符串
添加到实体的 Response Contexts/响应上下文列表。格式是<key>:<value>
AddOutput<string简体中文> | 字符串
在此实体上分配新的键值/输出。对于键值,有些依赖于额外的必要代码来运行,如果它只是通过这个输入改变就行不通。必须遵循严格的格式:
语法:

ClearContext
从此实体的列表中删除所有上下文。
ClearParent
从移动层次结构中删除该实体,使其可以自由移动。
FireUser1FireUser4
触发相应的OnUser输出;详见 User Inputs and OutputsEnglish
Kill
从这个世界中删除此实体。
KillHierarchy
功能类似Kill,尽管此实体与其父实体都被删除了,但比Kill快一点。
RemoveContext
从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent<string简体中文> | 字符串
跟随此实体移动,详见 实体层级(依赖关系)
SetParentAttachment<string简体中文> | 字符串
更改此实体到其父级上的特定附属English点。实体将传送,以至于其骨骼方位English与附属匹配。在使用此输入前必须设置好实体的父实体。
SetParentAttachmentMaintainOffset<string简体中文> | 字符串
同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
Use 不存在于FGD!
与调用 +use English 的玩家相同[玩家按 +use(使用,默认E按钮)];大多数情况下没有影响。
DispatchResponse<string简体中文> | 字符串 不存在于FGD!
向实体发送一个上下文。 详见 ResponseEnglishConceptEnglish.
DispatchEffect<string简体中文> | 字符串 (自从 Left 4 Dead移除) 不存在于FGD!
在实体的原点坐标设置一个特定效果;参见 List of Client EffectsEnglish。自从Left 4 Dead Left 4 Dead后由粒子系统取代。
RunScriptFile<script> | 脚本 (存在于自 Left 4 Dead 2 以来)
从硬盘执行一个 VScript 脚本文件,不带文件后缀名。会合并接收实体的脚本域。
RunScriptCode<string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来)
在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Icon-Bug.pngBug:在 Hammer 中,使用带有字符串的参数会破坏 VMFEnglish 文件的结构,使下一个 Hammer 会话无法查看该文件。
Fix: 使用文本编辑器手动删除带有字符串的参数。
CallScriptFunction<string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来) 不存在于FGD!
在接受实体脚本域上执行一段 VScript 函数。
SetLocalOrigin<coordinates> (存在于自 Alien Swarm 以来) 不存在于FGD!
将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
SetLocalAngles<angles> (存在于自 Alien Swarm 以来) 不存在于FGD!
设置该实体的角度。

输出

SoundLevel <浮点型>
在度量模式,每当soundlevel改变都会触发。
OnRoutedSound
每当声音通过一个指定的扬声器时都会触发。(如果有).
OnHeardSound
每当扬声器听到一个自己关心的声音时都会触发。

Base/基础:

OnUser1OnUser4
这些输出将分别响应于 FireUser1FireUser4 输入。 详见 User Inputs and Outputs
OnKilled (only in Left 4 Dead series)
当实体被Kill输入时响应此输出。