#include #define MAX_ITEMS 100 #define MAX_ITEM_NAME 33 #define TYPE_WEAPON 0 #define TYPE_DRUG 1 #define TYPE_FOOD 2 static ItemOwnerSQLID[MAX_ITEMS]; static ItemName[MAX_ITEMS][MAX_ITEM_NAME]; static ItemType[MAX_ITEMS]; static ItemSize[MAX_ITEMS]; static Float:ItemWeight[MAX_ITEMS]; new Iterator:Item; hook OnMySQLConnected() { inline const OnPropertyFound() { for(new i; i < cache_num_rows(); i++) { if(Iter_Free(Item) == INVALID_ITERATOR_SLOT) { printf("The maximum amount of items has been reached. (%d)", Iter_Count(Item)); break; } new itemid = INVALID_ITERATOR_SLOT; cache_get_value_name_int(i, "id", itemid); cache_get_value_name_int(i, "owner_id", ItemOwnerSQLID[itemid]); cache_get_value_name(i, "name", ItemName[itemid]); cache_get_value_name_int(i, "type", ItemType[itemid]); cache_get_value_name_int(i, "size", ItemSize[itemid]); cache_get_value_name_float(i, "weight", ItemWeight[itemid]); Iter_Add(Item, itemid); } } MySQL_TQueryInline(MySQL_GetHandle(), using inline OnPropertyFound, "SELECT * FROM items"); } stock Inventory_GetItemOwnerSQLID(itemid) { return ItemOwnerSQLID[itemid]; } stock Inventory_SetItemName(itemid, const name[]) { format(ItemName[itemid], MAX_ITEM_NAME, name); new query[112]; mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE items SET name = '%e' WHERE id = %d", name, itemid); mysql_tquery(MySQL_GetHandle(), query); } stock Inventory_GetItemName(itemid) { return ItemName[itemid]; } stock Inventory_SetItemType(itemid, type) { ItemType[itemid] = type; new query[84]; mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE items SET type = %d WHERE id = %d", type, itemid); mysql_tquery(MySQL_GetHandle(), query); } stock Inventory_GetItemType(itemid) { return ItemType[itemid]; } stock Inventory_SetItemSize(itemid, size) { ItemSize[itemid] = size; new query[84]; mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE items SET size = %d WHERE id = %d", size, itemid); mysql_tquery(MySQL_GetHandle(), query); } stock Inventory_GetItemSize(itemid) { return ItemSize[itemid]; } stock Inventory_SetItemWeight(itemid, Float:weight) { ItemWeight[itemid] = weight; new query[84]; mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE items SET weight = %f WHERE id = %d", weight, itemid); mysql_tquery(MySQL_GetHandle(), query); } stock Float:Inventory_GetItemWeight(itemid) { return ItemWeight[itemid]; } stock bool:IsValidItem(itemid) { if(Iter_Contains(Item, itemid)) { return true; } return false; }