Если при этом в подкрепе разделить юниты по типам и дать им разные группы - то можно им так же и менять их по типам. Скажем, пехи - А0 - подкреп, А1 - 1 игрок, А2 - второй и т. д.
Грамотное распределение - не самое интересное!
Ставим счётчик:
Юнитов в зоне (завод) игрока Х больше, чем 0 и число в ячейке Y точно 0 и не верно, что объект (завод) уничтожен=>
занести в ячейку Y число 1 (чтоб не срабатывал, пока есть рабочие)
завести будильник Х на...
установить период цикла будильника Х на...
Прописываем обратную реакцию:
Юнитов в зоне (завод) игрока Х строго 0 или объект (завод) уничтожен =>
занести в ячейку Y число 0
выключить будильник Х
Накручиваем счётчик:
Звенит будильник X и юнитов игрока Х в зоне (завод) точно 1 (2, 3, 4...) =>
Увеличить число в ячейке Y на 1 (2, 3, 4...)
(т. е. чем больше народу, тем быстрее будут строить - повторить для разных значений)
Теперь наконец построили:
Число в ячейке Y точно (для каждого танка своё - по трудоёмкости) и (условие для изготовления именно этой модели танка) и не верно, что объект (завод) уничтожен =>
Отправить подкреп.... (или поместить отряд в зону - как лучше)
Занести в ячейку Y число 1 (не 0!)(начали строить новый)
Можно всё это усложнить ещё больше и ближе к реализму - например, при сменек производства так же нулить (т. е. заносить 1) наработанное.
да прикольна. слушай а как тада ты рабочих определяеш в етой ситуации. ну в плане они нейтралы, как их заставить находится в заводе?? Тада проста можна привязать скорость производства к их количеству... Вот и хотелось бы еще реализовать то что ты зделал в seaside ну там когда ахраны на заводе мало то люди типа не хотят работать. Я вот думаю если зделать юнитам производства(определяющим что производить) инжинера и их количество. то ето только уже от моей лени будет зависеть делать ето или нет Толька вот о количестве посадочных мест в заводе наваерна нада будет продумать! ща папробую с месагами просмотреть все ето детально
Для нейтралов - только поведением - "охранять зону" => "здания занять" => "на покидать занятые". Зоной отмаркировать только ту территорию, которую занимает завод. Но почему нейтралы?
Цитата:
когда ахраны на заводе мало то люди типа не хотят работать.
Или просто добавить в условие производства некоторое количество юнитов игрока в зоне (городе), или добавить некоторую зависимость между чем-то и необходимым количеством для охраны. На той карте я привязал к количеству целых зданий в городе: чем меньше осталось - тем ниже ценность населённого пункта и, соответственно, меньше подкреп (отсюда - как вариант тактики - если игрок не имеет сил/возможности захватить населённый пункт, может попытаться артобстрелами/бомбардировками максимально его разрушить, т. к. в этом случае противник получит меньше подкреплений). Причём считается только пехота, поскольку трудно представить танк, зачищающий отдельный дом Если людей для контроля не достаточно, город/деревня считается ничейной, производство останавливается, таймер подкрепа останавливается и обнуляется до восстановления контроля или захвата другим игроком.
Количество посадочных мест ограничивается самим зданием - от этого и плясать.
Zarathustra,
Скажи как работают ети армии. А именно как в них добавить юнитов???
"добавить группу к отряду" (1-8)
"добавить из зоны к отряду" (1-8)
"добавить все юниты к отряду" (1-8)
"добавить все юниты игрока к отряду" (1-8)
"поместить юниты из отряда в зону Х"
"поместить юниты из отряда в зону Х и назначить им группу Y"
"сформировать резерв №... из отряда №..."
"сформировать резерв №... из отряда №... и назначить группу"
"очистить отряд"
Важная деталь: "отряд" не переваривает вложенные юниты - пассажиров, пилотов.
Резерв контратака
Здравствуйте.
Обращаюсь к вам с надеждой получить от вас совет вот по какой проблеме.
Есть деревня. Она охраняется пехотой ИИ. За деревней располагается бронетанковый резерв ИИ.
Задача такая. Если Игрок атакует деревню, резерв должен переместиться туда, отбить атаку и вернуться на исходные позиции. И так всякий раз, когда Игрок атакует.
Я написал скрипты:
Скрипт № 1
ЕСЛИ больше чем 10 юнитов игрока Игрок в зоне 1,
ТО выключить это условие;
занести в ячейку С0 число 1
Скрипт № 2
ЕСЛИ число в ячейке С0 точно число 1,
ТО выключить это условие;
установить АИ поведение группы А1 в "Танки - охранять зону";
установить АИ зона 1 группы А1 в 1;
установить АИ зона 2 группы А1 в 1
Скрипт № 3
ЕСЛИ точно 0 юнитов игрока Игрок в зоне 1 И число в ячейке С0 точно 1,
ТО выключить это условие;
С0 увеличить на число 1
Скрипт № 4
ЕСЛИ число в ячейке С0 точно число 2,
ТО выключить это условие;
установить АИ поведение группы А1 в "Танки - охранять зону";
установить АИ зона 1 группы А1 в 2;
установить АИ зона 2 группы А1 в 2
Скрипт № 5
ЕСЛИ больше чем 10 юнитов игрока Игрок в зоне 1 И число в ячейке С0 точно 2,
ТО выключить это условие;
С0 уменьшить на число 1
Проблема заключается в том, что скрипт № 5 не работает, а ведь мне представляется, что как только значение
С0 уменьшится на единицу и составит число 1, то должен заработать скрипт № 2, отправляющий юниты
Противника на угрожаемый участок. После устранения угрозы (т. е. когда в зоне 1 будет точно 0 юнитов Игрока)
вновь должен заработать скрипт № 3, и так далее, по кругу. Но, увы, никакого эффекта.
Конечно, можно каждый раз увеличивать С0 на единицу, когда Игрок атакует. Но поскольку мы не знаем,
сколько раз он будет атаковать, необходимо будет прописать энное количество таких скриптов, а это - не метод...
ВОПРОС: ПОЧЕМУ ЭТО НЕ РАБОТАЕТ???
Цитата:
то должен заработать скрипт № 2, отправляющий юниты Противника на угрожаемый участок.
Да с чего же это он должен заработать, если у тебя стоит "... выключить это условие"? Скрипт отработал один раз и больше не запустится!
ДЖля того, чтобы скрипт срабатывал многократно (но каждый раз единожды, а не паровозом), необходимо после его выполнения изменить условие, т. е. либо увеличить значение этой же ячейки, либо ввсести ещё одну для этих целей и ни в коем случае не выключать условие. Например, так:
- Скрипт № 1
ЕСЛИ больше чем 10 юнитов игрока Игрок в зоне 1,
ТО занести в ячейку С0 число 1
- Скрипт № 2
ЕСЛИ число в ячейке С0 точно число 1,
установить АИ поведение группы А1 в "Танки - охранять зону";
установить АИ зона 1 группы А1 в 1;
установить АИ зона 2 группы А1 в 1
С0 увеличить на число 1
- Скрипт № 3
ЕСЛИ точно 0 юнитов игрока Игрок в зоне 1 И число в ячейке С0 точно 2,
С0 увеличить на число 1
- Скрипт № 4
ЕСЛИ число в ячейке С0 точно число 3,
установить АИ поведение группы А1 в "Танки - охранять зону";
установить АИ зона 1 группы А1 в 2;
установить АИ зона 2 группы А1 в 2
С0 увеличить на число 1
- Скрипт № 5
ЕСЛИ больше чем 10 юнитов игрока Игрок в зоне 1 И число в ячейке С0 точно 4,
С0 уменьшить на число 3
Падение морали в пустыне
Zarathustra,
день добрый. Я тут опять насчет пустыни и падения духа и здоровья... прописал я для разных игроков разные группы, но тут столкнулся с другой бедой: при попадании и пребывании в определенной зоне (условно пустыне без питья и продовольствия) некоторого числа юнитов значение опыта и марали меняется у всей группы.... всмысле страдают и те кто находится вне этой зоны но принадлежат к этой группы.... че та невыходит у меня сделать ето для конкретно попавших в зону юнитов.
Сам выхода не нахожу. Мот че подсказать смогеш.
да вот еще что есть ли какой нить скрипт или модель поведения для компа по средством каторой можно бы было заставить офицера смотреть в бинокль ну или танкистам перейти в паходный режим(в см чтоб морду он из танка высунул)
DISIK, есть же скрипт - "установить новую группу для юнитов группы в зоне". К примеру, приходят твои солдаты группы А0 в пустынную зону 1 в количестве 15 человек. Срабатывает скрипт:
Юнитов группы А0 в зоне 1 Больше 14 => установить новую группу А1 для юнитов группы А0 в зоне 1.
Вот этой-то новой группе и нужно менять мораль.
__________________
Извиняюсь за беспокойство, но проблема вот какая.
Пехота патрулирует зону
подскажите как сделать патрулирующий юнит(ы)? Так чтобы он двигался из одной зоны в другую и обратно. Заранее благодарен.
Если патрулирование по замкнутому кругу (строгая последовательность посещения зон) - всё проще простого. Пишешь набор скриптов типа:
"если
100% юнитов группы XX в зоне 10
то
установить АИ зона 1 как 11
установить АИ зона 2 как 11"
Устанавливаешь в настройках поведения юнита зону 10 (как зону 1 и 2), а также ставишь "охранять зону" (можно пометить, чтобы он не занимал здания и пушки). В итоге юнит идёт в зону 10, потом срабатывает скрипт и он начинает движение в зону 11. Сколько точек патрулирования - столько и скриптов.
Если хочешь, чтобы юнит ходил по точкам сначала в одну сторону, а потом обратно - потребуется намного больше скриптов (2хN+2). В крайних зонах патрулирования в ячейку, выделенную под данный юнит (например, С0) заносится число - скажем, 0 и 1 для обеих зон соответственно. В остальных точках парой скриптов проверяется, 0 или 1 в ячейке, и в каждом случае юнит отправляется соответственно либо в следующую, либо в предыдущую зону (на обратном пути). Число в ячейке является индикатором того, идёт юнит "туда" (0) или "обратно" (1).
Цитата:
подскажите как сделать патрулирующий юнит(ы)? Так чтобы он двигался из одной зоны в другую и обратно. Заранее благодарен.
Awwal и. COMmunist, для этого есть команда специальная, вообще-то! Условие, какое хочешь, но я разберу вариант, когда танк Т-90 должен патрулировать перекрёсток с самого начала миссии.
Ессно всё происходит в БЧЗ + FMRM.
Условие: Начало миссии
Завести будильник #0 на 00:00:03
Установить период будильника #0 в 00:00:15
Реакция: Добавить зону #01 #01 для группы А1
Реакция: Добавить зону #02 #02 для группы А1
Реакция: Добавить зону #03 #03 для группы А1
Реакция: Добавить зону #04 #04 для группы А1
Таким образом, я добавил 4 зоны в "лист патрулирования" всех юнитов группы А1 (т. е. того самого танка Т-90), а также завёл будильник 0 на 15 секунд.
Теперь заставить сменить зону танку очень легко! Делается это командой "Сдвинуть зону патрулирования для группы (А1)".
Для этого пишем следующее:
Условие:
Звенит будильник #0
Реакция:
Сдвинуть точку патрулирования для группы А1
ВСЁ! И ненадо прописывать движение группы для каждой зоны!
Вот тебе скрины движения танка, чтобы ты был доволен!..
Танк катался пока "надзорный" (т. е. мой танк) не шарахнул по нему. На этот случай я написал скрипт, который передаёт танк союзника - противнику. Для этого я написал:
Условие:
Группа А0 атакована 00:00:01 секунд назад
Реакция:
Выключить это условие
Передать группу А0 игроку "Противник"
Было весело.
Условие можно написать какое угодно - смотря что там у тебя по сценарию, опять-же.
А как гаубицы стрелять - это у светлейшего скриптографа Заратустры спроси. Я могу подсказать, но, боюсь, могу что-то упустить из виду!
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |


