Просмотр полной версии : [Вопрос] Как лучше реализовать запись ID/количества предметов для инвентаря?
verteich
19.05.2019, 13:13
Всем здрасьте, делаю систему инвентаря, вопрос, как можно сделать количество предметов, (в данном случае одна клетка один предмет)
new pInventory[MAX_PLAYERS][37];
Пример использования:
CMD:predmet(playerid) {
pInventory[playerid][0] = 1;//выдастся огнемет
}
Vano_Glad
19.05.2019, 13:20
Подробнее опишите, что Вы хотите. Не совсем понял суть вопроса
verteich
19.05.2019, 14:26
Подробнее опишите, что Вы хотите. Не совсем понял суть вопроса
Проще говоря, чтобы предметы стакались
Вот два предмета, и они в одном слоте, в моем случае сейчас работает так "один предмет(даже если одинаковый) в одну клетку инвентаря"
Vano_Glad
19.05.2019, 14:29
CMD:predmet(playerid) {
pInventory[playerid][0] = 1;//выдастся огнемет
}
Если я правильно Вас понял, то у Вас и так всё правильно. [0] - это ID предмета, 1 - это количество. Меняйте просто количество на необходимое Вам
verteich
19.05.2019, 14:31
CMD:predmet(playerid) {
pInventory[playerid][0] = 1;//выдастся огнемет
}
Если я правильно Вас понял, то у Вас и так всё правильно. [0] - это ID предмета, 1 - это количество. Меняйте просто количество на необходимое Вам
[0] - клетка в инвентаре, 1 - ID предмета (огнемет) - как то так:)
Vano_Glad
19.05.2019, 14:38
[0] - клетка в инвентаре, 1 - ID предмета (огнемет) - как то так:)
Ну тогда в массиву добавляйте ещё одно значение, по типу:
new pInventory[MAX_PLAYERS][37][число];
и
pInventory[playerid][0][1] = 1;
где
[0] - клетка
[1] - ID предмета
1 - количество
verteich
19.05.2019, 14:50
Ну тогда в массиву добавляйте ещё одно значение, по типу:
new pInventory[MAX_PLAYERS][37][число];
и
pInventory[playerid][0][1] = 1;
где
[0] - клетка
[1] - ID предмета
1 - количество
Вопрос, что писать вместо "числа"?
Vano_Glad
19.05.2019, 14:51
Вопрос, что писать вместо "числа"?
Максимальное количество ID объектов, которое будете использовать
verteich
19.05.2019, 14:54
Максимальное количество ID объектов, которое будете использовать
Если про клетки то они указаны, 37.
+ присваивается значение массива, то есть что в клетке, но не значение(
Vano_Glad
19.05.2019, 14:55
Если про клетки то они указаны, 37.
+ присваивается значение массива, то есть что в клетке, но не значение(
Вы используете всё тоже самое, только имеете ещё одну ячейку под количество этого предмета. Внимательнее просмотрите то что я Вам выше написал
verteich
19.05.2019, 14:59
Вы используете всё тоже самое, только имеете ещё одну ячейку под количество этого предмета. Внимательнее просмотрите то что я Вам выше написал
в переменной inventory, 37 клеток в них могут находиться любые предметы, в моем случае их 30
new pInventory[MAX_PLAYERS][37][37];
так?
Vano_Glad
19.05.2019, 15:00
в переменной inventory, 37 клеток в них могут находиться любые предметы, в моем случае их 30
new pInventory[MAX_PLAYERS][37][37];
так?
Первое значение - это клетки, второе значение - это ID предметов, о которых Вы писали раннее, а к самому массиву уже приравниваете количество данного предмета
verteich
19.05.2019, 15:01
Первое значение - это клетки, второе значение - это ID предметов, о которых Вы писали раннее, а к самому массиву уже приравниваете количество данного предмета
Так система инвентаря динамическая, купил игрок 5 предметов к примеру и 5 должно на писать 6 -6 и т.д
Vano_Glad
19.05.2019, 15:03
Так система инвентаря динамическая, купил игрок 5 предметов к примеру и 5 должно на писать 6 -6 и т.д
Всё равно понять Вас не могу
verteich
19.05.2019, 15:05
Всё равно понять Вас не могу
система на текстдравах, я хочу сделать чтоб один предмет занимал одну клетку, не зависимо от количества, сейчас одна клетка один предмет
ihNNNNNify
19.05.2019, 16:37
enum e_INVENTORY_INFO {
e_IItemId,
e_ICount,
/*
Пример:
Предмет = Карты
Количество = 20 штук
*/
}
new pInventory[MAX_PLAYERS][e_INVENTORY_INFO][37];
/*
Пример:
pInventory[playerid][e_IItemId][0] = 1 - Выдать огремент
pInvnetory[playerid][e_ICount][0] = 10 - Количество огнеметов
*/
EDIT: Ну и соответственно добавить информацию (TD) ниже предмета (или где то рядом), его количество.
verteich
19.05.2019, 17:02
enum e_INVENTORY_INFO {
e_IItemId,
e_ICount,
/*
Пример:
Предмет = Карты
Количество = 20 штук
*/
}
new pInventory[MAX_PLAYERS][e_INVENTORY_INFO][37];
/*
Пример:
pInventory[playerid][e_IItemId][0] = 1 - Выдать огремент
pInvnetory[playerid][e_ICount][0] = 10 - Количество огнеметов
*/
EDIT: Ну и соответственно добавить информацию (TD) ниже предмета (или где то рядом), его количество.
Попробую, спасибо :)
verteich
21.05.2019, 17:54
Попробую, спасибо :)
Все работает, спасибо ihNNNNNify
Можно закрывать.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot