Одинаковые предметы
Подскажите системку где нельзя брать одинаковые предметы.



Views: 101

XGM Bot #1 - 3 months ago 0
Голосов: +0 / -0
Похожие вопросы:

» ответ
Проверка на наличие предмета, которая даёт ответ "да/нет", сделана за через цикл, который проверяет слоты юнита и даёт нужный ответ.
Функция, которая возвращала бы количество предметов одного типа, выглядела бы точно так же, но с небольшим изменением...
В идеале должна быть BJ-функция которая считает число предметов, а та которая проверяет есть ли он вообще - должна была бы проверять вернётся ли предыдущая функция число больше 0, или нет... Но увы, так не сделали. Поэтому надо делать всё самому.
. . .
Проходишься циклом по слотам и считаешь предметы нужного типа, если это число больше или равно нужному тебе - то... ок ок
» ответ
N7 Molot:
Получает нужный предмет, фиксируем через переменную целогику/реал (разницы нет) значение +1. Таким образом если переменная будет ровняться к примеру 2, выдаем функцию и обнуляем переменную.
» ответ
поиск юзаем, этот вопрос не раз поднимали и поднимают.
вот ссылка
» ответ
~8gabriel8:
К сожалению, я нашёл лишь условие "количество предметов у юнита" о типе предметов, там нет и речи
Верно, мой косяк. Надо циклом перебирать предметы. Вот карта с триггером и скрин:
» ответ
В чем проблема написать функцию подсчета итемов по их Id (циклом делается), а уже там делать условие. Не знаю уровень автора, поэтому напишу псевдокодом
Если КоличествоПредметов(u,'I000') >= 2 Тогда
	УдалитьИтем(u,'I000')
	УдалитьИтем(u,'I000')
	ДатьИтемЮниту(u,'I001')
КонецЕсли
u - юнит, с которым работаешь

map_maiker #2 - 3 months ago (изм. ) 2
Голосов: +2 / -0
Бот, в общем-то, ответил.

Но если ставить вопрос именно про запрет подбора предмета, и подразумевать что двух одинаковых быть не может в инвентаре, то можно при подборе дропать предмет, а если нет такого же типа, то подбирать обратно.

Собственно, вот карта с демонстрацией идеи и скрин триггера. (В прикреплённых файлах)
Прикрепленные файлы