廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5703 個閱讀者
 
<<   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.064451 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言