Перейти к содержанию
Авторизация  
DimoNULL

Как создать квест

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

 

В скриптах я ноль, так что возможно не все мои вопросы будут правильные. Тем не менее прошу объяснить как создать квест типа подай принеси. Как создать сам квест, как завершить квест, и где ставить проверку на наличие предметов. Просто на тики игры или есть что то более оптимизированное под эту задачу что бы не проверять в цикле по 200 разных предметов?

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


Ссылка на сообщение
Поделиться на другие сайты
 

(Говорю про ЗП, с ТЧ меньше работал, там чуть-чуть иначе, но общая суть одна.)

Квесты как структура лежат в 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

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


Ссылка на сообщение
Поделиться на другие сайты
 

DimoNULL Очень много полезных уроков в том числе и по квестам КМБ

Изменено пользователем denis2000
  • Хабар 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
7 часов назад, DimoNULL сказал:

В скриптах я ноль, так что возможно не все мои вопросы будут правильные. Тем не менее прошу объяснить как создать квест типа подай принеси. Как создать сам квест, как завершить квест, и где ставить проверку на наличие предметов. Просто на тики игры или есть что то более оптимизированное под эту задачу что бы не проверять в цикле по 200 разных предметов?

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 03.02.2026 в 01:04, denis2000 сказал:

Перенести бы с разных сайтов полезные темы сюда, а то как я мог бы найти гайд на сайте СГМ 

Изменено пользователем Supremeee

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу