Half-Life и Adrenaline Gamer форум http://aghl.ru/forum/ |
|
[TUT] User Icon Status - Иконка статуса http://aghl.ru/forum/viewtopic.php?f=39&t=639 |
Страница 1 из 1 |
Автор: | KORD_12.7 [ 30 янв 2012, 10:16 ] |
Заголовок сообщения: | [TUT] User Icon Status - Иконка статуса |
[TUT] User Icon Status - Иконка статуса Автор: SAMURAI16 Перевод и редактирование: DJ_WEST Адаптация для Half-Life: KORD_12.7 Источники: http://forums.alliedmods.net/showthread.php?t=52529 http://amx-x.ru/viewtopic.php?f=9&t=103 Иконка статуса - это HUD иконка, которая располагается на экране игрока и используется в определенных случаях для определения статуса игрока. В данной статье мы рассмотрим способ создания такой иконки. За данную иконку отвечает сообщение с названием StatusIcon. Показать можно любой спрайт, который объявлен у клиента в sprites/hud.txt. Одновременно можно отобразить четыре иконки. Структура данного сообщения: Цитата: Status - byte - Статус сообщения SpriteName - string - Название спрайта ColorR - byte - Цвет R (красный) ColorG - byte - Цвет G (зеленый) ColorB - byte - Цвет B (синий)
Если статус равен 0, то посылать цвет не нужно. Итак, начнем: 1. Прежде всего нам необходимо создать глобальную переменную для хранения ID сообщения, которое отвечает за такого рода иконку: Код: new g_msgStatusIcon2. По умолчанию, в Half-Life (в отличии от Counter-Strike) сообщение StatusIcon на сервере не зарегистрировано, поэтому в plugin_precache нам необходимо его зарегистрировать и получить ID. (В Bugfixed and improved HL release данное собщение регистрируется, поэтому надо сначала попробовать получить его ID, и если оно 0, то тогда зарегистрировать самим): Код: public plugin_precache()3. Для того чтобы отобразить иконку статуса, нам необходимо создать сообщение следующим образом: Код: engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, g_msgStatusIcon, {0.0, 0.0, 0.0}, iPlayer)4. Дальше нам необходимо передать байт, отвечающий за статус сообщения: Код: write_byte(1) // 1 - означает показ иконки.5. Затем необходимо передать название спрайта: Код: write_string("имя спрайта")6. Теперь нам нужно передать цвет иконки: Код: write_byte(r)7. Завершаем сообщение следующим образом: Код: message_end() Примерный плагин: Код: #include <amxmodx> ▼ Список стандартно доступных спрайтов |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |