Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static Handle:cvarDelay = INVALID_HANDLE;
- static bool:bHasLaser[MAXPLAYERS+1] = false;
- static Float:fLastCommandUseTime[MAXPLAYERS+1] = 0.0;
- public OnPluginStart()
- {
- cvarDelay = CreateConVar("lasersight_delay", "10.0", "cool down' ", FCVAR_NOTIFY);
- RegConsoleCmd("sm_haha", CmdLaserToggle);
- }
- public Action:CmdLaserToggle(client, args)
- {
- if (IsCommandCoolingDown(client))
- {
- ReplyToCommand(client, "You cannot use the laser toggle command again so quickly, wait %i seconds", RoundFloat(GetConVarFloat(cvarDelay)));
- return Plugin_Handled;
- }
- if (bHasLaser[client])
- {
- CheatCommand(client, "upgrade_remove", "LASER_SIGHT");
- bHasLaser[client] = false;
- fLastCommandUseTime[client] = GetEngineTime();
- }
- else
- {
- CheatCommand(client, "upgrade_add", "LASER_SIGHT");
- bHasLaser[client] = true;
- fLastCommandUseTime[client] = GetEngineTime();
- }
- fLastCommandUseTime[client] = GetEngineTime();
- return Plugin_Handled;
- }
- static bool:IsCommandCoolingDown(any:client)
- {
- if (fLastCommandUseTime[client] == 0.0)
- {
- return false;
- }
- return ((GetEngineTime() - fLastCommandUseTime[client]) < GetConVarFloat(cvarDelay));
- }
- stock CheatCommand(client, const String:command[], const String:arguments[])
- {
- if (!client) return;
- new admindata = GetUserFlagBits(client);
- SetUserFlagBits(client, ADMFLAG_ROOT);
- new flags = GetCommandFlags(command);
- SetCommandFlags(command, flags & ~FCVAR_CHEAT);
- FakeClientCommand(client, "%s %s", command, arguments);
- SetCommandFlags(command, flags);
- SetUserFlagBits(client, admindata);
- }
Advertisement
Add Comment
Please, Sign In to add comment