广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 5715 个阅读者
 
<<   1   2  下页 >>(共 2 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
z2352671213
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
小人物
级别: 小人物 该用户目前不上站
推文 x10 鲜花 x47
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] 请问大大如何用AMXX修改武器开枪的声音
是这样的。

我想把黄金AK47开枪的声音改成M3霰弹枪开枪的声音。

于是我在插件里这么写道(只是sma的一部分):


复制程式
new const Fire_Sounds[][] = { "weapons/m3-1.wav" }
public plugin_init()
{
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ak47", "fw_scar_PrimaryAttack_Post", 1)
}
public fw_scar_PrimaryAttack_Post(Weapon)
{

    new id = get_pdata_cbase(Weapon, 41, 4)
    
    new szClip, szAmmo
    get_user_weapon(id, szClip, szAmmo)
    
    if(!is_user_alive(id))
        return

    if(g_HasAk[id] == true)          //如果玩家持有黄金AK,g_HasAk[玩家索引] 就是true。
    {
        if (!g_clip_ammo[id])
            return

        emit_sound(id, CHAN_WEAPON, Fire_Sounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

    }
}
public plugin_precache()
{
    for(new i = 0; i < sizeof Fire_Sounds; i++)
        precache_sound(Fire_Sounds[i])    
}



然而,我进入游戏,用黄金AK47开枪,发现声音还是AK47的声音,完全没有变成M3的声音,请问大大们,这是为什么呢?或者,请问大大们,如何才能用AMXX修改武器(如AK)开枪的声音呢?



献花 x0 回到顶端 [楼 主] From:欧洲 | Posted:2016-08-04 21:17 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 z2352671213 于 2016-08-04 21:17 发表的 请问大大如何用AMXX修改武器开枪的声音: 到引言文
是这样的。
我想把黄金AK47开枪的声音改成M3霰弹枪开枪的声音。
于是我在插件里这么写道(只是sma的一部分):

[code].......



用 register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1); 去注册


阻绝客户端上传开枪资料 就可以把声音给隔绝掉了..缺点 连traceattack的弹孔都会被阻绝..

[/pre]



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x1 回到顶端 [1 楼] From:台湾中华电信股份有限公司 | Posted:2016-08-05 00:04 |
z2352671213
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
小人物
级别: 小人物 该用户目前不上站
推文 x10 鲜花 x47
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

图 1.



下面是引用 s8720419 于 2016-08-05 00:04 发表的 : 到引言文




用 register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1); 去注册


阻绝客户端上传开枪资料 就可以把声音给隔绝掉了..缺点 连traceattack的弹孔都会被阻绝..

[/pre]


天哪。谢谢大大!表情我在alliedmodders上找了超多方法,全都没用,最后还是大大你的方法有用!

请问大大有重写弹孔的方法吗(虽然我已经加上激光特效所以无需弹孔也可以……


献花 x0 回到顶端 [2 楼] From:欧洲 | Posted:2016-08-05 14:21 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 z2352671213 于 2016-08-05 14:21 发表的 : 到引言文



天哪。谢谢大大!表情 我在alliedmodders上找了超多方法,全都没用,最后还是大大你的方法有用!

请问大大有重写弹孔的方法吗(虽然我已经加上激光特效所以无需弹孔也可以……



复制程式
static Float:aimOrigin[3]; //设法取得最终子弹座标..这边看你要用traceattack去弄 还是..什么方法取



engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, aimOrigin, 0)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord,aimOrigin[0])
engfunc(EngFunc_WriteCoord,aimOrigin[1])
engfunc(EngFunc_WriteCoord,aimOrigin[2])
write_byte(random_num(41, 45)) //HL弹孔特有的spr排列 41-45是弹孔
message_end()
 
engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, aimOrigin, 0)
write_byte(TE_GUNSHOTDECAL)
engfunc(EngFunc_WriteCoord,aimOrigin[0])
engfunc(EngFunc_WriteCoord,aimOrigin[1])
engfunc(EngFunc_WriteCoord,aimOrigin[2])
write_short(attacker) //使用者
write_byte(random_num(41, 45)) // HL弹孔特有的spr排列 41-45是弹孔
message_end()




目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [3 楼] From:台湾中华电信股份有限公司 | Posted:2016-08-05 19:16 |
z2352671213
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
小人物
级别: 小人物 该用户目前不上站
推文 x10 鲜花 x47
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 s8720419 于 2016-08-05 19:16 发表的 : 到引言文


[code]static Float:aimOrigin[3]; //设法取得最终子弹座标..这边看你要用traceattack去弄 还是..什么方法取

.......


大大,那个能把声音和弹孔都阻绝的东西,没办法阻绝子弹伤害。虽然开枪没有弹孔,但是被准星瞄准的人还是会受到子弹伤害,有没有办法把子弹伤害也隔绝掉?(像dias写的plasma gun那种枪那样,就把子弹伤害隔绝了,但是我没看懂他是怎么做到的。我试过    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage"),但是这东西有时候会不起作用……他用的也不是注册ham_takadamage的方法)。


[ 此文章被z2352671213在2016-08-05 23:13重新编辑 ]


献花 x0 回到顶端 [4 楼] From:欧洲 | Posted:2016-08-05 22:59 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

[hide=5]
下面是引用 z2352671213 于 2016-08-05 22:59 发表的 : 到引言文



大大,那个能把声音和弹孔都阻绝的东西,没办法阻绝子弹伤害。虽然开枪没有弹孔,但是被准星瞄准的人还是会受到子弹伤害,有没有办法把子弹伤害也隔绝掉。(像dias写的plasma gun那种枪那样,就把子弹伤害隔绝了,但是我没看懂他是怎么做到的。我试过    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage"),但是这东西有时候会不起作用……他用的也不是注册ham_takadamage的方法)。



复制程式
//这个虽然注册再控制台有效,不过也是对玩家有用BOT是不行的..
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") 

要用这段:↓

// 开场游戏登入时UI开始选单,选人物UI前的设定
public client_putinserver(id) 
{
 static  classname[32], bool:debug
 pev(id, pev_classname, classname, charsmax(classname))

 if(!equal(classname,"player") && !debug)
 {
 //主要是让非player以外的id套用此task..因为bot不接受player字串? 不知道为啥...
 set_task(1.0,"_Debug", id)
 //这边主要是阻绝效果 不要让他set_task过多..
 debug = true
 }
}

//非玩家的ID注册完毕后..就可以执行fw_TakeDamage这段..
public _Debug(id)
 RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")




[ 此文章被s8720419在2016-08-05 23:18重新编辑 ]



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [5 楼] From:台湾中华电信股份有限公司 | Posted:2016-08-05 23:11 |
z2352671213
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
小人物
级别: 小人物 该用户目前不上站
推文 x10 鲜花 x47
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 s8720419 于 2016-08-05 23:11 发表的 : 到引言文
[hide=5]

[code]//这个虽然注册再控制台有效,不过也是对玩家有用BOT是不行的..
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") 
.......


问题并没有解决。

因为那行 debug = true 的存在,所以插件编译出现了错误。我把那行删掉后,插件就能编译了,但是fw_takadamage对于BOT还是完全没有反应。


最后我用了另一种方法,就成功隔绝对BOT的子弹伤害了,详见私人讯息。表情  

我还有个问题。如果我想绘制一条laserbeam,起始点在我的origin位置,终止点在我枪口瞄准的origin位置,那是非常简单的。但如果我想绘制一条laserbeam,起始点在我的origin位置,方向与我枪口瞄准的方向相同,而laserbeam的长度由我自己定义(比如长度是500),我该如何做?

因为我正在写一个武器,能够自动探测并电击半径500以内的所有僵尸(这个我会写)。我想做成如果半径500以内没有任何僵尸,电流就沿着准星方向飞行500单位然后终止。却不知道(凭空飞行500单位的)该怎么写。


[ 此文章被z2352671213在2016-08-06 22:08重新编辑 ]


献花 x0 回到顶端 [6 楼] From:欧洲 | Posted:2016-08-06 21:38 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

对不起!您没有登入,请先登入论坛



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [7 楼] From:台湾中华电信股份有限公司 | Posted:2016-08-06 23:15 |
z2352671213
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
小人物
级别: 小人物 该用户目前不上站
推文 x10 鲜花 x47
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 s8720419 于 2016-08-06 23:15 发表的 : 到引言文
浏览此文章需要威望


谢谢大大,成功了,一条完美的长度 = 500 的电弧


不过我在编译的时候遇到了一些小问题。

复制程式
    new vec1[3], vec2[3],float:vec3[3]

    //我声明了三组变数
    //vec1 就是origin
    //vec3 就是aim的方向和长度
    //vec2 是vec3的整数形式,因为velocity_by_aim保存变数的形式是浮点数
    if(count == 0)    //如果探测到的僵尸数量为零
    {

        get_user_origin(id, vec1, 1)
        velocity_by_aim(id, 500, vec3)    //第691行
        for (new i;i<3;i++)
            vec2[i] = vec1[i] + floatround (vec3[i],floatround_round )   //第693行


        //以下的代码省略................

    }




这样子写,插件运行起来完全没有任何问题,也没有报错。可是编译的时候,编译器却给出了2个warning,说691和693行tag mismatch,请问这是为什么呢,我有什么地方写错了吗?表情
还有,如果声明了一个bool变数,如 new bool:check,然后判断的时候写成if(check == true),也会tag mismatch,但是写成if(check)或者if(check == 1)就不会,这是为什么呢?表情


献花 x0 回到顶端 [8 楼] From:欧洲 | Posted:2016-08-07 00:03 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

对不起!您没有登入,请先登入论坛



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [9 楼] From:台湾中华电信股份有限公司 | Posted:2016-08-07 00:21 |

<<   1   2  下页 >>(共 2 页)
首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.046324 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言