TE_SPRITETRAIL - это движущийся светящийся спрайт с гравитацией, затуханием и столкновениями.
Приступим:
Создаём макрос и обзываем её, даём значение 15, так как под этим номером и находится TE_SPRITETRAIL:
- Код: Выделить всё
#define TE_SPRITETRAIL 15
Дальше создаём глобальную переменную, в которой будет хранится precache_model("sprites/3dmflaora.spr"), т.е. наш спрайт:
- Код: Выделить всё
new g_short
Ну и собственно:
- Код: Выделить всё
public plugin_precache()
{
g_short=precache_model("sprites/3dmflaora.spr")
}
Дальше нам нужно узнать координаты, к примеру, игрока для использования, так как у TE_SPRITETRAIL имеются начальные и конечные координаты:
- Код: Выделить всё
new origin[3]
get_user_origin(id,origin)
Создаём сообщение, которое будет отправляться одному игроку:
- Код: Выделить всё
message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},id)
Передаём свойства:
- Код: Выделить всё
write_byte(TE_SPRITETRAIL) //Движущийся светящийся спрайт с гравитацией, затуханием и столкновениями
write_coord(origin[0]) //начальная позиция по x
write_coord(origin[1]) //начальная позиция по y
write_coord(origin[2]+20) //начальная позиция по z
write_coord(origin[0]) //конечная позиция по x
write_coord(origin[1]) //конечная позиция по y
write_coord(origin[2]+80) //конечная позиция по z
write_short(g_short) //index модели
write_byte(1) //количество
write_byte(15) //время отображения спрайта в секундах
write_byte(4) //масштаб отрисовки модели спрайта
write_byte(20) //скорость
write_byte(10) //произвольность в скорости
Завершаем сообщение:
- Код: Выделить всё
message_end()
Целый примерный код:
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#define TE_SPRITETRAIL 15
new g_short
public plugin_precache()
{
g_short=precache_model("sprites/3dmflaora.spr")
}
public plugin_init()
{
register_plugin("TestTeSpriteTrail","1.0","defa")
register_clcmd("say /test","testing")
}
public testing(id)
{
new origin[3]
get_user_origin(id,origin)
message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},id)
write_byte(TE_SPRITETRAIL) //Движущийся светящийся спрайт с гравитацией, затуханием и столкновениями
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+20)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+80)
write_short(g_short)
write_byte(1)
write_byte(15)
write_byte(4)
write_byte(20)
write_byte(10)
message_end()
}
Видео: