在插件中修改子彈量...

Home Home
引用 | 編輯 freeze02468
2013-12-29 20:49
樓主
推文 x0
這個問題小弟急需解決!!
小弟在此懇求各位大大的幫忙!!表情    


能不能修改插件中的子彈量?


小弟已經從從昨晚一直搞到現在了...


但是就是不知道怎麼弄...也參考過其他的插件...


小弟看了一下...插件裡似乎已經寫好了可以改子彈量的指令!?


但是卻沒有可以設定的地方...
如果有大大會的話幫小弟加上指令或教教小弟吧!!表情

本帖包含附件
檔名: zip MG3.rar   (2022-06-09 14:21 / 5 KB)   下載次數:3 需要威望:30


獻花 x0
引用 | 編輯 adi37545vfg
2013-12-29 22:22
1樓
  
cvar_clip = register_cvar("MG3_clip", "200") 這行嗎0.0? 43行 200改其他的
cs_set_user_bpammo(id, CSW_M249, 200) 這備彈 92行

獻花 x0
引用 | 編輯 freeze02468
2013-12-29 22:53
2樓
  
下面是引用 adi37545vfg 於 2013-12-29 22:22 發表的 : 到引言文
cvar_clip = register_cvar("MG3_clip", "200") 這行嗎0.0? 43行 200改其他的
cs_set_user_bpammo(id, CSW_M249, 200) 這備彈 92行



對不起大大...


我上傳錯了檔案...


43那是小弟之前加上去的...


現在已經重新上傳!!

獻花 x0
引用 | 編輯 andyt0621
2013-12-29 23:18
3樓
  
修改子彈量應該是用cstrike的
cs_set_weapon_ammo(index, newammo);

獻花 x1
引用 | 編輯 freeze02468
2013-12-30 00:04
4樓
  
下面是引用 andyt0621 於 2013-12-29 23:18 發表的 : 到引言文
修改子彈量應該是用cstrike的
cs_set_weapon_ammo(index, newammo);



那請問大大要加在哪一個部份呢?表情


還有index是代表?

獻花 x0
引用 | 編輯 弒血
2013-12-30 00:46
5樓
  
下面是引用 freeze02468 於 2013-12-30 00:04 發表的 : 到引言文




那請問大大要加在哪一個部份呢?表情


還有index是代表?



就如同andy大說的
修改子彈量應該是用cstrike的
cs_set_weapon_ammo(index, newammo);


index //玩家的編號
newammo //子彈量..

獻花 x1
引用 | 編輯 freeze02468
2013-12-30 00:56
6樓
  
下面是引用 s8720419 於 2013-12-30 00:46 發表的 : 到引言文




就如同andy大說的
修改子彈量應該是用cstrike的
cs_set_weapon_ammo(index, newammo);


index //玩家的編號
newammo //子彈量..



原來index 是代表玩家的編號阿...謝謝大大!表情


不過...雖然是知道意思了...但都不知道怎麼改...因為小弟都不懂怎麼寫插件...表情

獻花 x0
引用 | 編輯 andyt0621
2013-12-30 11:00
7樓
  
cs_set_weapon_ammo的index應該是weapon entity id才對 =.=

獻花 x0
引用 | 編輯 freeze02468
2013-12-30 12:15
8樓
  
下面是引用 andyt0621 於 2013-12-30 11:00 發表的 : 到引言文
cs_set_weapon_ammo的index應該是weapon entity id才對 =.=



請問大大可以再多給小弟一些提提示嗎?


小弟完全不知道該從何下手...

獻花 x0
引用 | 編輯 a7811311622
2013-12-30 15:08
9樓
  
下面是引用 freeze02468 於 2013-12-30 12:15 發表的 : 到引言文




請問大大可以再多給小弟一些提提示嗎?


小弟完全不知道該從何下手...
下面所有的武器物件ID都宣告成 weap_ent

<engine>
複製程式
find_ent_by_owner(iIndex, const szClass[], iOwner, iJghgType=0)
使用方法:
weap_ent = fm_find_ent_by_owner(-1, "weapon_m4a1", id)

<fakemeta>
複製程式
stock fm_find_ent_by_owner(entity, const classname[], owner)
{
    while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && (pev(entity, pev_owner) != owner)) {}
    
    return entity;
}
使用方法:
weap_ent = fm_find_ent_by_owner(-1, "weapon_m4a1", id)

<hamsandwich>
複製程式
get_pdata_cbase(id, 373, 5)
使用方法:
if (get_user_weapon(id) == CSW_M4A1)
weap_ent = get_pdata_cbase(id, 373, 5)

例如:
cs_set_weapon_ammo(weap_ent, 30)

find_ent_by_owner 是用在判斷玩家「擁有」…
例如我有M4A1但是我目前可能是拿著小刀、手榴彈這類其他武器…
get_pdata_cbase(id, 373, 5) 則是判斷玩家「持著」…
get_user_weapon(id) 是判斷玩家的武器ID…
get_pdata_cbase(id, 373, 5) 就是判斷玩家目前手上持有的武器物件ID…
不過用到武器物件ID的話通常還是要用 pev_valid(weap_ent) 或是 is_valid_ent(weap_ent) 來過濾…
不然CS多開幾次你會看到你的 cstrike\addons\amxmodx\logs 裡面一堆 error …

獻花 x2
引用 | 編輯 freeze02468
2013-12-30 16:05
10樓
  
下面是引用 a7811311622 於 2013-12-30 15:08 發表的 : 到引言文

下面所有的武器物件ID都宣告成 weap_ent

<engine>
[code]
.......


a78大大您好~表情 謝謝大大您的回覆!!
小弟目前在上C++...偷偷上論壇表情

請問大大插件裡面是不是已經寫好了?

大大寫的指令裡面都有...

不過為何森之千手大大沒將子彈修改的選項列出來呢...

獻花 x0
引用 | 編輯 a7811311622
2013-12-30 16:45
11樓
  
下面是引用 freeze02468 於 2013-12-30 16:05 發表的 : 到引言文
 

a78大大您好~表情   謝謝大大您的回覆!!
小弟目前在上C++...偷偷上論壇表情  

請問大大插件裡面是不是已經寫好了?

大大寫的指令裡面都有...

不過為何森之千手大大沒將子彈修改的選項列出來呢...
不知道…大概忘了?
反正這年頭一堆人都用NST的加槍插件了…
大概也沒人在意這小事了…

獻花 x0
引用 | 編輯 freeze02468
2013-12-30 20:40
12樓
  
下面是引用 a7811311622 於 2013-12-30 16:45 發表的 : 到引言文

不知道…大概忘了?
反正這年頭一堆人都用NST的加槍插件了…
大概也沒人在意這小事了…



a78大大好...小弟真的不是有意要一直煩你的...希望你不要介意...


從剛開始到現在不知道問了幾百次了...


小弟加了大大之前所發的改SPR的教學文後...


https://forums.alliedmods.net/showthread.php?t=175632


發生了不可思議的現象...

出了點小差錯..

只有買了MG3之後SPR會是顯示M249的...


其餘的狀況都正常...請問是少加了什麼指令嗎?...還是...因為寫法不同的關係?





然後還有另一個問題...表情


就是當手上有了MG3之後再買會出現"你已經擁有此武器"


但錢會扣...(坑爹阿...)


能請問大大是哪裡出錯了嗎?

本帖包含附件
檔名: zip zp_extra_mg3_xmas.rar   (2022-06-09 14:21 / 5 KB)   下載次數:1 需要威望:85


獻花 x0
引用 | 編輯 a7811311622
2013-12-30 23:00
13樓
  
下面是引用 freeze02468 於 2013-12-30 20:40 發表的 : 到引言文




a78大大好...小弟真的不是有意要一直煩你的...希望你不要介意...


從剛開始到現在不知道問了幾百次了...


小弟加了大大之前所發的改SPR的教學文後...


https://forums.alliedmods.net/showthread.php?t=175632


發生了不可思議的現象...

出了點小差錯..

只有買了MG3之後SPR會是顯示M249的...


其餘的狀況都正常...請問是少加了什麼指令嗎?...還是...因為寫法不同的關係?


[attachment=832845]


然後還有另一個問題...表情  


就是當手上有了MG3之後再買會出現"你已經擁有此武器"


但錢會扣...(坑爹阿...)


能請問大大是哪裡出錯了嗎?
AlliedModders那篇不是我發的…我只是給連結而已…||= =

SPR顯示的內容是根據你自訂的武器名稱…
例如那篇的 weapon_ArkFlare
你就要到 cstrike\sprites 裡面新增個 weapon_ArkFlare.txt …然後裡面寫上想讀取的圖案…
像你上傳的檔案就是新增個 weapon_mg3.txt …

扣錢的問題…看你是4.2還是4.3…
4.3才行的方法…zp_extra_item_selected 裡的內容改成:
複製程式
public zp_extra_item_selected(id, itemid)
{
    if(itemid == g_itemid_mg3)
    {
        if (g_has_mg3[id])
        {
            client_print(id, print_center, "你已經擁有此武器")
            return ZP_PLUGIN_HANDLED; // ZP自訂的回傳值,效果就自讓子彈包自己加回去
        }
        drop_weapons(id, 1);
        new iWep2 = give_item(id,"weapon_m249")
        if( iWep2 > 0 )
        {
            cs_set_weapon_ammo( iWep2, get_pcvar_num(cvar_clip_mg3) )
            cs_set_user_bpammo (id, CSW_M249, get_pcvar_num(cvar_mg3_ammo))
        }
        g_has_mg3[id] = true;
    }
    return 1;
}
4.2和4.3互通的改法:
複製程式
public zp_extra_item_selected(id, itemid)
{
    if(itemid == g_itemid_mg3)
    {
        if (g_has_mg3[id])
        {
            zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + g_item_cost) // 扣除掉就自己加回去,g_item_cost 就是這道具的價格
            client_print(id, print_center, "你已經擁有此武器")
            return;
        }
        drop_weapons(id, 1);
        new iWep2 = give_item(id,"weapon_m249")
        if( iWep2 > 0 )
        {
            cs_set_weapon_ammo( iWep2, get_pcvar_num(cvar_clip_mg3) )
            cs_set_user_bpammo (id, CSW_M249, get_pcvar_num(cvar_mg3_ammo))
        }
        g_has_mg3[id] = true;
    }
}


獻花 x1
引用 | 編輯 freeze02468
2013-12-30 23:57
14樓
  
下面是引用 a7811311622 於 2013-12-30 23:00 發表的 : 到引言文

AlliedModders那篇不是我發的…我只是給連結而已…||= =
SPR顯示的內容是根據你自訂的武器名稱…
例如那篇的 weapon_ArkFlare
你就要到 cstrike\sprites 裡面新增個 weapon_ArkFlare.txt …然後裡面寫上想讀取的圖案…
.......



大大您好~表情   對不起小弟講的不夠詳細...


小弟之前已經有在sprites裡新增了weapon_mg3.txt


之前用史萊姆大大的插件是正常的...


用了現在這個插件就有這個問題...買的時候SPR是M249的


然後把MG3丟棄後再撿起來的SPR卻是正常(MG3)的...


就是只有買的時候SPR會變成M249...其他情況都正常顯示這樣


現在就只差這個問題了! 真的要萬事拜託大大了!! 現在小弟也只能靠您了表情
扣錢的問題解決了!! 真的很謝謝a78大大!!表情  

獻花 x0
引用 | 編輯 a7811311622
2013-12-31 09:14
15樓
  
下面是引用 freeze02468 於 2013-12-30 23:57 發表的 : 到引言文




大大您好~表情     對不起小弟講的不夠詳細...


小弟之前已經有在sprites裡新增了weapon_mg3.txt


之前用史萊姆大大的插件是正常的...


用了現在這個插件就有這個問題...買的時候SPR是M249的


然後把MG3丟棄後再撿起來的SPR卻是正常(MG3)的...


就是只有買的時候SPR會變成M249...其他情況都正常顯示這樣


現在就只差這個問題了! 真的要萬事拜託大大了!! 現在小弟也只能靠您了表情
扣錢的問題解決了!! 真的很謝謝a78大大!!表情    
那就…嘗試將 MsgIndexWeaponList 的內容丟進 zp_extra_item_selected 試試?

獻花 x0
引用 | 編輯 freeze02468
2013-12-31 14:09
16樓
  
下面是引用 a7811311622 於 2013-12-31 09:14 發表的 : 到引言文

那就…嘗試將 MsgIndexWeaponList 的內容丟進 zp_extra_item_selected 試試?



大大您好~表情


小弟在經過了不斷的嘗試之後...


發現竟然只要將 g_has_mg3[id] = true; 這段移到 drop_weapons(id, 1); 下面就正常了...


問題終於都解決了表情


真的很謝謝大大的幫忙!!表情

獻花 x0