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

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


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

Добрый день! Не нашел я на форуме тему, где обсуждают непосредственно схему поведения/логику нпс. Ну а т.к. я пишу квест, и в процессе написания квеста, я застрял на этом моменте, то решил написать тут.

Если не по теме, то прошу модераторов переместить туда, куда надо (Только мне сообщите пожалуйста=))

 

Работаю на ЗП. Написал я логику для нпс:

[smart_terrains]

none = true

 

[logic]

active = remark

combat_ignore = combat_ignore

 

[combat_ignore]

 

[remark@wpn]

anim = hello_wpn

no_move = true

target = actor

on_actor_dist_le = 2| remark@wait

 

[remark@wait]

anim = wait

no_move = true

target = actor

on_actor_dist_le = 5| remark@wpn

on_info = {+esc_sniper_quest_give} walker@go

 

[walker@go]

path_walk = esc_quest_sniper_start_walk

path_look = esc_quest_sniper_start_look

 

 

Мне нужно сделать так, чтобы нпс из состояния "remark@wait", при получении инфопоршня "esc_sniper_quest_give", перешел в состояние "walker", но не получается, получаю вылет при старте игры:

FATAL ERROR

 

[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 : ...s.t.a.l.k.e.r. cop\gamedata\scripts\xr_remark.script:236: attempt to perform arithmetic on local 'pos' (a nil value)

 

 

 

Помогите пожалуйста написать логику нпс правильно.

 

Или этот вылет не связан с логикой нпс?

 

Вообще сам квест заключается в чем. ГГ в месте с напарником, нужно зачистить блокпост. Значит, ГГ подходит к нпс, у них простой диалог. ГГ - Ну что, какии задания?, НПС - Нужно зачистить военный блокпост. Выдается квест "esc_sniper_quest_start", и при выдачи инфопоршня "esc_sniper_quest_give", нпс переходит в схему "walker@go" и бежит по заданным точкам "path_walk = esc_quest_sniper_start_walk" помогать ГГ.

<dialog id="esc_sniper_start_dialog">

<dont_has_info>esc_sniper_quest_done</dont_has_info>

<dont_has_info>esc_sniper_quest_give</dont_has_info>

<phrase_list>

<phrase id="1">

<text>Нужно зачистить военный блокпост.</text>

<give_info>esc_sniper_quest_give</give_info>

<action>dialogs_escape.esc_sniper_quest_start</action>

</phrase>

<phrase id="0">

<text>Ну что, какие задания?</text>

<next>1</next>

</phrase>

</phrase_list>

</dialog>

 

<dialog id="esc_sniper_end_dialog">

<has_info>esc_sniper_quest_give</has_info>

<dont_has_info>esc_sniper_quest_done</dont_has_info>

<has_info>blokpost_killed</has_info>

<phrase_list>

<phrase id="1">

<text>Пошли проверим.</text>

<give_info>esc_sniper_quest_done</give_info>

</phrase>

<phrase id="0">

<text>Вроде всех положили.</text>

<next>1</next>

</phrase>

</phrase_list>

</dialog>

 

 

<info_portion id="esc_sniper_quest_done"></info_portion>

<info_portion id="esc_sniper_quest_give"></info_portion>

<info_portion id="blokpost_killed"></info_portion>

 

 

function esc_sniper_quest_start()

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

end

 

 

[esc_sniper_give]

icon = ui_inGame2_Bezopasnoe_mesto

prior = 2

storyline = false

title = {+blokpost_killed}test_talk_strelok, test_killed_blokpost

descr = test_mission

target = {+blokpost_killed} new_nps_test, nps

condlist_0 = {+esc_sniper_quest_done} complete

reward_money = 1

 

 

<string id="test_killed_blokpost ">

<text>Задание: Зачиска блокпоста.</text>

</string>

<string id="test_mission">

<text>Зачиска блокпоста.</text>

</string>

<string id="test_talk_strelok">

<text>Переговорить со стрелком.</text>

</string>

 

 

 

Помогите пожалуйста, где я ошибся?

Не соответствует правилам.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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