Raised This Month: $ Target: $400
 0% 

[SNIPPET] Block Keys


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
zipcore
Veteran Member
Join Date: Mar 2010
Location: m_flZipcore
Old 11-18-2012 , 09:45   [SNIPPET] Block Keys
Reply With Quote #1

If anybody has improvents please tell me.

PHP Code:
#include <sourcemod>
#include <sdktools>

enum keys
{
    
KEY_IN_ALT1 0,
    
KEY_IN_ALT2,
    
KEY_IN_ATTACK,
    
KEY_IN_ATTACK2,
    
KEY_IN_BACK,
    
KEY_IN_BULLRUSH,
    
KEY_IN_CANCEL,
    
KEY_IN_DUCK,
    
KEY_IN_FORWARD,
    
KEY_IN_GRENADE1,
    
KEY_IN_GRENADE2,
    
KEY_IN_JUMP,
    
KEY_IN_LEFT,
    
KEY_IN_MOVELEFT,
    
KEY_IN_MOVERIGHT,
    
KEY_IN_RELOAD,
    
KEY_IN_RIGHT,
    
KEY_IN_RUN,
    
KEY_IN_SCORE,
    
KEY_IN_SPEED,
    
KEY_IN_USE,
    
KEY_IN_WALK,
    
KEY_IN_WEAPON1,
    
KEY_IN_WEAPON2,
    
KEY_IN_ZOOM //24
}

new 
bool:Blocked_Keys[32];

public 
Plugin:myinfo =
{
    
name "KeyBlock",
    
author "ZipcoreQQ",
    
description "type sm_keyblock KEY to lock keys, unlock by typing sm_removekeyblock KEY",
    
version "1.0",
    
url "zipcore#googlmail.com"
}

public 
OnPluginStart()
{
    
RegAdminCmd("sm_removekeyblock"Command_BlockADMFLAG_ROOT);
    
RegAdminCmd("sm_keyblock"Command_RemoveBlockADMFLAG_ROOT);
    
RegAdminCmd("sm_keylist"Command_KeyListADMFLAG_ROOT);
}

public 
OnMapStart()
{
    for(new 
i=0;i<=sizeof(Blocked_Keys);i++)
    {
        
Blocked_Keys[i] = false;
    }
}

public 
Action:Command_Block(client,args)
{
    new 
String:blockkey[32];
    new 
bool:changed false;
    
    if (
args 0)
    {
        
GetCmdArg(1,blockkey,sizeof(blockkey));
        
        if (
StrEqual(blockkey"alt1"false))
        {
            
Blocked_Keys[KEY_IN_ALT1] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"alt2"false))
        {
            
Blocked_Keys[KEY_IN_ALT2] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"attack"false))
        {
            
Blocked_Keys[KEY_IN_ATTACK] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"attack2"false))
        {
            
Blocked_Keys[KEY_IN_ATTACK2] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"back"false))
        {
            
Blocked_Keys[KEY_IN_BACK] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"bullrush"false))
        {
            
Blocked_Keys[KEY_IN_BULLRUSH] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"cancel"false))
        {
            
Blocked_Keys[KEY_IN_CANCEL] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"duck"false))
        {
            
Blocked_Keys[KEY_IN_DUCK] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"forward"false))
        {
            
Blocked_Keys[KEY_IN_FORWARD] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"grenade1"false))
        {
            
Blocked_Keys[KEY_IN_GRENADE1] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"grenade2"false))
        {
            
Blocked_Keys[KEY_IN_GRENADE2] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"jump"false))
        {
            
Blocked_Keys[KEY_IN_JUMP] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"left"false))
        {
            
Blocked_Keys[KEY_IN_LEFT] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"moveleft"false))
        {
            
Blocked_Keys[KEY_IN_MOVELEFT] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"moveright"false))
        {
            
Blocked_Keys[KEY_IN_MOVERIGHT] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"reload"false))
        {
            
Blocked_Keys[KEY_IN_RELOAD] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"right"false))
        {
            
Blocked_Keys[KEY_IN_RIGHT] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"run"false))
        {
            
Blocked_Keys[KEY_IN_RUN] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"score"false))
        {
            
Blocked_Keys[KEY_IN_SCORE] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"speed"false))
        {
            
Blocked_Keys[KEY_IN_SPEED] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"use"false))
        {
            
Blocked_Keys[KEY_IN_USE] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"walk"false))
        {
            
Blocked_Keys[KEY_IN_WALK] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"weapon1"false))
        {
            
Blocked_Keys[KEY_IN_WEAPON1] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"weapon2"false))
        {
            
Blocked_Keys[KEY_IN_WEAPON2] = true;
            
changed true;
        }
        else if (
StrEqual(blockkey"zoom"false))
        {
            
Blocked_Keys[KEY_IN_ZOOM] = true;
            
changed true;
        }
        if(
changedPrintToConsole(client"KeyBlock: %s"blockkey);
    }
    return 
Plugin_Handled;
}

public 
Action:Command_RemoveBlock(client,args)
{
    new 
String:blockkey[32];
    new 
bool:changed false;
    
    if (
args 0)
    {
        
GetCmdArg(1,blockkey,sizeof(blockkey));
        
        if (
StrEqual(blockkey"alt1"false))
        {
            
Blocked_Keys[KEY_IN_ALT1] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"alt2"false))
        {
            
Blocked_Keys[KEY_IN_ALT2] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"attack"false))
        {
            
Blocked_Keys[KEY_IN_ATTACK] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"attack2"false))
        {
            
Blocked_Keys[KEY_IN_ATTACK2] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"back"false))
        {
            
Blocked_Keys[KEY_IN_BACK] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"bullrush"false))
        {
            
Blocked_Keys[KEY_IN_BULLRUSH] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"cancel"false))
        {
            
Blocked_Keys[KEY_IN_CANCEL] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"duck"false))
        {
            
Blocked_Keys[KEY_IN_DUCK] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"forward"false))
        {
            
Blocked_Keys[KEY_IN_FORWARD] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"grenade1"false))
        {
            
Blocked_Keys[KEY_IN_GRENADE1] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"grenade2"false))
        {
            
Blocked_Keys[KEY_IN_GRENADE2] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"jump"false))
        {
            
Blocked_Keys[KEY_IN_JUMP] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"left"false))
        {
            
Blocked_Keys[KEY_IN_LEFT] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"moveleft"false))
        {
            
Blocked_Keys[KEY_IN_MOVELEFT] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"moveright"false))
        {
            
Blocked_Keys[KEY_IN_MOVERIGHT] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"reload"false))
        {
            
Blocked_Keys[KEY_IN_RELOAD] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"right"false))
        {
            
Blocked_Keys[KEY_IN_RIGHT] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"run"false))
        {
            
Blocked_Keys[KEY_IN_RUN] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"score"false))
        {
            
Blocked_Keys[KEY_IN_SCORE] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"speed"false))
        {
            
Blocked_Keys[KEY_IN_SPEED] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"use"false))
        {
            
Blocked_Keys[KEY_IN_USE] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"walk"false))
        {
            
Blocked_Keys[KEY_IN_WALK] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"weapon1"false))
        {
            
Blocked_Keys[KEY_IN_WEAPON1] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"weapon2"false))
        {
            
Blocked_Keys[KEY_IN_WEAPON2] = false;
            
changed true;
        }
        else if (
StrEqual(blockkey"zoom"false))
        {
            
Blocked_Keys[KEY_IN_ZOOM] = false;
            
changed true;
        }
        if(
changedPrintToConsole(client"RemoveKeyBlock: %s"blockkey);
    }
    return 
Plugin_Handled;
}

public 
Action:Command_KeyList(client,args)
{
    
    
PrintToConsole(client"alt1, alt2, attack, attack2, back, bullrush, cancel, duck, forward, grenade1, grenade2, jump, left, moveleft, moveright, reload, right, run, score, speed, use, walk, weapon1, weapon2, zoom");
    return 
Plugin_Handled;
}

public 
Action:OnPlayerRunCmd(client, &buttons, &impulseFloat:vel[3], Float:angles[3], &weapon)
{
    new 
iInitialButtons buttons;
    
    if(
buttons IN_ALT1 && Blocked_Keys[KEY_IN_ALT1])
    {
        
buttons &= ~IN_ALT1;
    }
    if(
buttons IN_ALT2 && Blocked_Keys[KEY_IN_ALT2])
    {
        
buttons &= ~IN_ALT2;
    }
    if(
buttons IN_ATTACK && Blocked_Keys[KEY_IN_ATTACK])
    {
        
buttons &= ~IN_ATTACK;
    }
    if(
buttons IN_ATTACK2 && Blocked_Keys[KEY_IN_ATTACK2])
    {
        
buttons &= ~IN_ATTACK2;
    }
    if(
buttons IN_BACK && Blocked_Keys[KEY_IN_BACK])
    {
        
buttons &= ~IN_BACK;
    }
    if(
buttons IN_BULLRUSH && Blocked_Keys[KEY_IN_BULLRUSH])
    {
        
buttons &= ~IN_BULLRUSH;
    }
    if(
buttons IN_CANCEL && Blocked_Keys[KEY_IN_CANCEL])
    {
        
buttons &= ~IN_CANCEL;
    }
    if(
buttons IN_DUCK && Blocked_Keys[KEY_IN_DUCK])
    {
        
buttons &= ~IN_DUCK;
    }
    if(
buttons IN_FORWARD && Blocked_Keys[KEY_IN_FORWARD])
    {
        
buttons &= ~IN_FORWARD;
    }
    if(
buttons IN_GRENADE1 && Blocked_Keys[KEY_IN_GRENADE1])
    {
        
buttons &= ~IN_GRENADE1;
    }
    if(
buttons IN_GRENADE2 && Blocked_Keys[KEY_IN_GRENADE2])
    {
        
buttons &= ~IN_GRENADE2;
    }
    if(
buttons IN_JUMP && Blocked_Keys[KEY_IN_JUMP])
    {
        
buttons &= ~IN_JUMP;
    }
    if(
buttons IN_LEFT && Blocked_Keys[KEY_IN_LEFT])
    {
        
buttons &= ~IN_LEFT;
    }
    if(
buttons IN_MOVELEFT && Blocked_Keys[KEY_IN_MOVELEFT])
    {
        
buttons &= ~IN_MOVELEFT;
    }
    if(
buttons IN_MOVERIGHT && Blocked_Keys[KEY_IN_MOVERIGHT])
    {
        
buttons &= ~IN_MOVERIGHT;
    }
    if(
buttons IN_RELOAD && Blocked_Keys[KEY_IN_RELOAD])
    {
        
buttons &= ~IN_RELOAD;
    }
    if(
buttons IN_RIGHT && Blocked_Keys[KEY_IN_RIGHT])
    {
        
buttons &= ~IN_RIGHT;
    }
    if(
buttons IN_RUN && Blocked_Keys[KEY_IN_RUN])
    {
        
buttons &= ~IN_RUN;
    }
    if(
buttons IN_SCORE && Blocked_Keys[KEY_IN_SCORE])
    {
        
buttons &= ~IN_SCORE;
    }
    if(
buttons IN_SPEED && Blocked_Keys[KEY_IN_SPEED])
    {
        
buttons &= ~IN_SPEED;
    }
    if(
buttons IN_USE && Blocked_Keys[KEY_IN_USE])
    {
        
buttons &= ~IN_USE;
    }
    if(
buttons IN_WALK && Blocked_Keys[KEY_IN_WALK])
    {
        
buttons &= ~IN_WALK;
    }
    if(
buttons IN_WEAPON1 && Blocked_Keys[KEY_IN_WEAPON1])
    {
        
buttons &= ~IN_WEAPON1;
    }
    if(
buttons IN_WEAPON2 && Blocked_Keys[KEY_IN_WEAPON2])
    {
        
buttons &= ~IN_WEAPON2;
    }
    
    if(
iInitialButtons != buttons)
        return 
Plugin_Changed
    
    
return Plugin_Continue;


Last edited by zipcore; 11-19-2012 at 19:45.
zipcore is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 18:37.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode