• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Инвентарь и enum предметов

bereg101

Умник
Есть заготовка инвентаря
Код:
/* 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, "Транспорт"},

};
Там еще всякое, не стал вставлять, но в итоге 700 предметов и для каждого предмета именная переменная

Код:
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,
};
По моему в плане оптимизации это что то вообще не то.. У меня вариант делать это через базу данных, (чтоб по айди предмета я получал его описание, название и т.д, а потом удалял переменные с описанием предмета) но это лишние запросы к бд.. Кто подскажет как лучше? Меня очень напрягает 300 скинов, которые будут отличаться только названием и 200 машин где будет тоже самое..
 
Сверху Снизу