Инфо из amxmodx.inc:
/**
* Returns the weapon id, otherwise 0 when no id found.
* The weapon name is case sensitive, and has the weapon_* form.
*/
native get_weaponid(const name[]);
Синтаксис:
get_weaponid(const name[])
- const name[]) - имя оружия в виде weapon_*
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[amxmodx.inc] admins_push"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_srvcmd("wpn_id","wpn_id")
}
public wpn_id(){
new id = get_weaponid("weapon_awp")
server_print("weaponid[%d]",id)
}
не очень интересная для меня функция, по этому пример такой же :)
выполнив в консоли сервера команду wpn_id будет получен id оружя awp и выведен результат в консоль.Можете поменять awp скажем на usp и убедиться в правильности полученных данных посмотрев в таблицу оружия.
Описание:
А вот пример использования из GunGame мода:
// takes a weapon from a player efficiently
stock ham_strip_weapon(id,weapon[])
{
if(!equal(weapon,"weapon_",7)) return 0;
new wId = get_weaponid(weapon);
if(!wId) return 0;
new wEnt;
while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
if(!wEnt) return 0;
if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);
if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0;
ExecuteHamB(Ham_Item_Kill,wEnt);
set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId));
if(wId == CSW_C4)
{
cs_set_user_plant(id,0,0);
cs_set_user_bpammo(id,CSW_C4,0);
}
else if(wId == CSW_SMOKEGRENADE || wId == CSW_FLASHBANG || wId == CSW_HEGRENADE)
cs_set_user_bpammo(id,wId,0);
return 1;
}
Или функция, по типу , которая выдает оружие по номеру ( CSW_* ) ?