Ответом является простая в использовании функция user_has_weapon, которая проверяет если у игрока определенное оружие.
Обратите внимание, что идет проверка именно на наличии в инвентаре, а не какое в данный момент оружие находится у игрока в руках.
Инфо из amxmodx.inc:
/* Returns if the player has the weapon or not in their pev->weapons field.
set "setweapon" to 0 to turn the bit off, set to 1 to turn it on. */
native user_has_weapon(index,weapon,setweapon=-1);
Синтаксис:
user_has_weapon(index,weapon,setweapon=-1)
- index - Айди игрока
- weapon - Айди оружия:
/* Id of weapons in CS */
#define CSW_P228 1
#define CSW_SCOUT 3
#define CSW_HEGRENADE 4
#define CSW_XM1014 5
#define CSW_C4 6
#define CSW_MAC10 7
#define CSW_AUG 8
#define CSW_SMOKEGRENADE 9
#define CSW_ELITE 10
#define CSW_FIVESEVEN 11
#define CSW_UMP45 12
#define CSW_SG550 13
#define CSW_GALI 14
#define CSW_GALIL 14
#define CSW_FAMAS 15
#define CSW_USP 16
#define CSW_GLOCK18 17
#define CSW_AWP 18
#define CSW_MP5NAVY 19
#define CSW_M249 20
#define CSW_M3 21
#define CSW_M4A1 22
#define CSW_TMP 23
#define CSW_G3SG1 24
#define CSW_FLASHBANG 25
#define CSW_DEAGLE 26
#define CSW_SG552 27
#define CSW_AK47 28
#define CSW_KNIFE 29
#define CSW_P90 30
#define CSW_VEST 31
#define CSW_VESTHELM 32 - setweapon=-1 - Можно поставить флаг что у игрок оружие есть, хотя на самом деле его нет и на оборот.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[amxmodx.inc] user_has_weapon"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /has_usp","f_has_weapon")
}
public f_has_weapon(id){
client_print(id,print_chat,"You have usp? %s",user_has_weapon(id,CSW_USP) ? "Yes" : "No")
}
Описание:
В данном примере есть команда say /has_usp, которая вызывает функцию f_has_weapon, в теле которой мы выводим сообщение в чат игроку, воспользовавшись тернарной условной операцией и функцией user_has_weapon, в которой проверяли если у игрока USP или нет.
Думаю вам и без объяснений понятно как получить другой тип оружия у игрока.