Добро пожаловать на форумы Боевого Народа (бывший форум Live.CNews.ru)!

ВАЖНЫЕ ТЕМЫ: FAQ по переезду и восстановлению учеток | Ошибки и глюки форума.
О проблемах с учетными записями писать СЮДА.
Туториал БПО: используем Reinforcment - Форумы Боевого Народа
IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
Туториал БПО: используем Reinforcment, создаем арт удар
сообщение 10.12.2007, 16:38
Сообщение #1





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



В общем увидел я в третьей бонусной миссии (она правда называется второй) возможность вызывать артудары с помощью блока подкреплений и решил разобраться как это делается. Открыв миссию и иногда спрашивая некоторые не раскрытые для меня детали новой фичи у Instinct'а написал этот тутор, в которм исопльзуется блок Reinforcment (подкрепления) с помощью которого игрок будет вызывать арт удар.

Для начала, что б не очень долго делать карту для тутора - взял готовую карту, заполнил деревеньку немецкими войсками и получилось что-то вроде этого:
[attachment=15244:attachment]
Теперь немного о новой фиче - подкреплениях. Она появилась в F3-F9 - настройках миссии, и вот тут её на скриншоте можете увидеть:
[attachment=15245:attachment]
Так же еще появилась команда others/reinforcment, но она простенькая - лишь включает отключает подкрепления и добавляет, отнимает игроку очки. Так что вернемся к менюшке реинфорсмента на рисунке сверху.
Сейчас там есть два параметра - это сколько у игрока будет очков (первая строка) и сколько у него может быть максимум этих очков (вторая строка)
Дальше тыкаем правой кнопкой мышки в пустом месте меню реинфорсмент, выбираем ADD..., вводим имя (я ввел Artudar, например) и дальше у нас появляется новое подкрепление, которое я настроил таким образом:
[attachment=15246:attachment]
Теперь пройдемся по всем параметрам подкрепления.
state - задает начальное состояние иконки реинфорсмента. Она может иметь состояние '-' - то есть быть активна, может быть спрятана ('hidden') и работать ('work')
Строчка text задает текст, который будет написан на иконке
Строчка image - будет показывать картинку иконки. Имена картинок - это имена различных войск, техники и пехоты (беруться из папки game.pak\interface\scene\)
Строка hint - то что будет писаться, при наведении мышкой на иконку подкрепления
count - максимальное число раз вызова данного подкрепления
score - сколько очков нужно для вызова одного такого подкрепления
delay - задержка между двумя вызовами этого подкрепления
eventStart - включает данный event при нажатии на кнопку подкрепления
eventEnd - выключает данный event при нажатии на кнопку подкрепления
waypoint - если указан в этом параметре вейпоинт, то игрок должен будет после кликания на подкрепление так же еще и указать точку куда его вызывать. И тогда после клика в эту точку переместиться или создаться (если его еще нет) вейпоинт с указанным номером.

Ну и я задал следующие параметры. Число очков игроку дал 10. Дал возможность вызвать 10 артударов, задержка между которыми будет 20 секунд и цену одного артудара установил в 1 очко.
Так же что бы запустить триггер, который будет выполнять артудар я создал эвент 'artudar', который будет включаться при вызове игроком онного.
И прописал, что артудар будет вызываться на вейпоинт 0 (WP0)
После того как все здесь настроил, я создал с краю карты этот самый 0-ой вейпоинт и поставил ему радиус 400, как на этом скрине:
[attachment=15247:attachment]
Теперь осталось лишь сделать триггер, выполняющий артудар.
[attachment=15248:attachment]
Создал новый триггер, назваз его artudar
В условиях запуска триггера прописал срабатывание по event'у 'artudar', который включается при вызове подкрепления.
Теперь перейдем к командам в триггере:
первый loop - это проигрывание в цикле звука выстрелов. То есть будет проигрываться один за другим 6 звуков выстрела артиллерии, задержка между которым будет составлять от 1 до 2-х секунд.
В следующем цикле будет создаваться на вейпоинте 0 объект service/damage/artillery_explosion - который и будет взрывать все. Причем он будет не ровно на 0-ом вейпоинте создаваться, а случайно в пределах радиуса этого вейпоинта.
После всех взрывов надо подготовить триггер и эвент к следующем арт удару, для чего я командой event отключаю эвент 'artudar' и перевожу тригер 'artudar' в нерабочее состояние - что бы он заново мог запуститься.
На этом все. Осталось добавить лишь примеры. Вот они:


В этом архиве миссий 0.mi - вариант описанный в туториале. 1.mi - все примерно тоже самое, но вместо имитации артилерии стреляют настоящие катюши B) [attachment=15250:attachment].
P.S. файл называется зип, но там рар архив.
P.P.S. папку мапс из архива и все что в ней лежит вставьте в папку ресурсов в игре. И тогда откроете миссию в редакторе вот эту: map/simgle/test
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 11.12.2007, 19:34
Сообщение #2





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Вот сделал на этой же карте с теми же немцами вызов вместо артилерии Ил-2 штурмовиков. Теперь тем кто все это запустит и посмотрит приз - увидят как ИЛ-2 самолеты немцов бомбят, а они в свою очередь отбиваются чем могут smile.gif И еще, если повезет, воздушные крушения, врезания в землю, и трюк самолет-факел тормозит об землю :D
[attachment=15268:attachment]
P.S. в этом архиве mi файл просто в ставьте в предыдущую миссию туториала
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 12.1.2008, 15:04
Сообщение #3





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



подскажите как создать танк на карте так чтоб когда грузиш игру он появился на карте smirk.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 7.5.2008, 15:14
Сообщение #4





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



У меня нет reinforcment при нажатии F9
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 7.5.2008, 15:54
Сообщение #5





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата(Alex007 @ Среда, 7 Мая 2008, 15:14:26) *
У меня нет reinforcment при нажатии F9


а у тебя точно Братья по оружию стоят? smile.gif

вот что должно быть в этой вкладке

[attachment=18811:attachment]
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 9.6.2008, 20:58
Сообщение #6





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



пример пополнения очков для подкреплений по счету мертвых врагов.

цикл прост: есть враги с неким тэгом ss. и наш юнит с неким тэгом pl.
создаем триггер назовем его условно score.
в условиях (condition) ставим entities - тэг ss, состояние dead > 0.
и создаем команду:
generic--while, в ней выбираем так же entities, так же состояние advance,
group-include--state(dead), exclude--некий тэг dead который мы ему присвоим.
далее пр. кнопкой мыши add inside - reinforcement (score add) прибавляем 1 очко.
снова пр. кнопка мыши add - entity state (выбираем тэг ss) и добавляем tag add - dead.

далее задержка в секунду delay 1
и зацикливаем триггер trigger off и ставим наш триггер score.

в примере этот скрипт. запускаем его. расстреливаем врагов - и видим что с каждым убитым немцем нам добавляется одно очко.
[attachment=19537:attachment]
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Nebel
сообщение 22.10.2008, 23:11
Сообщение #7


Младший сержант
***

Группа: Старожилы
Сообщений: 1446
Регистрация: 13.8.2017
Пользователь №: 48893



А как сделать так, чтобы иконки с вариантами подкрепления отображались как в мультилеере?
То есть например справа есть несколько иконок - танк, пехота, машина. Кликнув по иконке танка например, выбираем необходимый, и тд.
А то если много вариантов подкреплений сделать, помещается штук 7-8 иконок, остальные вылезают за экран, и не прокручиваются никак...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 23.10.2008, 13:39
Сообщение #8





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Сделай типы подкреплений(танк, пехота, машина) как отдельные подкрепления.
Но при их нажатии, не приезжает подкрепление, а скрываются эти подкрепления и показываются уже виды возможных, так-же надо будет сделать кнопку(тоже подкрепление) назад, которая скрывает виды, и обратно отображает типы.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Nebel
сообщение 24.10.2008, 1:00
Сообщение #9


Младший сержант
***

Группа: Старожилы
Сообщений: 1446
Регистрация: 13.8.2017
Пользователь №: 48893



мм, расписать сможешь? Буду весьма благодарен)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 24.10.2008, 18:49
Сообщение #10





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Читай тут.
Расписано, + пример.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 20.12.2008, 17:36
Сообщение #11





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



А можно таким образом спавнить ящик с патронами или предмет инвентаря ?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
ComradIvan
сообщение 15.7.2010, 13:56
Сообщение #12


Прапорщик
*******

Группа: Старожилы
Сообщений: 6473
Регистрация: 13.8.2017
Пользователь №: 118395



Цитата(prazdneG @ Суббота, 20 Декабря 2008, 17:36:58) *
А можно таким образом спавнить ящик с патронами или предмет инвентаря ?

теоритически можно, но ящик будет "телепортироватся"к месту, гораздо легче сделать машинку с боеприпасами как в МП. smile.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 10.3.2011, 13:46
Сообщение #13





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Человеки помогите как можно такую мыслю реализовать например:
Едет машина заежает через прохадную останавливается с казарм выбегают солдаты и начинают с машины ящики выгружать и чтоб ящики были не пустые а например один с патронами второй с гранатами и тп и после того как разгрузили чтоб машина поехала по делам тоесть за карту а солдаты вернулись в казарму. Можете помоч реализовать? зарание спасибо
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
ComradIvan
сообщение 10.3.2011, 13:54
Сообщение #14


Прапорщик
*******

Группа: Старожилы
Сообщений: 6473
Регистрация: 13.8.2017
Пользователь №: 118395



Artz Все вопросы, задаются здесь. В следующий раз смотрим название темы. :angry:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 5.2.2012, 17:56
Сообщение #15





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата(хабанера @ Понедельник, 9 Июня 2008, 20:58:59) [snapback]715809[/snapback]

пример пополнения очков для подкреплений по счету мертвых врагов.

цикл прост: есть враги с неким тэгом ss. и наш юнит с неким тэгом pl.
создаем триггер назовем его условно score.
в условиях (condition) ставим entities - тэг ss, состояние dead > 0.
и создаем команду:
generic--while, в ней выбираем так же entities, так же состояние advance,
group-include--state(dead), exclude--некий тэг dead который мы ему присвоим.
далее пр. кнопкой мыши add inside - reinforcement (score add) прибавляем 1 очко.
снова пр. кнопка мыши add - entity state (выбираем тэг ss) и добавляем tag add - dead.

далее задержка в секунду delay 1
и зацикливаем триггер trigger off и ставим наш триггер score.

в примере этот скрипт. запускаем его. расстреливаем врагов - и видим что с каждым убитым немцем нам добавляется одно очко.


Я вот долго искал методом тыка но так и не нашёл идеального триггера,в этом триггере если в толпу с пушки допустим стрельнуть то за большую часть убитых очки не засчитываються так же не засчитываются очки за полное уничтожение тела солдата(допустим как происходит часто с зенитки попадания или противотанковой гранатой да или фугасом бывает что несколько человек разрывает что тел не остаётся,одни каски только и оружие)хабанера подскажи пожалуйста может есть более чёткий триггер?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 5.2.2012, 17:59
Сообщение #16





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



,Есть более пригодный в этом плане триггер, завтра могу скинуть пример.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 5.2.2012, 18:24
Сообщение #17





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата(Dudkoff @ Воскресенье, 5 Февраля 2012, 17:59:00) [snapback]1637128[/snapback]

,Есть более пригодный в этом плане триггер, завтра могу скинуть пример.

Да скинь пожалуйста а то надо очень)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 6.2.2012, 10:40
Сообщение #18





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



smile.gif Простенький скрипт подсчета количества убитых.Данный скрипт учитывает каждого убитого врага(в данном случае человека).Перезапуск триггера после каждого убитого врага.Имеется некая зона ALL_MAP(в данном случае вся карта)и юниты врага с тагом GER.Обьясню для чего в конце с юнита снимались все теги.Это чтобы в дальнейшем движок игры уже не учитывал этого юнита в последующих триггерах.
Код

        {triggers
            {"score_dead_humman" -----НАЗВАНИЕ ТРИГГЕРА
                {autoreset} ----------ПЕРЕЗАПУСК ЭТОГО ТРИГГЕРА
                {condition -----------УСЛОВИЯ ДЛЯ ЕГО СРАБАТЫВАНИЯ
                    {terms --------УСЛОВИЯ
                        {"1.entities" -----------ПЕРВОЕ УСЛОВИЕ.ЕСЛИ ОБЬЕКТ...
                            {selector
                                {tag ger} -----С ТАГОМ GER
                                {zone "all_map"} -----НАХОДЯЩИЙСЯ В ЗОНЕ ALL_MAP
                                {type human} ----ЧЕЛОВЕК
                                {state dead} ---В СОСТОЯНИИ -МЕРТВ
                            }
                        }
                    }
                }
                {actions ------ДЕЙСТВИЕ ТРИГГЕРА(УСЛОВИЕ СРАБОТАЛО)
                    {"entity_state"  -------СОСТОЯНИЕ ОБЬЕКТА(ЧЕЛОВЕК)
                        {selector
                            {amount 1-------КОЛИЧЕСТВО ОБЬЕКТА(ЧЕЛОВЕК)
                            }
                            {tag ger} ----С ТАГОМ GER
                            {zone "all_map"} ---В ЗОНЕ ALL_MAP
                            {type human} ----ЧЕЛОВЕК
                            {state dead} -----МЕРТВ
                        }
                        {tag_add death} -----К ЭТОМУ ОБЬЕКТУ ДОБАВЛЯЕТСЯ ТАГ DEATH
                        {tag_remove ger} ----И УДАЛЯЕТСЯ ТАГ GER
                    }
                    {"reinforcement" ----ДОБАВЛЯЕТСЯ ОДНО ОЧКО
                        {operation score_add}
                        {score 1}
                    }
                    {"entity_state"-------СОСТОЯНИЕ ОБЬЕКТА(ЧЕЛОВЕК)
                        {selector
                            {amount 1-------КОЛИЧЕСТВО ОБЬЕКТА(ЧЕЛОВЕК)
                            }
                            {tag death} ------С ТАГОМ DEATH
                            {zone "all_map"} --------В ЗОНЕ ALL_MAP
                        }
                        {tag_remove death} -----УДАЛИТЬ ТАГ DEATH
                    }
                    {"delay" --------ЗАДЕРЖКА
                        {time 0.1}
                    }
                    {"trigger" ------ПЕРЕЗАПУСК ТРИГГЕРА ПРИ ВЫПОЛНЕНИИ.
                        {name "score_dead_humman"}
                    }
                }
            }
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 6.2.2012, 16:40
Сообщение #19





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата
Имеется некая зона ALL_MAP(в данном случае вся карта)и юниты врага с тагом GER

Если бы всё было так просто.
Объясню, в чём заковырка:
Идея в принципе правильна. И, кстати, может работать без зоны, растянутой на всю карту.
Но дело в том, что юнит может распылить в ничто любой (почти) снаряд. Т.е. такой юнит в случае гибели подвергнуться учёту не успеет. Игра даже не будет рассматривать его как мёртвый юнит. Проще говоря, он был жив и после попадания фугаса этак с 75 мм и выше исчез. А может, и не один, а с несколькими рядом находящимися юнитами.
В БПО (миссия "Севастополь") этот триггер не учёл бы никоим образом те десятки солдат, которые выносит после попадания рядом с ними снаряда орудия береговой батареи.
Поэтому есть несколько иной вариант, о котором говорилось мной.
Однако этот вариант также имеет некоторые недостатки.
Пока что он не совсем готов, но как будет время...
Поэтому просто скажу сейчас, что смысл триггера заключается не в отсчёте убитых юнитов, а в подсчёте всех живых юнитов и сравнении этого числа с числом живых юнитов в любой момент времени и соответствующим внесением необходимых в это число (своевременных) изменений.
На данный момент я уже знаю один недостаток данного триггера - солдат, севший в танк (ибо там для триггера он "исчезает") триггером вероятнее всего будет учитываться как убитый. А в остальном особых проблем нет.


Цитата
Цитата
Есть более пригодный в этом плане триггер, завтра могу скинуть пример.

Да скинь пожалуйста а то надо очень)

так что "завтра" - понятие растяжжжиимое smilewinkgrin.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 6.2.2012, 21:11
Сообщение #20





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Dudkoff спасибо большое!а на счёт тех солдат от которых остаются только каски и винтовки то будем считать их пропавшими безвести))нет тела нет и статистики))Спасибо ещё раз дал триггер такой какой нужен мне был.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18.4.2024, 10:57
Консультации адвоката по уголовным делам. Бесплатно. По всей России