Имеется лавка Статуя в инвентаре которой лежит предмет "Обменять способность" при использовании этого предмета в лавку добавляется 1 рандомный предмет (на данный момент 1 из 8) - это работает.
Если добавленный предмет покупают то нужно чтобы этот предмет больше не выпадал как рандомный, то есть больше не добавлялся в лавку после использования "Обменять способность" - вот с этим какой то косяк, после приобретения нескольких предметов из лавки при использовании "Обменять способность" могут добавляться предметы которые уже были куплены или же некоторые предметы вообще перестают добавляться в лавку. Прилагаю карту для тестов, хелп!
Если добавленный предмет покупают то нужно чтобы этот предмет больше не выпадал как рандомный, то есть больше не добавлялся в лавку после использования "Обменять способность" - вот с этим какой то косяк, после приобретения нескольких предметов из лавки при использовании "Обменять способность" могут добавляться предметы которые уже были куплены или же некоторые предметы вообще перестают добавляться в лавку. Прилагаю карту для тестов, хелп!
Принятый ответ
Так как автор гуишник, вариант будет актуальным.
Переменные:
item - массив предметов(заполняется нужными предметами 0-7)
max - целочисленная (равна количеству предметов 7)
random - целочисленная
Второй триггер:
random = случайное число от 0 до max
цыкл А от 0 до max
Добавить предмет item[A]
Конец цикла
item[random] = item[max]
max = max - 1
Переменные:
item - массив предметов(заполняется нужными предметами 0-7)
max - целочисленная (равна количеству предметов 7)
random - целочисленная
Второй триггер:
random = случайное число от 0 до max
цыкл А от 0 до max
Добавить предмет item[A]
Конец цикла
item[random] = item[max]
max = max - 1
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Смотрю никто так и не ответил на вопрос, хотя решение вроде бы простое
Вариантов много, но я решил через хэш-таблицу и сохранением предметов в юнита
иначе - идёт подсчёт кол-ва оставшихся предметов, среди них выбирается рандомный, он добавляется в магазин и удаляется из хэша юнита, последний из списка предмет переносится на место удалённого, последнее место так же удаляется
Переменные:
item - массив предметов(заполняется нужными предметами 0-7)
max - целочисленная (равна количеству предметов 7)
random - целочисленная
Второй триггер:
random = случайное число от 0 до max
цыкл А от 0 до max
Добавить предмет item[A]
Конец цикла
item[random] = item[max]
max = max - 1