bios 0 Опубликовано 6 Декабря 2015 Поделиться Опубликовано 6 Декабря 2015 В статье по созданию примитивного квеста ты отдаеш водку два раза я пробовал править скрипт на отдачу но у меня не получилось вот скрипт function is_has_vodka_borode() if db.actor:object("af_cristall") then Return true - эту функцию я убирал несработало End Return false - эту функцию я убрал когда не получилось с 1 функцией End Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-979054
naxac 2 595 Опубликовано 6 Декабря 2015 Поделиться Опубликовано 6 Декабря 2015 @bios, попробуй так: function is_has_vodka_borode() return db.actor:object("af_cristal")~=nil end Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-979074
Хемуль36рус 1 790 Опубликовано 6 Декабря 2015 Поделиться Опубликовано 6 Декабря 2015 @bios, Есть удобные и проверенные функции для квестов от Сяка. local items_count=0 local itemin=nil function have_item_namber(itm,need_namber) local actor=db.actor items_count=0 itemin=itm actor:iterate_inventory(cheking_item,actor) if items_count>=need_namber then return true else return false end end function cheking_item(actor,item) local items=item:section() if items==itemin then items_count=items_count+1 end end function create_items(npc,section,number) for i=1,number do alife():create(section, npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id()) end end local reloc_params={} local stalk function out_item_namber(itm_section,need_number) reloc_params.itm_section=itm_section reloc_params.itm_cnt=need_number reloc_params.itm_cnt_found=0 db.actor:iterate_inventory(checkout_items_count,db.actor) reloc_params.itm_cnt_found=0 if reloc_params.itm_cnt_found<=reloc_params.itm_cnt then db.actor:iterate_inventory(out_items_count,db.actor) end news_manager.relocate_item(db.actor, "out", itm_section) reloc_params={} end function relocate_item_namber(stalker,itm_section,need_number) stalk=stalker reloc_params.itm_section=itm_section reloc_params.itm_cnt=need_number reloc_params.itm_cnt_found=0 db.actor:iterate_inventory(checkout_items_count,db.actor) reloc_params.itm_cnt_found=0 if reloc_params.itm_cnt_found<=reloc_params.itm_cnt then db.actor:iterate_inventory(reloc_items_count,db.actor) end news_manager.relocate_item(db.actor, "out", itm_section) reloc_params={} end function checkout_items_count(actor,item) if item.section and item:section()==reloc_params.itm_section then reloc_params.itm_cnt_found = reloc_params.itm_cnt_found + 1 end end function reloc_items_count(actor,item) if item.section and item:section()==reloc_params.itm_section and reloc_params.itm_cnt_found<reloc_params.itm_cnt then db.actor:transfer_item(item, stalk) reloc_params.itm_cnt_found = reloc_params.itm_cnt_found + 1 end end function out_items_count(actor,item) if item.section and item:section()==reloc_params.itm_section and reloc_params.itm_cnt_found<reloc_params.itm_cnt then amk.remove_item_from_inventory(item, actor) reloc_params.itm_cnt_found = reloc_params.itm_cnt_found + 1 end end Пример использования. function escape_sid_doki_have() return sak.have_item_namber("sid_document",1) ~= false end function give_escape_sid_doki(first_speaker, second_speaker) sak.out_item_namber("sid_document", 1) end function complete_escape_sid_doki_quest(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 5000, "in") dialogs.relocate_item_section(second_speaker, "wpn_toz34_vip", "in") end 2 Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-979093
JoniDen 7 Опубликовано 10 Декабря 2015 Поделиться Опубликовано 10 Декабря 2015 Всем привет народ, как сделать так чтобы при общение с НПС, через 10 секунд он стал ГГ враг. Платформа ЗП. Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-979748
Stalkeruga_238 2 Опубликовано 3 Марта 2016 Поделиться Опубликовано 3 Марта 2016 Подскажите, как в оригинальном тч создать квест на поиск и разговор с ранее заспавненым нпс? Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-997396
UnLoaded 313 Опубликовано 3 Марта 2016 Поделиться Опубликовано 3 Марта 2016 @Stalkeruga_238 Руками... и головой наверное. А еще поиском воспользоваться... 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-997399
Пикадоний 0 Опубликовано 13 Марта 2016 Поделиться Опубликовано 13 Марта 2016 Всем приветХочу спросить а как делать квест(ы) с под квестами, на подобии "поговорить с волком, встретится с людми волка и т.д"И еще один вопрос, как сделать так чтобы квест активировался автоматически после выполнения предыдущего(сразу) пример "Помочь отбиться от бандитов, и когда дальше проходишь по свалке, сразу появляется другое задание помочь (Серому) с звуковым сообщением с просьбой о помощи..." Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1000034
UnLoaded 313 Опубликовано 13 Марта 2016 Поделиться Опубликовано 13 Марта 2016 @Пикадоний Загляни в раздел "Уроки по модостроению" - там сразу же на первой странице, пример создания квеста... Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1000059
Пикадоний 0 Опубликовано 14 Марта 2016 Поделиться Опубликовано 14 Марта 2016 (изменено) @Пикадоний Загляни в раздел "Уроки по модостроению" - там сразу же на первой странице, пример создания квеста... Это не совсем то что я ищу... Я ищу как сделать чтобы после выполнения одного задания давали другое, как в оригинале... Приносишь флешку сидору, потом он дают сразу другое задание, а если не брать его то появится авто задание "Взять спец задание у сидора"... Изменено 14 Марта 2016 пользователем Пикадоний Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1000245
Korpus 49 Опубликовано 14 Марта 2016 Поделиться Опубликовано 14 Марта 2016 (изменено) @Пикадоний, "задания, квесты и етс" являются всего лишь гемплейной терминологией, внешняя (видимая на экране) часть производится набором специфических файликов (ты их должен знать), НО все взаимодействия между "внутренними событиями" чаще всего происходят посредством инфопорций, которые в свою очередь выдаются разными способами. К примеру тот случай в ТЧ со "спецзаданием Сидорыча" выполняется с помощью рестриктора (он построился после соответствующего диалога, а ты вышел из этого поля, или зашёл в него), или с помощью логики самого Сидорыча, когда в ней включилась секция, где ты отдалился от Сидорыча на "н"-метров и выдался поршень, а по этому поршню выдалось "задание". Или же по таймеру... Придётся и это постигать, хотя бы азы. Изменено 14 Марта 2016 пользователем Korpus Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1000304
DarkSnowder 902 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 Приветствую всех форумчан. Дело такое: создал я квест на поиск документов( ну как квест - документы просто прописаны в спавн через скрипт и гг по наводкам их ищет). Хочу реализовать нормальный квест по их сдаче - чтобы после нахождения всех документов ГГ приходила СМС и начинался квест. Но толком реализовать не получается - мододел я зелёный . Просьба всем, кто знает как это сделать или располагает соответствующими знаниями помочь в этом деле (может есть уроки по созданию квестов такого типа или кто-то сам этим уже занимался). Спасибо заранее. Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1001790
Хемуль36рус 1 790 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 , http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2 1 Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1001801
UnLoaded 313 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 чтобы после нахождения всех документов ГГ приходила СМС и начинался квест Ох и говняный(на мой взгляд) это стиль в геймплее\сюжете: откуда заинтересованный персонаж узнает что ГГ, в черт знает скольких километрах от него, нашел какую-то папочку\кейс ? Лучше сделай, после нахождения всех документов, появление соответствующей ветки в диалоге нужного непися. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1001872
HellRatz 2 915 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 (изменено) чтобы после нахождения всех документов ГГ приходила СМС и начинался квест Я конечно не квестер, но предполагаю, что тебе надо сперва повесить функцию проверки на определенные предметы в инвентаре ГГ, и выдавать поршень, когда они все у тебя на руках. А на выдачу этого поршня повесить выполнение функции по приходу СМС и активации квеста. Как-нибудь так, что ли.. Функция по проверке предметов: local t_wpn = { "ПРЕДМЕТ1", "ПРЕДМЕТ1", "ПРЕДМЕТ1" } function search_ALL_weapons_complete() local gg = db.actor if gg then for i=1,#t_wpn do if not gg:object(t_wpn) then return false end end gg:give_info_portion("ПОРШЕНЬ") return true end return false end Так же кроме give_info_portion можно повесить любые другие функции, ту же выдачу СМС. Вешать все это дело в апдейт бинд_сталкера. Изменено 20 Марта 2016 пользователем HellRatz GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1002011
UnLoaded 313 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 Вешать все это дело в апдейт бинд_сталкера. Вай, вай... Что-ж Вы так жестоко-то? Это ради одного квеста НА КАЖДОМ апдейте тормошить инвентарь и т.д.? Может лучше воспользоваться ф-цией on_item_take(из bind_stalker.script) ? Которая будет срабатывать только при появлении в инвентаре предметов, что происходит значительно реже, чем апдейт актора... Ну допустим документов для квеста 3 и для каждого своя секция в конфиге. В on_item_take проверяем наличие предметов с этими секциями, как появятся все 3 - запускаем квест, а дальнейшую проверку отсекаем инфо-порцией, которая будет квест запускать. 3 Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1002030
Romann 623 Опубликовано 22 Марта 2016 Поделиться Опубликовано 22 Марта 2016 Вай, вай... Что-ж Вы так жестоко-то? Это ради одного квеста НА КАЖДОМ апдейте тормошить инвентарь и т.д.? Не говори, а ещё лучше ввести систему сигналов = и вообще забыть про бинд_сталкер, и не лезть туда больше, и нервы целы, и нагруз на движок меньше... Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1002369
нерон 0 Опубликовано 25 Марта 2016 Поделиться Опубликовано 25 Марта 2016 Привет всем. Имеется такая проблема делаю квест на убийство нпс( спавн через скрипт) Как поставить метку на него(нпс) пробовал прописывать в файле tasks_escape.xml в строке <object_story_id>esc_vasuok_npc</object_story_id> прописывать имя которое задавал в файле game_story_ids.ltx новой строкой - 093 = "esc_vasuok_npc" . Но метка не появлялась Что я делаю не так? Или надо метку задавать скриптом, если да то где можно прочитать как это сделать. Заранее спасибо. Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1002836
UnLoaded 313 Опубликовано 25 Марта 2016 Поделиться Опубликовано 25 Марта 2016 (изменено) Что я делаю не так? Если ты объявил нужный story_id в game_story_ids.ltx, а затем прописал его в каком-то задании(task), и метка на объекте не появляется - то скорее всего, ты забыл привязать этот story_id к самому объекту. Сделать это можно несколькими способами: в СДК в свойствах объекта, в соответствующем alife-файле распакованного(декомпилированного) all.spawn'а или нет-пакетом при скриптовом создании непися(это видимо тот вариант, что тебе нужен). Изменено 25 Марта 2016 пользователем UnLoaded Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1002847
нерон 0 Опубликовано 25 Марта 2016 Поделиться Опубликовано 25 Марта 2016 Если ты объявил нужный story_id в game_story_ids.ltx, а затем прописал его в каком-то задании(task), и метка на объекте не появляется - то скорее всего, ты забыл привязать этот story_id к самому объекту. Сделать это можно несколькими способами: в СДК в свойствах объекта, в соответствующем alife-файле распакованного(декомпилированного) all.spawn'а или нет-пакетом при скриптовом создании непися(это видимо тот вариант, что тебе нужен). А где можно узнать как то сделать? Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1002849
UnLoaded 313 Опубликовано 25 Марта 2016 Поделиться Опубликовано 25 Марта 2016 как то сделать? Уточни - какой из трех способов тебе нужен ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/847-sozdanie-kvesta/page/28/#findComment-1002896
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти