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

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