Существует ли наработка инвентаря(больше 6 стандартных слотов) которую было бы удобно переносить с одной карты кампании в другую?
Знаю вопрос расплывчат но просто интересно можно ли обойтись например только буфером игры ну или незнаю...

Принятый ответ

avuremybe, с буфером игры (кэш) можно работать так же как с хэш таблицей
FrigatPlay, в буфер игры можно сохранять не только юнитов но и предметы
просто перебираем циклом все предметы и сохраняем в кэш
а потом в следующей карте извлекаем их из кэша
0
19
7 лет назад
0
Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
Steal nerves:
ответы
Как объединить зелья лечения в одно с зарядом, если герой имеет одно в инвентаре и поднимает второе?
обычно используют "событие - юнит получает предмет", И на предмет, который вы получаете, ссылается переменная, которая называется item being manipulated. А юнит, который получает итем - Triggering Unit. Вы можете с помощью этой переменной итема узнать тип, сравнить. Потом циклом пробегаете по слотам (от 1 до 6), тут вся суть в одной команде триггерной (item in slot X, итем в слоте Х) и проверяете есть ли такой же итем (не забываем делать проверки, на то что этот предмет не равен item being manipulated и сравниваете не одинаковые ли типы). Если есть такой же (находите тот же тип что и item being manipulated), то от item being manipulated берете заряды и прибавляете к зарядам существующего, а потом item being manipulated удаляете. Недостаток: при заполненном инвентаре такая штука не будет работать.Не хватает свободного места.
код
цикл А от 1 до 6
if тип итема (item being manipulated) РАВНО тип итема (item in slot А) and item being manipulated НЕ РАВНО item in slot А then проверяете
set k = Charges remaining in ( item being manipulated) + Charges remaining in ( item in slot А) складываете заряды
Set charges remaining in ( item in slot А) to ( k) устанавливаете кол-во зарядов
Remove Item (item being manipulated) удаляете
endif
Есть гуишная проверка на наличие итема определенного типа в инвентаре, но она утечна. И лучше циклом прогонять.
Кстати выше пример, там вот дропают итем, зачем? чтобы проверить есть ли такой же итем. А то мб проверка на наличие итема определенного типа в инвентаре найти подобранный итем. А нам нужно знать, что есть еще один, кроме подобранного. Поэтому дропают. Только не понятно зачем создаете новый итем.
Проверка, на то что подобранный предмет имеет зарядов больше 0, говорит нам о том что это не обычный предмет.
есть статьи
Как зелье с зарядом разделить, если игрок перекладывает зелье с зарядом в другую ячейку инвентаря, если возможно, то разделение происходить должно только при нажатии какой-то клавиши?
можно перекладывать в другой слот. для этого ловят приказ. Короче смотрите системы CCS
там создают новый такой же предмет, и выделяют кол-во зарядов, деля поровну например. Абилкой например, попробуй сделать целевую активную абилку с целью предмет, указывай на инвентарь и дели.
Как это можно сделать покороче для множества разных типов предметов?
всмысле покороче? сделать под одну группу? есть же классификация. Я вот делаю так, что все предметы, которые с зарядами, должны иметь классификацию "с зарядами". Не помню точно как называется класс итемов.
Как правильно реализовать в инвентаре 7 слот?
если у героя заполнен инвентарь, то он может подобрать руну. Вот в доте система скрещивания. То же самое можно сделать и с зарядами. На земле у него лежат руны, при подборе руна исчезает. Но мы проверяем слоты, есть ли такой итем. Если есть, прибавляем заряды к существующему. Иначе создать новый. При дропе итема, оригинал подменяет снова на руну. В руну можно передать значения зарядов.
А также ограничения какие-то на количество зарядов нужно ставить или сама система выше какой-то планки не даст собирать?
до такого не доходил.
скинул примеры (хотя многие дурацкие, но делал здесь хгм в качестве ответов)
вот еще одна система hh

0
16
7 лет назад
0
Я сейчас работаю над системой инвентаря которая тупо имитирует обычный магазин с множеством страниц.
Правда я не знаю, сложно ли переносить массив целочисленных переменных...
0
23
7 лет назад
Отредактирован Araders
0
avuremybe, Вообще есть самый простой концепт для буфера игры, это несколько юнитов в углу карты которые имитируют страницы инвентаря но кажется слишком тупо.
Вот пример, немогу понять как он роботает - но интересно его можно будет перенести?
0
4
7 лет назад
0
avuremybe, Ничего сложного. Это ж обычный цикл.
0
28
7 лет назад
0
avuremybe, с буфером игры (кэш) можно работать так же как с хэш таблицей
FrigatPlay, в буфер игры можно сохранять не только юнитов но и предметы
просто перебираем циклом все предметы и сохраняем в кэш
а потом в следующей карте извлекаем их из кэша
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.