Собственно, вопрос, как бы глупо ни звучал, но такой. Как реализовать случайных героев на карте? Подскажите, пожалуйста, триггерную реализацию (может, уже готовую) для случайных героев. У меня есть пример, но в нем баг - можно нанимать любое количество героев бесплатно. Хотелось бы без этого глюка. Почему не на джассе - т.к. на карте много гуи-объектов и неясно, как все будет взаимодействовать друг с другом (а я не знаю джасс, так что в случае чего не смогу разобраться с ошибками).
Также скажу, что героев более 24 стандартных.

Steal nerves, так у него есть в триггерах и база, и счётчик, но не работает обнуление лимита. Если же делать просто замену героя через Replace (на патче 1.26а), то лимит на второго героя теряется, сразу надо строить Замок. То есть, например, есть Ратуша, нанимаю героя и заменяю его после найма на случайного, следующего героя позволяет нанять только при Замке, минуя Крепость.

EHP_Sequence, может что-то не усмотрел в триггере, там куча переменных задействована, может какая-то задействована до того, как значение получает, ну или что-то вроде того.
Попробуй использовать эту систему:
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
есть статья на эту тему
так что клоз
ответ
ssbbssc, WarSC, оба офнитесь
фигню несёте
судя по тому что написал афтар ему нужен чит позволяющий ему строить любого героя
но триггеров он не знает
поэтому сначала читаем статьи
потом делаем триггер
событие - игрок вводит текст -cheat
действие - создать триггерному игроку строителя способного строить особый алтарь
простейший триггер
ответ
Что там за ужасные условия?
Короче. Можешь сделать вот так вота:
Исходные данные- массив героев.
1 способ- создаешь массив, размер которого = размеру массива героев и заполняешь его линейным методом. То есть с помощью рандома выбираешь первое число. И потом с помощью последовательности i+(k*q), где i- изначальная ячейка; k- попытка: q- шаг.
2 способ- также создаешь массив, но заполняешь его вот так: рандомом выбираешь героя. Проверяешь, имеется ли уже такой в новом массиве. Если да- перевыбираешь, если нет- вставляешь и переходишь к следующей ячейки
Таким образом каждую игру будет генерироваться твой массив случайным образом. Заводишь переменную s, считающую сколько героев уже вытащили, и создаешь героя из твоего нового сформированного массива под номером s
Проще сказать: формируй каждую игру новый массив и вытаскивай по одному герою из него каждый раз, когда требуется
ответ
Потому что при стандартном получении опыта вмешиваются игровые константы и формулы по которым они работают, либо своя система это тогда смотри 3 вопрос от бота, либо настраивай игровые константы как тебе надо, это все описано в базовой статье по редактору, раздел формулы WE.

9
Сформулируй мысль нормально.
Тебе нужен -random как в доте? Или что-то другое?
12
noyl:
Сформулируй мысль нормально.
Тебе нужен -random как в доте? Или что-то другое?
Случайные герои в FFA-Melee. Как в посте 2 из комментария бота. В алтарях есть воин пустышка, по созданию которого запускается триггер на выбор рандомного героя. Выбранный герой даётся игроку вместе с таун порталом. Далее, такие же пустышки на тир2 и тир-3, уже без тп.
Нужно, чтобы этот юнит (каждый из трех/) пропадал из алтаря после заказа
26
В наработке просто замена героя? Просто мне казалось, что это обычным реплейсом делают.
12
8gabriel8:
В наработке просто замена героя? Просто мне казалось, что это обычным реплейсом делают.
В наработке система триггеров. Посмотрите, если есть возможность.
Загруженные файлы
26
Не дома, сделай скрин, пожалуйста.
Тем более у меня версия 1.26а скорее всего не откроет.
12
8gabriel8:
Не дома, сделай скрин, пожалуйста.
Тем более у меня версия 1.26а скорее всего не откроет.
Окей. Такой триггер задан в "Melee initialization": pp.userapi.com/c847124/v847124251/14c81f/tSHNVzd5jFU.jpg pp.userapi.com/c847124/v847124251/14c829/kuso6dncnZ4.jpg
Такой триггер создает рандомных героев: pp.userapi.com/c847124/v847124251/14c815/V04541imr4o.jpg
27
при старте карты (заполняем базу данных, вбиваете типы):
set TypeHero[0] = "Паладин"
set TypeHero[1] = ....
set TypeHero[2] = ....
При событии - юнит завершает подготовку (или юнит в ходит в зону)
Условие - тип даймика (пустышки)
Действие 1: удаляем даймика
Действие 2: создаем рандомного героя
set <целочисленная> = GetRandomInteger(0,2) Есть такая команда. выбирается рандомное число в промежутке от 0 до 2. У вас там 25 типов, ставите от 1 до 25.
далее создать героя TypeHero[<целочисленная>]
так у вас же все есть на скринах. ничего не понял, что вы пытаетесь сделать. Я думал вам нужна обычная ФФА, где рандомные герои выпадают
12
Steal nerves:
при старте карты (заполняем базу данных, вбиваете типы):
set TypeHero[0] = "Паладин"
set TypeHero[1] = ....
set TypeHero[2] = ....
При событии - юнит завершает подготовку (или юнит в ходит в зону)
Условие - тип даймика (пустышки)
Действие 1: удаляем даймика
Действие 2: создаем рандомного героя
set <целочисленная> = GetRandomInteger(0,2) Есть такая команда. выбирается рандомное число в промежутке от 0 до 2. У вас там 25 типов, ставите от 1 до 25.
далее создать героя TypeHero[<целочисленная>]
так у вас же все есть на скринах. ничего не понял, что вы пытаетесь сделать. Я думал вам нужна обычная ФФА, где рандомные герои выпадают
То, что на скринах, даёт баг -- этих даммиков можно нанимать неограниченное число раз, соответственно, будет неограниченное число героев. Нужно каким-то образом запретить нанимать более одного такого даммика.
А глобально да, цель - создать ффа с рандомыми героями.
27
EHP_Sequence, а зачем ты на три даймика поделил? чтобы вручить первому свиток тп?) можно же по-другому сделать, без такого гемороя. через счетчик героев.

вам нужно чтобы никто не мог его выбрать (точнее не выпадала дважды)? и пытаетесь это реализовать, правильно? у там какие-то вычисления идут непонятные, можно сделать по-другому
вам нужно что этот тип не выпадал дважды у всех игроков, или у одного игрока?
карту не смог открыть
12
Steal nerves:
EHP_Sequence, а зачем ты на три даймика поделил? можно же по-другому сделать, без такого гемороя. через счетчик героев.
вам нужно чтобы никто не мог его выбрать (точнее не выпадала дважды)? и пытаетесь это реализовать, правильно?
вам нужно что этот тип не выпадал дважды у всех игроков, или у одного игрока?
карту не смог открыть
Нет, проблема в другом. У нас есть алтари, в которых нанимается даммик с именем "нанять случайного героя". Но после нажатия и начала тренинга этого даммика он не пропадает - можно нанять ещё сколько угодно этих пустышек, и для каждого из них будет герой. Т.е. у каждого игрока может быть любое количество героев, сколько он нажмёт на иконку. Нужно это запретить, т.е. чтобы после начала тренинга первого дамика иконка переставала нажиматься И становилась доступной только на тир2, а потом только на тир3.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.