|
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Исчезновение Ентити (Домучать) |
Исчезновение Ентити |
Дата: Вторник, 09.10.2018, 23:43 | Сообщение # 1
![]()
Помогите домучать,что-бы модель исчезалась плавно при убийстве противника.
Там она исчезает резко по Таску. И есть уже готовый пример плавного исчезновения по окончании 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; } }
Сообщение отредактировал MayroN - Вторник, 09.10.2018, 23:43
|
Дата: Среда, 10.10.2018, 08:20 | Сообщение # 2
Скриптер
Дух ( Новичок )
Offline
![]()
Рендер альфа задавай с вычитанием в синке до полного исчезновения и збавься от этого таска
Певневсинк можно задавать без геймтимы тк синк сработает если Певневсинк < геймтимы
Сообщение отредактировал NightFury - Среда, 10.10.2018, 08:26
|
Дата: Суббота, 13.10.2018, 15:45 | Сообщение # 3
![]()
NightFury,
Нерозберусь.Напиши будь добр как правильно |
| |||
| |||