Примеры скриптов и т.д., Если есть какой-нить простой пример - пишите сюда и не забывайте про с |
|
Здравствуйте, гость ( Вход | Регистрация )
Примеры скриптов и т.д., Если есть какой-нить простой пример - пишите сюда и не забывайте про с |
22.6.2007, 1:48
Сообщение
#21
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Думаю многие обратили внимание на то, что в обычной версии ВТВ 2 (т.е. без модов и т.п.) снайпер - довольно бесполезная боевая единица, если он действует самостоятельно: сам атакует противников метров с 20-и, а с командой прицельного выстрела - 32 метра, хотя винтовка бьёт на все 45...
В этом примере я попробовал заставить снайпера автоматически атаковать цели находящиеся в зоне поражения винтовки. Вот что получилось: Плюсы: 1. Снайпер стал вести огонь с положенной ему дистанции. 2. Если противников в радиусе 45 метров нет - огонь прекращается. Минусы: 1. Использование команды аctor_fire ведёт к тому, что снайпер начинает вести огонь по противникам находящихся на любой дистанции от него самого, так что прежде чем он перебьёт всех в радиусе 45 метров, он может расчистить ещё пол карты :( В моём примере 2 снайпера: обычный и с тэгом pro. Последний начнёт атаку как только он достигнет зоны огороженной мешками... добавлено: 1. Снайперу присвоим тег - Pro. 2.Поставим зону (Zone) в которой снайпер сможет вести огонь на расстоянии - назовем её Snip. 3. Описываем тригер, который должен побуждать нашего снайпера вести огонь с непривычного для него расстояния (тригер - Check): 3.1 Условие (Condisions) при котором он сработает: используем команду entities, в ней: tag=pro zone=snip state=not dead // на случай если снайперов больше одного count != value=0 жмём OK Смысл условия: если в зоне Snip есть живые снайперы Pro. 3.2 Опишем команды (Commands) нашего тригера: 1-я. delay=1 2-я. if //условие _ type=near _ units -> tag=pro и state=not dead _ near_to -> player=player1 и state=not dead //для то чтобы по трупам не стрелял _ distance = 45 (Дальность стрельбы винтовки) жмём OK 3-я. actor_fire вкладывем в if (пкм по if -> add_inside) _ selector -> tag=pro и state=not dead _ enemies -> player=player1 и state=not dead _ time=1 //т.е. всего один выстрел за весь тригер _ burst_mode=once жмём OK Смысл 2-й и 3-й: если снайпер находится на расстоянии от врага меньше, чем 45, то он может вести огонь с помощью команды actor_fire, причем однократно. 4-я. trigger //необходимо для перезапуска тригера check _ name=check жмём OK Вот и всё - готово!!! Плюсы: 1. Снайпер стал вести огонь с положенной ему дистанции. 2. Если противников в радиусе 45 метров нет - огонь прекращается. Минусы: 1. Использование команды аctor_fire ведёт к тому, что снайпер начинает вести огонь по противникам находящихся на любой дистанции от него самого, так что прежде чем он перебьёт всех в радиусе 45 метров, он может расчистить ещё пол карты. Сообщение отредактировал StalkerXey - 22.6.2007, 7:33 |
|
|
22.6.2007, 9:40
Сообщение
#22
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Пример подрыва динамита с помощью детонатора с использованием всего одного тригера.
Плюс этого тригера в том, что детонатор можно использовать столько раз, насколько хватит динамита... B) Количество связок динамита в каждой закладке роли не играет (хоть 1 связка, хоть2,3,4...). P.S. Динамит можно просто выбрасывать из инвентаря рядом с нужным местом... Описание примера: 1. Поставим на карту сам детонатор (dynamiite_fuse) и присвоим ему тег - Det. 2. Накидаем рядом сам динамит (dynamite) и присвоим ему тег - Dyn. // затем просто подбираем его солдатом в режиме F1 3. Описываем тригер, который должен побуждать детонатор при каждом использовании подрывать заложенный динамит (тригер - Boom): 3.1 Условие (Condisions) при котором он сработает: используем команду entities, в ней: source=advanced пкм по selector -> +group пкм по select -> +tag и tag=det пкм по include -> +tag и tag=switch // switch - пишется вручную жмём OK Смысл условия: если есть что-то (в нашем случае детонатор) с тегом det и включает в себя тег switch. 3.2 Опишем команды (Commands) нашего тригера: 1-я. delay=1 2-я. effect ___ selector -> tag=dyn ___ effect=explosion жмём OK 3-я.delay=1 4-я.enity_state ___ selector -> tag=det ___ tag_remove=switch // убираем тег - Switch жмём OK Смысл 2-й и 4-й: после активации детонатора ему автоматически присваивается тег - Switch, в результате наше изначальное выполняется и благодаря 2-й команде динамит с тегом det взрывается, затем у детонатора убирается тег switch, что позволяет использовать его повторно. 5-я. trigger //необходимо для перезапуска тригера boom _ name=boom жмём OK Вот и всё - готово!!! Сообщение отредактировал DarthLeon - 22.6.2007, 9:57 |
|
|
22.6.2007, 10:00
Сообщение
#23
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Предположим, что для победы нам необходимо разрушить какое-нибудь строение (мост, топливный склад и т.п.). Самый простой и грамотный способ (как я думаю) можно увидеть в моём следующем примере (смотрите условие тригера win).
P.S. Вам будет достаточно активировать детонатор... B) Описание примера: 1. Поставим на карту топливное хранилище (barrel_small) и присвоим ему тег - barrel. 2. В режиме F3 -> F9 добавим новое задание (tasks -> пкм по пустому полю -> add..). Пусть name=Boom и primary - поставить галочку (т.е. главная). 3. Описываем тригер который нам сообщит что мы победили если топливное хранилище взорвано (тригер - Win): 3.1 Условие (Condisions) при котором он сработает: используем команду entities, в ней: source=advanced пкм по selector -> +group пкм по select -> +tag и tag=barrel пкм по include -> +tag и tag=crushed // crushed - пишется вручную жмём OK Смысл условия: если есть что-то (в нашем случае топливное хранилище) с тегом burrel и включает в себя тег crushed (т.е. разрушенный). 3.2 Опишем команды (Commands) нашего тригера: 1-я. delay=1 2-я. gameover ___ reslut=win жмём OK Вот и всё - готово!!! |
|
|
22.6.2007, 15:25
Сообщение
#24
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
В этом примере опишем как из динамита сделать растяжку, которая сработает при открытии ворот.
Описание примера: 1. Поставим на карту ворота (gate_depot например) и присвоим им тег - Gate. 2. Накидаем рядом сам динамит (dynamite) и присвоим ему тег - Dyn. // затем просто подбираем его солдатом в режиме F1 3. Поставим небольшую зону (Zone) перед воротами (назовём её Strike). // только в этой зоне наша растяжка сработает. 4. Необходимо поставить несколько вейпоинтов так, чтобы они проходили через ворота. // Один вейпоинт должен быть метрах в 3-х от ворот, он понадобится для открытия ворот. 5. Описываем тригер, который пустит врага (например Horch с тегом Car) по тропинке из вейпоинтов (тригер - Start): 5.1 Опишем команды (Commands) нашего тригера: 1-я. waypoint ___ who=actor ___ tag=car ___ waypoint=0 жмём OK 6. Опишем вейпоинт, который откроет ворота: 6.1 Опишем команды (Commands) нашего вейпоинта: 1-я. effect ___ selector -> tag=gate ___ effect=open жмём OK 7. Описываем тригер, который активирует растяжку (тригер - Mine): 7.1Условие (Condisions) при котором он сработает: используем команду entities, в ней: source=advanced пкм по selector -> +group пкм по select -> +tag и tag=gate пкм по include -> +tag и tag=opened // opened - пишется вручную жмём OK Смысл условия: если есть что-то (в нашем случае ворота) с тегом gate и включает в себя тег opened (т.е. открытые). 7.2 Опишем команды (Commands) нашего тригера: 1-я. effect ___ selector -> tag=dyn и zone=strike ___ effect=explosion жмём OK Вот и всё - готово!!! Остаётся лишь подойти к воротам, вблизи них положить динамит (НЕ ПОДЖИГАЯ его) и дождаться пока кто-нибудь пройдёт или проедет через них! B) P.S. В моём примере можно просто смотреть... Сообщение отредактировал DarthLeon - 22.6.2007, 15:28 |
|
|
23.6.2007, 1:32
Сообщение
#25
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
В этом примере будем переводить стрелку на рельсах с помощью выстрела.
Описание примера: 1. У части рельсы со стрелкой (railroad5_turn1d например) присваиваем тег - Rail. 2. На месте переключателя поставим маленькую зону - Shot. 3. Описываем тригер, который переведёт стрелку (тригер - Switch): 3.1 Условие (Condisions) при котором он сработает: используем команду signal, в ней: zone=shot signals=hit жмём OK 3.2 Опишем команды (Commands) нашего тригера: 1-я. delay=1 2-я. effect ___ selector -> tag=rail ___ effect=switch 3-я. trigger ___ name=switch жмём OK Смысл тригера: если в зоне Shot попадание пули (снаряда), то стрелка Rail переводится. Вот и всё - готово!!! В моём примере надо снайперским выстрелом попасть по стрелке, чтобы пустить идущий поезд под откос (правда совсем под откос не совсем получилось). P.S. Не ускоряйте время на поворотах - поезд сходит с рельс... |
|
|
23.6.2007, 20:33
Сообщение
#26
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Пример ролика-сценки под условным названием офицер едет в командировку
в ролике задействованы сразу несколько скриптов: краткое описание - поезд едет к вокзалу - по пути не переведенная стрелка - поезд останавливается, вылазит машинист идет переводит стрелку, снова садится едет к вокзалу, останавливается - в вагон залазят немецкие зольдаты - ну как же поезд может уехать без офицера, конечно он его ждет. - офицера привозят на машине, он вылазит и садится в поезд. - только тогда поезд движется дальше. |
|
|
1.7.2007, 10:50
Сообщение
#27
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Еще один простенький скрипт - ремонт техники, в данном случае грузовика
последовательность: - едет машина, на каком то участке у нее ломается колесо, машина останавливается. - вылазит солдат, берет ремкомплект [хочу обратить внимание что дальше работает ИИ, то есть не надо прописывать команды ремонта, команды положить ремкомплект обратно в машину, ИИ все это делает сам] - после того как он положил ремкомплект, садится в машину, она едет дальше |
|
|
18.8.2007, 9:51
Сообщение
#28
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Вот пример скрипта парашютистов:
1-ставим парашют из ресурсов humanskins 2-добавляем парашюту таг "1" 3-ставим человека в точке приземления парашюта 4-создаем триггер desant 5-прописываем команду effect в selektor прописываем таг парашюта а в effect прописываем start 6-создаем команду delay и выставляем задержку в 3 секунды 7-создаем команду actor_to_waypoint прописываем мид солдата и вейпоинт, куда он побежит. Вот сборка этого примера: [attachment=12260:attachment] |
|
|
24.10.2007, 21:35
Сообщение
#29
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Подскажите кто нибудь плиз,как заставить противника атаковать, как следует, чтобы AI не тупил и обороняющиеся союзники чтоб стреляли не в упор, а с максимальной дистанции. Сам разобраться не могу, помогите кто сможет!
|
|
|
25.10.2007, 8:35
Сообщение
#30
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Подскажите кто нибудь плиз,как заставить противника атаковать, как следует, чтобы AI не тупил и обороняющиеся союзники чтоб стреляли не в упор, а с максимальной дистанции. Сам разобраться не могу, помогите кто сможет! вообще вопросы обсуждаются в этой и в этой темах. если не лезть в мозги игры по идее юзаются команды see_enemy, see_actors - не помню какая точно, там задается дальность видимости противника, ну и другими командами можно задать реакцию на них: атака, отступление и прочее. |
|
|
19.11.2007, 17:53
Сообщение
#31
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
А как создать такой маршрут!К примеру появляется грузовик в одной точке едет до другой исчезает
и снова все сначало! хабанера и еще Несколько вопросов! 1.При фотографировании карты что нужно сделать чтоб экран поднялся на максимум. 2.Смотрел пример в котором описывался пример, где создается подкрепление, идет до вейпоинта, его уничтожают и снова все сначало!А как сделать чтоб появлялся допустим в одной точке грузовик, доходил до другой точки, исчезал и начиналось все сначало! 3.Как создать Mod info и файл с описанием миссии.Где-то я видел пример, но там говорили все писать в блокноте, но в папке куда это все нежно было вставлять место блокнотов находились файлы! Помогите плиз!!Кто что может! StalkerXeyПо поводу мода: Для тех кто в танке... КЛОНИРОВАНИЕ. (Дубль N) А как создать такой маршрут!К примеру появляется грузовик в одной точке едет до другой исчезает и снова все сначало! хабанера B) |
|
|
20.11.2007, 21:59
Сообщение
#32
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Q: Как сделать чтобы каждый из юнитов или единиц техники передвигались по своему маршруту. А: 1. Выставляем юнитов, выставляем технику, сажаем туда экипаж. 2. Выставляем вэйпоинты, какой маршрут мы хотим задать. 3. Переходим в триггеры, создаем новый, скажем start, в командах выбираем самую нижнюю - waypoint. Заходим в него выбираем actor, ставим своего игрока Player 1/2 и т.д. 4. У каждого юнита и единицы техники есть свой номер - mid. Увидеть можно выделив его. И вот в настройках в строчке mids прописываем его номер, во вкладке type выбираем что это будет - human для пехоты, auto - для машин, мотиков и т.д. 5. Вэйпоинт выбираем первый в связке относящейся к этому юниту или группе юнитов. 6. Первая команда готова. Затем копируем ее Alt+C, в новой меняем mid на нужный номер и вэйпоинт. 7. Все, все идут по своим делам А как можно подругому чтоб каждому не выставлять вейпойнт а сразу к примеру погставил человек 10 пехоты или больше и чтобы разом все пошли вместе? ато каждому долго очень выставлять |
|
|
22.12.2007, 10:58
Сообщение
#33
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Из другой темы послали меня сюда. Ну что ж задам свои вопросы здесь, может повезет, ответит кто-нибудь:
1. Как увеличить время между вражьими атаками? 2. Как увеличить защищенность войск в траншеях? 3. Как поменять в конкретной миссии один вид станкового пулемета на другой? Если не трудно, то опишите пошагово, пожалста, а то мои познания в компьютере весьма скромные. |
|
|
22.12.2007, 17:35
Сообщение
#34
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Q: Как сделать чтобы каждый из юнитов или единиц техники передвигались по своему маршруту. А: 1. Выставляем юнитов, выставляем технику, сажаем туда экипаж. 2. Выставляем вэйпоинты, какой маршрут мы хотим задать. 3. Переходим в триггеры, создаем новый, скажем start, в командах выбираем самую нижнюю - waypoint. Заходим в него выбираем actor, ставим своего игрока Player 1/2 и т.д. 4. У каждого юнита и единицы техники есть свой номер - mid. Увидеть можно выделив его. И вот в настройках в строчке mids прописываем его номер, во вкладке type выбираем что это будет - human для пехоты, auto - для машин, мотиков и т.д. 5. Вэйпоинт выбираем первый в связке относящейся к этому юниту или группе юнитов. 6. Первая команда готова. Затем копируем ее Alt+C, в новой меняем mid на нужный номер и вэйпоинт. 7. Все, все идут по своим делам А как можно подругому чтоб каждому не выставлять вейпойнт а сразу к примеру погставил человек 10 пехоты или больше и чтобы разом все пошли вместе? ато каждому долго очень выставлять Так ты не вейпоинты прибавляй,а команду на клонирование повторяй через промежуток времени.Из одного бойца вырастет рота,а потом эту роту уже отправляй по маршруту. |
|
|
5.1.2008, 23:15
Сообщение
#35
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
собрал пример скрипта, взлет посадка самолета.
|
|
|
14.1.2008, 15:17
Сообщение
#36
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Вот пример про то, что когда убивают какой-то количество врагов, они отступают!
0.Создаем подразделение противника, с тегом ger. 1.Ставим вейпоинт, куда враги будут отступать… 2.1.После в поле commands вейпоинта прописываем delete! Если хотим чтоб враги удалялись при добигании к вейпоинту. 3.Создаем триггер…к примеру с названием retreat! 3.1.В поле conditions прописываем entities с данными: Tag=ger Type=human State=not dead Count| <= Value= (здесь прописывать число убитых солдат, при котором противник будет отступать) 4.В поле commands прописываем: Команду delay с параметрами: Time=3 Команду actor_state с параметрами: Selector: Tag=Ger. Type=human State=not dead Count| > Fire_mode=hold Steed=fast Type=normal Команду waypoint с параметрами: Selector: Tag=Ger. Type=human State=not dead Count| > Action=start Waypoint= (здесь прописывать номер вейпоинта к которому будут отступать враги) Все что я написал выше будет звучать так... (а как же оно будет звучать м... да) Если какое-то количество ботов с тегом ger убито то, через 3 секунды они бегом побегут к вейпоинту, где собственно и удаляться!!! Проверить это можно замочив (сколько вы задали в entities/value) солдат :D ! И вот еще немножко о командах... Action лист для команды inventory: =========================== take - взять в руки предмет из инвентаря. ------------------------------------------------ take_from - взять в руки предмет, который есть у кагото или чего-то (к примеру у ящика). ------------------------------------------------- Put - (?) <_< ------------------------------------------------- Pickup - поднять предмет. ------------------------------------------------- drop - выкинуть предмет, который в руках собственно. ------------------------------------------------- drop_to - положить предмет куда-то (ну-у-у типа в ящик, в БТР, в грузовик... в танк... и.т.д.) ------------------------------------------------- add - добавить что-то в инвентарь бота. ------------------------------------------------- remove - убрать что-то из инвентаря бота. ------------------------------------------------- foel - добавляет бензин в машину. ============================ Сообщение отредактировал XeyW@r - 14.1.2008, 15:17 |
|
|
19.1.2008, 12:15
Сообщение
#37
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Пример как грузовик едет по дороге, потом в конце ее пути исчезает и начинается все заново! (через определенное время!)
0. Ставим на карту машину, БТР, грузовик, танк и т.д., сажаем туда танкистов и даем теги clon и hidden! [attachment=15971:attachment] 1. Расставляем вейпоинты, по которым будет двигаться объект и в последнем вейпоинте, к его команде прописываем delete. [attachment=15972:attachment] 2.Петерь, когда с вейпоинтами покончено, преступаем к триггерам! Создаем триггер под названиям clone и в строке autoreset ставим галочку [attachment=15973:attachment] в его командах прописываем: 2.1 waypoint. Who=actor Actors/tag=clon Action/waypoint= (здесь прописываем номер вейпоинта по которому объект будет начинать путь) Action/clone= (ставим галочку!) Action/approach= teleport & rotate [attachment=15974:attachment] 2.2 delay. Time= (здесь время за которое объект проезжает и потом все повторяется) [attachment=15975:attachment] 2.3 trigger. Name=clone On (не чего не делаем) [attachment=15976:attachment] Проверить, как объект ездит, скачав мой пример, открыв в редакторе и нажав старт!!! Сопсна все! |
|
|
19.1.2008, 14:01
Сообщение
#38
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
В продолжении темы о вейпоинтах, небольшой пример, постепеннного и "нескученного" движения атакующих войск.
special for Pheonix скрипт нудный и долгий в подготовке, но пожалуй единственно верный (по крайней мере) во всех игровых миссиях наступление организовывается именно так. секрет прост - большое количество путей, не мешающих друг другу, телепортирование через клонирование (о сказанул) на них пехоты и танков. второй важный момент - уравнивание скорости тех и других, чтобы наступление шло равномерно и танки вперед не убегали, становясь легкой мишенью. а технология вообщем проста: ставим нужную нам пехоту и технику, всем таг "hidden" ну и нужные им таги чтобы их обозначить как вид, типа спецназу - sp, ИС-2 - is, ИСУ 152 - isu, Т34 - t34 [attachment=15979:attachment] потом куча вэйпоинтов, чем больше атака, тем их больше надо сделать, и не жадничать, еще раз говорю чем больше тем лучше. [attachment=15980:attachment] и поехали их клонировать: может по event'u может по delay - как удобнее короче. команда actor_to_waypoint повторяющаяся столько раз сколько нам надо отправить пехоты и танков. между ними микро задержки в 0,5 - 1 секунду. клонируется все так: указывается таг, в amount - ставится 1 (!!!!!!) и нужный вэйпоинт. повторяем процедуру для всех вэйпоинтов, но только можно не подряд, а в разнобой. [attachment=15981:attachment][attachment=15982:attachment][attachment=15983:atta chment] клонирования не получится с заданным тэгом, поэтому после телепортирования на вэйпоинт в нем убираем наш первый таг и добавляем любой другой, хоть тот же с цифрой 1. [attachment=15984:attachment] скорость для танков slow, если надо проставьте вручную км/ч [attachment=15985:attachment] повтор атаки можно задавать чем угодно, временем, количеством убитых, достижением определенной зоны, event'om. в данном случае первая волна атаки доехала до этой зоны, сработал event, и по задержке скажем в 30 секунд пускаем вторую волну. [attachment=15986:attachment] дальше все повторяем, пехоту снова на теже вэйпоинты (можно конечно рисовать сотни вариантов путей, в Севастополе их более 1500), танки новые можно пускать но новые вэйпоинты с прописанием тагов (add - новый, remove - старый) и с заданием скорости. пошла вторая волна. все аналогично можно повторять для разных флангов, вариаций может быть много. [attachment=15987:attachment] есть конечно путь проще, он для пехоты, когда толпу с одним тагом отправляем на один вэйпоинт, а от него ведем паутинку путей, видели наверно как она делается, ну это для имитации случайного передвижения. for Чешипузик =) Добавлено - вариант бесконечной атаки, при условии что все противники мертвы. Добавьте в приведенный тест этот файл и откройте в редакторе. [attachment=16358:attachment] |
|
|
26.1.2008, 12:16
Сообщение
#39
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Пример о том, когда 1 объект бегает за другим (бегает пока не убьют первого или второго)
Сначала ставим двух объектов на карту и задаем теги (произвольно) Тепреь переходим к триггерам, создаем под названием move и ставим галочку в autoreset. В поле команды прописываем action с параметрами: Selector/tag= (здесь тег бота который будет бегать за другим) Selector/type= human Selector/state= not dead Target/tag= (суда тег бота за которым будут бегать) Target/type=human Target/state=not dead Action=move Delay: Time=1 Trigger: Name=move On= (не чо не делаем!) Вот и все! Должно работать ;) |
|
|
27.1.2008, 19:34
Сообщение
#40
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
for Визор
пример: камера - диалог - вылазка подключить как мод все нормально, тэги наверно надо писать не на русском однако сам не смог разгадать простейшей загадки - как высадить стрелка с пулеметной вышки |
|
|
Текстовая версия | Сейчас: 26.9.2024, 15:21 |