Здравствуйте, как можно настроить NPC таким образом, чтобы когда ты попал в его поле зрение, он подошёл к тебе, завёл диалог и после него атаковал тебя?

#3
Отправлено
Тут.
Извини, я немного не понял, а куда StartCombat(game.getplayer()) вставлять нужно? Если в "End Papyrus fragment", то скрипт выдаёт ошибку и отказывается работать.
P.S. А как можно заставить группу НПС напасть на тебя, после проведения диалоги с одним?
Сообщение отредактировал Kogir: 14 марта 2016 - 11:55
#4
Отправлено
Извини, я немного не понял, а куда StartCombat(game.getplayer()) вставлять нужно? Если в "End Papyrus fragment", то скрипт выдаёт ошибку и отказывается работать.
P.S. А как можно заставить группу НПС напасть на тебя, после проведения диалоги с одним?
По поводу скрипта позже отвечу. Группа может напасть если их в какуюто фракцию объеденить к примеру и сделать игроку фракцию, враждебную первой. Тогда при добавлении игрока в нее по идее сработает агро.
#5
Отправлено
По поводу скрипта позже отвечу. Группа может напасть если их в какуюто фракцию объеденить к примеру и сделать игроку фракцию, враждебную первой. Тогда при добавлении игрока в нее по идее сработает агро.
Я со скриптом уже разобрался) его просто можно скопировать в недрах "Старого орка". Но нужно же будет игрока потом удалять из этой фракции? Может есть более скриптовый метод? Кстати, позволю пока себе задать тут ещё вопрос. Как можно перевести во время какого-нибудь квеста местность в другую фазу? То есть, чтобы нпс оригинальные пропали оттуда, а на время квеста я бы заселил их новыми.
#6
Отправлено
Creationkit.com
Там по папирусу есть раздел со всеми командами. Вообще для перемещений неписей к примеру их можно задизэблить disable(), чтоб потом enable(), ну или moveto() - тут еще пара видов есть и эт лучше посмотреть на вики все прелести работы с командой.
С фракциями идентично. Можно добавлять их и убирать. А точные команды сходу не вспомню. Поищите что-то вроде add(to)faction remove(from)faction
#7
Отправлено
Creationkit.com
Там по папирусу есть раздел со всеми командами. Вообще для перемещений неписей к примеру их можно задизэблить disable(), чтоб потом enable(), ну или moveto() - тут еще пара видов есть и эт лучше посмотреть на вики все прелести работы с командой.
С фракциями идентично. Можно добавлять их и убирать. А точные команды сходу не вспомню. Поищите что-то вроде add(to)faction remove(from)faction
Интересно, надо будет поискать ещё, как это сделать. А что можешь ответить на ещё один вопрос? Как сделать рандомную внешность НПС, с заданными параметрами?
#8
Отправлено
Интересно, надо будет поискать ещё, как это сделать. А что можешь ответить на ещё один вопрос? Как сделать рандомную внешность НПС, с заданными параметрами?
Пресеты есть. Примерно штук по 10 на расу. Можно и свои конечно же. Так-то получается что внешность не совсем рандомная. Ее сперва нужно создать.
#9
Отправлено
Пресеты есть. Примерно штук по 10 на расу. Можно и свои конечно же. Так-то получается что внешность не совсем рандомная. Ее сперва нужно создать.
А если я не ошибаюсь, пресеты как-то в каком-то Racemenu делаются? А как их потом для НПЦ вставлять, чтобы у них она в игре рандомно генерилась?
#11
Отправлено
У меня пока небыло необходимости с ними вплотную работать. Вероятно преметы неписей потом заносятся как лвльные актеры.
Лвльные актёры, этот как бы точки спавна нпс с определёнными значениями, которым ты можешь присваивать, так скажем определённые условия внешности? В данном случае пресеты? Я просто пока с ними не работал и использовал только поставленных в мире нпс
#12
Отправлено
Я кстати тут подумал, и родил теорию, пока не опробовал, но я кажется понял, как сделать так, чтобы группа нпс на тебя напала)
Нужно сделать с главным нпс их "Нанимателем и наёмником" и поставить в их характеристиках "помогать союзникам", в итоге при срабатывании скрипта в диалоге, они все вместе нападут)
Но пока это лишь теория)
#13
Отправлено
А если я не ошибаюсь, пресеты как-то в каком-то Racemenu делаются? А как их потом для НПЦ вставлять, чтобы у них она в игре рандомно генерилась?
Ошибаешься. Racemenu – это мод. Пресеты же делаются в редакторе.
- "Пресеты" это обычные НПС, вручную созданные (тобой в данном случае). Каждому лепишь желаемую внешность. Что до одежды, то можешь сделать свой outfit, закинуть в него броню из левел листа (левел лист опять же можно свой создать, если ванильные не устраивают).
- Идешь в раздел LeveledCharacter и создаешь там запись:
- Возвращаешься в раздел Actor и создаешь нового НПС с темплейтом созданного на предыдущем шаге LeveledCharacter
- Profit. теперь можно расставлять свежесозданного актера, и их внешность (а также характеристики) будет браться из забитых пресетов.
Я кстати тут подумал, и родил теорию, пока не опробовал, но я кажется понял, как сделать так, чтобы группа нпс на тебя напала)
Нужно сделать с главным нпс их "Нанимателем и наёмником" и поставить в их характеристиках "помогать союзникам", в итоге при срабатывании скрипта в диалоге, они все вместе нападут)
Но пока это лишь теория)
Димонойдер тебе все правильно сказал. скриптом добавить игроку фракцию, которая будет враждебно настроена фракции НПС. Или добавить каждому НПС из группы, фракцию, враждебную PlayerFaction. Как поступить – зависит от конкретной ситуации. Как удобней реализовать, так и надо.
Если же сделать так, как ты сейчас описал, то получится следующее. НПС, которому скриптом будет добавлена враждебная фракция, нападает на игрока; пока игрок не даст сдачи, остальные НПС будут разбегаться в страхе с воплями "Там драка". И лишь когда игрок тоже начнет бить в ответ нападающего, остальные резко достанут оружие и, крича "Сейчас ты сдохнешь", ринутся на тебя. Со стороны такое поведение выглядит, мягко говоря, неубедительно.
- ferretcha это нравится
#14
Отправлено
"Если же сделать так, как ты сейчас описал, то получится следующее. НПС, которому скриптом будет добавлена враждебная фракция, нападает на игрока; пока игрок не даст сдачи, остальные НПС будут разбегаться в страхе с воплями "Там драка". И лишь когда игрок тоже начнет бить в ответ нападающего, остальные резко достанут оружие и, крича "Сейчас ты сдохнешь", ринутся на тебя. Со стороны такое поведение выглядит, мягко говоря, неубедительно."
Нет, вся идея в том, что я не дам НПС враждебную мне фракцию, я просто заставлю его на меня напасть после диалога, а раз он нападёт, а рядом стоящие "компаньоны", которые имеют статус помощи всем союзникам, сразу же должны помочь, но это пока только теория.
#15
Отправлено
Нет, вся идея в том, что я не дам НПС враждебную мне фракцию, я просто заставлю его на меня напасть после диалога, а раз он нападёт, а рядом стоящие "компаньоны", которые имеют статус помощи всем союзникам, сразу же должны помочь, но это пока только теория.
Тогда так и получится, как я описал. Дело не в том, фракцию ты одному НПС добавишь или через StartCombat() заставишь его, – дело в том, что в этих случаях (когда ты над одним НПС махинации проводишь), остальным потребуется еще какое-то время (вплоть до десяти секунд), чтобы осознать, что произошло. Во избежания такой задержки лучше добавлять фракции сразу всем (или скрипт кидать на всех).
Даже если у тебя предложенная тобой задумка сработает успешно, то не факт что на других машинах это сработает так же "плавно". Поэтому лучше смотреть на все с позиции игры. Если ты всем сразу задашь это действие, то все одновременно его выполнят. И при каждом прогоне будут выполнять его синхронно.
П,С, я сейчас не в лучшей кондиции мысли излагать доступно, но, думаю, понять можно. Я понял.
- ferretcha это нравится
#19
Отправлено
И как akspeaker.startcombat(Game.GetPlayer()) изменить для нескольких НПС можно?
Я startcombat() не использую, это малограмотно. Я делаю через фракции, настраивая их. Сути дела это не меняет. Как? вот так:
Мне удобней, основной код писать в стадиях квеста, а не в диалоговом окне, поскольку так искать потом быстрее, да и проперти всякий раз заново создавать не нужно.
Но при желании ты в поле Papyrus Fragmet (End) можешь вписать все что угодно.
- ferretcha это нравится
#20
Отправлено
Я startcombat() не...
Ну, у меня пока без квеста, то есть мне нужно как раз таки использовать этот код в одном из диалогов. Насколько я понял из твоего кода, то ты включил как-то своего персонажа в фракцию, а затем при этом исходе событий ты его из неё вынул и поместил во враждебную. Но как тогда мне без квеста поместить персонажа сначала в мирную фаркцию, а потом во враждебную, а после их убийство удалить его и из второй?
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых