// Inc. BackPack

/* ================================================================
		-=-=-=-=-=-=-=-= [BackPack API] -=-=-=-=-=-=-=-=
		
		Если вы используете плагин "BackPack System", вам может понадобится данное API!
		
		В данное API входят такие функции как:
		Регистрация кастомного айтема
		Установка нового айди для оружия
		Установка Деталей
		Использование вещи из инвентаря
		Добавление вещей в инвентарь
		
		Возможность проверить: кастомный айтем или нет ( кастомный - тот что зарегистрирован через натив, а не через INI )
		Получение общего кол-ва предметов
		Получение айди предмета
		Получение айди предмета в инвентаре
		Получение деталей игрока
		Получение кол-ва занятых слотов в рюкзаке игрока
		
		Желаю удачи в использовании! 
		Все нативы выписаны ниже

================================================================*/

// Натив для регистрации кастомного айтема
// Аргументы: szSpecialId - Айди предмета | szItemName - Имя предмета | iCost - цена
// Вернёт: порядковый номер айтема
native bp_api_register_item(const szSpecialId[], const szItemName[], iCost);

// Выставление нового id предмета
// Аргументы: iCellId - порядковый номер айтема начиная с 0 | szSpecialId[] - новое айди предмета
// Вернёт: 1 при успешной работе натива
native bp_api_set_item_id(iCellId, const szSpecialId[]); 

// Выставление деталей
// Аргументы: pPlayer - индекс игрока | iDetails - кол-во устанавливаемых деталей 
// Вернёт: 1 - при успешной работе натива
native bp_api_set_user_details(pPlayer, iDetails);

// Использование предмета из инвентаря
// Аргументы: pPlayer - индекс игрока | iCellId - ячейка в инвентаре начиная с 0
// Вернёт: 1 - при успешной работе натива
native bp_api_use_inventory(pPlayer, iCellId);

// Добавление вещи в инвентарь
// Аргументы: pPlayer - иднекс игрока | iCellId - ячейка айтема начиная с 0
// Вернёт: 1 - при успешной работе натива
native bp_api_update_inventory(pPlayer, iCellId);

// Проверка: кастомный ли айтем ( кастомный - тот что зарегистрирован через натив, а не через INI )
// Аргументы: iCellId - ячейка айтема начиная с 0
// Вернёт: 1 - вещь кастомная | 0 - вещь не кастомная
native bp_api_is_item_custom(iCellId);

// Получение общего числа предметов
// Вернёт: общее число предметов 
native bp_api_get_items_count();

// Получение айди предмета
// Аргументы: iCellId - порядковый номер айтема начиная с 0 | szSpecialId - массив для записи айди предмета | iLen - размер массива
// Вернёт: 1 при успешной работе натива
// Пример:
// new szSpecialId[32];
// bp_api_get_item_id(0, szSpecialId, charsmax(szSpecialId));
native bp_api_get_item_id(iCellId, szSpecialId[], iLen);

// Получение айди предмета в инвентаре игрока
// Аргументы: pPlayer - индекс игрока | iCellId - порядковый номер айтема начиная с 0 | szSpecialId - массив для записи айди предмета | iLen - размер массива
// Вернёт: 1 при успешной работе натива
// Пример:
// new szSpecialId[32];
// bp_api_get_inv_item_id(pPlayer, 0, szSpecialId, charsmax(szSpecialId));
native bp_api_get_inv_item_id(pPlayer, iCellId, szSpecialId[], iLen);

// Получение деталей игрока
// Аргументы: pPlayer - индекс игрока 
// Вернёт: общее кол-во деталей игрока 
native bp_api_get_user_details(pPlayer);

// Получение кол-ва занятых слотов в рюкзаке игрока
// Аргументы: pPlayer - индекс игрока 
// Вернёт: общее кол-во занятых слотов в рюкзаке игрока
native bp_api_get_user_slots(pPlayer);

// Форвард для выдачи кастомного айтема
// Аргументы: iPlayer - Индекс игрока | iItemID - Айди вещи
forward backpack_item_selected(iPlayer, iItemID);