Создание квеста - Страница 29 - Создание квестов и сюжета - AMK Team
Перейти к контенту

Создание квеста


Рекомендуемые сообщения

@нерон

Всего 7 постов на форуме, и сразу быка за рога: задать story_id при скриптовом спавне - не самая простая задача...

Значится так: найди и скачай модуль для работы с нет-пакетами от Artos'а, там в редми к нему есть описание работы с абстрактной частью нет-пакета, что как раз и позволяет задать story_id. Изучи и пробуй.

Еще стоит глянуть этот пост из ковырялки ТЧ...

Изменено пользователем UnLoaded
  • Спасибо 1

 Помогите сделать переход на второй диалог(о том.что я нашел арт "поискал"...)

 он появляется сразу,а надо только после выполнения задания(после того,как арт в рюкзаке гг.)

.(к слову я его чуть не доработал, там не засчитывается графа(пробел- точка такая) упс как объяснить)

 - 1)найти арт

 - 2)принести арт

 и вот первое,даже если арт в рюкзаке гг не робит.(помогите и с этим.)(это в пда не засчитывается.)

 Стабильно работает,просто не доделал.(вылетов нет.)

 помогите доделать пж. буду благодарен.

Изменено пользователем Хемуль36рус
Завуалированный мат

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

Для примера: ГГ при старте на ПДА приходит сообщение, в котором написано что ГГ надо о кое чем переговорить с Бородой. При окончании разговора квест завершается.

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

@serega125633

Ну как то так: выдаешь инфо-порцию, которая запускает задание, в задании(task) устанавливаешь метку на объект задания(Борода), в нужном диалоге Бороды прописываешь через прекондишн с ранее выданной инфо-порцией доступность нужной ветки диалога, в конце ветки диалога выдаешь другую инфо-порцию, которая будет завершать задание.

  • Спасибо 1

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

 

 

Вот почитай, очень познавательно.

http://stalkerin.gameru.net/wiki/index.php?title=SoC._Создание диалогов

Изменено пользователем Хемуль36рус

@serega125633, написано:

<dialog id="escape_trader_talk_info">
        <precondition>escape_dialog.trader_has_talk_info_wr</precondition>
        <has_info>tutorial_end</has_info>
        <phrase_list>

 

Здесь tutorial_end - это инфопоршн, при котором диалог становится доступным. Если этого инфопоршна нет, диалог недоступен - то есть при "разговоре" с NPC этого диалога не будет. Есть тут правда, ещё и функция, но инфопоршна более чем достаточно для того, чтобы диалог появлялся "только один раз". Уточнение - лучше для этой цели использовать такое условие:

<dont_has_info>tutorial_end</dont_has_info>

То есть, диалог доступен, пока не получен инфопоршн tutorial_end. Как только он будет получен (например, как раз в этом диалоге), то диалог станет недоступным.

Изменено пользователем =VENOM=
  • Спасибо 1

Подскажите пожалуйста, как сделать что бы квест выдавался в начале игры, я так и не разобрался. Вроде надо в файле zat_b101_logic.ltx вписывать в секцию [sr_idle] что то типа:

=give_task(test_kvest)

Но почему не работает я так и не понял, объясните пожалуйста попонятнее.

 

 

@=VENOM=, Понятно, просто меня смутила вот это фраза:

Можно было, конечно, прописать в скрипте еще одно условие для ветки, чтобы она появилась только один раз, а потом больше не возникала. Но об этом как-нибудь позже.

Изменено пользователем HellRatz

Вай, вай... Что-ж Вы так жестоко-то? Это ради одного квеста НА КАЖДОМ апдейте тормошить инвентарь и т.д.?

Может лучше воспользоваться ф-цией on_item_take(из bind_stalker.script) ? Которая будет срабатывать только при появлении в инвентаре предметов, что происходит значительно реже, чем апдейт актора...

Ну допустим документов для квеста 3 и для каждого своя секция в конфиге. В on_item_take проверяем наличие предметов с этими секциями, как появятся все 3 - запускаем квест, а дальнейшую проверку отсекаем инфо-порцией, которая будет квест запускать.

 

Имеется ввиду эта функция

 

 

 

function actor_binder:on_item_take (obj)

   

level_tasks.proceed(self.object)

   

--game_stats.update_take_item (obj, self.object)

end

 

 

А как ее можно прописать  в скрипте? Реализовать в игре?

Изменено пользователем нерон

@нерон

function actor_binder:on_item_take (obj)
    level_tasks.proceed(self.object)
    --game_stats.update_take_item (obj, self.object)
    local sect = obj:section()
    if sect == "document_1" then
        -- тут что-то делаем
    elseif sect == "document_2" then
        -- тут что-то делаем
        -- и т.д.
    end
end

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

А как ее можно прописать  в скрипте? Реализовать в игре?

Ф-ция on_item_take (obj) уже прописана в классе actor_binder в файле bind_stalker.script.

Выше, naxac уже показал как добавить в эту ф-цию свой функционал. Главное, не трогать то, что уже есть в этой ф-ции - оно нужно движку и другим скриптам игры...

Изменено пользователем UnLoaded

Здравствуйте, не знал куда написать... но в конфигах квестов (confic/misc/tm_...) есть строчки типа: reward_money = {~50} 500, {~50}, 750, 1000. Что означает {~50}? Почему денежные суммы перечислены через запятую? P. S.Чистое Небо. 

@DrowMan, это вероятность. Т.е. с вероятностью 50% ты получишь 500, если вероятность не сработала, то проверяется следующая: опять 50% - сработает - получишь 750, нет - 1000.

Получается, вероятности выдачи денег: 500 - 50%, 750 - 25%, 1000 - 25%.

Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Есть ли функция проверки нескольких предметов (Одинаковых, допустим 5 аптечек [medkit]), и, если все предметы в наличии, то выдача инфопоршня? Это для квеста само собой, то есть функция будет засунута в function_complete. Где помимо выполнения подзадания/задания на наличие предметов, тайком будет выдан инфопоршень, который активирует некоторые другие события.

Изменено пользователем HellRatz

@HellRatz, хвосты собаки на Кордоне - пять штук. Квест у Шустрого. По-ходу я, что то из мода вспомнил. А было ли это в оригинале ТЧ?

Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

@HellRatz, если хочешь проверку делать именно через function_complete, то посмотри как это сделано в солянке, в скрипте amk_utils. Функция inventory_search проверяет кол-во предметов в инвентаре и создает кэш, куда записывается отслеживаемая секция предмета и количество - это нужно для того, чтобы постоянно не перебирался инвентарь актера для проверки, не появилось ли нужное количество предметов.
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

А как выводится список доступных квестов в диалоге? Ну вот спрашивает ГГ: "есть что для меня?" и ему отвечают списком заданий, который убираются/добаляются по мере прохождения. Как это сделано? Не нашел. Платформа ТЧ.

@HellRatz, ты про циклические задания, типа принеси хвостов-копыт, или про сюжетные? Если про первые, то это в дебрях task_manager.script, а если про вторые, то это в диалогах. Они в этом случае ограничены инфопоршнями. Ну вот, например, первый попавшийся:

	<dialog id="emb_sak1">
		<has_info>embt_sak1_start</has_info>
		<dont_has_info>embt_sak1_have</dont_has_info>
		<phrase_list>

Этот диалог станет доступным только при наличии "embt_sak1_start" и отсутствии "embt_sak1_have". Вместо инфопоршней могут использоваться скриптовые функции, для ограничения.

Изменено пользователем dsh

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...