Полезное [ TE_DLIGHT ] Подсветка обьектов

  • Меценат
  • Друг форума
Много людей ставят баннеры рекламы,всяких вывесок ,щитов и прочих энтити на карте.
И ставят их желательно в светлых местах,что-бы всем было всё видно..

Но есть моменты,когда хочется поставить на спавне КТ ( на том же дасте 2 ),а там темновато.
Или же имеется зомби сервер с темным режимом,или вовсе список настроенных карт темноватых и.т.д. и.т.п

И тут мы хотим,что-бы наш обьект принимал какой-то режим подсветки
Нам на помощь прейдёт мессага TE_DLIGHT

Есть это свечение и у pev_effects, EF_ , но там недостаточно скажем так "функционала"

Можно проделать всё,что угодно - настроить позицию смещения xyz,радиус свечения,цвет,рейты и прочее
Даже тот же режим рандома на выбор

Привожу 2 примера - а Вы можете подстроить свои значения

Загоняем это туда,где у Вас создаётся Энтити обьект

Код:
    new light_random;
    light_random = random_num(0,1);

    switch(light_random)
    {
        case 0:
        {
            Light_Bilboard_White(iEntity);
        }
        case 1:
        {
            Light_Bilboard_Colored(iEntity);
        }
    }

Далее это у свободное место

Код:
public Light_Bilboard_White(iEntity)
{       
    if(!pev_valid(iEntity))
        return;
        
    new Float:fOrigin[3];   
    pev(iEntity, pev_origin, fOrigin)
        
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(TE_DLIGHT);
    engfunc(EngFunc_WriteCoord, fOrigin[0] += 22.0);
    engfunc(EngFunc_WriteCoord, fOrigin[1]);
    engfunc(EngFunc_WriteCoord, fOrigin[2]);
    write_byte(5)
    write_byte(255)
    write_byte(255)
    write_byte(255)
    write_byte(50)
    write_byte(0)
    message_end()       
 
    set_task(0.5, "Light_Bilboard_White", iEntity)
}

public Light_Bilboard_Colored(iEntity)
{       
    if(!pev_valid(iEntity))
        return;
        
    new Float:fOrigin[3];   
    pev(iEntity, pev_origin, fOrigin)
        
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(TE_DLIGHT);
    engfunc(EngFunc_WriteCoord, fOrigin[0] += 22.0);
    engfunc(EngFunc_WriteCoord, fOrigin[1]);
    engfunc(EngFunc_WriteCoord, fOrigin[2]);
    write_byte(5)
    write_byte(random(255))
    write_byte(random(255))
    write_byte(random(255))
    write_byte(2)
    write_byte(0)
    message_end()       
 
    set_task(0.1, "Light_Bilboard_Colored", iEntity)
}

Вот и всё,что нам нужно
 
Сверху Снизу