Всем привет, предупреждаю сразу, вы можете не понять что я написал и просто сломать себе мозг :))) Так вот, я никак не могу сделать адекватный триггер на лимит. У меня есть обычный вариант, мол максимальное кол-во зданий = 10, и если построить все 10 и одно из них сломается то его можно будет вновь построить. Мне нужно сделать так, что бы это работало скажем так при улучшении здания, типо у меня есть инкомное здание которое даёт 150, я его улучшаю (заменяю, и это уже соовсем другое здание) и оно даёт уже 200. Я пытался сделать этот триггер сам, но в итоге если построить 10 задний по 150 инкома, и одно из них улучшить до 200, а затем сломать за 150, то можно будет построить не одно здание за 150 а сразу 2, то есть будет 10 за 150 и 1 за 200 итого 11, что не удивительно ведь здание за 200 не относиться к триггеру который делает лимит в 10 юнитов. Я перепробовал много способов, и наверное нужно сделать так что бы здание за 150 было равно зданию за 200 или что то ещё....
Сейчас расскажу про триггер.
1 триггер отвечает за то, что когда на карте есть 10 юнитов за 150 их больше нельзя строить.
2 триггер отвечает за то, что когда одно из них ломается, его вновь можно строить
И да, я пробовал сделать кучу дополнительных триггеров которые отвечали бы за здание за 200, или прописать во втором триггере кол-во юнитов от 9 до 1 но это не увенчалось успехом.
В общем я хз что делать, буду благодарен если мне кто-то поможет

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

Сделал.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

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

ответ
~8gabriel8:
Каждый вопрос заслуживает отдельного обсуждения, а на все стало лень ответ печатать, когда начал.
Печатать реально долго, легче было реализовать примеры в карте:
Кроме последнего пункта, его нужно персонально рассматривать, так как игра не подразумевает использование для юнита двух списков. Например, можно наполнить список построек у юнита всеми зданиями, часть из которых блокировать при открытии одного списка и разблокировать при открытии второго, но это подходит, когда один рабочий. Можно сделать второй список из книги заклинаний, куда добавлены способности на основе игрушечных строений, чтобы было видно карту пути и всё такое, но там для них используется один приказ, то есть всегда одинаковое здание будет при нажатии на любую способность, а ещё нет стоимости золота и дерева, что тоже придётся как-то ваять триггерно. Можно перевоплощать юнита при смене списка в другого, но там тоже сложности, не помню точно какие, вроде бы связаны с расой, так как все строят по-разному.

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

Группа из максимум 9 юнитов работает немножко коряво, ранее мы с PT153 находили какой-то вариант, чтобы работало быстро, но лень пользоваться поиском. Вроде каждую 0.01 секунду проверялось количество выбранных юнитов, лишние удалялись из выбора.

Чтобы не было очереди, пришёл в голову лишь вариант с апгрейдом здания. Но у меня реализован просто пример для одного конкретного здания, а для нескольких абстрактных зданий нужно делать текстовым триггером, который будет для каждого здания запускать локальный таймер на нужное время и добавлять анимационный текстаг work. По отмене апгрейда, либо истечению таймера анимационный тег удаляется и создаётся воин, к которому привязывается соответствующий звук. Но есть и другие варианты, типа создавать внутри здания другое, которое реально будет производить юнитов, когда заказал апгрейд, там иная реализация. И не упомянул про затрачиваемые ресурсы. Потребуется забирать/возвращать часть ресурсов при отмене апгрейда.

На примере триггеров и фиолетовых строк в редакторе объектов смотри, как сделано улучшение Бугая в Дренорского бугая.

Конечно, мог бы сделать MUI триггер на GUI для отсутствия очереди, но это было бы громоздко и в техническом смысле уродливо. производящие здания заносились бы в массив, для которого будет массив таймеров, которые будут заноситься в виде событий на истечение таймера в другой триггер, а точнее будет несколько массивов таймеров, по максимальному числу тренируемых юнитов в любом производящем здании.

Нашёл твои вопросы:
В них бы и спрашивал, что непонятно. А то тебе отвечают, а ты игнорируешь, словно очень умный.
Тебе даже вариант без триггеров для четвёртого пункта сделали: xgm.guru/p/wc3/230191/comments?postid=426457#comment5

2
28
4 года назад
2
Сделал.
Загруженные файлы
Принятый ответ
0
3
4 года назад
Отредактирован linquine
0
PT153 Спасибо за помощь, вот только по какой то причине после вставки этого триггера в карту, а затем её сохранения, редактор крашает :(( Я даже триггер отключил, всё равно краш, и проблема не в карте, я всё проверил. Наверное я просто криворукий идиот :)
Вот файл, если интересно или не сложно - глянь.
Загруженные файлы
1
28
4 года назад
Отредактирован PT153
1
Во-первых, нужно в настройках редактора поставить галку, чтобы он создавал неизвестные переменные. Во-вторых, нужно настроить переменные, которые написаны капсом. В-третьих, скрин ошибки нужно показать.
3
27
4 года назад
Отредактирован MpW
3
там же можно игроку лимит типов юнитов на карте задать одной триггерной командой

Оно задает ограничения макс числа юнитов, которых можно обучить. Как только вы обучите юнитов, юнит пропадает. Точно также можно и для стройки. Этот лимит задает макс число возможных юнитов на карте.
Ну и мозги сломал =/
1
3
4 года назад
1
PT153: Скажу сразу, спасибо тебе, всё работает. И теперь пару слов о триггере и твоих советах, во-первых при краше не выдавало ошибку, а просто закрывался редактор (объясню ещё раз - скрин ошибки я не мог кинуть так как ошибку не выбивало). Во-вторых расскажу что выбивало редактор, это был отдельный триггер отвечающий за инициализацию, там было написано "Для каждого (Числа А) от 1 до Неизвестно, делать (действия)" выбивал редактор пункт "Неизвестно", я заменил его на 10 и крашить перестало.
Ну всё остальное как ты и сказал я сделал под себя, добавил типы юнитов у FARM_LEVEL1 и FARM_LEVEL2, затем заменил число 0 на 10 у переменой farms_int и MAX_FARMS.
Есть ещё один момент, как было сказано выше, я просто заменил Неизвестно на 10, и не ставил никакой галочки для создания неизвестных перемен, да и не нашёл я её.
Ну а в целом огромное тебе спасибо, ты меня выручил!

МрачныйВорон Ты видимо не правильно прочёл мой вопрос, мне не нужно делать ещё один триггер на лимит, он будет работать так же криво как тот, что у меня уже есть.
И я не совсем понял что ты имел ввиду под "Ну и мозги сломал =/"
1 Если то, что ты реально ели допёр до того что я написал, ну тогда извини, я предупреждал что так может быть. Ну вообще на самом деле если вдуматься в то что я написал, то всё легко и просто, а про сломанный мозг я написал для того, что бы люди не читали мой вопрос на расслабоне, ведь если не постараются вдуматься - то ничего не поймут.
2 Если это постирония, то ну извини что я с таким легким вопросом написал про то, что можно сломать мозг, как я указал выше, некоторые люди может быть не хотят напрягать мозг и вдумываться в то что я высрал, и я их заранее предупредил что этот вопрос может быть слишком сложным для восприятия.
Ну а за ответ в целом спасибо, ты хоть ничем не помог, но потратил своё время и силы, а это важно)

Вопрос закрыт, всем спасибо за ответы. Если кто то захочет мне ответить - пишите в личку, там мы и побеседуем.
1
28
4 года назад
1
Неизвестно
Прошу прощения, я использовал JNGP, где есть опция для количества игроков. То есть там было с 1 по 12.
затем заменил число 0 на 10 у переменой farms_int и MAX_FARMS
Нужно было только у MAX_FARMS. farms_int используется для временного хранения значений.
linquine:
не ставил никакой галочки для создания неизвестных перемен, да и не нашёл я её.
В редакторе ландшафта Файл - Настройки - Общее.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.