Текстовые сообщения на экран
Материал из MODFAQ.RU — моддинг классического S.T.A.L.K.E.R., TES и Fallout
|
Текстовые сообщения на экран | |
| Автор | FantomICW, Zeka1996Korneev |
| Дополнил | aka_sektor |
| Тип статьи | руководство |
| Актуальность | ТЧ, ЧН, ЗП |
| Необходимый софт | Текстовый редактор |
| Связанная статья | |
| Вызов функции | |
Чтобы вывести на экран одно или несколько текстовых сообщений, необходимо создать скрипт со специальной функцией и добавить её вызов. Создать скрипт можно любым текстовым редактором, просто сохраните текстовый файл в формате *.script
Путь: gamedata\scripts\script_name.script
В созданный скрипт, вставьте следующий код[1]:
function funct_name()
news_manager.send_tip(db.actor, "text", 0, "default", 10000)
end
-
funct_name— имя вашей функции, оно же используется для вызова. Пишется только по-английски и без пробелов. Вместо пробелов используйте знак подчеркивания (_). -
news_manager.send_tip— стандартная функция использующаяся для вывода сообщений.
Аргументы функции:
-
db.actor— глобальная переменная. -
text— текст сообщения.
Рекомендуется указыватьstring id, который читается из *.xml файлов, находящихся по пути gamedata\configs\text указанной параметромlanguageпапки, в секции файла localization.ltx
Иначе не будут работать дополнительные параметры (см. ниже) -
0— число в секундах, которое задает задержку времени перед тем, как сообщение появится на экране (в данном случае равно0, т.е без задержки). -
default— имя иконки сообщения из скрипта news_manager.script (см. строкуtips_icons) -
10000— число (в миллисекундах), которое задает длительность отображения сообщения на экране до момента исчезновения(в данном случае равно 10 секундам).
Дополнительные параметры для текста:
- Чтобы изменить цвет текста, поместите нужную часть между тегами
%c[255,255,128,128]и%c[default].
Значения в квадратных скобках[255,255,128,128], это RGB код цвета. - Чтобы перенести текст на следующую строку, поставьте перед ним тег
\n
Множество сообщений подряд[2]
Если возникла необходимость имитации переписки сталкеров по КПК, используйте подобную функцию:
function funct_name()
news_manager.send_tip(db.actor, "Ну как хабар?", nil, "default", 6000)
news_manager.send_tip(db.actor, "Норм, нашел арт.", 4, "default", 6000)
news_manager.send_tip(db.actor, "Гуд.", 8, "default", 6000)
end
Итого, что происходит в переписке:
- у первого сообщения задержки нет
- у второго задержка = 4 секунды от запуска функции
- у третьего задержка = 8 секунд от запуска функции = 4 секунды после второго сообщения
Стоит также заметить, что функции запускаются одна за другой, а не одновременно, так что интервал между сообщениями будет
чуть больше (почти незаметно), чем указано в аргументе.