2017/11/23, Чт, 18:47 Приветствую Вас ---- | RSS
Регистрация
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Jack-Hang 
Форум » Opposing Force » Исходники » [Кодинг] trigger_playerfreez (Заморозка игрока на время.)
[Кодинг] trigger_playerfreez
Jack-HangДата: Вс, 2008/05/25, 00:22 | Сообщение # 1
Hang-Overed
Репутация: 5
Регистрация:2006/08/20
Сообщений: 84
Статус: Offline
И так, код придумывал не Я скажу Вам сразу, это то-же триггер как и в Оп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"
[
freeze(integer) : "Freeze Player" : 1
]

freeze(integer) : "Freeze Player" : 1 - в чём смысл сей строчки, для нас осталось загадкой.

Вот и всё он готов к работе, отключение и включение происходит с помощью мультименеджера или как вам угодно.




 
Форум » Opposing Force » Исходники » [Кодинг] trigger_playerfreez (Заморозка игрока на время.)
Страница 1 из 11
Поиск:

Сайт управляется системой uCoz Copyright by kiexStudio © 2009