FlacoBey

Untitled

Dec 26th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1. static Handle:cvarDelay                         = INVALID_HANDLE;
  2. static bool:bHasLaser[MAXPLAYERS+1]             = false;
  3. static Float:fLastCommandUseTime[MAXPLAYERS+1]  = 0.0;
  4.  
  5. public OnPluginStart()
  6. {
  7.     cvarDelay = CreateConVar("lasersight_delay", "10.0", "cool down' ", FCVAR_NOTIFY);
  8. }
  9.  
  10. public OnMapStart()
  11. {
  12.     AddCommandListener(CommandListener);
  13. }
  14. public Action:CommandListener(client, const String:command[], args)
  15. {
  16.     if (IsCommandCoolingDown(client))
  17.     {
  18.         ReplyToCommand(client, "You cannot use the laser toggle command again so quickly, wait %i seconds", RoundFloat(GetConVarFloat(cvarDelay)));
  19.         return Plugin_Handled;
  20.     }
  21.  
  22.     if (bHasLaser[client])
  23.     {
  24.         CheatCommand(client, "upgrade_remove", "LASER_SIGHT");
  25.         bHasLaser[client] = false;
  26.         fLastCommandUseTime[client] = GetEngineTime();
  27.     }
  28.     else
  29.     {
  30.         CheatCommand(client, "upgrade_add", "LASER_SIGHT");
  31.         bHasLaser[client] = true;
  32.         fLastCommandUseTime[client] = GetEngineTime();
  33.     }
  34.     fLastCommandUseTime[client] = GetEngineTime();
  35.    
  36.     return Plugin_Handled;
  37. }
  38.  
  39. static bool:IsCommandCoolingDown(any:client)
  40. {
  41.     if (fLastCommandUseTime[client] == 0.0)
  42.     {
  43.         return false;
  44.     }
  45.     return ((GetEngineTime() - fLastCommandUseTime[client]) < GetConVarFloat(cvarDelay));
  46. }
  47.  
  48. stock CheatCommand(client, const String:command[], const String:arguments[])
  49. {
  50.     if (!client) return;
  51.     new admindata = GetUserFlagBits(client);
  52.     SetUserFlagBits(client, ADMFLAG_ROOT);
  53.     new flags = GetCommandFlags(command);
  54.     SetCommandFlags(command, flags & ~FCVAR_CHEAT);
  55.     FakeClientCommand(client, "%s %s", command, arguments);
  56.     SetCommandFlags(command, flags);
  57.     SetUserFlagBits(client, admindata);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment