* Sb    * Магазин Текущее время: 28 апр 2024, 23:16

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
{ VISITS } Просмотры: 3659  Добавили в закладки Добавили в закладки: 0  Подписчиков Подписчиков: 0 
Автор Сообщение
СообщениеДобавлено: 14 фев 2011, 15:16 
Не в сети
Сталкер
Сталкер
Продвижение:
27.8%

Зарегистрирован: 31 янв 2011, 20:27
В кошельке:
50.00

Сообщения: 367

Откуда: Бобруиск
Как вывести сообщение на экран без использования функций АМК"

У любого клиентского объекта имеется метод 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 получает управление только в определённые моменты, по определённым событиям.
В такой момент можно сгенерить пачку сообщений и раскидать их по времени с помощью этого параметра, создав таким образом некоторую имитацию жизнедеятельности на ближайшее время.
Думаю, таким же образом можно имитировать диалоги. Просто генерится пачка сообщений и им задаётся вывод с небольшим интервалом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2011, 09:43 
Не в сети
Сталкер
Сталкер
Продвижение:
27.8%

Зарегистрирован: 31 янв 2011, 20:27
В кошельке:
50.00

Сообщения: 367

Откуда: Бобруиск
возникнут проблемы - обращайтесь


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

   Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
В этой теме нет новых непрочитанных сообщений. Пример использования waypoint в разных схемах [в этом окне]

в форуме База знаний

Chester

0

3131

11 мар 2011, 21:55

Chester Перейти к последнему сообщению [в этом окне]

В этой теме нет новых непрочитанных сообщений. Чёрный экран и перезагрузка железа в Сталкер ЧН. [в этом окне]

[ На страницу: 1, 2 ]

в форуме Hard и периферия

Sting

16

7228

14 окт 2013, 22:40

Sting Перейти к последнему сообщению [в этом окне]

В этой теме нет новых непрочитанных сообщений. Как отослать сообщение Меченому на ПДА [в этом окне]

в форуме База знаний

Дядя Вася

1

4975

29 авг 2010, 20:00

Светка Перейти к последнему сообщению [в этом окне]

В этой теме нет новых непрочитанных сообщений. Архив скриптовых функций для ТЧ [в этом окне]

в форуме База знаний

СКАУТ

1

6086

30 дек 2011, 11:40

Арбитр Перейти к последнему сообщению [в этом окне]

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron

[Мобильная версия]

Создано на основе phpBB® Forum Software © phpBB Group
[ Time : 0.114s | 27 Queries | GZIP : On ]

PlayStation style by HighDefGeek