hlsdk

Untitled

Jul 3rd, 2010
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.22 KB | None | 0 0
  1. BOLO: I bet you may/may not have known how to do this. Either way, if you copy cvars and rename them, KAC queries will only get the old value, while the client operates on the new value.
  2.  
  3. Also, there are mathlib functions to clamp angles. KAC checks that as well.
  4.  
  5. void HideCvar(const char* origCvarName, const char* defaultValue, int origFlags)
  6. {
  7.     ConVar* pCvar = g_pCVar->FindVar( origCvarName );
  8.     if (!pCvar)
  9.     {
  10.         Msg("[MS] ERROR: Could not find cvar %s\n", origCvarName);
  11.         return;
  12.     }
  13.     ConVar* pNewVar = (ConVar*)malloc( sizeof ConVar );     //Create new convar pNewVar
  14.  
  15.     memcpy( pNewVar, pCvar,sizeof( ConVar ));           //Copy old var into new var
  16.     pNewVar->m_pNext = 0;                               //Link new var?
  17.     g_pCVar->RegisterConCommand( pNewVar );             //register new var
  18.     pCvar->m_pszName = new char[50];                    //rename old var
  19.    
  20.     char tmp[50];
  21.     Q_snprintf(tmp, sizeof(tmp), "ms_%s", origCvarName);//rename to ms_[origCvarName]
  22.  
  23.     strcpy((char*)pCvar->m_pszName, tmp);               //LOL UNINITIALIZED MEMORY IS LAME
  24.     pCvar->m_nFlags = FCVAR_NONE;                       //eh...
  25.  
  26.     new ConVar(origCvarName, defaultValue, origFlags, "BYPASSED CVAR"); // lol
  27.  
  28.     Msg("[MS] Successfully created cvar bypass %s from %s\n", tmp, origCvarName);
  29. }
  30.  
  31. CON_COMMAND( ms_pato, "Attempts to copy some cvars" )
  32. {
  33.     static bool g_bRan = false;
  34.     if (g_bRan)
  35.         return;
  36.        
  37.     HideCvar("sv_cheats", "0", FCVAR_NOTIFY | FCVAR_REPLICATED | FCVAR_CHEAT);
  38.     HideCvar("host_timescale", "1.0", FCVAR_NOTIFY | FCVAR_REPLICATED | FCVAR_CHEAT);
  39.     HideCvar("mat_wireframe", "0", FCVAR_CHEAT);
  40.     HideCvar("r_drawparticles", "1", FCVAR_CLIENTDLL | FCVAR_CHEAT);
  41.     HideCvar("r_drawothermodels", "1", FCVAR_CLIENTDLL | FCVAR_CHEAT);
  42.     HideCvar("r_drawbrushmodels", "1", FCVAR_CHEAT);
  43.     HideCvar("sv_consistency", "1", FCVAR_REPLICATED);
  44.     HideCvar("fog_enable", "1", FCVAR_CLIENTDLL | FCVAR_CHEAT);
  45.     HideCvar("fog_enable_water_fog", "1", FCVAR_CHEAT);
  46.     HideCvar("mat_fullbright", "0", FCVAR_CHEAT);
  47.     HideCvar("mat_luxels", "0", FCVAR_CHEAT);
  48.     HideCvar("mat_reversedepth", "0", FCVAR_CHEAT);
  49.  
  50.     HideCvar("sv_allow_voice_from_file", "1", FCVAR_REPLICATED);
  51.     HideCvar("voice_inputfromfile", "0", FCVAR_NONE);
  52.  
  53.     HideCvar("sv_scriptenforcer", "0.0", FCVAR_NOTIFY | FCVAR_REPLICATED | FCVAR_CHEAT);
  54.    
  55.     g_bRan = true;
  56. }
Add Comment
Please, Sign In to add comment