Доброго времени суток! тут у меня что-то пошло не так, можете взглянуть и подсказать что не так делаю?
решил доработать пример от 8gabriel8 об ограничении предмета используя цикл..но когда речь идет о 200 предметов то плодить 200 триггеров для этого нет смысла, по этой теме xgm.guru/p/wc3/196436?postid=361451
вот наработки
в основном цикл предназначен для повтора...то есть он повторяется 999 раз но...как мне сделать его чтобы работал по убыванию? также читал про Хэш Таблицу...как понял это...шахматная доска внутри памяти...есть возможность чтобы например в 1 0 был 1 предмет 2 0 2 предмет 3 0 3 предмет из массива конечно а 1 1 будет уже ограничение для предмета с индексным номером или 2 1 или 3 1

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

Дополняю ответ что я хотел этим сказать
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
8
5 лет назад
0
при инициализации карты не использовать set variable и так для кол-в предметов из переменной item type
все правильно..но я хочу задать для каждого предмета свой предел чтобы потом убрать цикл и использовать например NumOfItems 999 как 8..это привязка NumOfItems к ItemType...далее в цикле она проверяется 200 триггеров чтобы не использовать пример как показал от габриела...его метод отлично работает но для него нужно использовать отдельные триггеры для проверки предметов
здесь проблема в цикле...он не идет по убыванию а прямо =>>>>>>
либо отказаться от цикла либо использовать хэш таблицу либо использовать цикл но чтобы он понимал к какому предмету прибавлять 1 при получении предмета
вот как он должен работать но...при этом надо задать массив предметов и кол-во для каждого предмета
Загруженные файлы
0
7
5 лет назад
Отредактирован PornoMishka
0
Плохо понял суть, но вот так вижу я:
Переменная-массив чисел с id нужных предметов

Событие получение предмета
   Запоминаем id взятого предмета

   Тут просто проверка, что он есть в массиве нужных нужных предметов, но опустим это пока

   Устанавливаем численную переменную count в 0
   Цикл A от 1 до 6
      Если id предмета из слота A == id взятого предмета Тогда
         Если count > 1 Тогда
            Выбросить предмет из слота A
         Иначе
            count = count + 1
         Конец если
      Конец если
   Конец цикла
Конец триггера
Я бы скинул пример, но отвык от триггеров, могу кодом
0
26
5 лет назад
0
Что значит "для каждого предмета свой предел"?
Объясни кратко задачу целиком, а то вообще непонятно.
0
8
5 лет назад
0
этот механизм использовать в качестве ограничения для предметов но при этом задать для КАЖДОГО ПРЕДМЕТА свой предел
Загруженные файлы
0
29
5 лет назад
0
для КАЖДОГО ПРЕДМЕТА
Для каждого предмета или для каждого типа предмета?
0
8
5 лет назад
0
для каждого предмета из массива ItemType
ItemType[1] = маска смерти
itemType[2] = Боевые когти
и так далее
мне не нужно для ВСЕХ типов предмета для предмета который указан в массиве ItemType
0
29
5 лет назад
Отредактирован nazarpunk
0
Cамый простой вариант:
  • выделяете для лимитных предметов категорию, например "Артефакты"
  • уровень предмета = максимальное количество
  • при получении предмета проверяете, если он в нужной категории, по уровню получаете максимальное количество
  • ...
  • Профит))
Плюсы такого подхода, что все настройки в РО находятся, правда и минусы есть.

Немного посложнее:
Заводите хэштаблицу, и по ID предмета устанавливаете лимит, при получении также смотрите в таблицу.
0
8
5 лет назад
0
вот 2 вариант подойдет,
на рисунке показано как она выглядит, мне сложно представить как система будет работать в Хэш Таблице
NazarPunk:
я этого и пытаюсь сделать но в качестве Уровня предмета, Категории, Класса указать Тип Предмета и кол-во которая может носить Герой
PornoMishka:
все верно теперь вот это чудо надо доработать чтобы она получала к переменной ItemType[1] к примеру и вместо 1 указать NumOfItems[1] а в качестве ItemType[1] и NumOfItems[1] указать в качестве индексного номера Integer A
count у меня используется как NumOfItems[]
Загруженные файлы
0
29
5 лет назад
0
мне сложно представить как система будет работать в Хэш Таблице
Статьи для кого пишут?
Лучше так не делать, но вам можно
Заводите два массива
  • ItemId Тип предмета
  • ItemCount Целлочисленная
Настраиваете
ItemId[1] = Маска Смерти
ItemCount[1] = 1
ItemId[2] = Маска Соби
ItemCount[2] = 3
...
При получении предмета пробегаете по массиву и сравниваете тип предмета. Если найдёте, то получаете количество из
ItemId[ForLoopA] и дальше как у вас в триггере.
А потом скрипт падает по оплимиту)
0
8
5 лет назад
0
кхм...это не сработает...он..подбирает предмет..2 подбирает и любой другой но когда он видит 2 предмет НЕ из Массива itemId он все-равно бросает его на землю...хоть я его не указал в ItemId
я хотел использовать цикл как...в Мултиборде...есть Столбец есть Строка..сейчас цикл работает по Строкам а мне нужно по Столбцам
0
29
5 лет назад
0
Centyrion, значит вы где-то накосячили)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.