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

[CoP] Квесты


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

Expression : !m_error_code

Function : raii_guard::~raii_guard

File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

Line : 748

Description : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:1457: attempt to index local 'npc' (a nil value)

 

а это у меня

 

Добавлено через 1 мин.:

а бывает тоже самое но ругается на хр_мотиватор

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

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

Po-Meceniy А функции? Просто так же не вылетит на типс

 

Добавлено через 1 мин.:

Не ну вы ребята какие то странные :D пишите квест а вылетает мотиватор и логик

Изменено пользователем XMK
Ссылка на комментарий

Ну простите дурака :D я не волшебник я только учусь

И главное вылеты через раз, поэтому когда беру квест мысленно молюсь

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

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

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

ZeeK ну с места же тоже не вылетит, что-то ковырял

 

Po-meceniy тем более что стандартный типс выдаваемый при взятии квеста явно просто так не вылетит.

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

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

function give_vodka_quest()

task_manager.get_task_manager():give_task("quest_vodka_give")

end

В игре судя по всему ни один квест так не берется.

Ссылка на комментарий
Я подозреваю что дело в странном скрипте вызова задания:

а я подозреваю что дело в чьих то .. руках

 

В игре судя по всему ни один квест так не берется.

 

 

xr_effect.script:

function give_task(actor, obj, p)
    if p[1] == nil then
        abort("No parameter in give_task function.")
    end
    task_manager.get_task_manager():give_task(p[1])
end

 

вызывается из файлов логики.

Изменено пользователем XMK
Ссылка на комментарий

А почему тогда в этом уроке, квест вызывается из dialogs_zaton.script?

 

По сабжу: я так понял что мой косяк связан с файлом tm_zaton.ltx. Потому, что с диалогом все ок, квест берется и вроде как выполняется(только в диалоге). Но при взятии нет сообщения, при нахождении вещи нет сообщения и после сдачи предмета в диалоге тоже его нет + как я уже говорил, квест не исчезает из пда.

 

Можете поподробнее прояснить касательно двух строчек

 

title = {=actor_has_item(vodka)}vodka_barmen_prinesti_name, vodka_barmen_naiti_name

target = {=actor_has_item(vodka)}zat_a2_stalker_barmen

 

Почему тут несколько значений? И откуда берутся эти значения ? Например actor_has_item(vodka) вроде не скрипт и не инфопоршень так не называются.

Изменено пользователем dimka.qwer
Ссылка на комментарий

title = это описание квеста

target = это цель квеста (любой объект из игры).

 

А так же читай вот этот мой пост. Там всё об этих строках.

Ссылка на комментарий
А почему тогда в этом уроке, квест вызывается из dialogs_zaton.script?

да вызови ты его хоть из bind_stalker, какая разница

 

title = {=actor_has_item(vodka)}vodka_barmen_prinesti_name, vodka_barmen_naiti_name

 

при взятии квеста Название его будет vodka_barmen_naiti_name

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

 

actor_has_item - это функция

Изменено пользователем XMK
Ссылка на комментарий

Проверял уже кучу раз, но косяк остается.

В общем выложил исходник квеста, может так найти косяк будет проще...

http://ifolder.ru/16186290

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

Из секции твоего квеста в tm_zaton.ltx убери

on_init = %+vzal_quest%

Убери +, там где %%, а лучше убери всю строку вообще. Я на самой первой странице сталкивался с подобной проблемой из-за этой строки. И квест выдавай скриптом.

 

Добавлено через 2 мин.:

Так же лучше пользуйся своими файлами... А не допихивай к ПЫСовским.

Изменено пользователем кровоSTALKER
Ссылка на комментарий

function has_ak74(task, objective)
    if db.actor ~= nil and db.actor:object("wpn_ak74") ~= nil then
        return true
    end
    return false
end

 

[Search_ak74_quest]
icon = ui_inGame2_Put_v_pripyat
prior = 2
storyline = false
title = {=actor_has_item(wpn_ak74)}barmen_ak74_prinesti, barmen_ak74_searsh
descr = barmen_ak74_desc
target = {=actor_has_item(wpn_ak74)}zat_a2_stalker_barmen
condlist_0 = {+prines_ak74} complete

 

<dialog id="Prines_ak74">
<dont_has_info>prines_ak74</dont_has_info>
<precondition>dialogs_zaton.has_ak74</precondition>
<phrase_list>
    <phrase id="1">
        <text>Спасибо, чувак. Выручил</text>
        <give_info>prines_ak74</give_info>
    </phrase>
    <phrase id="0">
        <text>Вот твой автомат</text>
        <action>dialogs_zaton.otdal_ak74</action>
        <next>1</next>
    </phrase>
</phrase_list>
</dialog>

    <string id="barmen_ak74_searsh">
        <text>Найти АК-74</text>
    </string>
    <string id="barmen_ak74_prinesti">
        <text>Принести автомат Бороде</text>
    </string>

 

 

 

потести, щас вроде должен работать

Изменено пользователем XMK
Ссылка на комментарий

Тоже самое.. :ny_mellow: :dash2:

 

В пда как и раньше, вместо названия и описания, наблюдаю следующее:

 

TITLE_DOESNT_EXIST

2a6b9127f663372c6f606e307fb4363a.jpg

Изменено пользователем dimka.qwer
Ссылка на комментарий
Ты строку on_init стёр?

Разумеется :ny_rolleyes: Делал все как описал в посте XMK.

 

Да и не в этой строке дело, до нее точно также было. Я ее потом уже ввел, ради теста.

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

dimka.qwer, невнимательны товарищ. Описание кто сам делать будет? В шапке по образцу со строчек:

Открываем файл st_quests_zaton.xml и добавляем после <string_table>
Ссылка на комментарий

Описание то есть.

А по поводу <string_table>, тут главное чтобы не после </string_table> оно шло.

Сообщение от модератора Halford
Если бы описание было - все было бы правильно...

descr = barmen_ak74_desc

Туда же заделать новый стринг с именем id="barmen_ak74_desc" и с текстом типа "Притарганить АК-74 Бороде"...

 

Добавлено через 24 мин.:

<string id="barmen_ak74_searsh">

<text>Найти АК-74</text>

</string>

<string id="barmen_ak74_prinesti">

<text>Принести автомат Бороде</text>

</string>

<string id="descr = barmen_ak74_desc">

<text>Принести автомат Бороде</text>

</string>

 

Сделал. Но как я и ожидал эффекта ноль. Говорю же, я напортачил где с самим квестом, а соответственно и описание тоже не робит.

 

Добавлено через 21 мин.:

Ура! :ny_biggrin: Наконец то заработал квест!

 

Как ни странно, помогло переименование

Search_ak74_quest

В

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

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

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

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

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

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

Войти

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

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

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