Инфо из amxmodx.inc:
/* Returns id of currently carried weapon. Gets also
* ammount of ammo in clip and backpack. */
native get_user_weapon(index,&clip=0,&ammo=0);
Синтаксис:
get_user_weapon(index,&clip=0,&ammo=0)
- index - id игрока
- &clip=0 - Количество патронов в магазине
- &ammo=0 - Количество патронов в запасе
CS Weapon Constants:
CSW_P228 1
CSW_SCOUT 3
CSW_HEGRENADE 4
CSW_XM1014 5
CSW_C4 6
CSW_MAC10 7
CSW_AUG 8
CSW_SMOKEGRENADE 9
CSW_ELITE 10
CSW_FIVESEVEN 11
CSW_UMP45 12
CSW_SG550 13
CSW_GALIL 14
CSW_FAMAS 15
CSW_USP 16
CSW_GLOCK18 17
CSW_AWP 18
CSW_MP5NAVY 19
CSW_M249 20
CSW_M3 21
CSW_M4A1 22
CSW_TMP 23
CSW_G3SG1 24
CSW_FLASHBANG 25
CSW_DEAGLE 26
CSW_SG552 27
CSW_AK47 28
CSW_KNIFE 29
CSW_P90 30
CSW_VEST 31
CSW_VESTHELM 32
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[amxmodx.inc] get_user_weapon"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /get_weapon","get_my_weapon")
}
public get_my_weapon(id){
new clip,ammo
new weapon = get_user_weapon(id,clip,ammo)
client_print(id,print_chat,"weapon[%d][%d][%d]",weapon,clip,ammo)
}
Описание:
Функция get_user_weapon возвращает не только айди оружия, но и количество патронов в магазине и запасе.
В данном примере игроку который выполнит команду say /get_weapon будет выведено сообщение с id оружия которое у него в руках и количество патронов.
Но есть исключение, когда в прошлом раунде у него была бомба и он её не скинул до начала нового раунда. Тогда он респавнится с лучшим оружием, то есть с автоматом или пистолетом, хотя перед началом нового раунда у него был нож.
И в этом случае функция возвращает неверный результат, она возвращает, что у него, нож, когда на самом деле АК47!
get_pdata_int(get_pdata_cbase(id, 373, 5), 43, 4) возвращает верное значение.