О создании нелинейных миссий, раличный примеры создания нелинейностей в миссиях |
|
Здравствуйте, гость ( Вход | Регистрация )
О создании нелинейных миссий, раличный примеры создания нелинейностей в миссиях |
13.1.2007, 22:40
Сообщение
#1
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Для начала один пример от меня - как создавать в триггерах с помощью команд случайный выбор. В общем вот:
Здесь рассмотрен краткий пример что надо делать, если мы хотим что б произошло случайным образом одно из двух событий. Сначало опишем то, что хотим что б было: Есть некоторое событие. Например надо переключить эвент, который запускает триггер вызывающий, например, подкрепление. Но хочется, что б он случайно запускался либо через 10 секунд, либо через 20, либо через 30. Таким образом нам надо использовать команду switch и следующую структуру в ней: Код {"switch" {"case" {condition {type rand} {value 0.33} } {"delay" {time 10} } } {"case" {condition {type rand} {value 0.33} } {"delay" {time 20} } } {"default" {"delay" {time 30} } } } {"event" {event "event"} {mode set} {delay 0} } Теперь опишем что и как работает. Есть переключатель событий (switch). В нем прописываются условия (правой кнопкой мышке на команде switch и жмем case) и условие которое срабатывает по умолчанию - если все остальные условия не сработают. Когда очередь доходит до этой команды. То по списку проверяются все условия switch'ей. То, у которого первого условие подходит - выполняется, остальные ниже уже выполняться не будут. Таким образом, если нам надо выбрать случайно одно из 3-х событий. Мы высчитываем вероятность происхождение каждого из них - то есть 33% или 0.33. Два из трех событий мы заносим в case а одно в default. В условиях case - мы выбираем rand-ом и пишем в его параметре 0.33 (в рандоме бросается число от 0 до 1, понятное дело не целое, и если оно оказывается меньше установленого в value - то тогда срабатывает, если больше - то идем на следующее условие) В общем то вроде бы и все. Сообщение отредактировал StalkerXey - 13.12.2007, 0:57 |
|
|
16.1.2007, 16:26
Сообщение
#2
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Q: Как сделать чтобы каждый из юнитов или единиц техники передвигались по своему маршруту.
А: 1. Выставляем юнитов, выставляем технику, сажаем туда экипаж. 2. Выставляем вэйпоинты, какой маршрут мы хотим задать. 3. Переходим в триггеры, создаем новый, скажем start, в командах выбираем самую нижнюю - waypoint. Заходим в него выбираем actor, ставим своего игрока Player 1/2 и т.д. 4. У каждого юнита и единицы техники есть свой номер - mid. Увидеть можно выделив его. И вот в настройках в строчке mids прописываем его номер, во вкладке type выбираем что это будет - human для пехоты, auto - для машин, мотиков и т.д. 5. Вэйпоинт выбираем первый в связке относящейся к этому юниту или группе юнитов. 6. Первая команда готова. Затем копируем ее Alt+C, в новой меняем mid на нужный номер и вэйпоинт. 7. Все, все идут по своим делам |
|
|
22.2.2007, 9:08
Сообщение
#3
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Вчера эксперементировал с функцией rand - прикольно, настоящий подарок от разработчиков для создания нелинейного сюжета.
Чтобы определить как распределяется вероятность я объединил респаун юнитов с функцией rand. Суть: 4 юнита (hidden), 1 самоперезапускающийся триггер (5 сек.), который случайным образом отправляет одного из юнитов на вейпоинт. Вот что получилось (код в редакторе видно на картинке): [attachment=6781:attachment] Код в блокноте: Код {"start" {autoreset} {condition {terms {"1.event" {id "start0"} // Триггер запустится, если событие start0 - будет включено. } } } {actions {"switch" {"case" {condition {type rand} {value 0.25} // с вероятностью 1/4 запуститься код, указанный ниже } {"waypoint" // отправляется в точку (0) путем клонирования юнит (с номером 35) {who {type actor} {actors {mids 35} } } {action {type start} {waypoint "0"} {clone} } } } // Аналогично делаем для других юнитов (в 4-м case вместо дефаулта я использовал rand value 1) } {"event" {event "start0"} {mode toggle} {delay 5} } } } Вместо отправки юнита на вейпоинт можно вставить запуск события. В общем-то дело за сценаристами, которые смогут написать нелинейный сюжет |
|
|
2.7.2007, 21:32
Сообщение
#4
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Весьма зачотная функция редактора, отчасти также для создания нелинейного сюжета. Можно назвать ее всемогущее око.
в conditions прописать условие camera, проставить зону в которую эта камера попадет, когда игрок будет изучать карту скажем. а команды можно ставить любые. то есть к примеру идет миссия, что то на ней происходит, кто то ходит в патруле, кто то курит, кто то разговаривает, чтобы у вас не выскакивали окошки диалогов, а вы не знали кто это говорит и к чему и сделано это условие - когда вы наведете камеру именно на этот участок и произойдет это событие. Это условие как бы делает игрока непосредственным свидетелем или участником процесса. То есть пока ты не смотришь сюда - этого вроде как бы и нет ) камеру можно настраивать по времени, видящую или не видящую, частично видящую. в файле пример - стоят два солдата - наводите на них камеру - они умирают [почувствуй себя зевсом] |
|
|
16.9.2007, 13:10
Сообщение
#5
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Еще один пример скрипта о нелинейной атаке. Тут недавно задавали вопрос, о том как сделать, чтобы атака врагов шла случайным образом, но имела некие приоритеты.
Вот конкретный пример. Допустим русские против немцев. Есть и там и там пехота, пулеметчики, базутчики, танки, спецназ. Немцам еще добавил пушки, т.к. они обороняются. Все та же любимая функция switch, где с помощью тагов и четырех вариантов атаки случайным образом происходит бой. Либо наши пулеметчики атакуют вражеских базутчиков, дать дорогу танкам, либо базутчики атакуют немецкие танки, либо наши танки атакуют пушки или опять же танки . Триггеры обороны не прописывал, отдал там на откуп AI. Те же вариации можно прописывать и для обороны. |
|
|
Текстовая версия | Сейчас: 26.9.2024, 19:13 |