Русское сообщество по скриптингу

Работа с TE_SPRITETRAIL

Статьи или фрагменты кода для новичков и уже опытных скриптеров по AMXX.

Модератор: Chuvi

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по AMX Mod X.

Работа с TE_SPRITETRAIL

Сообщение defa » 03 сен 2010, 23:25

Автор: defa

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
()

Видео:
Аватара пользователя
defa
 
Сообщения: 870
Зарегистрирован: 26 авг 2010, 18:22
Забанен
Благодарил (а): 34 раз.
Поблагодарили: 399 раз.

Re: Работа с TE_SPRITETRAIL

Сообщение Retro-kolt Lincoln » 29 окт 2011, 19:02

Я хочу сделать рекламу на стене в виде анимационного спрайта, используя In Game Ads, что-то вроде большого плазменного телевизора на стене, где будет всякая информация.
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Работа с TE_SPRITETRAIL

Сообщение Ser_UFL » 30 окт 2011, 12:42

4 кадра?
Ну тогда лучше сделай так, чтобы однокадровые (неанимационные) спрайты были в одной папочке и поочереди сменялись, когда тебе нужно...
Запомните, всегда по жизни вас будут красить вежливость и спокойствие, а не наезды и дешевые понты ;)
Аватара пользователя
Ser_UFL
 
Сообщения: 975
Зарегистрирован: 22 авг 2009, 19:30
Откуда: Hell
Благодарил (а): 276 раз.
Поблагодарили: 380 раз.
Языки программирования: Counter-Strike 1.6:
WebMod-scripts, little Pawn.

Пред.

Вернуться в Статьи / фрагменты кода

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

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