FlacoBey

Untitled

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