冰河 发表于 2008-3-24 09:27:24

有几个函数问题请教

set_user_armor给与玩家的是没有头盔的夹,AMXX里有发带头盔的函数吗。
cs_set_weapon_ammo此函数再1.5下没效果,不知道AMXX是否有其他函数可以再1.5下设置玩家弹药。

Osker Lee 发表于 2008-3-24 21:22:06

回复: 有几个函数问题请教

注意,cs_set_user_bpammo这个函数只支持CS1.6而不支持CS1.5。以AK-47为例,要想赋予其90发弹药,在CS1.6里代码可以这样写:
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id,CSW_AK47,90)
而在CS1.5里代码则需要这样写:
give_item(id, "weapon_ak47");
give_item( id, "ammo_762nato");
give_item( id, "ammo_762nato");
give_item( id, "ammo_762nato");

// 写上三个give_item( id, "ammo_762nato");就行了,多写几个是无效的,仍旧还是90发弹药,因为AK-47最多只有90发弹药,而不可能出现120发或者更多。另外,这个ammo_762nato也不是一成不变的,视枪械而定,如M4就不是这个了,而是ammo_556nato
这些支持CS1.5的代码也可以用于CS1.6,但CS1.6的代码就不能支持CS1.5了。

jim_yang 发表于 2008-3-24 11:22:15

回复: 有几个函数问题请教

cs_set_user_armor ( index, armorvalue, CsArmorType:armortype )
CS_ARMOR_NONE = 0, // no armor
CS_ARMOR_KEVLAR = 1, // armor
CS_ARMOR_VESTHELM = 2 // armor and helmet

第二个问题可能有两种情况,一是你没用对,二是不支持1.5
这个函数是设置枪里的子弹,所以那个id应该是枪的id,如果你用对了那就是第二种情况了。

冰河 发表于 2008-3-24 20:24:56

回复: 有几个函数问题请教

2楼的谢谢你,我自己说错了不好意思,是cs_set_user_bpammo这个函数。

冰河 发表于 2008-3-25 12:50:51

回复: 有几个函数问题请教

Oker 这个ammo_762nato枪支代码那里查。

jim_yang 发表于 2008-3-25 13:51:57

回复: 有几个函数问题请教

http://wiki.amxmodx.org/CS_Weapons_Information

jim_yang 发表于 2008-3-25 15:16:35

回复: 有几个函数问题请教

因为cstrike_amxx.dll这个模块是通过直接往内存写数据实现的,所以有些函数因为cs版本而造成了内存地址偏移量的不同,所以你从那个地址读、写数据就会产生错误,1.76d在1.5下还算凑合,顶多就是部分函数不能用,而1.80在1.5下就会出现一进游戏就挂的情况。

jim_yang 发表于 2008-3-25 15:18:35

回复: 有几个函数问题请教

如果你非要用这些函数也可以,就是找出对应的偏移量就行了,这样就可以实现比如让后背子弹大于规定数目的情况,比如让awp拥有200发子弹。

Osker Lee 发表于 2008-3-25 18:29:13

回复: 有几个函数问题请教

CS1.5确实很难改变其枪械的最大弹药量,不过CS1.6就简单了,例如:cs_set_user_bpammo(id,CSW_AK47,90) 其实里面的数字可以任意修改:30,90,120,300...... 改成多少对应枪械的弹药量就有多少,完全可以突破90发的限制。

Osker Lee 发表于 2008-3-25 18:32:42

回复: 有几个函数问题请教

CS1.5确实很难改变其枪械的最大弹药量,不过CS1.6就简单了,例如:cs_set_user_bpammo(id,CSW_AK47,90) 其实里面的数字可以任意修改:30,90,120,300...... 改成多少对应枪械的弹药量就有多少,完全可以突破90发的限制。
页: [1]
查看完整版本: 有几个函数问题请教