bereg101
Умник
Есть заготовка инвентаря
И огромное перечисление всех предметов:
Там еще всякое, не стал вставлять, но в итоге 700 предметов и для каждого предмета именная переменная
По моему в плане оптимизации это что то вообще не то.. У меня вариант делать это через базу данных, (чтоб по айди предмета я получал его описание, название и т.д, а потом удалял переменные с описанием предмета) но это лишние запросы к бд.. Кто подскажет как лучше? Меня очень напрягает 300 скинов, которые будут отличаться только названием и 200 машин где будет тоже самое..
Код:
/* inventory инвентарь */
enum inventoryInfo {
item_id, // айди прендмета
item_count // количество предмета
};
new inventory[MAX_PLAYERS][50][inventoryInfo];
// Описание всех предметов
const MAX_INVENTORY_ITEM_NAME = 23;
const MAX_INVENTORY_ITEM_DESCRIPTION = 300;
enum e_INVENTORY_ITEMS_INFO
{
invItem_Name[MAX_INVENTORY_ITEM_NAME],
invItem_Color[7],
invItem_ObjectID,
invItem_Description[MAX_INVENTORY_ITEM_DESCRIPTION],
};
Код:
new all_items_info[322][e_INVENTORY_ITEMS_INFO] =
{
{"Пустой слот", "FFFFFF", 0, "Это пустой слот."},
/*1*/ {"Skin (ID:1)", "00FF00", 0, "Нужен для изменения внешнего вида персонажа. Можно приобрести в магазине оежды."},
/*2*/ {"Skin (ID:2)", "00FF00", 0, "Нужен для изменения внешнего вида персонажа. Можно приобрести в магазине оежды."},
/*3*/ {"Skin (ID:3)", "00FF00", 0, "Нужен для изменения внешнего вида персонажа. Можно приобрести в магазине оежды."},
/*4*/ {"Skin (ID:4)", "00FF00", 0, "Нужен для изменения внешнего вида персонажа. Можно приобрести в магазине оежды."},
/*5*/ {"Skin (ID:5)", "00FF00", 0, "Нужен для изменения внешнего вида персонажа. Можно приобрести в магазине оежды."},
...
/*311*/ {"Skin (ID:311)", "00FF00", 0, "Нужен для изменения внешнего вида персонажа. Можно приобрести в магазине оежды."},
// между ними просто предметы типа аптечки, маски и т.д
// Сделал скины и транспорт по соответсивю их айди в сампе чисто для удобства
/*400*/ {"Автомобиль (ID:400)", "00FF00", 0, "Транспорт"},
...
/*611*/ {"Автомобиль (ID:611)", "00FF00", 0, "Транспорт"},
};
Код:
enum _:e_INVENTORY_ITEMS_LIST
{
ITEM_NONE = 0,
SKIN_ID1 = 1,
SKIN_ID2 = 2,
SKIN_ID3 = 3,
SKIN_ID4 = 4,
SKIN_ID5 = 5,
...
SKIN_ID311 = 311,
// разные другие предметы
CAR_ID400 = 400,
...
CAR_ID611 = 611,
};
