Okay, I finally got the time for re-writing the inventory system smile it's not done & uploaded yet though.

The function names are the same, and their functionality is still the same - I just either rewrote the functions or simply just changed them to support the structs.

The item-files (ILF) can still be used, and the items in this file, can be used as a "item template" for creating new items using this new function:
Code:
RPGItem* RPGItem_Create(var _number)
{
	RPGItem* _item = malloc(sizeof(RPGItem));
	memset(_item,0,sizeof(_item));
	
	if(_number >= 0 && _number < NHAC_max_items && CITEM_handlesInit_n == true)
	{
		_item.name = ptr_for_handle(NHAC_CITEM_NAME[_number]);
		_item.bmap = ptr_for_handle(NHAC_CITEM_BMAP[_number]);
		_item.model = ptr_for_handle(NHAC_CITEM_MODEL[_number]);
		_item.skin = NHAC_CITEM_SKIN[_number];
		_item.type = NHAC_CITEM_TYPE[_number];
		_item.damage = NHAC_CITEM_DAMAGE[_number];
		_item.defense = NHAC_CITEM_DEFENSE[_number];
		_item.addhealth = NHAC_CITEM_ADDHEALTH[_number];
		_item.addmana = NHAC_CITEM_ADDMANA[_number];
		_item.addspeed = NHAC_CITEM_ADDSPEED[_number];
		_item.reqlevel = NHAC_CITEM_REQLEVEL[_number];
		_item.value = NHAC_CITEM_VALUE[_number];
	}
	
	return _item;
}



And there's a function for removing items as well:

Code:
void RPGItem_Delete(RPGItem* _item)
{
	free(_item);
}



There are no syntax errors, but I'm getting some crashes, however I'll get some sleep before figuring that out smile

P.s. The item struct looks like this:
Code:
typedef struct RPGItem
{
	BMAP* bmap;
	STRING* name;
	STRING* model;
	var skin;
	var type;
	var damage;
	var defense;
	var addhealth;
	var addmana;
	var addspeed;
	var reqlevel;
	var value;
} RPGItem;