【求生之路2】爆头音效插件

看到嘤猫评论区下面有人给出了爆头音效插件的网址,恰好群友也希望我能为服务器加一个爆头音效插件,于是,我就找到了网址中的插件,并给插件稍微添加了一点新功能
Description:
该插件能够提供个性化爆头音效,客户端能够自行决定是否开启音效,并且能自定义音效。服务器将记录音效,并在玩家每次进入时自动加载。自定义音效来源于服务器提供的菜单,或自行修改cookie。
Requirements:
sourcemod1.10 (sourcemod1.9未测试)
Installation:
将插件源码保存为DingShotSound.sp,并编译成插件(如何编译详见本人其他专栏)
将编译好的插件放入 ./addons/sourcemod/plugins
新建 dingshotsounds.txt ,并输入内容
将 dingshotsounds.txt 放入 ./addons/sourcemod/configs
如果运行正常,可以考虑删除源码中的调试部分并重新编译以稍微优化插件(可选)
CVAR:
dingshot_default - 默认爆头音效文件路径
dingshot_status - 默认爆头开关
dingshot_debug - 调试模式开关
CMD:
sm_yinxiao - 爆头音效开关
sm_yinxiaomenu - 爆头音效选择菜单
sm_yinxiaomeun - 爆头音效选择菜单
Questions :
Q:我觉得这个聊天框命令太复杂了,怎么换一个简单一点的呢?
A:CreateConVar 后面的第一个参数设置的就是命令的形式,你可以修改这个命令为你想要的命令。
Q:我该如何添加更多音效以供客户端选择?
A:模仿txt文件前面的示例,修改双引号内的路径和名称,选择服务器 \left4dead2\sound 内的音频文件,或者是自己添加的第三方音频。不过请确保客户端有这个音频,并在插件的OnMapStart 部分仿照例子加载音频。
Q:音效开关可以设置成默认开启吗?
A:可以,音效开关默认为关闭,你可以设置成开启。通过dingshot_status这个参数设置。
Q:我想要更多自定义设置,比如分别为特感和小僵尸制作爆头音效和开关?
A:虽然我已经实现了这个功能,但考虑到这个功能需要太多额外的代码,另开一个插件来管理会更加合理,所以我并不会在这个插件里实现这个功能。
To Do:
未来可能会引入sql
未来可能会修复tank的错误音效问题
Special Thanks:
感谢热心的群友,是他们我才会有想法和动力去写这么一个插件。非常感谢!
Code:
TXT:
参考文档:
[1] Left 4 Dead 2 Events - AlliedModders Wiki (alliedmods.net)
https://wiki.alliedmods.net/Left_4_Dead_2_Events
[2] Client Preferences API (SourceMod) - AlliedModders Wiki (alliedmods.net)
https://wiki.alliedmods.net/Client_Preferences_API_(SourceMod)
[3] L4D2: Dingshot. Headshot Ding. Killshot DING. - AlliedModders (alliedmods.net)
https://forums.alliedmods.net/showthread.php?t=293719&highlight=Dingshot
[4] [Tutorial] ClientPrefs - AlliedModders (alliedmods.net)
https://forums.alliedmods.net/showthread.php?t=228244&page=1
[5] L4D2-Competitive-Rework/match_vote.sp at master · SirPlease/L4D2-Competitive-Rework · GitHub
https://github.com/SirPlease/L4D2-Competitive-Rework/blob/master/addons/sourcemod/scripting/match_vote.sp