Добавлен
Нужна помощь. Как запустить триггер со следующими условиями:
Если Игрок с расой Альянса находится в союзе с игроком, раса которого Ночные Эльфы, то Do Action...


Ах да, пояснение) Сначала у тебя в алтаре недоступен Чародей крови, потом нажимаешь Esc, чтобы заключить союз с Ночными Эльфами, тогда Чародей крови становится доступен.
NerthreZhul:
Ошибку допустил. Вместо (Matching player) в фильтре группы игроков поставил (Picked player), заодно проверил, что Wait не нужен
Вопрос. У Вас оно работает?
Скачивай 00.w3x
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Editor, игроков на карте 12
для каждого делать......
ответ
Блин, это не 23 расы, не помню как называется, но она есть у нас на сайте
Оно?
А вот тут скачать можно:

6
Race Compasion в условиях.
Самый простой вариант - перебираешь игроков в поисках нужных рас, пишешь их номера в массивы. Потом проверяешь на союзы.
30
constant native GetPlayerAlliance takes player sourcePlayer, player otherPlayer, alliancetype whichAllianceSetting returns boolean
constant native GetPlayerRace takes player whichPlayer returns race
27
совет выше +

далее может пригодиться для проверки в каком клане состоит и прочее. есть еще такое понятие как группа игроков bj_FORCE_PLAYER[0-15]. у каждого игрока своя группа (правильно бы сказать объединены по каким-то свойствам, могли бы группировать). и проверять состоит ли в группе. добавлять убавлять и прочее. должны быть проверки в boolean что состоит ли игрок в группе. с этими группами редко имел дело, но возможно пригодилось бы для заключения союза и прочее.

есть еще где-то событие игрок меняет союз или аспект союза
26
Как и описали выше, есть событие, что игрок меняет настройки союзов, в действии делаешь такой перебор группы игроков, а в него ставишь If/Then/Else, где в условии проверяешь, что (Picked player) имеет расу Ночные Эльфы.
Можно было все это в условии перебора группы игроков сделать, но скриншот уже загрузил и всё такое)
Загруженные файлы
2
8gabriel8, это я понял. У тебя на скрине стоит All Alies of Player 1, то есть получается, что если на карте 12 игроков, придётся писать триггеры под каждого игрока (All Alies of Player 2, All Alies of Player 3, ... , All Alies of Player 12).
При этом мне нужно, чтобы триггер ещё и проверял расу самого игрока. То бишь, If Player 1 Race = Альянс, and If Player 2 Race = Ночные Эльфы, then, if Player 1 has allied to Player 2, then Do Action...
На словах это понятно, но именно в триггерах сколько не ищу, не получается выстроить нужную цепочку.
...
Попробую на словах ещё раз, более детально объяснить свою задумку. Я переделываю полностью все стандартные расы, у меня вместо Альянса будет что-то типа Королевства/Империи Людей, то есть я у расы людей полностью убрал Дворфов (стрелок, вертолёт, мортиру, танк, грифона, Горного Короля героя) и Высших Эльфов (волшебница, ведьмак, ястреб, Маг Крови герой).
И пытаюсь внедрить в игру эффект "геополитики", как я это называю. Если любой из игроков будет отыгрывать за Людей, и при этом либо со старта, либо по ходу игры он станет союзником Ночных Эльфов, то это добавит ему возможность нанять в главном здании Эльфа-Инженера, что построит эльфийские бараки, где можно будет нанимать ведьмаков/лучниц/ястребов, а в алтаре появятся Маг Крови и Егерь (на основе стандартной Сильваны из Кампании).
То есть сделать так, чтобы союз с конкретной расой давал плюшки игроку. При этом, нужна именно проверка по расам, а не по юнитам, поскольку у той же Нежити есть Баньши с Одержимостью, в таверне есть Тёмная Охотница с подчинением. То есть сделать так, что если игрок с расой Нежити/Орды, захватит работника Людей и заключит альянс с Ночными Эльфами - всё равно этого бонуса не получит...
6
NerthreZhul,
Зачем тебе 12 триггеров, если ты можешь динамически добавить событий по количеству играющих игроков?
2
Wadimiru:
NerthreZhul,
Зачем тебе 12 триггеров, если ты можешь динамически добавить событий по количеству играющих игроков?
Видимо потому, что я не настолько хорошо разбираюсь в триггерах, и потому не пойму, как это всё оптимизировать. Да что уж там, это по факту мой первый проект. Опыта нет, вон, то, что написал NazarPunk, я вообще не понимаю как оно работает, и где такое прописывать.
...
Я вообще могу прописать это всё не 12-ю, а 24-мя триггерами, по отдельности под условие is giving Picked Player Союз (Ненападение) и Is An Ally Of Picked Player.
30
Я вообще могу прописать это всё не 12-ю, а 24-мя триггерами
Не плодите сущности сверх необходимого.
Есть прекрасная вещь Force, по гуишному Группа игроков. Создаёте четыре, по одной на каждую расу и останется каждый раз при смене альянса их перезаписывать.
2
NazarPunk:
Я вообще могу прописать это всё не 12-ю, а 24-мя триггерами
Не плодите сущности сверх необходимого.
Есть прекрасная вещь Force, по гуишному Группа игроков. Создаёте четыре, по одной на каждую расу и останется каждый раз при смене альянса их перезаписывать.
Уж простите, но как я и говорил выше - это мой первый проект, и я ещё не до конца понимаю, что тут и как работает. Поэтому и задаю вопрос...
Создать группу игроков, окей, что-то создал, даже не знаю, правильно ли я это делал, но вышло что-то типа такого:
Далее пытаюсь работать с функциями If/Then, но ближайшее что нахожу - вот такое:
Я понимаю, что что-то делаю неверно, но что именно - не пойму.
..
Скорее всего я даже эти группы делаю неправильно:
Загруженные файлы
26
Сейчас сделаю тебе пример посмотреть.
Wait поставил в начале триггера, потому что не проверил, сразу ли игроки воспринимаются игрой как союзники в этом событии, либо нужна задержка

Ошибку допустил. Вместо (Matching player) в фильтре группы игроков поставил (Picked player), заодно проверил, что Wait не нужен
Потом надо сделать действие, что если у Империи нет союза с Эльфами, то заблокировать технологии.
и юнитов.
Загруженные файлы
2
Ошибку допустил. Вместо (Matching player) в фильтре группы игроков поставил (Picked player), заодно проверил, что Wait не нужен
Вопрос. У Вас оно работает?
26

Ах да, пояснение) Сначала у тебя в алтаре недоступен Чародей крови, потом нажимаешь Esc, чтобы заключить союз с Ночными Эльфами, тогда Чародей крови становится доступен.
NerthreZhul:
Ошибку допустил. Вместо (Matching player) в фильтре группы игроков поставил (Picked player), заодно проверил, что Wait не нужен
Вопрос. У Вас оно работает?
Скачивай 00.w3x
Принятый ответ
2
8gabriel8, ага, я понял в чём у меня проблема. Если я устанавливаю союз с ИИ в сетевой игре, то даже когда сам ИИ отображается у меня как союзник, он мне союза не даёт, и видит меня как врага. (Соответственно и для меня технологии не разблокируются).
Ну, это на проверке карты, да.
В остальном триггер работает, как я понял, спасибо. На этом примере уже осталось только сделать так, чтоб при стартовом выборе кланов давалась такая же плюшка.
....
Забавно. Поменял у Вас в карте событие, вместо Игрок 1 (красный) changes alliance settings поставил Игрок 1 (красный) выбирает a unit.
Триггер продолжает работать в нормальном режиме + теперь если я со старта в карте выставляю Империи союзником Ночного Эльфа - то при выборе любого юнита автоматом добавляются технологии и юниты Эльфов в здания.
На Вашей карте проверял, добавляются только после ESC, то бишь заключения союза.
Загруженные файлы
26
В триггере 001 сделал, чтобы при стартовом выборе кланов работало. Понадобилось переменную добавить HumanPlayer.
Загруженные файлы
2
8gabriel8:
В триггере 001 сделал, чтобы при стартовом выборе кланов работало. Понадобилось переменную добавить HumanPlayer.
У меня всё работает вот таким образом:
Загруженные файлы
26

Событие, наверное, не стоит менять, так как юнитов во время игры выбирают очень часто, каждый раз триггер будет выполняться.
Как представляю, в перспективе триггер разрастётся до появления новых технологий при союзе с другими расами и блокировании технологий, а также исчезновении дополнительных юнитов при разрыве союза. Это довольно много действий, если все они будут выполняться при каждом выборе юнита, то это создаст дополнительную нагрузку на игру, особенно в кульминационных моментах.
2
8gabriel8, понял, трогать событие не буду.
8gabriel8:
Как представляю, в перспективе триггер разрастётся до появления новых технологий при союзе с другими расами и блокировании технологий, а также исчезновении дополнительных юнитов при разрыве союза.
На счёт разрыва союза - тут нужно думать. По идее можно реализовать как переход юнитов под контроль того игрока, с которым разорван союз, либо к нейтрально-враждебным (ещё вопрос что это за Дополнительный Нейтральный и Нейтральная Жертва).
А вот на счёт других союзов - тут есть ограничение стандартного ВарКрафта - только четыре расы. Если получится разобраться со всякими Лаунчерами типа проекта Нирваны, и ещё вытащить туда этот триггер, с доработкой - то да, к Альянсу Людей и Эльфов присоединятся ещё Дворфы.
Для Орды пока планируется клановая система с другой геополитикой, но по сути это будет одна фракция, не получающая бонусов от союзов с другими расами, ну и Нежить... её либо полностью переработать, либо заменить на тех же Дворфов.
26
На счёт разрыва союза - тут нужно думать. По идее можно реализовать как переход юнитов под контроль того игрока, с которым разорван союз, либо к нейтрально-враждебным (ещё вопрос что это за Дополнительный Нейтральный и Нейтральная Жертва).
Можно попробовать сделать плавное исчезновение юнитов, как Мал'Ганис делал с зомби в Стратхольме, а предметы с дополнительных героев сбрасывать, убирая рюкзак. А Дополнительный Нейтральный и Нейтральная Жертва - это соответственно враг всех кроме нейтрально-пассивного и враг всем кроме нейтральных, но сам никого за врага не считает.

Дополнительные расы делает это xgm.guru/p/mmengine/index
2
Дополнительные расы делает это xgm.guru/p/mmengine/index
Видел. У меня странная ошибка выбивает, в комментариях к проекту я написал со скрином, но там тоже не знают что к чему)
У Малганиса любопытная первая абилка, что превращает в Зомби. Я пытаюсь её куда-нибудь пристроить себе.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.