FlacoBey

Untitled

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