Перейти к контенту

[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
Ссылка на комментарий

Якут,

 

Добавь:

<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)

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

Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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