|
|
Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты Плавный переход анимации и активация диалогов через триггер (Помогите пожалуйста ребят) |
Плавный переход анимации и активация диалогов через триггер |
› Вторник
› 05.01.2016
› 18:14
› Сообщение #
Всем привет,надеюсь вы мне поможете.Итак у меня есть пару вопросов:
1)Как сделать анимацию плавнее?Ну то есть есть анимация умирающего солдата и при активации триггера эта анимация отменяется и включается следующая,где он уже умирает.У меня не получается сделать так,бот начинает дергаться и плавный переход не получается.Как исправить? 2)Я научился делать диалоги,Спасибо petrikum и его примеру тык. Все работает но как сделать чтобы диалог не сразу начинался а при активации триггера?И как сделать чтобы диалог не пролетал за 1 секунду.Я не успеваю даже прочитать)Как все это исправить? 3)Как сделать чтобы бот более ровнее ехал по дороге,а не петлял по ней,врезаясь во всё что видит? 4)Как сделать так чтобы при активации триггера машина взорвалась?Типо на нее была установлена взрывчатка? 5)Как заставить бота выстрелить в другого,определённого бота или мишень? Надеюсь вы мне поможете...Заранее спасибо |
› Вторник
› 05.01.2016
› 19:03
› Сообщение #
1. Сделать новую, более плавную анимацию. Либо потеряно промежуточное звено - та самая анимация, которая должна сгладить всю анимку. Либо в конфиге у анимации есть параметр "сколько можно отыграть, чтоб она поскорее закончилать"(в%). Бот играет аниму, ты слишком рано пересекаешь триггер, но разрешенная часть для завершения уже отыграна и бот переключает аниму. ХЗ в общем.
2. сделать диалог, чтоб он активировался в триггере. Пауза задается комадной Sleep или ~ для sqs и sqf соответсвенно. Но в ините триггера, вейпоинта, игрока эти комадны не работают, к сожалению. По этому надо делать через текстовый скрипт. 3. Аддоны улучшающие ИИ |
› Среда
› 06.01.2016
› 11:49
› Сообщение #
Street-y, не можно как нибудь соединить анимацию?И как активировать диалог через триггер..то есть скрипт
|
› Среда
› 06.01.2016
› 12:52
› Сообщение #
соединить нет, только дать доиграть одной и сразу переключится на другую, либо найти нужный момент, чтоб как-то сгладить переход.
Делаешь скрипт, в нем пишешь все что нужно, сохраняешь. В игре в триггере подключаешь этот скрипт(ну или секцию нужную, хз), и триггер начинает выполнять этот скрипт. Теперь условия выполняются не через инит, а вызываются скрипты. |
› Среда
› 06.01.2016
› 13:59
› Сообщение #
соединить нет, только дать доиграть одной и сразу переключится на другую, либо найти нужный момент, чтоб как-то сгладить переход. Типа того: unit switchmove "anim1"; sleep 5,2; unit switchmove ""; unit switchmove "anim2"; Но оно того стоит ЗЫ Если делается для ролика, можно использовать некоторые хитрости. Напр, в момент смены анимации менять положение камеры или переключать ее |
› Среда
› 06.01.2016
› 16:39
› Сообщение #
andrucio, а как сначёт диалога,а именно что бы он активировался при активации триггера
Вот такое у меня в stringtable: <Project name="Name"> <Package name="Second name"> <Container name="Breefing"> </Container> <Container name="System"> </Container> <Container name="Says"> <Key ID="STRD_PIO1"> <Original>Лиса, докладывайте ситуацию.</Original> </Key> <Key ID="STRD_PIO2"> <Original>Противник развернул ПВО на холме возле Горки, все остальные позиции я отметил на карте.</Original> </Key> <Key ID="STRD_PIO3"> <Original>Отлично, хорошая работа.</Original> </Key> <Key ID="STRD_PIO4"> <Original>Так же к вам хочет присоединиться повстанческий отряд, под командованием Дмитрия Соколова</Original> </Key> <Key ID="STRD_PIO5"> <Original>Будем рады любой помощи</Original> </Key> <Container name="Persons"> <Key ID="STR_spec_6"> <Original>Варан</Original> </Key> <Key ID="STR_spec_1"> <Original>Джеймс</Original> </Key> <Key ID="STR_spec_2"> <Original>Феникс</Original> </Key> <Key ID="STR_spec_3"> <Original>Мейсон</Original> </Key> <Key ID="STR_spec_4"> <Original>Сокол</Original> </Key> <Key ID="STR_spec_5"> <Original>Англичанин</Original> </Key> </Container> </Package> </Project> Такое в дескрипшоне class CfgIdentities { class b6 { name = "$STR_spec_6"; face = "Default"; glasses = "BlackSun"; speaker = "Male06RU"; pitch = 1.0; }; class b1 { name = "$STR_spec_1"; face = "Default"; glasses = "None"; speaker = "Male01RU"; pitch = 1.0; }; class b2 { name = "$STR_spec_2"; face = "Default"; glasses = "None"; speaker = "Male02RU"; pitch = 1.0; }; class b3 { name = "$STR_spec_3"; face = "Default"; glasses = "None"; speaker = "Male03RU"; pitch = 1.0; }; class b4 { name = "$STR_spec_4"; face = "Default"; glasses = "None"; speaker = "Male04RU"; pitch = 1.0; }; class b5 { name = "$STR_spec_5"; face = "Default"; glasses = "None"; speaker = "Male05RU"; pitch = 1.0; }; }; И тако в ините b1 kbAddTopic ["briefing", "kb\briefing.bikb", ""]; player kbAddTopic ["briefing", "kb\briefing.bikb", ""]; // говорит игрок джеймсу player kbTell [b1, "briefing", "STRD_PIO1"]; // условие на заканчивание реплеики waitUntil {player kbWasSaid [b1, "briefing", "STRD_PIO1", 3]}; // говорит джеймс игроку b1 kbTell [player, "briefing", "STRD_PIO2"]; // условие на заканчивание реплеики waitUntil {b1 kbWasSaid [player, "briefing", "STRD_PIO2", 10]}; // говорит игрок player kbTell [b1, "briefing", "STRD_PIO3"]; // условие на заканчивание реплеики waitUntil {player kbWasSaid [b1, "briefing", "STRD_PIO3", 3]}; // говорит джеймс игроку b1 kbTell [player, "briefing", "STRD_PIO4"]; // условие на заканчивание реплеики waitUntil {b1 kbWasSaid [player, "briefing", "STRD_PIO4", 3]}; // После фраза player kbTell [b1, "briefing", "STRD_PIO5"]; Дак вот как сделать чтобы это все включилось при активации триггера и как сделаить паузы между диалогами? |
› Среда
› 06.01.2016
› 21:13
› Сообщение #
Зачем тебе диалог в ините??
Его надо запихнуть в отдельный файл, напр. dialog.sqf И запускать этот файл при активации триггера. Паузы между репликами командой sleep https://community.bistudio.com/wiki/sleep |
› Понедельник
› 11.01.2016
› 15:02
› Сообщение #
andrucio, спасибо.А как сделать чтобы триггер срабатывал на определённой высоте?
|
› Понедельник
› 11.01.2016
› 16:56
› Сообщение #
Триггер кем активируется? Юнитом?
Тогда в условии срабатывания проверять высоту юнита getposATL имя_юнита select 2 < 100 Ну или больше.. я не знаю, что там у тебя за условие |
› Вторник
› 12.01.2016
› 18:30
› Сообщение #
|
| |||
| |||
Чат сайта |