Купить Tempest - Pirate City Tempest - игра о пиратах Семь Футов под Килем Семь Футов под Килем
Форма входа
 
Приветствуем тебя, корсар Юнга!

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


Купить игры
 



Чат
 
500


Статистика
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Модератор форума: NikK  
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Урок № 3. Пишем диалоги персонажам
Урок № 3. Пишем диалоги персонажам
The_JokerДата: Среда, 22.08.2012, 13:45 | Сообщение # 61
Профессор-Икс
Группа: Корсар
Сообщений: 1532
Награды: 51
Репутация: 177
Статус: В открытом море
Quote (WMC)
dialog.text = "Ну что ж, в таком случае удачи и спасибо вам. Если разберетесь во всём то обещаю хорошо заплатить.";
link.l1 = "Ну вот и отлично! Немедленно отправляюсь в Мариго.";
link.l1.go = "exit";
NextDiag.CurrentNode = "Stop";
Dialog.Exit();
break;

Dialog.Exit(); убери. Если в файле не создан кайс exit, то создай его, и используй для выхода из диалога. Но в самом диалоге где есть реплики, нельзя писать Dialog.Exit();




WMCДата: Среда, 22.08.2012, 13:58 | Сообщение # 62
Матрос
Группа: Корсар
Сообщений: 53
Награды: 5
Репутация: 22
Статус: В открытом море
Keйс exit создан. Dialog.Exit(); убрал - все равно не работает...
korsary4Дата: Среда, 22.08.2012, 14:10 | Сообщение # 63
Адмирал
Группа: Администратор
Сообщений: 5202
Награды: 495
Репутация: 1934
Статус: В открытом море
WMC, попробуй вот так.
Quote (WMC)

case "dialog12":
dialog.text = "Ну что ж, в таком случае удачи и спасибо вам. Если разберетесь во всём то обещаю хорошо заплатить.";
link.l1 = "Ну вот и отлично! Немедленно отправляюсь в Мариго.";
link.l1.go = "exit";
NextDiag.CurrentNode = "Stop";
break;

case "Stop":
NextDiag.CurrentNode = "Stop";
dialog.text = "Вы что-то выяснили?";
link.l1 = "Ещё нет...";
link.l1.go = "exit";
break;



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
The_JokerДата: Среда, 22.08.2012, 14:46 | Сообщение # 64
Профессор-Икс
Группа: Корсар
Сообщений: 1532
Награды: 51
Репутация: 177
Статус: В открытом море
Quote (WMC)
eйс exit создан. Dialog.Exit(); убрал - все равно не работает...

смотри лог файл error и не морочь себе и нам голову. :)




WMCДата: Четверг, 23.08.2012, 13:49 | Сообщение # 65
Матрос
Группа: Корсар
Сообщений: 53
Награды: 5
Репутация: 22
Статус: В открытом море
Всё заработало. Ошибка немного в другом была. The_Joker, korsary4, спасибо! -give_rose-

Добавлено (23.08.2012, 13:47)
---------------------------------------------
Вот еще разок помогите пожалуйста... Я создал ветку диалога, для хозяина магазина в Мариго. Создал файл "Marigo_store.c" в папке dialogs/russian/store. Ветка добавилась, в игре диалог работает. Содержание файла следующее:



Имеется НПС прописанный в quest_reaction, после диалога с которым эта ветка должна появиться, а так она там постоянно висит... Help! Заранее спасибо!

Добавлено (23.08.2012, 13:49)
---------------------------------------------
Ну и за одно, может быть объясните как потом эту ветку удалить, после прочтения.

Сообщение отредактировал WMC - Четверг, 23.08.2012, 13:38
MettДата: Пятница, 24.08.2012, 03:41 | Сообщение # 66
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
надо писать DialogExit(); а не Dialog.Exit();

Что толку, если не можешь сделать мир лучше.
yodalikДата: Четверг, 17.01.2013, 17:37 | Сообщение # 67
Мичман
Группа: Корсар
Сообщений: 66
Награды: 5
Репутация: 13
Статус: В открытом море
А что надо прописать, чтобы когда ГГ начинает разговор с неписем во второй раз, был вызван другой диалог? Например: когда первый раз обращаешься к трактирщику, он раччказывает о себе. Когда начинаешь разговор во второй раз, то он это уже не произносит.

Делай то, что велят тебе твои сердце и разум. И будь что будет!
NathanielДата: Четверг, 17.01.2013, 20:19 | Сообщение # 68
Контр-адмирал
Группа: Капитан
Сообщений: 8008
Награды: 347
Репутация: 1842
Статус: В открытом море
Цитата (yodalik)
А что надо прописать, чтобы когда ГГ начинает разговор с неписем во второй раз, был вызван другой диалог? Например: когда первый раз обращаешься к трактирщику, он раччказывает о себе. Когда начинаешь разговор во второй раз, то он это уже не произносит.

Если не ошибаюсь, то нужно:
1) в конце первой ветки указать следующий узел (NextDiag.TempNode = "...");
2) написать ветку диалога с именем, указанным в кавычках выше;


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!


Сообщение отредактировал Nathaniel - Четверг, 17.01.2013, 20:20
yodalikДата: Суббота, 19.01.2013, 12:50 | Сообщение # 69
Мичман
Группа: Корсар
Сообщений: 66
Награды: 5
Репутация: 13
Статус: В открытом море
Nathaniel, спасибо! Всё работает.

Делай то, что велят тебе твои сердце и разум. И будь что будет!
KodexДата: Пятница, 01.02.2013, 06:56 | Сообщение # 70
Матрос
Группа: Пират
Сообщений: 25
Награды: 0
Репутация: 0
Статус: В открытом море
У всех так, что диалоги готовые написаны сплошным текстом, просто неудобно. Нельзя ли чтонибудь сделать?
И пачему после правке диалога по квесту Питер Блад стал умирать а не на плантацию переходить?
NathanielДата: Пятница, 01.02.2013, 15:40 | Сообщение # 71
Контр-адмирал
Группа: Капитан
Сообщений: 8008
Награды: 347
Репутация: 1842
Статус: В открытом море
Цитата (Kodex)
И пачему после правке диалога по квесту Питер Блад стал умирать а не на плантацию переходить?

Потому что вы нарушили скрипт и он перестал корректно отрабатывать!


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
WMCДата: Пятница, 01.02.2013, 17:20 | Сообщение # 72
Матрос
Группа: Корсар
Сообщений: 53
Награды: 5
Репутация: 22
Статус: В открытом море
Цитата (Kodex)
Нельзя ли чтонибудь сделать?

Можно. Скачивай Notepad++ и работай в нем. Там все удобно.
KodexДата: Суббота, 02.02.2013, 06:06 | Сообщение # 73
Матрос
Группа: Пират
Сообщений: 25
Награды: 0
Репутация: 0
Статус: В открытом море
Цитата (Nathaniel)
Потому что вы нарушили скрипт и он перестал корректно отрабатывать!
Я все равно собирался переустанавливать игру, ну а как избежать подобных проблем правя диалоги.
Цитата (WMC)
Можно. Скачивай Notepad++ и работай в нем. Там все удобно.
Попробую скачаю, щас пользуюсь стондартным блакнотом Вин7.

Добавлено (02.02.2013, 06:06)
---------------------------------------------
Скачал  Notepad++ 6.0, все удивительно замечательно.
А сбил скрипты я наверно из-за того, что диалоги получились длиннее/короче а там все было сплошным текстом.

NathanielДата: Суббота, 02.02.2013, 15:27 | Сообщение # 74
Контр-адмирал
Группа: Капитан
Сообщений: 8008
Награды: 347
Репутация: 1842
Статус: В открытом море
Цитата (Kodex)
а как избежать подобных проблем правя диалоги

Ну, наверное делать резервные копии перед изменением!.. ;)

Добавлено (02.02.2013, 15:27)
---------------------------------------------

Цитата (Kodex)
Скачал Notepad++ 6.0

Я пользуюсь Visual C++ 6.0. Смотрится ещё шикарнее!


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
CorsairAarrggДата: Воскресенье, 17.02.2013, 01:10 | Сообщение # 75
Матрос
Группа: Пират
Сообщений: 33
Награды: 0
Репутация: 0
Статус: В открытом море
Привет всем

Можете сказать как кодировать диалог с таверншиком?

PROGRAM/dialogs/russian/tavern/Bridgetown

потом добавил мой "вопрос" указал кейс продолжения но куда етот кейс поставить уже не знаю

Помогите плс)

Добавлено (16.02.2013, 23:14)
---------------------------------------------


Код
// диалог по городам
void ProcessCommonDialogEvent(ref NPChar, aref Link, aref NextDiag)
{
     switch (Dialog.CurrentNode)
    {
       case "quests":
          dialog.text = NPCStringReactionRepeat(RandPhraseSimple("Какие вопросы?", "Что вам угодно, " + GetAddress_Form(NPChar) + "?"), "Совсем недавно вы пытались задать мне вопрос, " + GetAddress_Form(NPChar) + "...", "В течение этого дня вы уже третий раз говорите о каком-то вопросе...",
                           "Опять вопросы будем задавать?", "block", 1, npchar, Dialog.CurrentNode);
          link.l1 = HeroStringReactionRepeat(RandPhraseSimple("Я передумал...", "Сейчас мне не о чем говорить"), "Хм, что-то с памятью моей стало...",
                       "Да уж, действительно в третий раз...", "Да нет, какие вопросы...", npchar, Dialog.CurrentNode);
          link.l1.go = "exit";
                     link.l3 ="Ты че нибуть слишал?.." ;           
                     link.l3.go ="Old1";
       break;

                     

    }
    UnloadSegment(NPChar.FileDialog2);  //
}

Добавлено (17.02.2013, 01:10)
---------------------------------------------
Проблема решена


С таким как ты говорит мой клинок.
vagaДата: Суббота, 23.02.2013, 15:11 | Сообщение # 76
Капитан I ранга
Группа: Команда Аддона
Сообщений: 715
Награды: 32
Репутация: 190
Статус: В открытом море
Я не могу - я всё делаю нормально, но когда разговариваю с персонажем, у меня вылезает в диалоговом окне такое:
Питер Эйс
Невозможно найти: И путь к диалогу, что делать?



За ветер добычи, за ветер удачи, чтоб зажили мы, ВЕСЕЛЕЙ И БОГАЧЕ))
NathanielДата: Суббота, 23.02.2013, 23:33 | Сообщение # 77
Контр-адмирал
Группа: Капитан
Сообщений: 8008
Награды: 347
Репутация: 1842
Статус: В открытом море
Цитата (vaga)
Невозможно найти

Это значит, что скрипт не обрабатывается... Где-то в файле есть ошибка: скобки не совпадают, знаки ";" или другие не поставлены, кейсы неправильно закрыты и тому подобные ошибки...


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
vagaДата: Среда, 13.03.2013, 14:52 | Сообщение # 78
Капитан I ранга
Группа: Команда Аддона
Сообщений: 715
Награды: 32
Репутация: 190
Статус: В открытом море

     

Вот тут что я не так сделал скажите плиз?



За ветер добычи, за ветер удачи, чтоб зажили мы, ВЕСЕЛЕЙ И БОГАЧЕ))
МилошДата: Вторник, 19.03.2013, 11:05 | Сообщение # 79
Капитан I ранга
Группа: Заблокированные
Сообщений: 1072
Награды: 0
Репутация: 0
Статус: В открытом море
vaga, я же тебе уже объяснил про рудник или ты это ради другого затеял?

Добавлено (19.03.2013, 11:05)
---------------------------------------------
Что нужно прописать, что бы после диалога началась драка?






Muv by Redline
LoisomerДата: Четверг, 21.03.2013, 14:42 | Сообщение # 80
Пороховая обезьяна
Группа: Пират
Сообщений: 10
Награды: 0
Репутация: -2
Статус: В открытом море
Подскажите начинающей скриптерше есть ли функция на вывод полного имени персонажа в винительном падеже? И еще: ГГ у меня говорит с персонажем, который имеет индификатор  "Solder"+i, имя персонажа и его номер (то есть i) каждый раз разные (мне так и надо). Как сделать, что бы во время диалога с другим персонажем вывелось имя "Solder"+i?

Сообщение отредактировал Loisomer - Четверг, 21.03.2013, 18:43
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Урок № 3. Пишем диалоги персонажам
Поиск:

Copyright Pirates-Life.Ru © 2008-2020


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