设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 549|回复: 2

[求助] 怎么给僵尸添加特殊声音? [复制链接]

Rank: 7Rank: 7Rank: 7

帖子
429
精华
1
声望
1888 点
金币
244 Mold
被赞许
20 次
注册时间
2011-6-13

懒人勋章 可爱小猫

发表于 2011-10-11 21:44:35 |显示全部楼层
本帖最后由 无赖的僵尸 于 2011-10-11 21:57 编辑

请问怎么给单独的一种僵尸添加独立的攻击、死亡、受伤等的声音?
望高人把代码给发来 让小弟学习下 谢谢!fakemeta_util.inc     takket说这个可以做到 可是有点不明白 希望插件牛人解答下 感谢了
--------------------------------------------------------------------------------------------------------
这个僵尸插件里面带独立音效 可是不知道到底哪部分是关于独立音效的 望各位解答下!
由于文字过多只能上传网盘了 望各位牛人受累看下 谢谢!
http://down.qiannao.com/space/file/qiannao/share/2011/10/11/-5e26-72ec-7acb-97f3-6548-7684-50f5-5c38-7c7b-578b.sma/.page

使用道具 举报

Rank: 1

帖子
1
精华
0
声望
63 点
金币
14 Mold
被赞许
2 次
注册时间
2011-8-2
发表于 2011-10-11 22:44:58 |显示全部楼层
可能关联函数:
register_forward(FM_EmitSound, "fw_EmitSound")

engfunc(EngFunc_PrecacheSound,coffinexsound)
        precache_sound("zombie_plague/zombi_hurt_stamper_1.wav")
        precache_sound("zombie_plague/zombi_hurt_stamper_2.wav")
        precache_sound("zombie_plague/knife_slash1.wav")
        precache_sound("zombie_plague/knife_hitwall1.wav")
        precache_sound("zombie_plague/knife_hit1.wav")
        precache_sound("zombie_plague/knife_hit3.wav")
        precache_sound("zombie_plague/zombi_death_stamper_1.wav")
        precache_sound("zombie_plague/zombi_hurt_stamper_1.wav")

// Emit Sound Forward
public fw_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
     // 内容限定只对僵尸作用
     if (!is_user_connected(id) || !zp_get_user_zombie(id) || zp_get_user_zombie_class(id) != g_zclass_undertaker)
           return FMRES_IGNORED;
     
     // 僵尸被攻击的叫声
     if (equal(sample[7], "bhit", 4))
     {
           if (zp_get_user_nemesis(id))
                 engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/zombi_hurt_stamper_1.wav", volume, attn, flags, pitch)
           else
                 engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/zombi_hurt_stamper_2.wav", volume, attn, flags, pitch)
           return FMRES_SUPERCEDE;
     }
     
     // 僵尸用爪子攻击的声音
     if (equal(sample[8], "kni", 3))
     {
           if (equal(sample[14], "sla", 3)) // 爪子空挥的音效
           {
                 engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/knife_slash1.wav", volume, attn, flags, pitch)
                 return FMRES_SUPERCEDE;
           }
           if (equal(sample[14], "hit", 3)) // 爪子命中物体的音效
           {
                 if (sample[17] == 'w') // 爪子命中的是墙壁
                 {
                       engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/knife_hitwall1.wav", volume, attn, flags, pitch)
                       return FMRES_SUPERCEDE;
                 }
                 else // 爪子命中的是人物
                 {
                       engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/knife_hit1.wav", volume, attn, flags, pitch)
                       return FMRES_SUPERCEDE;
                 }
           }
           if (equal(sample[14], "sta", 3)) // 爪子重砍命中人物
           {
                 engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/knife_hit3.wav", volume, attn, flags, pitch)
                 return FMRES_SUPERCEDE;
           }
     }
     
     // 僵尸死亡的声音
     if (equal(sample[7], "die", 3) || equal(sample[7], "dea", 3))
     {
           engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/zombi_death_stamper_1.wav", volume, attn, flags, pitch)
           return FMRES_SUPERCEDE;
     }
     
     // 僵尸摔伤的声音
     if (equal(sample[10], "fall", 4))
     {
           engfunc(EngFunc_EmitSound, id, channel, "zombie_plague/zombi_hurt_stamper_1.wav", volume, attn, flags, pitch)
           return FMRES_SUPERCEDE;
     }

以上均为猜测部分,具体需要你自己去实践。我学了许久插件只能是猜出可能功能而不能写出来。
已有 2 人评分被赞许 收起 理由
无赖的僵尸 + 1 辛苦了
那个那个谁 + 1 赞一个!

总评分: 被赞许 + 2   查看全部评分

使用道具 举报

Rank: 2

帖子
72
精华
0
声望
321 点
金币
67 Mold
被赞许
0 次
注册时间
2011-1-4
发表于 2011-10-13 00:29:34 |显示全部楼层
樓上感覺好強大哦
以後論壇持續不登陸   對吧 對吧 ...

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部