MSFD Множественный выбор – как задавать вопросы
[no fix] Choice, “choice 1”, choice1_enum ["choice 2", choice2_enum, …]
Choice "да", 1, "Нет, конечно нет!", 2
(Только для диалогов!)
Это используется в поле result диалогового окна в TES CS, чтобы дать игроку выбор или просто «продолжить» длинную речьДлинная – значит больше 512 символов. Таков лимит символов в одном ответе. (Прим. Gwathlobal).
После того, как игрок сделает выбор, та же тема (topic) будет проверена снова, и вы можете задать нужную реакцию, используя функцию / choice / = / choice_enum в условиях для говорящего окна диалога в TES CS.
Не применима в скриптах, насколько я знаю.
Информация от Riiak: В отличие от messageBox, эта функция может использовать стек.
Под этим я подразумеваю, что вы можете использовать 2 вызова choice в одном поле result для 10 choice-ов максимум или 3 вызова Choice для 15 choice-ов максимум и т.д.
Я не знаю лимита стека, но уверен, что он есть. (Думаю, он ограничен 5 choice за вызов).
Из МСФД 9.
This is used in dialogue result fields to ask a decision of the player or can be called just to "continue" a longer speech. After the PC makes his choice, the same topic will be checked again, and you can provide the correct response by using function / choice / = / choice_enum in the speaker conditions of the dialogue window. Choice can be used in script, if the dialogue window is open. If the same resultbox/script contains more than one choice call, the choices are presented to the player as a single list (unlike MessageBoxes).
The limit of choices per result or per call may well be version dependent. It has been reported that there is a limit of 5 choices per call, but I'm not sure which version this was tested with. Under version 1.6.1820, I don't think there's a limit on the number of choice calls in a single result, but only 20 choices can be displayed on screen at one time: if more are displayed, the game will freeze when the player clicks one (this applies to scripts as well as dialogue results). More than 20 possible choices won't cause problems as long as no more than 20 are actually displayed (i.e. using conditional statements to select 20 or less from a larger number of choices is OK).
On using Choice in script: I don't advise using it in a script that also contains a StartScript command, as this can also freeze the game sometimes. If you need to use both, you might try delaying the StartScript part until out of menumode if possible or using some condition to ensure that the choices can't be given more than once (not tested).
Примечание.
Фз, тут скорее лимит в кол-ве символов, а не кол-ве кнопок.
Т.е. да, если слишком длинные реплики (кнопки чойзов) то игра обрежет их на полуслове.
Т.е. больше 10 за один раз ставить не слишком удобно. Еще возможно ограничение как и в скриптах, не более 10 кнопок (но это не проверялось).
Но вот развитие диалога может идти сильно дальше!
Т.е. 60 реплик на один диалог вполне возможно, главное не запутаться при составлении такого Опуса (самому в КС).
И правильно расставлять ответы, чтобы они все были выше начальной реплики!
Т.е. точно было:
- реплика с 9-тью чойзами.
- диалог на несколько десятков реплик. Новые чойзы добавляются по мере беседы (и здесь главное не запутаться).
Choice "Исчезни." 1 "Замри." 2 "Следуй за мной" 3 "Мирствуй" 4 "Отдай Магию" 5 "Отдай Жизнь" 6 "Отдай Силы" 7 "Отдай душу" 8 "Ничего" 9
- слишком длинные реплики (чойзы выбираемые Игроком) могут быть обрезаны, но никаких ошибок игра не покажет.
Но следующая кнопка будет недоступна, если предыдущая была обрезана.
"Choice "Откуда такие выводы? Если я разрушу твою оболочку, ты вернешься в Обливион. Если это сделаешь ты, то куда по твоему отправиться мой Дух? так и в чем между нами отличие?" 3" и да, это работает. Но если добавить еще одну, две таких же, игра их обрежет.
- обычно в МВ, используется минимум чойзов "да" 1 "нет" 2, либо Choice "продолжить" 1.