DimoNULL 7 Опубликовано 2 февраля В скриптах я ноль, так что возможно не все мои вопросы будут правильные. Тем не менее прошу объяснить как создать квест типа подай принеси. Как создать сам квест, как завершить квест, и где ставить проверку на наличие предметов. Просто на тики игры или есть что то более оптимизированное под эту задачу что бы не проверять в цикле по 200 разных предметов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 993 Опубликовано 2 февраля (Говорю про ЗП, с ТЧ меньше работал, там чуть-чуть иначе, но общая суть одна.) Квесты как структура лежат в tm_ файлах ltx, структура общая похожа на логику НПС (там проверки идут по функциям или инфопоршням, для простых квестов достаточно второго), тут же прописываются условия выйгрыша или проигрыша и многое другое. Советую посмотреть как это сделано в ванили и по аналогии адаптировать для своих нужд. Выдать квест можно скриптом - task_manager.get_task_manager():give_task("название") В целом все остальное, вся логика и выдача инфопоршей или еще чего делается вне квеста, например через диалоги, или через логику рестрикторов, или как угодно, квест как структура это просто для того чтобы в ПДА была запись, метки и автоматом выдавалась награда, если нужно. Функции проверок или выдачи чего-то в диалогах можно писать в любом файле .script. Для вызова же из логики проверки пишутся в xr_conditions.script, а функции для делания чего-то в xr_effects.script. Опять же советую покопать ваниль. Полезная статья: https://ap-pro.ru/forums/topic/1024-cop-sozdanie-tipovyh-kvestov-v-zove-pripyati/ (только инфопоршни в ЗП можно не прописывать в отдельный конфиг, это остаток с ТЧ, в ЗП же они не требуют пре-регистрации) В ТЧ примерно то же самое но там вроде xml структура квестов и немного другой формат, и может чуть меньше возможностей. В ЧН там вроде тоже что-то своё. Дополнено 3 минуты спустя 1 час назад, DimoNULL сказал: Просто на тики игры или есть что то более оптимизированное под эту задачу что бы не проверять в цикле по 200 разных предметов? Если грамотно писать скрипт то проблем не должно быть, можно ведь проверять по наличию только части названия секции, или придумать иную оптимизацию. Но надо уметь писать lua (если что ИИ поможет, если скормить ему синтаксис и нормально описать задачу). И я не знаю зачем делать проверки на 200 одновременно, ведь квесты же выдаются по очереди, проверки можно делать только на определенных этапах и потом выключать их. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 151 Опубликовано 2 февраля (изменено) DimoNULL Очень много полезных уроков в том числе и по квестам КМБ Изменено 2 февраля пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Vladimir 03 27 Опубликовано 3 февраля 7 часов назад, DimoNULL сказал: В скриптах я ноль, так что возможно не все мои вопросы будут правильные. Тем не менее прошу объяснить как создать квест типа подай принеси. Как создать сам квест, как завершить квест, и где ставить проверку на наличие предметов. Просто на тики игры или есть что то более оптимизированное под эту задачу что бы не проверять в цикле по 200 разных предметов? Я копировал другой квест и таким образом создаю новые квесты для новой версии своего мода попробуй так же взять любой другой квест и просто скапировать его и переделать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Supremeee 840 Опубликовано 4 февраля (изменено) В 03.02.2026 в 01:04, denis2000 сказал: DimoNULL Очень много полезных уроков в том числе и по квестам КМБ Перенести бы с разных сайтов полезные темы сюда, а то как я мог бы найти гайд на сайте СГМ Изменено 4 февраля пользователем Supremeee Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты