[Кодинг] Trigger_PlayerFreeez И так, код придумывал не Я скажу Вам сразу, это то-же триггер как и в Оп4, тоесть пользоваться им также как и там. НАЧНЁМ!!!
В конце файла triggers.cpp добавте :
Code |
class CTriggerPlayerFreeze : public CBaseDelay { public: void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); int ObjectCaps( void ) { return CBaseDelay::ObjectCaps() & ~FCAP_ACROSS_TRANSITION; } }; LINK_ENTITY_TO_CLASS( trigger_playerfreeze, CTriggerPlayerFreeze );
void CTriggerPlayerFreeze::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) { if ( !pActivator || !pActivator->IsPlayer() ) pActivator = CBaseEntity::Instance(g_engfuncs.pfnPEntityOfEntIndex( 1 )); if (pActivator->pev->flags & FL_FROZEN) ((CBasePlayer *)((CBaseEntity *)pActivator))->EnableControl(TRUE); else ((CBasePlayer *)((CBaseEntity *)pActivator))->EnableControl(FALSE); } |
Компилируем проект. Добавляем это в ФГД Вашего мода :
Code |
@PointClass base(Targetx, Targetname) = trigger_playerfreeze : "Trigger Player Freeze" [] |
Вот и всё он готов к работе, отключение и включение происходит с помощью мультименеджера или как вам угодно.