[CoP] Квесты - Страница 8 - Создание квестов и сюжета - AMK Team
Перейти к контенту

[CoP] Квесты


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

все я сделал чтоб миссия работала, сам нашел пару ошибок и исправил.

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

Народ,а как выдать инфопоршень влогике объекта?Или в спейс рестрикторе?

Строгое предупреждение от модератора n6260
1. Не дублируй вопрос по темам.

2. Пиши грамотно.

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

БолотныйДоктор, Смотри, у меня так:

1-После разговора выдаётся квест
2-Ставится метка на сон
3-Когда ГГ спит,ему выдается инфопоршень(pohmel)
4-При получении инфопоршня pohmel , должна ставиться метка на моего NPC , но у меня она остаётся на месте сна.

 

 

Проблема-2

 

Народ,как поставить метку на NPC?

Когда в квесте пишу

target = palich(стори айди моего NPC)

 

Цель на него не переходит. Что делать?

Гость БолотныйДоктор

target = {+palich} стори айди твоего NPC

----------------------------------------------------------

 

и ещё может кто знает что означает + или - в {+palich} , {-palich}

Изменено пользователем БолотныйДоктор
БолотныйДоктор, + значит "должно быть", а - "если нету этого то".
Гость БолотныйДоктор

Rolan и еще почему может не ставится метка на НПС может из за того что ты story_id не правильно прописал в all.spawn или вооще не прописал

надо после custom_data = <<END

написать

[story_object]

story_id = стори ид твоего нпс

XMK, спасибо за статью все сделал как написано, но прикаждом взятии водки появляется диалог у Бороды как это убрать, зарние спасибо

В конце диалога добавь выдачу инфопоршня, а в начале проверку на него.

 

Будет примерно так:

<dialog id="vodka_quest_prines">
<dont_has_info>quest_vodka_complete</dont_has_info>
<has_info>quest_vodka_give</has_info>
<precondition>dialogs_zaton.is_has_vodka_borode</precondition>
<phrase_list>
    <phrase id="1">
        <text>Спасибо, чувак. Выручил</text>
        <give_info>quest_vodka_done</give_info>
    </phrase>
    <phrase id="0">
        <has_info>quest_has_vodka</has_info>
        <text>Вот твоя водяра</text>
        <action>dialogs_zaton.transfer_vodka_to_boroda</action>
        <give_info>quest_vodka_complete</give_info>
        <next>1</next>
    </phrase>
</phrase_list>
</dialog>
 
Изменено пользователем Jurok

«There is no spoon»

Якут,

 

Добавь:

<dont_has_info>quest_vodka_done</dont_has_info>

после:

<dialog id="vodka_quest_prines">

 

Внес правку в статью.

 

 

Jurok,

Уже есть готовый поршень, просто я забыл его проверять в диалоге. Впрочем это всего лишь пример квеста, причем довольно простого

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

Доброго времени суток,у меня следующийй вопрос.С созданием простейших квестов все понятно-а как сделать что-то на подобие отбора денег у ГГ? То есть я имею ввиду, идет ГГ на встречу скажем бандиты и они требует с него денег за проход.Пожалуйста пните от чего плясать?

 

_Призрак-спасибо.

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

Ну так это нужно создать и вызвать функцию:

Для того чтобы дать актору 500 руб

function твое_имя_функции(first_speaker, second_speaker)

dialogs.relocate_money_to_actor(first_speaker, second_speaker, 500)

end

Для того чтобы отобрать у актора 5 тысяч

function твое_имя_функции2(first_speaker, second_speaker)

dialogs.relocate_money_from_actor(first_speaker, second_speaker, 5000)

end

 

Freedom

ХМК, будет ли урок на создание очень сложного квеста(любого плана), уж больно интересно..?

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

Как сделать когда появился в начале игры чтобы появился сразу квест прийти на скадовск ?

Леха23 смотри тут zat_b101_logic

строчку

on_info = {!black_screen -zat_b101_give_task +zat_a1_game_start} sr_idle@save %=give_task(zat_b101_heli_5_crash) +zat_b101_give_task =give_task(jup_b8_heli_4_crash) +jup_b8_give_task =give_task(zat_b28_heli_3_crash) =give_task(zat_b100_heli_2_crash) =give_task(jup_b9_heli_1_crash) +jup_b9_give_task =set_active_task(zat_b28_heli_3_crash)%

теперь ты можешь дописать по этой инфе выдачу интересующего квеста

Пример

on_info2 = {!black_screen -zat_b101_give_task +zat_a1_game_start} %=give_task(название квеста)%

Не соответствует. N6260

function название_функции()

if db.actor:object("вещь") and db.actor:object("вещь") then

return true

end

return false

end

Это если несколько разных предметов...

Если несколько одних и тех же вещей то

function название_функции()

local item_sections = {"вещь"}

local needed = число

local count = число

local item_section

local function calc(temp, item)

if item:section() == item_section then

count = count + 1

end

end

for k,v in pairs(item_sections) do

item_section = v

get_story_object("actor"):iterate_inventory(calc, actor)

end

return count >= needed

end

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

Не соответствует. N6260

ХМК, будет ли урок на создание очень сложного квеста(любого плана), уж больно интересно..?

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

Всем привет.Писал сюжетку и наткнулся на такой вылет,в ветке разговара поле определённой фразы,у меня должен выдаеться квест,но он не выдается и вылетает с таким логом:

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : .... - Зов Припяти\gamedata\scripts\news_manager.script:209: attempt to concatenate local 'news_text' (a nil value)

Прошу помощи.

Rolan, так тяжело посмотреть 209 строку файла news_manager.script? Скорее всего у квеста нет заголовка.

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

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

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

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

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

Войти

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

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

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