闪点突击队 发表于 2015-7-18 19:13:46

大神请进,关于在闪点行动上实现M1加兰德步枪最后一发子弹主动提醒音效的办法

目前在捣鼓加兰德步枪插件,但是有一个效果不知道该怎么实现,就是最后一发子弹加兰德标志性的砰的的一声提示音。

描述性语句应该是当 玩家射击到最后一发子弹,触发指定音效,一次性。

但是我不知道该怎么描述这个cpp定义。

另外或许可以用脚本实现,写一个 检测弹夹内剩余弹药的脚本,当剩余弹药为0时,触发一次性音效;

但第二种方法无法解决当玩家首次捡到没有弹药的M1时,就会听到砰的一声,这显然不合理。




另外就算是脚本,我也不知道该怎么写。、唉~~~~~~~~~

又被狙掉了 发表于 2016-1-7 15:34:04

拿枪的 addeventhandler ["fired",{_this exec "m1garandbilibili.sqs"}]

m1garandbilibili.sqs:
_unit = _this select 0
_muzzle = _this select 2
? (_muzzle != "M1Garand(总之就是那把M1的代码啦)") : exit
? (_unit ammo _muzzle > 0) : exit
?!(alive _unit) : exit
_unit say "喷弹夹音效名"
exit

脚本的路径……这种是脚本放进任务根目录的形式,脚本在插件里的话那就是"\MyM1Garand\m1garandbilibili.sqs"
sqs都可以用记事本打开,txt文件把.txt后缀名改成.sqs就能直接用了

如果没有现成的喷弹夹音效,那只好自己写进config.cpp里了(插件是插件文件夹里的config;mod的话在mod目录中bin文件夹里。文件后缀名主要是cpp,用记事本打开就行。当然也有用.bin的,后者不能直接打开,ofpr.info上有binviewer可以打开和导出成cpp)
至于喷弹夹音效怎么放进去,cfgSounds应该知道怎么搞了吧?config.cpp里的cfgSounds,在其后的大括号里加上
        class 喷弹夹音效名
        {
                name = "M1 Garand bilibili";
                sound[] = {喷弹夹音效路径,类似"\MyM1Garand\bilibili.ogg", db+30(音量大小自己试验), 1.0};
                titles[]={任务编辑器里显示的音效名,可以为空};
        };
页: [1]
查看完整版本: 大神请进,关于在闪点行动上实现M1加兰德步枪最后一发子弹主动提醒音效的办法