Guest User

Untitled

a guest
Apr 28th, 2012
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. RageHookReturn OnCBaseDoor__Touch(void *&pDoor, void*&pOther)
  2. {
  3.     // dbg("OnCBaseDoor__Touch 1");
  4.     CKzDoor*kDoor = KzDoor(pDoor);
  5.     if( !kDoor->IsBhopBlock() )
  6.     {
  7.         // dbg("OnCBaseDoor__Touch !IsBhopBlock");
  8.         return RageHookIgnored;
  9.     }
  10.  
  11.     if( !IsPlayer(pOther) )
  12.     {
  13.         // dbg("OnCBaseDoor__Touch !IsPlayer");
  14.         return RageHookSupercede;
  15.     }
  16.  
  17.     CKzPlayer*kPlayer = KzPlayer(pOther);
  18.     if( !kPlayer->IsAlive() )
  19.     {
  20.         // dbg("OnCBaseDoor__Touch !IsAlive");
  21.         return RageHookSupercede;
  22.     }
  23.  
  24.     edict_t*eDoor = kDoor->GetEdict();
  25.     edict_t*ePlayer = kPlayer->GetEdict();
  26.     entvars_t*pevPlayer = &ePlayer->v;
  27.  
  28.     if( pevPlayer->groundentity != eDoor )
  29.     {
  30.         // dbg("OnCBaseDoor__Touch !groundent");
  31.         return RageHookSupercede;
  32.     }
  33.  
  34.     int index = kPlayer->GetIndex();  
  35.  
  36.     float flTouchedTime = gpGlobals->time - kDoor->GetTouchedTime( index );
  37.     if( flTouchedTime > kDoor->GetMaxStandOnTime() )
  38.     {
  39.         if( flTouchedTime > kDoor->GetMovementTime() )
  40.         {
  41.             // dbg("OnCBaseDoor__Touch > MovementTime");
  42.             kDoor->SetTouchedTime( index );
  43.             return RageHookSupercede;
  44.         }
  45.        
  46.         int index = kPlayer->GetIndex();
  47.         kPlayer->TeleportPlayer(KzOrigin[index]);
  48.  
  49.         // dbg("OnCBaseDoor__Touch TELEPORTED");
  50.         return RageHookSupercede;
  51.     }
  52.     if( kPlayer->GetLastTouchedBhopBlock() != eDoor )
  53.     {
  54.         kPlayer->SetLastTouchedBhopBlock( eDoor );
  55.         kDoor->SetTouchedTime( index );
  56.     }
  57.  
  58.     // dbg("OnCBaseDoor__Touch 2");
  59.     return RageHookSupercede;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment