Как создать говорящего бота?
|
|
monax | Дата: Суббота, 21 Ноября 2009, 14:11 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Мне нужно сделать бота, который мог бы разговаривать со мной... Ну например: Я подохожу к нему а он мне что-то говрит.. И я могу выбрать что ему ответить.. Если например ответил одно, то он тебе другое... Если выбрал другой вариант ответа, то и он тебе в ответ другой вариант... Как это осуществить? Ну я хочу чтоб это было похоже как в Готике..
"Они забиди, а мы нет! Они победили, а мы проиграли.."-Андрей Аршавин - капитан сборной РФ по футболу!
|
|
| |
simtiko | Дата: Суббота, 21 Ноября 2009, 14:39 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| То есть выбирать ответы из меню? Так это же легче простого в любом языке и конструкторе.Если же хочешь без меню, то есть типа. ты:привет бот:а..это опять ты? ты:А мы встречались? бот:кто Мы? И сколько Вас? ты:давай лучше о другом бот:давай ты:у тебя есть хобби? бот:хобби?Этим вы называете тупые действия которые дают вам удовольствие? ты:Они совсем не тупые бот:Да ну? ... Что то типа этого?Я делал подобную говорящую программу на Турбо Паскале, она знала 100 слов, и не плохо говорила. П.С. В готику не играл. Добавлено (21.11.2009, 14:39) --------------------------------------------- Пардон.Не заметил где находится тема.В 3д раде есть (кажется собственный) скриптовый язык.С помощью него и нужно делать.Без языка в 3D RAD-е никак
|
|
| |
monax | Дата: Суббота, 21 Ноября 2009, 14:41 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Quote (simtiko) ---------------------------------------------Пардон.Не заметил где находится тема.В 3д раде есть (кажется собственный) скриптовый язык.С помощью него и нужно делать.Без языка в 3D RAD-е никак Всмылсе? Извини не понял.. Можно про это поподробнее? PS Я хочу что ьыло как через меню..
"Они забиди, а мы нет! Они победили, а мы проиграли.."-Андрей Аршавин - капитан сборной РФ по футболу!
|
|
| |
simtiko | Дата: Суббота, 21 Ноября 2009, 14:45 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| В 3D RAD-е есть язык программирования с помощью которого ты и сделаешь этот самый диалог ---------------------------------------------------------------------------------------------------------------------------------- ------------------- Что такое язык программирования
Сообщение отредактировал simtiko - Суббота, 21 Ноября 2009, 14:47 |
|
| |
anisimov | Дата: Суббота, 21 Ноября 2009, 14:47 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Если речь идёт об озвучке вы должны записать звук зараннее и сопоставить его квестовому диалогу. Всё зависит от конкретного случая. Это делают управляющими скриптами. Смотри программирование игрового АИ. В некоторых средах это можно делать визуально.
http://vkontakte.ru/id56359373 Строю Город, обустраиваю Остров. Присоединяйтесь.
Сообщение отредактировал anisimov - Суббота, 21 Ноября 2009, 14:47 |
|
| |
monax | Дата: Суббота, 21 Ноября 2009, 14:47 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Quote (simtiko) В 3D RAD-е есть язык программирования с помощью которого ты и сделаешь этот самый диалог Что-то не наблюдал... Но буду искать =)
"Они забиди, а мы нет! Они победили, а мы проиграли.."-Андрей Аршавин - капитан сборной РФ по футболу!
|
|
| |
simtiko | Дата: Суббота, 21 Ноября 2009, 14:49 | Сообщение # 7 |
почти ветеран
Сейчас нет на сайте
| monax, Прочти это поскольку если даже найдешь где писать скрипты в 3д раде, ничего не поймешь.
|
|
| |
Akyltist | Дата: Суббота, 21 Ноября 2009, 15:18 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| Эх, ну не дадите Вы мне нормально сегодня поразмыслить в каком направлении работать. Эх даю наводку. Не буду уходить в глубину. Допустим наша диалоговая строка просто картинка. Нам необходимо отследить нажали ли мы на нее или нет, и если нажали то на какой вриант и в зависимости от выбора, показывать следующий диалог. И так кидаем в проект CamChase, Sprite, Script, TextPrint: Связываем их и настраиваем,например сделаем последний не видимым при старте: Открываю руководство по Angel Script ага, почти самое верхнее то что нужно: Пишем код на нажатие на спрайт: void Main() { //mouse pointer is hovering over sprite if (iMouseButtonDown(0)) { //left mouse button is pressed iObjectStart(OBJ_44); iObjectShow(OBJ_44); //terminate script iScriptStop(); } } OBJ_44 ---- смотрим этот параметр в самом скрипте если есть связь, то он сбоку выдает для каждого связанного его ID. Я не знаю сохраняет ли Радуга в скриптах текст на русском нормально по этому юзаем не родной. Ну и чтоб Вам совсем не думать головой и не напрягать извилинки )) Прикрепляю демо.
|
|
| |
Mogilev | Дата: Понедельник, 30 Ноября 2009, 17:13 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Akyltist, Я не совсем согласен, человек ведь тебе приводит в пример Готику. Как же вместо спрайта ты хочешь использовать 3D модель?? Да и насколько мне кажется эта версия скрипта не совсем корректна: void Main() { if (iMouseButtonDown(0)) { { if (IN_23>0) { iObjectStart(OBJ_44); iObjectShow(OBJ_44); iScriptStop(); } } } Вместо IN_23 подставляете цифру вашего спрайта. Так думаю корректнее... А что касается автора темы, то от себя могу посоветовать, если твой NPC стоит на месте, то можно использовать EventOnLocation(на сколько я понял работу этого компонента). Т.е фрагмент территории непосредственно перед NC для создание ивента(разговора с ним).
|
|
| |
Akyltist | Дата: Понедельник, 30 Ноября 2009, 17:38 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| да все правильно, необходимо делать проверку с какого элемента пришла команда.
|
|
| |
Mogilev | Дата: Понедельник, 30 Ноября 2009, 23:09 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Akyltist Посмотри эту тему http://www.gcup.ru/forum/58-3126
|
|
| |