Форма входа
 
Приветствуем тебя, корсар Юнга!

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!


Купить игры
 



Чат
 
500


Статистика
 
Пользователи, посетившие сайт за текущий день:
Andrey__3010, Kriogener
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Модератор форума: NikK  
Урок № 3. Пишем диалоги персонажам
Джек_007Дата: Среда, 20.04.2011, 20:01 | Сообщение # 21
Пороховая обезьяна
Группа: Пират
Сообщений: 10
Награды: 0
Репутация: 0
Статус: В открытом море
Хм... С этим я понял, а как сделать так, чтобы после прочтения ветки диалога она убиралась? Ну к примеру, самое простейшее: сидит в таверне Блад, с ним разговариваешь, типа не хочет ли он в команду пойти, он говорит нет и после начатия диалога он говорит: "Я уже всё сказал".
The_JokerДата: Четверг, 21.04.2011, 14:23 | Сообщение # 22
Профессор-Икс
Группа: Корсар
Сообщений: 1532
Награды: 51
Репутация: 177
Статус: В открытом море
Quote (Джек_007)
"Я уже всё сказал".

просто прописываешь после окончания диалога:
NextDiag.CurrentNode = "Second Time";
Dialog.Exit();
break;

case "Second Time":
dialog.text = "Я уже всё сказал";
link.l1 = "Я понял.";
link.l1 = "exit_now";
break;

case "exit_now":
NextDiag.CurrentNode = "Second Time";
Dialog.Exit();
break;

вот как то так






Сообщение отредактировал Captain_America - Четверг, 21.04.2011, 14:23
korsary4Дата: Четверг, 21.04.2011, 15:25 | Сообщение # 23
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Джек_007, можно так еще, как вариант, это если обычный кейс Exit использовать, а не прописывать отдельно:

Code
  case "First time":
    dialog.text = "Текст  1";
    link.l1 = "Текст 2";
    link.l1.go = "Exit";
  NextDiag.TempNode = "Second Time";
   break;

   case "Second Time":
    dialog.text = "Я уже всё сказал.";
    link.l1 = "222";
    link.l1.go = "Exit";
          NextDiag.TempNode = "Second Time";
   break;



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
Джек_007Дата: Четверг, 21.04.2011, 16:59 | Сообщение # 24
Пороховая обезьяна
Группа: Пират
Сообщений: 10
Награды: 0
Репутация: 0
Статус: В открытом море
Captain_America, korsary4, спасибо! -give_rose-
Ybrbnf19962009Дата: Пятница, 03.06.2011, 17:11 | Сообщение # 25
Пороховая обезьяна
Группа: Пират
Сообщений: 8
Награды: 0
Репутация: 0
Статус: В открытом море
А как сделать так что бы в диалоге у ГГ был выбор из двух вариантов
korsary4Дата: Пятница, 03.06.2011, 18:38 | Сообщение # 26
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Quote (Ybrbnf19962009)
А как сделать так что бы в диалоге у ГГ был выбор из двух вариантов

Code

   case "First time":
      dialog.text = "Привет! ";      
      link.l1 = "Первый вариант";
      link.l1.go = "dialog1";
      link.l2 = "Второй вариант";
      link.l2.go = "dialog2";
     break;



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
Ybrbnf19962009Дата: Пятница, 03.06.2011, 19:13 | Сообщение # 27
Пороховая обезьяна
Группа: Пират
Сообщений: 8
Награды: 0
Репутация: 0
Статус: В открытом море
спасибо разобрался
CaptainBleikkДата: Среда, 16.11.2011, 19:05 | Сообщение # 28
Капитан I ранга
Группа: Корсар
Сообщений: 1190
Награды: 81
Репутация: 511
Статус: В открытом море
хм....что я делаю не так сдесь?

case "Node_4":
dialog.text = "Конечно, на месте. Врача у нас нет, но исполняющий его обязанности матрос Хопкинс заштопал тебя, как мог. Хочешь проверить?";
link.l1 = "Да, хочу проверить свое состояние (создание своего типа героя).";
link.l1.go = "ChangePIRATES";
link.l2 = "Нет, я себя вполне хорошо чувствую и так.";
link.l2.go = "Node_5";
break;


case "Node_5":
dialog.text = "Капитан! А разве вы не хотите узнать кто нас подставил под удар?";
link.l1 = "Что!? Нас еще и подставили?";
link.l1.go = "Node_6";
break;

case "Node_6":
dialog.text = "Да капитан...Видать сильно вы шарахнулись, но думаю это вас очень расстроен.Это наш боцман...";
link.l1 = "Что!? Старина Дрейк?!";
ling.l1.go = "Node_7";
break;

case "Node_7":
dialog.text = "Имеено кэп. Мерзавец сдал нас пиратам и сам набил свои карманы золотом, затем спустил шлюпку и уплыл в сторону Тортуги";
link.l1 = "Я обязательно поквитаюсь с ублюдком! На Торгугу говориш?";
link.l1.go = "Node_8";
break;

и вообще можно ли менять этот диалог)
MythДата: Четверг, 17.11.2011, 14:46 | Сообщение # 29
Мичман
Группа: Пират
Сообщений: 146
Награды: 8
Репутация: -13
Статус: В открытом море
CaptainBleikk, что не так с диалогом в игре? Почему ты спрашиваешь что не так в диалоге?

Myth: Make Your Thought Heard
CaptainBleikkДата: Четверг, 17.11.2011, 17:22 | Сообщение # 30
Капитан I ранга
Группа: Корсар
Сообщений: 1190
Награды: 81
Репутация: 511
Статус: В открытом море
Myth, просто хотел написать свой диалог для начала игры... Когда на палубе стоиш
MythДата: Суббота, 28.01.2012, 18:38 | Сообщение # 31
Мичман
Группа: Пират
Сообщений: 146
Награды: 8
Репутация: -13
Статус: В открытом море
Если НПС заводит диалог с ГГ, который в этот момент в боевом режиме, что нужно сделать что б не было "пустого" диалога?

Myth: Make Your Thought Heard

Сообщение отредактировал Myth - Суббота, 28.01.2012, 18:40
korsary4Дата: Суббота, 28.01.2012, 19:03 | Сообщение # 32
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Quote (Myth)
Если НПС заводит диалог с ГГ, который в этот момент в боевом режиме, что нужно сделать что б не было "пустого" диалога?

перед вызовом диалога - саблю в ножны ГГ сделай.



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
MythДата: Четверг, 02.02.2012, 16:02 | Сообщение # 33
Мичман
Группа: Пират
Сообщений: 146
Награды: 8
Репутация: -13
Статус: В открытом море
korsary4, у меня не актерский диалог, а sld.talker=10, и я должен получается это написать над dialog.text?

Добавлено (02.02.2012, 16:02)
---------------------------------------------

Quote (korsary4)
перед вызовом диалога - саблю в ножны ГГ сделай.


Не помогло.


Myth: Make Your Thought Heard

Сообщение отредактировал Myth - Четверг, 02.02.2012, 16:00
korsary4Дата: Четверг, 02.02.2012, 17:11 | Сообщение # 34
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Myth, нужно колдовать с функцией в файле PROGRAM\Loc_ai\types\LAi_citizen.c
Code
LAi_type_citizen_CharacterUpdate

у патруля нужно посмотреть, там же нормально срабатывает, когда ГГ в боевом режиме, еще замечания делают.



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
MythДата: Четверг, 02.02.2012, 18:53 | Сообщение # 35
Мичман
Группа: Пират
Сообщений: 146
Награды: 8
Репутация: -13
Статус: В открытом море
korsary4, сделал проще: нашел название кейса диалога, который запускается, когда НПС разговаривает с ГГ в боевом режиме, и первый кейс диалога продублировал с другим названием.

Myth: Make Your Thought Heard
korsary4Дата: Четверг, 02.02.2012, 18:58 | Сообщение # 36
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Quote (Myth)
делал проще: нашел название кейса диалога, который запускается, когда НПС разговаривает с ГГ в боевом режиме, и первый кейс диалога продублировал с другим названием.

можешь код написать. что там за кейс. проверка if (bFightMode) или что?



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
MythДата: Суббота, 04.02.2012, 09:22 | Сообщение # 37
Мичман
Группа: Пират
Сообщений: 146
Награды: 8
Репутация: -13
Статус: В открытом море
korsary4, как ты просил:


А вот так выглядит файл с диалогом моего НПС (точнее файл диалога квеста, где участвует этот НПС).



Добавлено (04.02.2012, 09:22)
---------------------------------------------
korsary4, вот поправил сам кусок кода на такой диалог, если интересно:



Myth: Make Your Thought Heard

Сообщение отредактировал Myth - Суббота, 04.02.2012, 09:23
korsar01Дата: Вторник, 28.02.2012, 16:26 | Сообщение # 38
Мичман
Группа: Корсар
Сообщений: 186
Награды: 6
Репутация: 46
Статус: В открытом море
а как сделать, чтобы после ответа следующий кейс выбирался случайно из двух указанных?

Сообщение отредактировал korsar01 - Вторник, 28.02.2012, 16:27
MythДата: Вторник, 28.02.2012, 18:12 | Сообщение # 39
Мичман
Группа: Пират
Сообщений: 146
Награды: 8
Репутация: -13
Статус: В открытом море
korsar01, лови пример и пояснения.



Myth: Make Your Thought Heard
korsar01Дата: Среда, 29.02.2012, 13:31 | Сообщение # 40
Мичман
Группа: Корсар
Сообщений: 186
Награды: 6
Репутация: 46
Статус: В открытом море
Quote (Myth)
лови пример и пояснения.

это не совсем то, что нужно.
мне надо, чтобы НПС сказал свои слова, у гг два варианта ответа.
когда выбираешь второй, то следующий кейс выбирается случайно из указанных.
Поиск:

Copyright Pirates-Life.Ru © 2008-2024


Семь Футов под Килем - Бухта Корсаров и Пиратов!