Главная | Регистрация | Вход | Приветствую Вас | Гость| RSS















Меню
Реклама
Категории раздела
Работа со скриптами [32]
Самые разные полезные статьи по скриптам игры S.T.A.L.K.E.R
Работа с конфигами [13]
Всякие полезные материалы по работе со Сталкером ТЧ.
Базовые знания [6]
Основы для тех кто хочет заниматься модами.
Для тех кто чуть больше чем новичок :) [7]
Работа с ACDC, all.spawn , скрипты...
SDK [3]
Все о работе в официальном SDK.
Прохождения модов ТЧ. [21]
Здесь выкладываем различные прохождения кучи различных модов для ТЧ.
Свежий хабар






Главная » Статьи » Тени Чернобыля » Работа со скриптами

Вывод сообщения на экран (Своя новость)

Вывод сообщения на экран

Материал из S.T.A.L.K.E.R. Inside Wiki.

Перейти к: навигация, поиск

1.Как вывести сообщение на экран без использования функций АМК


У любого клиентского объекта имеется метод give_game_news Он и выводит сообщения на экран. Экспериментом выяснил, что сообщение можно вывести совершенно от любого клиентского объекта, хоть от куска колбасы (хвала дизайнерскому гению GSC! Ну почему не сделать просто глобальную функцию?). Однако, следуя традиции и здравому смыслу, мы таки воспользуемся для этого объектом, соответствующим ГГ, т.е. актёром.

 local sactor = alife():actor() --получаем серверный объект актера
 local cactor = level.object_by_id(sactor.id) --по его ID получаем клиентский объект актера
 cactor:give_game_news(
 "Свободу тушканам!\\nТушканчики всех стран, объединяйтесь!", -- строка сообщение, может быть многострочной
 "ui\\ui_npc_monster", --текстура, из которой берется аватара "отправителя"
 Frect():set(0,215,163,105), --координаты и размеры вырезаемого из текстуры изображения
 math.random(1000, 3000), --начало показа сообщения с текущего момента (в миллисекундах)
 5000 --длительность показа сообщения (в миллисекундах)
 )
Доп. комментарии к аргументам give_game_news: имя текстуры - это имя файла DDS без расширения, адресуемого относительно папки \gamedata\textures\ в этом выражении Frect():set(0,215,163,105) 0,215 - это координаты верхнего левого угла нужного изображения 163,105 - его размеры Размеры и координаты могут быть любыми, но полученное изображение будет увеличено или уменьшено до размеров 83х47 В данном случае изображение тушкана из файла ui_npc_monster.dds было уменьшено. Параметр времени начала показа нужен, очевидно, для внесения некоторой живости в игру. Дело в том, что код Lua получает управление только в определённые моменты, по определённым событиям. В такой момент можно сгенерить пачку сообщений и раскидать их по времени с помощью этого параметра, создав таким образом некоторую имитацию жизнедеятельности на ближайшее время. Думаю, таким же образом можно имитировать диалоги. Просто генерится пачка сообщений и им задаётся вывод с небольшим интервалом.

2.Как вывести сообщение на экран с использованием функций АМК

1.Создаём файл ваше_название_скрипта.script в папке gamedata/scripts и пишем в него:

Код
function ваш_текст(first_speaker, second_speaker)
    news_manager.send_tip(db.actor, "%c[255,255,128,128]ПРИМЕР:\n%c[default]ВАШ ТЕКСТ", nil, nil, 30000)
end



news_manager.send_tip - это сама функция, которая отсылает сообщение.

"%c[255,255,128,128] - это цвет сообщения, идет по моему по цветам RGB.

%c[default] - это конец кода цвета сообщения, дальше текст идёт в стандартном цвете.

\n - это перенос на другую строчку.


2.В любой диалог пишем функцию:


<action>ваше_название_скрипта.ваш_текст</action>

Например в dialogs_trading.xml в диалоге doctor_dialog_start после фразы doctor_dialog_start_13
Пишем
<action>ваше_название_скрипта.ваш_текст</action>

Теперь после того как поговорите с Доктором (NLC5) на ПДА придёт сообщение с вашим текстом.



Источник: http://www.amk-team.ru/forum/index.php?showtopic=6458, stalkerin.gameru.net/wiki
Категория: Работа со скриптами | Добавил: drweb66 (16.09.2010)
Просмотров: 5567 | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
PDA
Поиск
Как вы думаете,
За чем вы приходите на этот сайт?
Всего ответов: 130
Сообщения
Разное
AP production - видео обзоры модов для игры S.T.A.L.K.E.R.

На территории Зоны: 2
Отмычек: 2
Опытных ходоков: 0


Design by:
Guenplenтм, with the participation of Orlenok Design Studio ®
Правообладателям
2024