Half-Life и Adrenaline Gamer форум
http://aghl.ru/forum/

Плавное исчезание модели
http://aghl.ru/forum/viewtopic.php?f=20&t=2940
Страница 1 из 1

Автор:  MayroN [ 10 окт 2018, 02:44 ]
Заголовок сообщения:  Плавное исчезание модели

Помогите домучать,что-бы модель исчезалась плавно при убийстве противника.
Там она исчезает резко по Таску.
И есть уже готовый пример плавного исчезновения по окончании 10 секунд.
Вот его я немогу подстроить

Код:
#define ENTANGLE_TIME   10.0    // Время исчезновения модели Ультимейта

#define TASK_ENTREMOVE 0x917

#define TASK_ENTFIND   648911118719
#define FIND_TIME   0.1      // Время исчезновения Ульты ( секунды )

#define STEP 10.0
#define VERTICAL_SPEED 20.0
#define HORISONTAL_SPEED 60.0

enum (+= 1) {
   STATUS_NONE = 0,
   STATUS_EFFECT,
   STATUS_KILL
}

public NE_ULT_EntangleEffect( id )
{
    new Float:flOrigin[3]
    pev(id, pev_origin, flOrigin)
    new ent=engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"info_target"))

    engfunc(EngFunc_SetOrigin, ent, flOrigin);

    switch(random_num(0,2))
    {
        case 0: engfunc(EngFunc_SetModel, ent, sz_MODEL)
        case 1: engfunc(EngFunc_SetModel, ent, sz_MODEL2)
        case 2: engfunc(EngFunc_SetModel, ent, sz_MODEL3)
    }

    set_pev(ent, pev_classname, "elf_ultimate");
    set_pev(ent, pev_sequence, 0)
    set_pev(ent, pev_framerate, 1.0)
    set_pev(ent, pev_iuser4, id)

    set_task(FIND_TIME, "Task_EntFind", ent + TASK_ENTFIND, _, _, "b");

    set_pev(ent, pev_nextthink, get_gametime() + ENTANGLE_TIME)
    set_pev(ent, pev_rendermode, kRenderFxNone);

   
   
    // Play the entangle sound
    emit_sound( id, CHAN_STATIC, g_szSounds[SOUND_ENTANGLING], 1.0, ATTN_NORM, 0, PITCH_NORM );

    return PLUGIN_HANDLED
}

public UltimateThink(ent)   {
   if (!pev_valid(ent)) {
      return HAM_IGNORED;
   }
   
   switch(pev(ent, pev_impulse))   {
      case STATUS_NONE:{
         set_pev(ent, pev_movetype, MOVETYPE_FLY);
         set_pev(ent, pev_solid, SOLID_NOT);
         set_pev(ent, pev_rendermode, kRenderTransAlpha);
         
         set_pev(ent, pev_renderamt, 100.0);
         set_pev(ent, pev_velocity, Float:{0.0, 0.0, VERTICAL_SPEED});
         set_pev(ent, pev_avelocity, Float:{0.0, HORISONTAL_SPEED, 0.0})
         set_pev(ent, pev_impulse, STATUS_EFFECT);     
      }
      case STATUS_EFFECT:   {
         if (pev(ent, pev_renderamt) > 0.0) {
            set_pev(ent, pev_renderamt, floatmax(0.0, pev(ent, pev_renderamt) - STEP));
         } else {
            set_pev(ent, pev_flags, FL_KILLME);
            set_pev(ent, pev_impulse, STATUS_KILL);
         }
      }
   }
   
   set_pev(ent,pev_nextthink,get_gametime() + 0.1)
   
   return HAM_SUPERCEDE;
}

public Task_EntFind(taskid)
{
   new ent = taskid - TASK_ENTFIND;
   
   if(!pev_valid(ent))   {
      remove_task(taskid);
      return;
   }
   
   new iEnemy = pev(ent, pev_iuser4);
   
   if (!is_user_alive(iEnemy))   {
      remove_task(taskid);
      remove_task(ent + TASK_ENTREMOVE);
      set_pev(ent, pev_flags, pev(ent, pev_flags) | FL_KILLME);
      return;
   }
}

Автор:  Glaster [ 12 июн 2021, 18:28 ]
Заголовок сообщения:  Re: Плавное исчезание модели

Читал, что в немецкой версии HL вражины как раз плавно и исчезали, и что это каким-то образом можно включить в обычной халве. Может этим воспользоваться, а не писать плагин?

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/