Скрипты форум.

Zarathustra

Младший Лейтенант

Ячейки памяти

Бомбить занятый игроком город

Подкреп

Выгрузка юнитов из грузовиков

Подкреп с пушками

При приходе юнитов игрока в зону прилетает самолет

Число скриптов

Загнать Солдатов в здания

Компания

Циклическое действие с интервалом в час (например подкрепление)

Глюк с гражданскими лицами

Будильник

Запрет пехоте лезть в пустые грузовики

Посадка экипажей в танки, грузовики

Снять туман войны

подвижная группа резерва внутри обороны

После штурма обороны – назначить новый рубеж атаки

Разведка

Порядок чтения скриптов

Перевозка орудий грузовиками в нужную зону

Работа инженерных машин

При попытки форсирования реки самолеты взлетают с аэродрома и бомбят

Проблемы с отрядами

Занять город, подтащить ПТО, организовать оборону

Переназначение группы в группы без знания зоны

Длинный понтонный мост

Преследование противника

Читеры

Автоматическая и однократная стрельба гаубиц по игроку

Запретить юнитам врага вести огонь до определенного момента

Звуки

имитация высадки танков с кораблей компа

Число юнитов считаемых компом

Как сделать чтоб подкрепления противнику приходили в город через определенные промежутки времени, а если игрок заходит в определенную зону, перестали приходить?

После того как противник захватит статичный пулемет, он не "хочет" из него стрелять. Что делать?

К какой группе техники относится САУ HUMMEL

Снабжалки чинят аэродром

как сделать чтоб противнику заданные подкрепления перестали приходить если занять определенную зону

НЕ нашли? Не то? Что вы ищете?

катера могли свободно проплывать под мостом туда и обратно

А как изобразить в скриптах, чтоб самолет взлетал с аэродрома и улетал за пределы карты?

что бы Игрок видел действие войск союзника

выбор юнита для строительства на заводе

Резерв контратака

Падение морали в пустыне

Пехота патрулирует зону

Ячейки памяти

Их нигде нельзя видеть - это математическая операция. Пример: при появлении юнита А в зоне 1 срабатывает сктипт дать залп гаубицей. При повторном появлении юнита А в той же зоне скрипт уже не работает. Для того, чтоб сработал дважды в действии скрипта записываешь занести в ячейку 1 число 1. В условиях следующего скрипта пишешь - юнит А в зоне 1 и число в ячейке 1 равно1, дать залп гаубицей. Это самый простой пример.

---------------------------

Цитата:

Самолет прилетает 2 раза. Так дейчтвие может выполняться только 2 раза?

Ничего удивительного! Ты же сам поставил условие: Выключить...

Ячейки - одна сплошная математика. И НИКАКОГО отношения к Вашим скриптам они не имеют. Их можно складывать, вычитать, увиличивать на произвольное число, сравнивать и пр.

В данном случае будет правильно так:

Скрипт1

юнитов в зоне больше или звенит будильник 1 …

занести в ячейку число 1.

Скрипт2

юнитов в зоне меньше

… занести в ячейку число 0.

Скрипт3

Число в ячейке равно 1.

... Отправить самолеты в зону.

... Ячейку увеличить на 1 (или занести..)

... Завести будильник 1 на...

Скрипт работает столько времени, сколько выполняется заданное в нём условие (если не выключен, тогда один раз). в данном случае если при вылете самоля не увеличивать число в ячейке, то полетят они нескончаемой вереницей Можно, кстати, изменить так:

Скрипт2

Число в ячейке меньше 5.

... Отправить самолеты в зону.

... Ячейку увеличить на 1 (или занести..)

Тогда в зону вылетит 4 самоля.

Что тут сказать в ответ можно?

А зачем математика нужна?

Число в ячейке - это то же самое условие. Например, можно при выполнении целого ряда условий (юнитов в зоне, юнитов в группе, разницы например и пр.) занести в ячейку число и потом не перечислять всю эту массу, а сопоставить выполнение нужных действий с одним лишь значением. Более того, сама структура скриптов станет легче и возможности перекрёстных ссылок многократно возрастут.

Словом. всё зависит от гибкости ума и фантазии.

Бомбить занятый игроком город

Рассмотрим некий условный городок, обозначенный зоной 1. Прежде всего, определимся с его принадлежностью. Для этого пишем такой блок:

1. <юнитов игока 1 в зоне 1 точно 0 и юнитов игока 2 в зоне 1 точно 0 и неверно, что число в ячейке 1 точно 0> => <занести в ячейку 1 число 0>

(ячейка 1 будет у нас индикатором принадлежности города в зоне 1)

2. <юнитов игока 1 в зоне 1 больше 0 и юнитов игока 2 в зоне 1 точно 0 и неверно, что число в ячейке 1 точно 1> => <занести в ячейку 1 число 1>

3. <юнитов игока 1 в зоне 1 больше 0 и юнитов игока 2 в зоне 1 больше 0 и неверно, что число в ячейке 1 точно 2> => <занести в ячейку 1 число 2>

4. <юнитов игока 1 в зоне 1 точно 0 и юнитов игока 2 в зоне 1 больше 0 и неверно, что число в ячейке 1 точно 3> => <занести в ячейку 1 число 3>

Теперь мы всегда знаем:

с1=0 - в городе никого нет

с1=1 - город в руках игрока

с1=2 - в городе бой

с1=3 - город занят врагом

Пример реакции компа на занятие города игроком:

1.<число в ячейке 1 точно 1 и число в ячейке 2 точно 0> =>

<отправить подкреп Х игроку 2 через флаг А в зону 2>

<установить группе поведение...> (отправляем подкреп штурмовать город)

<занести в ячейку 2 число 1> (изменяем исходное условие, чтобы действие выполнилось только один раз в ДАННЫЙ момент)

(ячейка 2 будет у нас индикатором ответных действий)

2.<число в ячейке 1 точно 1 и число в ячейке 2 больше 0 число в ячейке 2 меньше 5> =>

<добавить игроку 2 бомберов 1>

<добавить игроку 2 вылетов для бомберов 1>(дабы не париться с количеством самолей и вылетов в дальнейшем)

<отправить 1 бомбардировщик игрока 2 в зону 1>

<число в ячейке 2 увеличить на 1>(накручиваем счётчик с каждым вылетевшим самолётом)

3.<число в ячейке 1 точно 1 и число в ячейке 2 точно 5> =>

<добавить игроку 2 разведчиков 1>

<добавить игроку 2 вылетов для разведчиков 1>

<отправить 1 разведчик игрока 2 в зону 1>

<завести будильник 1 на 2 мин>(даём время подкрепу и разведчику добраться ло места)

<занести в ячейку 2 число 6>

4.<звенит будильник 1 и число в ячейке 2 точно 6> =>

<добавить игроку 2 истребителей 3>

<добавить игроку 2 вылетов для истребителей 3>

<отправить 3 истребителя игрока 2 в зону 1>

<завести будильник 1 на 20 мин>(даём время компу на разборки)

<занести в ячейку 2 число 7>

5.<звенит будильник 1 и число в ячейке 2 точно 7> =>

<занести в ячейку 2 число 0>(цикл завершён и мы готовы к новой реакции)

Теперь пишем нечто подобное, но для с1=2 (скажем, бомберы у нас в этом случае не летят - не бомбить же своих!) и для с1=3. Тут всё зависит только от Ваших фантазий.

Особо оговорюсь: это пример, и цепочка может быть сколь угодно длинной. Более того, можно запустить дочерние цепи, дробить реакции по незначительным отличиям (% соотношение сил, состояние на других участках и пр.) Можно в условия всех скриптов ввести ещё одно значение - число в ячейке 3 (например, положение в городе Плюевске - тогда кол. скриптов кратно увеличится, но соответственно увеличится и разнообразие прохождения).

В заключение повторюсь - нет предела совершенству!

и в самом начале задать обнуление этих ячеек так

Не обнуление, а занесение в ячейку числа 0!

Подкреп

CheyZ, сделай ещё один шаг и пропиши, чтобы КАЖДОМУ игроку новый подкреп выходил через его ворота! Т. е. не один скрипт, а два, три... Естественно, для этого надо знать, кто через какие ворота вышел. Как это определить, я писал выше.

Цитата:

но что то не приходит...

Возможно, намудрил с флагами или с зонами на этих флагах - проверь (можно для теста отправить начальный резерв, например).

Далее: в твоём варианте подкреп за этот флаг игроку, занявшему его придёт только один раз (условие ты выключаешь) и притом, сразу. Если, например, за каждым диром зафиксировать свою ячейку и будильник, можно сделать всё лучше и красивее. Например, занял игрок флаг - сработал скрипт (изменили значение в ячейке и завели будильник). Сработал будильник - опять изменили значение в ячейке и отправили подкреп (снова завели будильник). Опять сработал будильник - занулили ячейку и можем повторить процедуру. Если же в любой момент происходит потеря флага (или занятие его другим игроком) - выключаем будильник и заносим в ячейку число 0.

, это длеко не всегда имеет значение, но почему ты сначала выключаешь условие, а потом прописываешь действие!?? (ведь никто ж не выбрсывает спичку. а затем пытается прикурить )

Ещё добавлю: желательно во всём следовать некой единой системе и стараться не смешивать скрипты, отвечающие за одну процедуру с остальными. Всегда будет полезен и файл с описанием Ваших ресурсов (использованных). Причём - чем больше скриптов, тем это актуальнее!

Выгрузка юнитов из грузовиков

Цитата:

Сообщение от Den_B

1) Как заставить компа чтоб он сам выгружал юнитов из грузовиков??

А также отцепялял пушки..!?!?!?

Создаёшь поткреп - транспорту даёшь одну группу (пример A1), пехоте и пушке другую (пример A2).

Затем заходишь в раздел группы (параметры миссии) - группе A1 задаёшь Грузовики - ехать в зону (Хаотично распределиться в зоне), группе A2 Пехота - Гаубицы занять (Хаотично распределиться в зоне и не перетаскивать волоком). Зону задаёшь естественно одинаковую.

Quote:

Из подкрепа доехать на грузовиках.

бы они выходили не "пеша-драла", а ехали в кузовах, боевых отделениях и т. п.???

грузовики-поддержка

они довезут пехов куда надо. Верно только приминительно к грузовикам. с бтрами вроде такое нельзя.

Этого добиться невозможно. Например, при повреждении грузовика независимо от всех прочих настроек поведения они галопом покинут кузов

Вообще, не понятны проблемы с поведением пехов и грузовиков/броневиков - на портале есть мануал "управление на основе групп". Там всё очень ясно и понятно расписано.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8