Добрый вечер всем.
Впринципе весь вопрос в названии
Суть - герой ИИ игрока подходит к лавке и триггерно выбирается лавка для ИИ.
Но путем тестов было выявлено что если игроком управляет ИИ то игра упорно игнорирует этот триггер
Мои попытки
Замена скрипта для ИИ отсюда не помогла - xgm.guru/p/wc3/melee_ai_creating1

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

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

ответ
Параметры стака ядов с одним и тем же баффом, это нужно чтобы складывались замедлени и\или урон от разных юнитов, или бафф тупо обновлялся.
С одним из параметров яды с разными баффами скатаются независимо, каждый вешает свой бафф. (годная основа для замедляющих способностей)
А игра вылетает из за зацикливания, темболее бафф при удалении и появлении наносит 0.00 ед урона, это так для справки.
ответ
Триггерно создаешь юнита, Каждую секунду, в течении 6 сек, заставляешь всех вражеских юнитов вокруг в радиусе 500 атаковать его.
ответ
~8gabriel8:
Попробовал на карте дать приказ пехотинцам и стрелкам Отряд - ... Щелчок правой кнопкой мыши ... Они пошли с соблюдением боевого порядка, сначала пехотинцы, потом стрелки.

2
28
4 года назад
Отредактирован PT153
2
Зачем выбирать строение для ИИ? Если нужно что-то купить в лавке для ИИ, для этого есть действия в категории Нейтральное здание.
Принятый ответ
0
1
4 года назад
0
Зачем выбирать строение для ИИ?
Чтобы через триггер нажатия клавиши (в данном случае клавиша V) произлошла покупка предмета, эдакая имитация человка
Если же юнит герой принадлежит человеку , то все выбирается и покупается, но при управлении копмьютером никаких действий не происходит, т.е. после команды двигаться к лавке игнор

Если быть точнее - эти пункты
Загруженные файлы
0
26
4 года назад
0
Так зачем тебе имитировать нажатие кнопки, чтобы купить определенный предмет, когда ты сразу можешь купить для него этот предмет? Тебе же не нужно за другого человека что-то покупать (в случае, когда герой принадлежит человеку). Тебе нужно покупать именно за ИИ. Поэтому сам и покупай за ИИ сразу нужный предмет.
0
1
4 года назад
Отредактирован budmovw
0
Тебе нужно покупать именно за ИИ
Вот именно, триггер то составлен правильно, не понятно почему ИИ игнорит эти приказы
когда ты сразу можешь купить для него этот предмет?
Как? Если говорите про вариант создавать триггерно и отдавать ИИ герою, то не катит, есть другой варинат?
0
27
4 года назад
Отредактирован MpW
0
budmovw,
во-первых, проверь в boolean условие выбора - выбран (выделен) ли магазин игроком. Мне кажется выделение (выбор) не работает на компьютеров.
есть другой способ - у магазина есть специальная абилка выбора. Нужно отдать магазину приказ выбора. Это абилка действует локально у каждого игрока
ссылка 1
ссылка 2
ну и горячие клавиши на компов работают? это выбор и горячие клавиши ведь на реальных игроков работает, тк интерфейс выделения кидается на них. Обычно если кнопка спрятана то hot key не работает. допускаю что выделение тоже не робит, хотя зачем выделять компу то юнита, это бесполезная опция?
0
1
4 года назад
0
во-первых, проверь условие выбора - выбран (выделен) ли магазин игроком.
Проверял, за ИИ не выбирается, почему я не понимаю? GUI'шный вариант глючит?
ну и горячие клавиши на компов работают?
В моем примере чтобы клавиши заработали, нужно чтоб произошел выбор магазина, вся проблема в этом
0
26
4 года назад
0
budmovw:
Как? Если говорите про вариант создавать триггерно и отдавать ИИ герою, то не катит, есть другой варинат?
Мне вот это как раз и интересно - почему такой вариант не катит? Вдумайтесь в проблему! В чем разница? 1. Компьютер нажимает кнопку, чтобы купить предмет и 2. Создаем предмет и кладем его в инвентарь компьютера, при этом уменьшаем количество купленных предметов в лавке. Результат ОДИНАКОВЫЙ! Или я чего-то не понимаю?!
1
1
4 года назад
1
это выбор и горячие клавиши ведь на реальных игроков работает, тк интерфейс выделения кидается на них
Можно подробнее, откуда уверенность в этом? Можно примеры

Мне вот это как раз и интересно - почему такой вариант не катит? Вдумайтесь в проблему! В чем разница?
Нужен кулдаун покупки шмота в магазине)) суть в этом
0
27
4 года назад
Отредактирован MpW
0
Можно подробнее, откуда уверенность в этом? Можно примеры
У меня нет таких уверенности. Это предположение. Ты взялся за сложный пример. Возьми сначала проверь на простом примере: возьми кинь выделение игрока-компьютера на обычного юнита, и заставь hot key запустить абилку. самый простой пример. Если он работает, тогда дело в другом.
В boolean есть проверка выделен ли юнит игроком. Можно периодиком проверять. Так и проверишь гипотезу
0
26
4 года назад
Отредактирован Lord_Teo
0
budmovw:
Нужен кулдаун покупки шмота в магазине)) суть в этом
Так просто продай нейтральным зданием этот предмет и сразу удали (дамми-юниту, например). Будет тебе кулдаун.
Хм... продать...Так погоди. Сейчас подумаю.
0
1
4 года назад
0
В boolean есть проверка выделен ли юнит игроком. Можно периодиком проверять. Так и проверишь гипотезу
Уже проверял, не выделяется, хз почему, вот и спросил думая может быть что то не так я делаю
3
27
4 года назад
Отредактирован MpW
3
budmovw, приказами тогда пробуй. выше пример. id-равкод итема - приказ покупки итема.

наверное не работает выделение и горячие клавиши на компах, тк это связано напрямую с интерфейсом. Когда кидаешь выбор на юнита, то у игрока в интерфейсе выделен юнит. Аналогично с горячими клавишами, юнит должен выделен, кнопка не должна скрытой (это факт: когда кнопка скрыта, хоткей не работает). А так как игрок-комп то это не к чему Вместо хоткеев юзают приказы
0
26
4 года назад
0
Мда, действительно, с кулдауном сложно) Ну, как вариант, можно заменить предметы в лавке на умения. Но тут тогда другой косяк: не будет видно количество предметов.
1
27
4 года назад
Отредактирован MpW
1
даймика создал рядом с магазином, и через приказы купил xgm.guru/p/wc3/warden-buyitem, вернул бабло.
1
18
4 года назад
1
У игроков-компьютеров выделение вообще не работает, если не ошибаюсь.
0
26
4 года назад
0
МрачныйВорон:
даймика создал рядом с магазином, и через приказы купил xgm.guru/p/wc3/warden-buyitem, вернул бабло.
Вот, и решение. Продаем даммику и даем предмету нужному герою.
3
28
4 года назад
Отредактирован PT153
3
Как? Если говорите про вариант создавать триггерно и отдавать ИИ герою, то не катит, есть другой варинат?
Я же сказал в самом начале, Действия - Нейтральное строение.
Если нужно что-то купить в лавке для ИИ, для этого есть действия в категории Нейтральное здание.
Будет и кулдаун у покупки, и не надо никаких даммиков создавать.

Действия - Нейтральное строение
Ошибка, это делается во вкладке Боевая Единица, да и то только в UMSWE и только для покупки юнита. Тем не менее, это можно сделать через CustomCode.
0
10
4 года назад
0
PT153:
Как? Если говорите про вариант создавать триггерно и отдавать ИИ герою, то не катит, есть другой варинат?
Я же сказал в самом начале, Действия - Нейтральное строение.
Если нужно что-то купить в лавке для ИИ, для этого есть действия в категории Нейтральное здание.
Будет и кулдаун у покупки, и не надо никаких даммиков создавать.

Действия - Нейтральное строение
Ошибка, это делается во вкладке Боевая Единица, да и то только в UMSWE и только для покупки юнита. Тем не менее, это можно сделать через CustomCode.
Не знаю почему, триггеры Нейтральное здание(не триггеры юнит) не работают на продажу юнитов. Пришлось удалять этого юнита из магазина и добавлять нового такого же
0
27
4 года назад
Отредактирован MpW
0
Lotus101, там нужно специальную абилку добавить, если правильно понял вашу проблему.

ссылка пункт 2.9
0
28
4 года назад
0
Lotus101, удалить можно только тех, кто был добавлен триггерно.
0
10
4 года назад
0
МрачныйВорон:
Lotus101, там нужно специальную абилку добавить, если правильно понял вашу проблему.

ссылка пункт 2.9
PT153:
Lotus101, удалить можно только тех, кто был добавлен триггерно.
Да я понял так и сделал, а вот приказ нейтральному зданию продать игроку юниту где находится, на гуи нет? Нужно компьютеру продать или он сам купил, пришлось костыли использовать
0
27
4 года назад
Отредактирован MpW
0
Lotus101, выше скидывал как приказом покупать у здания. ну и на гуи можно
там отдаем магазину приказ "smart" (короче переключаем абилкой выбор на юнита. локально интерфейс у игрока переключается на магазин) и затем отдаем иммитирующий от нужного игрока приказ IssueNeutralImmediateOrderById где id-приказ равен id-итему или id-юнита (если нанимаете юнитов)
xgm.guru/p/blog-steal-nerves/ability3 раздел для магазинов. там пишут: Побочным эффектом способности ‘Aneu’ (Выбрать героя) или ‘Ane2’ (Выбор воина) является доступ к другим заклинаниям боевой единицы. Даже, вражеский воин может использовать способности обладателя выборки. Это же очевидно, помните, есть способность "разведка" в мастерской гоблинов, чтобы обследовать территорию, нужно подойти и кликнуть. Или способность "поставка ресурсов" - производит обмен. Точно, также происходит и с наймом юнитов, игре нужно знать какой игрок нажал, затем продает ему юнита. Есть даже нативки с приказами, иммитирующие действия магазина от другого игрока. Даже атакующие абилки срабатывают.
2
28
4 года назад
2
Lotus101, гуи нет, можно через кастом написать.
IssueNeutralImmediateOrderById(твой_игрок, твоё_строение, равкод_предмета)
0
10
4 года назад
Отредактирован Lotus101
0
МрачныйВорон:
Lotus101, выше скидывал как приказом покупать у здания. ну и на гуи можно
там отдаем магазину приказ "smart" (короче переключаем абилкой выбор на юнита. локально интерфейс у игрока переключается на магазин) и затем отдаем иммитирующий от нужного игрока приказ IssueNeutralImmediateOrderById где id-приказ равен id-итему или id-юнита (если нанимаете юнитов)
xgm.guru/p/blog-steal-nerves/ability3 раздел для магазинов. там пишут: Побочным эффектом способности ‘Aneu’ (Выбрать героя) или ‘Ane2’ (Выбор воина) является доступ к другим заклинаниям боевой единицы. Даже, вражеский воин может использовать способности обладателя выборки. Это же очевидно, помните, есть способность "разведка" в мастерской гоблинов, чтобы обследовать территорию, нужно подойти и кликнуть. Или способность "поставка ресурсов" - производит обмен. Точно, также происходит и с наймом юнитов, игре нужно знать какой игрок нажал, затем продает ему юнита. Есть даже нативки с приказами, иммитирующие действия магазина от другого игрока. Даже атакующие абилки срабатывают.
PT153:
Lotus101, гуи нет, можно через кастом написать.
IssueNeutralImmediateOrderById(твой_игрок, твоё_строение, равкод_предмета)
Спасибо большое, очень помогло чтобы не делать костыли. Сделал такую системку рандомного пика героев для ботов.
В иницилизации заносим переменную типа юнитов с массивом, указываем число типов.
При пике выбираем всех игроков-ботов, устанавливаем переменную случайного числа для массива переменнйо типа юнита и выбираем виспа, заставляем таверну с выпавшим типом кликать на этого виспа и продаем этого героя.
Есть вариант проще и красивее выбирать все таверны, заставлять кликать на виспа и продавать юнита, но цикл будет больше.
В триггере юнит продан узнаем под каким массивом проданный юнит и устанавливаем, что переменная типа юнита с этим массивом теперь тип юнита с последним текущем массивом, то есть меняем их местами, уменьшаем количество типов героев.
Таким образом при каждом пике героя все время выбирается новое случайно число, число типов героя уменьшается и последний на данный момент тип меняется на только что выпавший массив и каждый раз есть кого-то пикнуть. Проверял вроде повторов не было и у каждого компа всегда кто-то пикнут. Подправьте пожалуйста если есть серьезные ошибки или утечки.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.