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

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


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

Раз уж тему создали предлагаю обсудить вот что. Может стоит ввести дополнительный сюжет в игру? такой длинный квест на всю игру и постепенно раскрывать отдельные его части по мере прохождения игры. Т.е например меченный нашел документ в тайнике стрелка или лучше часть записки в котром есть немного информации раскрывающей загадку смерти клыка(ну представим себе что мы не знаем кто и почему его убили), которая заинтересовала его. Принес доки бармену, ну и между делом, бармен ты не знаешь то и то. А он тебе в ответ дескать когда то давно клык заходил и оставил небольшой клочек бумаги и сказал отдать тому кто принесет вторую часть записки. Вообщем отдает записку меченому а там еще немного информации о каком то человеке который имел дела с клыком. Хорошо бы информация была расплывчатая чтобы пришлось помозговать прежде чем найти этого человека. Ну и дальше примерно в таком духе выполняешь основную ветку получаешь дополнительную инф-цию о смерти клыка. Есть желающие помочь создать интересный сюжет? Если будут интересные идеи, то сделаем и добавим в игру.

Да и просьба особо не флудить: описывайте вкратце сюжет и перечисляйте действующих лиц.

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


Ссылка на сообщение

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

 

<?xml version="1.0" encoding="windows-1251" ?>

<string_table>

<string id="">"volk_talk_after_atp_0"

<text>Привет Волк что-то случилось?</text>

</string>

<string id="">"volk_talk_after_atp_1"

<text>Меченый вспомнил я, ты ведь Стрелка ишешь?Так вот пару месяцев назад приходил один человек к Сидору и они у него в бункере долго ругались, плохо слышно было, да я и не прислушивался, но когда я ходил в ту сторону отлить в разговоре промелькнула что-то типа "группа стрелка". Незнаю поможет тебе это или нет,но все же решил тебе сказать. Да как потом я узнал человека звали Клык.</text>

</string>

<string id="">"volk_talk_after_atp_2"

<text>Клык говоришь, спасибо тебе. Незнаю поможет мне это или нет...вообщем пойду Сидора поспрашиваю.</text>

</string>

<string id="">"volk_talk_after_atp_3"

<text>Бывай, если что надо, обращайся.</text>

</string>

<string id="">"sidr_talk_first_0"

<text>Сидр тут такое дело в общем говорят к тебе Клык приходил?</text>

</string>

<string id="">"sidr_talk_first_1"

<text>Клык...Клык... что то не помню у меня сам знаешь народу много разного бывает всех неупомнить.</text>

</string>

<string id="">"sidr_talk_first_2"

<text>Сидр башка старая не увиливай, говори, ведь вижу по тебе знаешь, а мне лапшу вешаешь.</text>

</string>

<string id="">"sidr_talk_first_3"

<text>Ах да вспомнил был он у меня пару месяцев назад,должен был мне,ну так зашел долг отдал,поболтали немного он и ушел.</text>

</string>

<string id="">"sidr_talk_first_4"

<text>А про группу стрелка что тебе известно?</text>

</string>

<string id="">"sidr_talk_first_5"

<text>Меченый какая группа ты о чем не забивай мне голову стар я бредни выслушивать, тут с минуту на минуту ко мне люди важные придут, а ты меня замучил своими вопросами, будет время позже потолкуем.</text>

</string>

<string id="">"zapiska_part_klik_0" ВОТ ЭТО БУДЕТ ЗАПИСКА В ТАЙНИКЕ СТРЕЛКА

<text>Вообщем херово дело, стрелок с той поры как ты пропал...дела плохи. Кто то стучит на нас. Я уже несколько раз замечал за... слежку.Наш штаб на.... похоже провален. Идти туда очень опасно, но надо, там все наше снарежение. Как же я без него пойду в Припять.Кто-то из троих либо Сидр, либо эта жаба Бармен либо.... стучит. Вчера доктора и меня пытались... повезло... Надеюсь стрелок ты жив и рано или поздно прочтешь это.</text>

</string>

<string id="">"barmen_part_first_0"

<text>Привет бармен дело к тебе, ты знал Клыка?</text>

</string>

<string id="">"barmen_part_first_1"

<text>Да я многих знаю что тебе конкретно нужно то?</text>

</string>

<string id="">"barmen_part_first_2"

<text>Что ты знаешь о нем и группе Стрелка?</text>

</string>

<string id="">"barmen_part_first_3"

<text>Какая группа о чем ты ну знал Клыка покупал у меня, ну иногда интересные арты приносил,вообщем обычный бизнес.</text>

</string>

<string id="">"barmen_part_first_4"

<text>Послушай бармен если не хочешь оказаться на месте той свиньи,которая у тебя за спиной не юли, устал я от вранья что то.</text>

</string>

<string id="">"barmen_part_first_5"

<text>Ну ладно-ладно будет тебе, знаю друг у него был, непомню как зовут, но говорят на кордоне сейчас обитается.Поспрашивый у него.</text>

</string>

<string id="">"fanat_talk_0"

<text>Фанат ну может выпьем? Небось струхнул,когда наемники пришли?.</text>

</string>

<string id="">"fanat_talk_1"

<text>Плохо ты меня знаешь меченый я же с самим Клыком и Выдрой на Припять ходил правда я на складах в электру залез случайно... НУ выпимши был не без этого,день рождение свободовского повара отмечали поэтому пришлось там остаться, а ребята дальше пошли.</text>

</string>

<string id="">"fanat_talk_2"

<text>Ты знал Клыка расскажи очень надо, он как-то связан был со стрелком.</text>

</string>

<string id="">"fanat_talk_3"

<text>Ну ты брат даешь "связан со стрелком",Клык в группу Стрелка входил,был его правым плечом так сказать они вместе всю зону облазили.Да жалко мужика черти какие-то пристрелили. Знал бы кто сам вот этими руками...Э эх давай выпьем что ли.</text>

</string>

<string id="">"fanat_talk_4"

<text>А кто еще был в группе?.</text>

</string>

<string id="">"fanat_talk_5"

<text>Я всего не знаю, но кроме Выдры и Клыка был Призрак,но он тоже куда то делся, то ли умер,то ли еще что то.Этож Каких ЛЮДЕЙ зона забирает,самых лучших ей подавай.Тошно то как... выпьем меченый... за ЛЮДЕЙ,за НАСТОЯЩИХ. </text>

</string>

<string id="">"zapiska_prizraka_0" ВОТ ЭТО ЗАПИСКА В ТРУПЕ СТРЕЛКА

<text>Стрелок если найдешь эту записку,то знай нас предали,Клык думает что это Бармен, но я догадываюсь кто.Эта сука....не могу...не могу больше писать рука...тело... все трясется. Чертов контролер пого-во-ри по-во-ри с Ар...</text>

</string>

По идее эта записка должна вести к арни. Да если захотите ввести персонажа подумайте велика ли вероятность того что он не умрет к тому моменту когда понадобиться для квеста. Вообщем части квеста должны не сразу открываться, а постепенно например сходил в x-18 появился диалог такой-то, сходил в x-16 следующий диалог. В итоге он должен либо во фриплее, либо в припяти заканчиваться.

 

 

 

 

 

</string_table>

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


Ссылка на сообщение
Люди. Может мне ктонибуть поточнее обьяснить как разветвлить диалог?

Ты примерно опиши диалог попробуем разветвить.

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


Ссылка на сообщение

WodkaGT

 

<phrase id="1">

<text>МЕДВЕД По ко...А, ну ладно. В общем так, какие-то сволочи обчистили мою нычку с жрачкой. Уж кому она понадобилась в таком количестве, черт его знает. Не помог бы ты мне, а то скоро тут юбилей у нас намечается, уже месяц как группировка образовалась, а тут, р-раз и на тебе, а еды-то и нету.</text>

<next>2</next>

<next>3</next>

</phrase>

<phrase id="2">

<text>Нет, ты что, я тебе, что, склад продовольственный ходячий, что ли???</text>

</phrase>

<phrase id="3">

<text>Я тут подумал, а чего у тебя не хватает-то?</text>

</phrase>

 

Понятно?

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


Ссылка на сообщение

Volyna я так понимаю что ты добавил шкуру кошки и она у тебя спавниться по типу хвостов собачьих, щупалец кровососа? Если так то добавил ты ее(свою новую шкуру) в monster_items?

 

Вот это

<string id="tm_monster_part_3">

<text>Притащить шкуру кота</text>

</string>

<string id="tm_monster_part_3_descr">

<text>Заказ Сидоровича: "Притащить шкуру кота"\n Награда: 2000, 4 пачки патронов для моего "Винтореза".</text>

</string>

<string id="tm_monster_part_3_text">

<text>Короче, Меченный, у нас тут последнее время за железнодорожным мостом кошаков развелось тьма, надо бы отстрелять их. А заодно принесешь мне шкурку этого кота-баюна. Говорят, на Большой земле они спросом пользуются, потому что мех их на бобровый похож. Ну, короче, принеси мне шкуру этого "бобрового" мутанта, а я тебя не обижу.\n В награду дам 2000 и 4 пачки для твоего винтореза. Возьмешься?</text>

</string>

 

надо прописывать в файле stable_task_manager.xml

А еще в storyline_info_taskmanager.xml надо писать примерно следующие

<article id="tm_monster_part_3_descr" name="monster_part_3" article_type="task">

<text>tm_monster_part_3_descr</text>

</article>

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


Ссылка на сообщение

Вообщем метод не мой, я его взял у banderosa(а он в свою очередь взял Linspiro) как создать квест с рандомными наградами. Беру любого торгоша или любого другого уникального непися и добавляяю ему диалог. Например Волк. Создадим квест что если мы принесем 3 хвоста или 3 копыта Волку он нам выдаст рандомно(т.е. случайно) награду.

1)В character_desc_escape к уже прописанным диалогам Волка добавляю свой

 

<actor_dialog>prinesi_hvost</actor_dialog> - вот мой диалог.

<start_dialog>escape_lager_volk_talk</start_dialog>

<start_dialog>dm_hello_dialog</start_dialog>

<actor_dialog>dm_cool_info_dialog</actor_dialog>

<actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog>

<actor_dialog>tm_wolf_dialog</actor_dialog>

<actor_dialog>tm_wolf_reward</actor_dialog>

<actor_dialog>escape_lager_volk_story</actor_dialog>

<actor_dialog>escape_lager_volk_story2</actor_dialog>

 

2) Откроем файл stable_dialogs_escape и в конце напишем следующий диалог:

 

<string id="prinesi_hvost_0">

<text>Здорово! Что делаешь?</text>

</string>

<string id="prinesi_hvost_1">

<text>Привет меченый да вот бизнес налаживаю. Послушай ты же по зоне мотаешся, живность всякую отстреливаешь принеси мне 3 хвоста слепых собак либо 3 копыта кабанов местных.А то у меня заказчик появился на живность всякую,говорят он из них лекарства делает. А на местных новичков разве можно расчитывать? они ж при виде кабана сами своих копыта готовы отдать. Вообщем принесешь, отблагодарю нормально, не обижу.</text>

</string>

<string id="prinesi_hvost_2">

<text>Ну что Волк принес я копыта принимай.</text>

</string>

<string id="prinesi_hvost_3">

<text>Ну что Волк принес я хвосты принимай.</text>

</string>

<string id="prinesi_hvost_4">

<text>Копыта принес, это хорошо,получи расчет.</text>

</string>

<string id="prinesi_hvost_5">

<text>Хвосты принес ну ладно тоже ничего, может и они на что-нибудь сгодятся.</text>

</string>

<string id="prinesi_hvost_6">

<text>Сегодня пустой, так поболтать заскочил.</text>

</string>

 

3)Дальше открываем файл dialogs_escape( в принципе лучше создать свой диалоговый файл типа"dialogs_new" потом легче если что совмещать с другими модами главное не забудьте прописать свой файл в файле systems)

и в конце пишу диалог пример:

<game_dialogs>

<dialog id="prinesi_hvost"> это id диалога то что мы добавили волку в его секцию

<phrase_list>

<phrase id="0">

<text>prinesi_hvost_0</text>

<next>1</next>

</phrase>

<phrase id="1">

<text>prinesi_hvost_1</text>

<next>2</next>

<next>3</next>

<next>6</next>

</phrase>

<phrase id="2">

<precondition>new_dialog.prines_kopyto</precondition> это условие при котором открывается данная

<text>prinesi_hvost_2</text> фраза в нашем диалоге(должна выполниться

<next>4</next> функция prines_kopyto из файла new_dialog

</phrase>

<phrase id="3">

<precondition>new_dialog.prines_hvost</precondition> аналогично 1 условию тоолько там копыта,

<text>prinesi_hvost_3</text> а здесь хвосты

<next>5</next>

</phrase>

<phrase id="4">

<action>new_dialog.otdal_kopyto</action> здесь срабатывает функция передачи копыта и получение

<text>prinesi_hvost_4</text> рандомной награды.

</phrase>

<phrase id="5">

<action>new_dialog.otdal_hvost</action> аналогично, только отдаются хвосты.

<text>prinesi_hvost_5</text>

</phrase>

<phrase id="6">

<text>prinesi_hvost_6</text>

<action>dialogs.break_dialog</action>

</phrase>

</phrase_list>

</dialog>

 

4)Теперь надо создать наш скриптовый файл и прописать наши функции. Создаем файл new_dialog а в нем пишем следующие

 

local nagrad = {

 

level_1 = {

"ammo_9x39_sp5",

"ammo_7.62x54_7h14",

"ammo_5.45x39_ap", это список того из чего будет выбираться награда 1 и2 уровня.Для хвостов 1 уровень

"ammo_5.56x45_ap", Для копыт второй. Специально добавил колбасу и хлеб, ну чтобы разочаровываться

"ammo_11.43x23_hydro", иногда(рулетка).

"bread",

"kolbasa",

"ammo_5.56x45_ss190"

},

level_2 = {

"af_armor_1",

"af_babka_1",

"af_cry_1",

"af_dik_1",

"af_kol_1",

"af_pudd_1",

"af_spirit_1",

"bread",

"kolbasa",

"af_night_star",

"af_gold_fish",

"af_electra_moonlight",

"af_rusty_sea-urchin",

"af_dummy_glassbeads"

}

}

 

function prines_kopyto(first_speaker, second_speaker)

local actor, trader

if db.actor and db.actor:id() == first_speaker:id() then

actor = first_speaker

trader = second_speaker

else

actor = second_speaker

trader = first_speaker

end

local mutant_boar_leg = 0

actor:iterate_inventory(function (dummy, item) if item:section()=="mutant_boar_leg" then

mutant_boar_leg = mutant_boar_leg+1 end end, nil)

if mutant_boar_leg>=3 then

return true

else

return false

end

end

 

 

function otdal_kopyto(first_speaker, second_speaker)

local item = ""

local actor, trader

if db.actor and db.actor:id() == first_speaker:id() then

actor = first_speaker

trader = second_speaker

else

actor = second_speaker

trader = first_speaker

end

item = nagrad.level_2[math.random(table.getn(nagrad.level_2))]

flamethrower.relocate_n_items_section(trader, "mutant_boar_leg", "out", 3)

dialogs.relocate_item_section(second_speaker, item , "in")

end

 

 

function prines_hvost(first_speaker, second_speaker)

local actor, trader

if db.actor and db.actor:id() == first_speaker:id() then

actor = first_speaker

trader = second_speaker

else

actor = second_speaker

trader = first_speaker

end

local mutant_dog_tail = 0

actor:iterate_inventory(function (dummy, item) if item:section()=="mutant_dog_tail" then mutant_dog_tail=mutant_dog_tail+1 end end, nil)

if mutant_dog_tail>=3 then

return true

else

return false

end

end

 

 

function otdal_hvost(first_speaker, second_speaker)

local item = ""

local actor, trader

if db.actor and db.actor:id() == first_speaker:id() then

actor = first_speaker

trader = second_speaker

else

actor = second_speaker

trader = first_speaker

end

item = nagrad.level_1[math.random(table.getn(nagrad.level_1))]

flamethrower.relocate_n_items_section(trader, "mutant_dog_tail", "out", 3)

flamethrower.relocate_n_items_section(actor, item , "in", count)

end

 

Функции prines_kopyto и prines_hvost проверяют наличие у нас в инвентаре 3 хвостов либо 3 копыт и соответственно

допускают нас к фразам(<precondition>new_dialog.prines_kopyto</precondition>) в которых у нас происходит обмен копыт и хвостов на рандомную награду. Функции otdal_hvost и otdal_kopyto забирают у нас копыта и хвосты и выдают награды из соответствующего списка. Все.

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


Ссылка на сообщение

Zorndaik смотри в tasks прописываешь задание а в нем в конце такие строчки

 

<map_location_type hint="Пличко">blue_location</map_location_type> вот это метка на Пличко

<object_story_id>bar_dolg_guard_commander</object_story_id> здесь bar_dolg_guard_commander это взято id из файла game_story_ids.

 

У сумасшедшего id "Mil_Crazy", а у фримена точно незнаю, но возможно id "rostok_naemnik". Ты game_story_ids еще раз сам посмотри.

 

Если у тебя уже составлено в tasks_military твое заданние выложы сюда посмотрим как его сделать правильно.

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


Ссылка на сообщение

Zorndaik маркер указывает на то что у тебя в этих строчках

 

<object_story_id>bar_hunter_toz</object_story_id>

 

А это - bar_hunter_return_rifle- название твоего маркера, его можно писать и по-русски(т.е. в твоем случае на маркере будет написано bar_hunter_return_rifle)

 

bar_hunter_toz - по id это по-моему оружие, которое нужно принести охотнику.

 

"bar_hunter" это сам охотник. Я так понимаю тебе нужно чтобы маркер указывал сначало на твою пушку, а затем на гордона фримена? Видишь ли чтобы повесить маркер на что-нибудь у этого непися либо вещи должен быть id либо

При спавне непися или оружия присваивать ему sid. Например когда я спавню непися то это выглядеть так

function add_monolit()

local obj=amk.spawn_item("mil_monolit_rush_respawn_1",vector():set(32.9309,-0.00135,197.588),1242,20400)

local tbl = amk.read_stalker_params(obj)

tbl.sid = 9498 -- это и есть sid присвоенный в данном случае мертвому монолитовцу. Зато теперь я могу

tbl.health = 0 повесить на него метку в таске:<object_story_id>9498</object_story_id>

tbl.updhealth = 0

amk.write_stalker_params(tbl, obj)

end

 

Правда я непробовал присваивать sid вещям, так что не знаю точно получится или нет. А ты случаем фримена не через all.spawn спавнил? тогда в его секции(в all.spawn) можно было прописать ему id.

 

Попробуй так.

 

game_task id="mil_freeman_gauss">

<title>Принести гаусс-пистолет Фримену</title>

<objective>

<text>Найти гаусс-пистолет</text>

<icon>ui_iconsTotal_mil_gordon_gauss</icon>

<infoportion_complete>mil_freeman_quest_finish</infoportion_complete>

</objective>

<objective>

<text>Найти гаусс-пистолет</text>

<icon height="50" width="50" x="100" y="50">ui\ui_icons_task</icon>

<function_complete>task_dialogs.has_gordon_gauss</function_complete>

<infoportion_set_complete>mil_freeman_quest_find_gauss</infoportion_set_complete>

</objective>

<objective>

<text>Принести гаусс-пистолет Фримену</text>

<icon>ui_iconsTotal_mil_gordon_gauss</icon>

<map_location_type hint="Фримен">green_location</map_location_type>

<object_story_id>mil_stalker_freeman</object_story_id>

<infoportion_complete>mil_freeman_quest_finish</infoportion_complete>

</objective>

</game_task>

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


Ссылка на сообщение
Помогите создать разветлённый диалог т.е. в зависимости от варианта ответа будет разная реакция НПС.

 

Dunadan а мы ведь чуть выше это разбирали как это сделать на примере Wodka или не понятно получилось?

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


Ссылка на сообщение
Нет, у меня другая тема.

К примеру:

 

-Ну вот я принес тебе щупальца кровососа...

-Ой спасибо выручил. Выбирай что хочешь лунный свет или морской ёж.

-Лунный свет <=> морской ёж (тут выбор надо сделать

потом ответ:

-Лунный свет так лунный свет <=> ну держи ежа.

И тут происходит отдача артефакта

 

Dunadan а тебе не подойдет то что я про рандомные награды писал(сообщение 26 в этой теме)? Там как раз награда разная. Правда при таком варианте не предсказуемо что ты в итоге получишь.

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


Ссылка на сообщение
Нашел ошибку в этой функции. После слова "out" стоит запятая. Она здесь совсем не нужна.

 

Это моя ошибка но так как пост не мой исправить я не могу.

 

Уже исправлено.

PS. И зачем было стирать?

potap

 

 

При создании квеста его имя в task_manger.ltx можно писать любое(по-английски разумеется) или есть какие-то правила?

 

 

<map_location_type hint="Пличко">blue_location</map_location_type> в этом месте текст произвольный, но обычно пишут по русски имя к кому надо принести что то или прийти за наградой

<object_story_id>bar_dolg_guard_commander</object_story_id> здесь указываются данне из game_story_ids (bar_dolg_guard_commander это и есть Пличко)

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


Ссылка на сообщение
Люди, хелп плиз, создал диалог по инструкции с этого сайта, но игра вылетает при попытке заговорить с НПС у которого новый диалог и просписан.

Вот лог нашол:

 

[error]Expression : no_assert

[error]Function : CXML_IdToIndex<class CPhraseDialog>::GetById

[error]File : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h

[error]Line : 112

[error]Description : item not found, id

[error]Arguments : escape_trader_a_che_s_mostom

 

Последняя строка назва диалога в файле character_desc_escape.xml

Ну твой диалог должен быть прописан в каком либо файле dialogs_**** если его нету, то естественно у тебя будет вылетать.

 

Подробно опиши твои действия, тогда возможно поймем где ошибка.

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


Ссылка на сообщение
Ну 1ое: прописал будующий диалог в файле character_desc_escape.xml:

Ты просто хочешь создать диалог? Так вот зачем ты ставишь этот не нужный здесь прекандишион(<precondition>escape_dialog.trader_alredy_give_job</precondition>)?

 

сделай лучше вот так

 

<dialog id="ecscape_trader_a_che_s_mostom">

<has_info>tutorial_end</has_info>

<dont_has_info>my_info_porsh</dont_has_info>

<phrase_list>

<phrase id="0">

<text>escape_trader_a_che_s_mostom_0</text>

<next>1</next>

</phrase>

<phrase id="1">

<text>escape_trader_a_che_s_mostom_1</text>

<next>2</next>

</phrase>

<phrase id="2">

<text>escape_trader_a_che_s_mostom_2</text>

<next>3</next>

</phrase>

<phrase id="3">

<text>escape_trader_a_che_s_mostom_3</text>

</phrase>

<phrase id="4">

<text>escape_trader_a_che_s_mostom_4</text>

<give_info>my_info_porsh</give_info>

</phrase>

</phrase_list>

</dialog>l

 

Далее этот инфопоршень "my_info_porsh" запихни в файл например info_l01escape ну или в любой другой с инфопоршнями по аналогии с другими где-нибудь в конце

 

info_portion id="esc_trader_miniquest_free"></info_portion>

<info_portion id="esc_trader_miniquest_notfree"></info_portion>

<info_portion id="my_info_porsh"></info_portion>

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


Ссылка на сообщение
Спасибо сейчас по пробуем) А прекандишон это вроде бы условие появления диалога при общении.

 

Да, но во первых не всегда он нужен(инфопоршнями легче пользоваться, обычно прекандишионами пользуются когда например надо проверить наличие определенного предмета в рюкзаке).

Например у тебя аптечка в инвентаре подходишь к раненому и он у тебя просит аптечку и если есть прекандишион(который проверяет наличие у гг аптечки ) то появляется диалог

 

<dialog id="про аптечку">

<phrase_list>

<phrase id="0">

<text>Дай аптечку?</text>

<next>1</next>

<next>2</next>

</phrase>

<phrase id="1">

<text>Не брат самому нужна</text>

</phrase>

<phrase id="2">

<precondition>проверка наличия аптечки</precondition> если аптечки нет, то эта фраза не появиться.

<text>Держи друг</text>

 

</phrase>

 

 

 

В твоем же случае создавай свои инфопоршни(вставляй в файлы с другими инфопршнями) и добавляй их в диалоги как условия появления/не появления диалога.

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


Ссылка на сообщение
Блин чёто с инфопоршнем тоже ничё не выходит.

Добавляю 3 строки которые ты написал в файл info_l01 escape, никаких изменений.

 

Вылет или что? удали вот эту строчку <has_info>tutorial_end</has_info>

 

Нужно эти инфопоршни добавить не только в nfo_l01 escape, но и в диалог. Ты в диалог их прописал?

 

<dialog id="ecscape_trader_a_che_s_mostom">

<dont_has_info>my_info_porsh</dont_has_info>

<phrase_list>

<phrase id="0">

<text>escape_trader_a_che_s_mostom_0</text>

<next>1</next>

</phrase>

<phrase id="1">

<text>escape_trader_a_che_s_mostom_1</text>

<next>2</next>

</phrase>

<phrase id="2">

<text>escape_trader_a_che_s_mostom_2</text>

<next>3</next>

</phrase>

<phrase id="3">

<text>escape_trader_a_che_s_mostom_3</text>

</phrase>

<phrase id="4">

<text>escape_trader_a_che_s_mostom_4</text>

<give_info>my_info_porsh</give_info>

</phrase>

</phrase_list>

</dialog>l

 

Тебе надо не все 3 строчки прописать а только ту что выделил

 

<info_portion id="my_info_porsh"></info_portion>

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


Ссылка на сообщение
Помогите пожалуйста создать квесты:unsure:

Вобщем я появляюсь на локации бар,и появляется первый квест-поговорить с Барменом,потом после диалога с ним появляется второй-прийти к Сидырычу и дальше основная сюжетная линия

Если не сложно,помогите так сделать...

 

Здесь выше все написано как делать. Если во время реализации возникнут проблемы спрашивай, а писать за кого то с нуля ни кто не будет.

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


Ссылка на сообщение
Подскажите, плз, скрипт для изымания денег у главгероя (определенной суммы, как плату за информацию). И еще, функцию проверки количества денег у персонажа.

 

Пример из amk:

проверяем наличие 30000

 

function actor_has_money_30000()

return db.actor:money()>=30000

end

 

отдаем 30000

 

function give_money_30000(t1,t2)

local npc=t1

if npc:id()==db.actor:id() then

npc=t2

end

dialogs.relocate_money(npc,30000,"out")

end

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


Ссылка на сообщение
Вот это я понял, а где накосячил - недопру.

 

 

Вот еще простая функция передачи предмета

 

function atp_barman_wpn_addon_sil_762_ar(first_speaker, second_speaker)

local item = ""

local actor, trader

if db.actor and db.actor:id() == first_speaker:id() then

actor = first_speaker

trader = second_speaker

else

actor = second_speaker

trader = first_speaker

end

flamethrower.relocate_n_items_section(trader, "vodka", "out", 10)

dialogs.relocate_item_section(actor, "wpn_addon_sil_762_ar", "in", 1)

end

 

Только запомни если передаешь один предмет то используешь

dialogs.relocate_item_section

 

если больше одного

flamethrower.relocate_n_items_section

 

И ничего дописывать не надо, правда это только на АМК прокатит, либо тебе нужен будет скрипт амк

flamethrower.script

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


Ссылка на сообщение
ай нид хелп.

Делаю для ЧН квест

Все как здесь написано.

НО вот только инфопоршнь по активации не срабатывает.... в диалоге в смысле. вообще ноль реакции ни вылета, ни квеста....

 

Чтобы понять что не так нужно видеть что ты сделал. А так из твоих слов не понятно.

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


Ссылка на сообщение

Ты даешь игроку инфопоршень "<give_info>scenic_begin</give_info>"

 

А должен давать "<give_info>scenic_qwest_start</give_info>"

 

<info_portion id="scenic_qwest_start">

<task>scenic_qwest</task>

</info_portion>

 

который инициирует задание <task>scenic_qwest</task>

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


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

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