DUCK ACMA / KAPAMA

plugin_init üstüne

PHP- Kodu:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

/* Duck */
new bool:g_bFakeDuck[33];
new 
g_iFakeEnt;
new const 
g_ciEntityName[] = "anti_doubleducker";
new const 
g_ciCustomInvisibleModel[] = "models/w_awp.mdl";
new 
g_duck
plugin_init içine

PHP- Kodu:
    register_concmd("say !duck""cmdDuckNoduck"ADMIN_CVAR)
    
register_concmd("say /duck""cmdDuckNoduck"ADMIN_CVAR)
    
register_concmd("say .duck""cmdDuckNoduck"ADMIN_CVAR)
    
register_concmd("say_team !duck""cmdDuckNoduck"ADMIN_CVAR)
    
register_concmd("say_team /duck""cmdDuckNoduck"ADMIN_CVAR)
    
register_concmd("say_team .duck""cmdDuckNoduck"ADMIN_CVAR)
    
register_concmd("sch_duck""cmdDuckNoduck"ADMIN_CVAR)
    
g_duck register_cvar("mt_duck","0")
    
    
// Forwadlar
    
register_forwardFM_GetGameDescription"GameDesc" )    
    
register_forward(FM_PlayerPreThink,  "FM_PlayerPreThink_Pre",  0);
    
register_forward(FM_PlayerPostThink"FM_PlayerPostThink_Pre"0);
    
register_forward(FM_AddToFullPack,   "FM_AddToFullPack_Pre",   0);
    
register_forward(FM_AddToFullPack,   "FM_AddToFullPack_Post",  1);
    
    if( (
g_iFakeEnt=engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"func_wall")))>)
    {
        
engfunc(EngFunc_SetModelg_iFakeEntg_ciCustomInvisibleModel); 
        
set_pev(g_iFakeEntpev_classname,  g_ciEntityName); 
        
set_pev(g_iFakeEntpev_solid,      SOLID_NOT);
        
set_pev(g_iFakeEntpev_movetype,   MOVETYPE_NONE);
        
set_pev(g_iFakeEntpev_rendermodekRenderTransAlpha); 
        
set_pev(g_iFakeEntpev_renderamt,  0.0); 
    } 
sma sonuna

PHP- Kodu:
/*-------------------------- SCH - Duck Ayarları --------------------------*/
public FM_PlayerPreThink_Pre(id) {
    if(
get_pcvar_num(g_duck) == 1) {
        if( !
is_user_alive(id) )
            return 
FMRES_IGNORED;
        
        if( 
pev(idpev_oldbuttons)&IN_DUCK && !(pev(idpev_button)&IN_DUCK) )
        {
            static 
Float:s_fSize[3];
            
pev(idpev_sizes_fSize);
            if( 
s_fSize[2]==72.0 )
            {
                
g_bFakeDuck[id] = true;
                
                
set_pev(idpev_flags, (pev(idpev_flags)|FL_DUCKING));
            }
        }
    }
    return 
FMRES_IGNORED;
}
public 
FM_PlayerPostThink_Pre(id) {
    if(
get_pcvar_num(g_duck) == 1) {
        
        if( 
g_bFakeDuck[id] )
        {
            
g_bFakeDuck[id] = false;
            
            
set_pev(idpev_flags, (pev(idpev_flags)&~FL_DUCKING));
        }
        
    }
}
public 
FM_AddToFullPack_Pre(es_handleeenthosthostflagsplayerpset) {
    if(
get_pcvar_num(g_duck) == 1) {
        
        if( 
ent==g_iFakeEnt && is_user_alive(host) )
        {
            static 
Float:s_fMaxs[3];
            
pev(hostpev_velocitys_fMaxs);
            if( 
s_fMaxs[2]<=0.0 
            {
                
g_bFakeDuck[0] = true
                
                static 
Float:s_fMins[3];
                
pev(hostpev_origins_fMins);
                
s_fMins[0] -= 16.0;
                
s_fMins[1] -= 16.0;
                if( 
pev(hostpev_flags)&FL_DUCKING )
                    
s_fMins[2] += (s_fMaxs[2]<0.0)?55.0:71.0;
                else 
                    
s_fMins[2] += (s_fMaxs[2]<0.0)?37.0:53.0;
                
s_fMaxs[0] = s_fMins[0]+32.0;
                
s_fMaxs[1] = s_fMins[1]+32.0;
                
s_fMaxs[2] = s_fMins[2]+2.0;
                
engfunc(EngFunc_SetSizeg_iFakeEnts_fMinss_fMaxs); 
                
            }
        }
        
    }
}
public 
FM_AddToFullPack_Post(es_handleeenthosthostflagsplayerpset) {
    if(
get_pcvar_num(g_duck) == 1) {
        
        if( 
g_bFakeDuck[0] )
        {
            
g_bFakeDuck[0] = false;
            
            
set_es(es_handleES_SolidSOLID_BBOX); 
        }
        
    }
}
public 
cmdDuckNoduck(id,level,cid) {
    
    if( !
cmd_accessidlevelcid) )  
        return 
PLUGIN_HANDLED
        
    
if(get_pcvar_num(g_duck) == && set_pcvar_num(g_duck,1)) 
    {
        
        
client_print(0print_chat"[CSPlague.com] Duck Kapatildi.")
    }    
    else if(
get_pcvar_num(g_duck) == && set_pcvar_num(g_duck,0))
        
    
client_print(0print_chat,"[CSPLague.com] Duck Acildi.")
    
    return 
PLUGIN_HANDLED