Перевод и редактирование: DJ_WEST
Если вы проходили тренировочные карты в Half-Life 1, то, наверное, помните голографическую девушку, которая помогала вам проходить задания. В данной статье речь пойдет, как раз о создании этого эффекта с помощью AMXX.
Данный эффект можно получить, выполнив на нужном объекте код:
- Код: Выделить всё
set_rendering(i_Ent, kRenderFxDistort, 0, 0, 0, kRenderTransAdd, 127)
i_Ent - объект, над которым производится действие.
kRenderFxDistort - стиль изображения.
0 - цвет R (красный).
0 - цвет G (зеленый).
0 - цвет B (синий).
kRenderTransAdd - тип изображения (прозрачный).
127 - значение прозрачности.
В качестве примера можно ознакомиться с данным плагином:
- Код: Выделить всё
#include <amxmodx>
#include <engine>
// Номер анимации используемой модели
const IDDLE7_SEQUENCE = 18
// Имя модели, которая будет использоваться для объекта (модель ученого)
new g_szModel[ ] = { "models/scientist.mdl" }
// Кэшируем нашу модель
public plugin_precache()
precache_model(g_szModel)
// Создаем команду /hologram для создания объекта с голографическим эффектом
public plugin_init()
register_clcmd("say /hologram", "ClCmd_Hologram")
// Функция, которая выполняет действие при использовании команды /hologram
public ClCmd_Hologram(id)
{
// Создаем объект класса info_target
new i_Ent = create_entity("info_target")
// Если создание объекта прошло успешно, выполняем нужный код
if (is_valid_ent(i_Ent))
{
// Даем объекту новое имя
entity_set_string(i_Ent, EV_SZ_classname, "hlstyle_hologram")
// Получаем координаты игрока в f_Origin
new Float:f_Origin[3]
entity_get_vector(id, EV_VEC_origin, f_Origin)
// Увеличиваем X координату на 50.0
f_Origin[0] += 50.0
// Перемещаем объект в новые координаты f_Origin
entity_set_origin(i_Ent, f_Origin)
// Устанавливаем объекту модель g_szModel
entity_set_model(i_Ent, g_szModel)
// Устанавливаем объекту анимацию IDDLE7_SEQUENCE
entity_set_int(i_Ent, EV_INT_sequence, IDDLE7_SEQUENCE)
// Устаналиваем объекту свойство проходимости
entity_set_int(i_Ent, EV_INT_solid, SOLID_NOT)
// Опускаем объект на землю
drop_to_floor(i_Ent)
// Ставим объекту голографический эффект
set_rendering(i_Ent, kRenderFxDistort, 0, 0, 0, kRenderTransAdd, 127)
}
}
Видео: