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

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


Купить игры
 



Чат
 
500


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

Модератор форума: NikK  
Урок № 3. Пишем диалоги персонажам
NathanielДата: Суббота, 12.04.2014, 13:50 | Сообщение # 161
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата ecio_audit ()
не разу не встречал

Разве её нет в папке со скриптами 1.2.12? Хм...

Прикрепления: _doc_script.rar (32.6 Kb)


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
korsar328Дата: Суббота, 12.04.2014, 13:55 | Сообщение # 162
Мичман
Группа: Корсар
Сообщений: 102
Награды: 5
Репутация: 30
Статус: В открытом море
Цитата Nathaniel ()
поиск Windows

я читал эту статью, и именно с помощью поиска я и нашёл этот код.

Добавлено (12.04.2014, 13:55)
---------------------------------------------
Цитата Nathaniel ()
папке со скриптами 1.2.12?

нет, иначе бы я наткнулся на него.
Цитата Nathaniel ()
_doc_script.rar(33Kb)

Спасибо!


Жизнь - как божественная комедия...

Сообщение отредактировал ecio_audit - Суббота, 12.04.2014, 13:57
IvanCorsair29GLДата: Четверг, 17.04.2014, 22:11 | Сообщение # 163
Матрос
Группа: Корсар
Сообщений: 58
Награды: 5
Репутация: 35
Статус: В открытом море
Всем привет!

Хочу спросить... Какая функция отвечает за то, что, например, разговариваю с барменом, и он может дать мне квест, а может и нн дать... Как это "организовать"?

Заранее спасибо!


05
NathanielДата: Четверг, 17.04.2014, 22:30 | Сообщение # 164
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата IvanCorsair29GL ()
Как это "организовать"?

Ну, например, поставить рандомизатор. Или проверять репутацию, ранг, личные или корабельные умения... Проверять условие, а затем в зависимости от результатов проверки, продолжать или не продолжать квест!


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
IvanCorsair29GLДата: Четверг, 17.04.2014, 22:41 | Сообщение # 165
Матрос
Группа: Корсар
Сообщений: 58
Награды: 5
Репутация: 35
Статус: В открытом море
Nathaniel, а как задать код на проверку ранга?..

05
MettДата: Четверг, 17.04.2014, 22:48 | Сообщение # 166
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
IvanCorsair29GL,

Код
if(sti(pchar.rank) > n)
if(sti(pchar.rank) < n)
if(sti(pchar.rank) >= n)
if(sti(pchar.rank) <= n)
if(sti(pchar.rank) == n)


Что толку, если не можешь сделать мир лучше.
IvanCorsair29GLДата: Вторник, 22.07.2014, 02:43 | Сообщение # 167
Матрос
Группа: Корсар
Сообщений: 58
Награды: 5
Репутация: 35
Статус: В открытом море
Mett, спасибо! )

Добавлено (22.07.2014, 02:43)
---------------------------------------------
Доброй ночи всем, кто не спит! :) Можно вот ещё добавить к началу темы...
Рандомный выбор кейса.
[
case "QuestRand": // Название может быть любое
switch(rand(*1*)) // Внимание, ЦИФРА МОЖЕТ БЫТЬ ЛЮБОЙ,(кейс с цифрой 0 в счёт не идёт) в зависимости от кейсов ниже! Если шесть кейсов, то пишем цифру 6, если два, то пишем 2 и т.д., ибо код будет проверять только один кейс!
{
case 0: // Может быть 1
d.text = "@@@@"; // Слова НПС
link.l1 = "%%%%%"; // Слова ГГ
link.l1.go = "QuestRandOne"; // Cсылка на кейс. (Название может быть любое)
break;
case 1:
d.text = "@@@@"; //Слова НПС
link.l1 = "%%%%%"; //Слова ГГ
link.l1.go = "QuestRandTwo"; // Ссылка на кейс. (Название может быть любое)
break;
}
link.l2 = "%%%%%%%%"; // Слова ГГ.
link.l2.go = "exit";
break;
]

Спасибо за внимание! :)


05

Сообщение отредактировал IvanCorsair29GL - Понедельник, 28.07.2014, 21:43
DesBalДата: Воскресенье, 26.10.2014, 02:32 | Сообщение # 168
Матрос
Группа: Корсар
Сообщений: 50
Награды: 1
Репутация: 10
Статус: В открытом море
Извиняюсь за вопрос,может не по теме...


И вопрос по теме




Сообщение отредактировал DesBal - Воскресенье, 26.10.2014, 06:44
NathanielДата: Воскресенье, 26.10.2014, 12:04 | Сообщение # 169
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата DesBal ()
как прописать условие на требование 15 авторитета и 25 удачи?

Пример ниже, только наименования умений подставляйте сами...
Код
if(GetSummonSkillFromName(pchar, SKILL_X) < Z1 || GetSummonSkillFromName(pchar, SKILL_Y) < Z2 || GetSummonSkillFromName(pchar, SKILL_Z) < Z3)
{
отрицательный результат
}
else
{
положительный результат
}


Условия и значения, а также логику - логические "И" или "ИЛИ" подставляйте сами. Логическое "или" - это "||"; логическое "и" - "&&".

Цитата DesBal ()
Как прописать условие на...

Вот и ищите примеры в quest_reactions.c и reactions_functions.c, там все примеры и вся линейка Блада есть...

Цитата DesBal ()
Как поставить время ожидания...

Можно написать прямо в диалоге с нужным персонажем...


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


Сообщение отредактировал Nathaniel - Воскресенье, 26.10.2014, 12:20
ReborodaДата: Воскресенье, 26.10.2014, 12:12 | Сообщение # 170
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
По последнему.
Насколько я понимаю, тебе нужно найти функцию, стартующую квест в опред время, типа, завтра утром и тп... Я раньше юзал эту:

Код
LAi_QuestDelay("имя квеста", время в секундах);


Но она не годится для работы с интерфейсом ожидания (игнорирует глобальное игровое время), а годно только для задержки на пару-тройку секунд, перед, например переносом в таверну для диалога. Попробуй найти код дуэлей и подсмотреть в нем.

Этот код был бы оч полезен, кроме всего прочего, например для создания протравки корабля от крыс ядом на неделю-другую, если нет крысобога и тп. Я не стал так глубоко копать treas1 в свое время и отказался от многих идей (а я кроме корсаров, еще и работаю над другими делами, плюс работа и много чего еще), но тоже был бы признателен, если бы кто-нидь поделился этим секретом. :)


- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
DesBalДата: Воскресенье, 26.10.2014, 12:42 | Сообщение # 171
Матрос
Группа: Корсар
Сообщений: 50
Награды: 1
Репутация: 10
Статус: В открытом море
Nathaniel, Если с ожиданием правильно понял выходит так?


11 диалог получается можно убрать?думал его вставить на время ожидания!


Готовность даньки 87% (суммарно,временный фриз)

Стартовый квест 10% (Суммарно)


Сообщение отредактировал DesBal - Воскресенье, 26.10.2014, 12:44
NathanielДата: Воскресенье, 26.10.2014, 12:57 | Сообщение # 172
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата DesBal ()
выходит так?

Да, только уберите "<" и ">" - они там не нужны; они лишь обозначают выше в моём примере вставляемый параметр...


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
DesBalДата: Воскресенье, 26.10.2014, 13:05 | Сообщение # 173
Матрос
Группа: Корсар
Сообщений: 50
Награды: 1
Репутация: 10
Статус: В открытом море
Nathaniel, Что-то не так...где-то баг поймал слова пропали(


Готовность даньки 87% (суммарно,временный фриз)

Стартовый квест 10% (Суммарно)
NathanielДата: Воскресенье, 26.10.2014, 13:11 | Сообщение # 174
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата DesBal ()
где-то баг поймал

А у вас точно квест с персонажем "Anna_5" называется? Внимательно следите - все идентификаторы должны совпадать!


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
DesBalДата: Воскресенье, 26.10.2014, 13:18 | Сообщение # 175
Матрос
Группа: Корсар
Сообщений: 50
Награды: 1
Репутация: 10
Статус: В открытом море
Nathaniel, Ну так эт команда такая же как и в шапке вот я и делаю как там тоесть подставляю номер текста в кейс)

Готовность даньки 87% (суммарно,временный фриз)

Стартовый квест 10% (Суммарно)
NathanielДата: Воскресенье, 26.10.2014, 13:21 | Сообщение # 176
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата DesBal ()
подставляю номер текста в кейс

Нет. Имя кейса диалога и имя квеста - это две огромные разницы! В констукцию win_condition нужно подставлять имя квеста!

Цитата DesBal ()
pchar.questTemp."Anna" = "wait";

Вот эти "" тут лишние...


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


Сообщение отредактировал Nathaniel - Воскресенье, 26.10.2014, 13:24
ReborodaДата: Воскресенье, 26.10.2014, 13:22 | Сообщение # 177
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
DesBal, не не, идентификатор это святое, править нельзя.) Anna_5 это уже другой, цифру надо тереть.

Тээк, отбой... Белиберду понес.) Все правильно, квест и кейс диалога - две разные вещи. Дико извиняюсь за флуд.)


- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...


Сообщение отредактировал Reboroda - Воскресенье, 26.10.2014, 13:26
DesBalДата: Воскресенье, 26.10.2014, 13:26 | Сообщение # 178
Матрос
Группа: Корсар
Сообщений: 50
Награды: 1
Репутация: 10
Статус: В открытом море
Reboroda, Вот пробовал
отправили лесом х)

Походу голову печёт после 10 часового ползания по кодам х)))

единственное что осталось это pchar.quest.Anna.function = "case "dialog11""; или я идеот х) остальное вроде правильно SetQuestHeader("Anna"); раз без скобок знач всё верно выходит...


Готовность даньки 87% (суммарно,временный фриз)

Стартовый квест 10% (Суммарно)


Сообщение отредактировал DesBal - Воскресенье, 26.10.2014, 13:30
NathanielДата: Воскресенье, 26.10.2014, 13:29 | Сообщение # 179
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата DesBal ()
Вот пробовал

Я же вам сообщение отправил, прочтите и включите отладочные логи... Очень трудно понять, где у вас ошибка и почему ничего не работает... Возможно, не описан где-то сам квест, который в коде называется "Anna"; возможно - что-то ещё...


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
ReborodaДата: Воскресенье, 26.10.2014, 13:30 | Сообщение # 180
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
DesBal, Стоп, стоп.. Квест "Anna" вообще у тя существует? (он не должен быть в файле диалога написан, квесты пишутся в другом месте вроде), если да, то уже смотри что в error логе пишется.

- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
Поиск:

Copyright Pirates-Life.Ru © 2008-2024


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