Blood-game > amxmodx.inc > get_user_weapons Функция получает список оружия игрока.


get_user_weapons Функция получает список оружия игрока. Скачать sma amxx


Функция get_user_weapon получает оружие находящееся в руках игрока, а если вам необходимо получить все оружие игрока, то воспользуйтесь функцией get_user_weapons, она получает полный список оружия игрока.


Инфо из amxmodx.inc:

/* Returns all carried weapons as bit sum. Gets
 *  also theirs indexes.
 * Note that num is incremental - if you pass 0, you get
 *  32 weapons towards the total.  Afterwards, num will 
 *  will contain the number of weapons retrieved.
 * However, subsequent calls to get_user_weapons() will
 *  return the next batch of weapons, in case the mod 
 *  supports more than 32 weapons.
 * This means to call get_user_weapons() on the same
 *  inputs twice, you must reset num to 0 to get the
 *  original output again.
 */
native get_user_weapons(index,weapons[32],&num);

Синтаксис:
get_user_weapons(index,weapons[32],&num)
index - id игрока
weapons[32] - массив для записи id орудий игрока
&num - количество орудий игрока


Тип функции:
Native

Пример:

/* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <amxmisc>
 
#define PLUGIN "[amxmodx.inc] get_user_weapons"
#define VERSION "1.0"
#define AUTHOR "Admin"
 
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
     
    register_clcmd("say /get_weapons","get_my_weapons")
 
}
public get_my_weapons(id){
 
    new Weapons[32] 
    new numWeapons, i, weapon 
    get_user_weapons(id, Weapons, numWeapons) 
     
    client_print(id,print_chat,"numWeapons[%d]",numWeapons)
     
    for (i=0; i<numWeapons; i++){ 
         
        weapon = Weapons 
        client_print(id,print_chat,"weapon[%d]",weapon)
         
    }
     
}
Описание:
Основная разница с функцией get_user_weapon в том, что get_user_weapons получает список всего оружия игрока и сохраняет их в массив и общее количество.
По этому для вывода всех id пушек в чат, пришлось воспользоваться циклом.


Внимание! При повторном использовании нативы с инициализированными ранее аргументами необходимо предварительно обнулять переменную, хранящую число оружий у игрока, иначе результаты будут неверными (см. строку 10):

#include <amxmodx>
 
public plugin_init() {
    register_plugin("Weapons  Enemy Gold", "1.1", "Valer4")
    register_clcmd("test", "test")
}
 
public test(id) {
    static weapons[32], num, i
    num = 0
    get_user_weapons(id, weapons, num)
    for(i = 0; i < num; i ++)
    client_print(id, print_console, "%d",  weapons)
}






© SAnTA 2017

Яндекс.Метрика

Меню:
Новости: