SLAM放音乐原理(csgo)

csgo本身提供了一个voice_inputfromfile命令,如果该命令设置为1,将使语音输入来自voice_input.wav文件,而不是您的麦克风。

slam启动后会生成一个slam.cfg文件,该文件位置在C:\SteamLibrary\steamapps\common\Counter-Strike Global Offensive\csgo\cfg\slam.cfg,有几行重要内容:

alias slam_play slam_play_on
alias slam_play_on "alias slam_play slam_play_off; voice_inputfromfile 1; voice_loopback 1; +voicerecord"
alias slam_play_off "-voicerecord; voice_inputfromfile 0; voice_loopback 0; alias slam_play slam_play_on"
alias slam_updatecfg "host_writeconfig slam_relay"
bind X slam_play

alias 1 "bind = 1; slam_updatecfg; echo Loaded: AメFKDQW"
...
alias 5 "bind = 5; slam_updatecfg; echo Loaded: EメHq.jingdian4"
...

每次放音乐执行过程如下:

  1. exec slam
  2. la
  3. 选择音乐序号并执行,比如5
  4. csgo将配置写入slam_relay.cfg
    slam后台死循环读取到slam_relay.cfg,获取到当前想播放5号音乐,然后删除slam_relay.cfg
    slam将5号音乐覆盖为voice_input.wav
  5. 你按下x开始播放

SLAM就是通过把你要播放的文件覆盖为voice_input.wav来实现的。在csgo控制台执行要播放的音乐序号后,会把该序号设法保存到slam_relay.cfg中,slam循环读取该文件,负责将对应的音乐复制为voice_input.wav,然后删除slam_relay.cfg。

如何将序号传递出去呢?
slam读取的是bind = 5这行,执行5时,执行了一句bind = 5,这相当于把=绑定为5,这里的=就是slam设置中的relay_key。

posted @ 2022-10-07 21:56  王冰冰  阅读(318)  评论(0编辑  收藏  举报