dan 6 Опубликовано 23 Мая 2008 Раз уж тему создали предлагаю обсудить вот что. Может стоит ввести дополнительный сюжет в игру? такой длинный квест на всю игру и постепенно раскрывать отдельные его части по мере прохождения игры. Т.е например меченный нашел документ в тайнике стрелка или лучше часть записки в котром есть немного информации раскрывающей загадку смерти клыка(ну представим себе что мы не знаем кто и почему его убили), которая заинтересовала его. Принес доки бармену, ну и между делом, бармен ты не знаешь то и то. А он тебе в ответ дескать когда то давно клык заходил и оставил небольшой клочек бумаги и сказал отдать тому кто принесет вторую часть записки. Вообщем отдает записку меченому а там еще немного информации о каком то человеке который имел дела с клыком. Хорошо бы информация была расплывчатая чтобы пришлось помозговать прежде чем найти этого человека. Ну и дальше примерно в таком духе выполняешь основную ветку получаешь дополнительную инф-цию о смерти клыка. Есть желающие помочь создать интересный сюжет? Если будут интересные идеи, то сделаем и добавим в игру. Да и просьба особо не флудить: описывайте вкратце сюжет и перечисляйте действующих лиц. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 24 Мая 2008 Вообщем для начала накидал несколько диалогов для нашего нового сюжета. Посмотрите может что подправить или дополнить надо. Вкратце дополнительный сюжет будет о том как меченый ищет сначала инфор-цию о клыке и о том кто и почему их предал(кто еще не решил, ну я думаю он должен быть агентом о-сознания). По идее, в итоге мы должны найти в конце предателя и почему он это сделал. Вообщем если есть желание помочь в реализации пишите. <?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> Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 25 Мая 2008 Люди. Может мне ктонибуть поточнее обьяснить как разветвлить диалог? Ты примерно опиши диалог попробуем разветвить. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 25 Мая 2008 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> Понятно? Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 30 Мая 2008 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> Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 2 Июня 2008 Вообщем метод не мой, я его взял у 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 забирают у нас копыта и хвосты и выдают награды из соответствующего списка. Все. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 3 Июня 2008 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 твое заданние выложы сюда посмотрим как его сделать правильно. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 4 Июня 2008 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> Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 14 Июня 2008 Помогите создать разветлённый диалог т.е. в зависимости от варианта ответа будет разная реакция НПС. Dunadan а мы ведь чуть выше это разбирали как это сделать на примере Wodka или не понятно получилось? Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 14 Июня 2008 Нет, у меня другая тема. К примеру: -Ну вот я принес тебе щупальца кровососа... -Ой спасибо выручил. Выбирай что хочешь лунный свет или морской ёж. -Лунный свет <=> морской ёж (тут выбор надо сделать потом ответ: -Лунный свет так лунный свет <=> ну держи ежа. И тут происходит отдача артефакта Dunadan а тебе не подойдет то что я про рандомные награды писал(сообщение 26 в этой теме)? Там как раз награда разная. Правда при таком варианте не предсказуемо что ты в итоге получишь. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 10 Июля 2008 Нашел ошибку в этой функции. После слова "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 это и есть Пличко) Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 21 Июля 2008 Люди, хелп плиз, создал диалог по инструкции с этого сайта, но игра вылетает при попытке заговорить с НПС у которого новый диалог и просписан. Вот лог нашол: [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_**** если его нету, то естественно у тебя будет вылетать. Подробно опиши твои действия, тогда возможно поймем где ошибка. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 21 Июля 2008 Ну 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> Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 21 Июля 2008 Спасибо сейчас по пробуем) А прекандишон это вроде бы условие появления диалога при общении. Да, но во первых не всегда он нужен(инфопоршнями легче пользоваться, обычно прекандишионами пользуются когда например надо проверить наличие определенного предмета в рюкзаке). Например у тебя аптечка в инвентаре подходишь к раненому и он у тебя просит аптечку и если есть прекандишион(который проверяет наличие у гг аптечки ) то появляется диалог <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> В твоем же случае создавай свои инфопоршни(вставляй в файлы с другими инфопршнями) и добавляй их в диалоги как условия появления/не появления диалога. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 21 Июля 2008 Блин чёто с инфопоршнем тоже ничё не выходит. Добавляю 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> Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 18 Августа 2008 Помогите пожалуйста создать квесты Вобщем я появляюсь на локации бар,и появляется первый квест-поговорить с Барменом,потом после диалога с ним появляется второй-прийти к Сидырычу и дальше основная сюжетная линия Если не сложно,помогите так сделать... Здесь выше все написано как делать. Если во время реализации возникнут проблемы спрашивай, а писать за кого то с нуля ни кто не будет. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 20 Сентября 2008 Подскажите, плз, скрипт для изымания денег у главгероя (определенной суммы, как плату за информацию). И еще, функцию проверки количества денег у персонажа. Пример из 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 Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 30 Сентября 2008 Вот это я понял, а где накосячил - недопру. Вот еще простая функция передачи предмета 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 Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 15 Октября 2008 ай нид хелп. Делаю для ЧН квест Все как здесь написано. НО вот только инфопоршнь по активации не срабатывает.... в диалоге в смысле. вообще ноль реакции ни вылета, ни квеста.... Чтобы понять что не так нужно видеть что ты сделал. А так из твоих слов не понятно. Поделиться этим сообщением Ссылка на сообщение
dan 6 Опубликовано 15 Октября 2008 Ты даешь игроку инфопоршень "<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> Поделиться этим сообщением Ссылка на сообщение