Thread: Fixing a plugin
View Single Post
Erdener
Senior Member
Join Date: Apr 2010
Location: Turkey
Old 05-16-2013 , 10:39   Re: Fixing a plugin
Reply With Quote #4

PHP Code:
/*================================================================================

    Deagle Sniper
    Copyright (C) 2009 by fezh


=================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>


#define PLUGIN_VERSION "0.1.3"

const m_iFOV 363
const m_iPlayer 41
const m_iClipAmmo 51
const m_iExtraOffsetLinux 4
const m_iExtraOffsetWindows 0

#pragma semicolon 1

new model_deagle_sniper[] = "models/v_deagle_new.mdl";
new 
gAlive[33];
new 
gZoom[33];
new 
gReloading[33];
new 
g_ZoomDist33 ] = 0;
new 
cvar_zoom_type;

public 
plugin_precache()

    
engfunc(EngFunc_PrecacheModelmodel_deagle_sniper);
    
public 
plugin_init()
{
    
register_plugin("Deagle Sniper"PLUGIN_VERSION"fezh");

    
register_forward(FM_CmdStart"fwCmdStart");

    
RegisterHam(Ham_Spawn"player""fwPlayerSpawnPost"1);
    
RegisterHam(Ham_Killed"player""fwPlayerKilled");
    
RegisterHam(Ham_Weapon_Reload"weapon_deagle""fwWeaponReload");
    
RegisterHam(Ham_Item_Deploy"weapon_deagle""fwItemDeployPost"1);

    
register_cvar("deagle_sniper"PLUGIN_VERSIONFCVAR_SERVER|FCVAR_SPONLY);
    
    
cvar_zoom_type register_cvar("goldendeagle_zoom_type""4");
}

public 
fwCmdStart(iduc_handleseed)
{
    if (!
gAlive[id]) return FMRES_IGNORED;

    static 
buttonoldbuttonsweapon;
    
button get_uc(uc_handleUC_Buttons);
    
oldbuttons pev(idpev_oldbuttons);
    
weapon get_user_weapon(id);

    if ((
button IN_ATTACK2) && !(oldbuttons IN_ATTACK2))
    {
        if (
weapon == CSW_DEAGLE)
        {
            if (!
gZoom[id] && !gReloading[id])
            {
                
gZoom[id] = true;
                
deagle_zoomidget_pcvar_numcvar_zoom_type ) );
            }
            else
            {
                if (
gZoom[id])
                {
                    
gZoom[id] = false;
                    
cs_set_user_zoomidCS_RESET_ZOOM);
                }
            }
        }
    }
    return 
FMRES_IGNORED;
}

public 
fwPlayerSpawnPost(id) if (is_user_alive(id)) gAlive[id] = true;

public 
fwPlayerKilled(victimattackershouldgibgAlive[victim] = false;

public 
fwWeaponReload(weapon)
{
    if (
fm_get_weapon_ammo(weapon) != 7)
    {
        static 
id;
        
id get_pdata_cbase(weaponm_iPlayer4);

        
set_pdata_int(idm_iFOV905);

        
gReloading[id] = true;
        
set_task(2.3"taskWeaponReloaded"id);
    }
}

public 
taskWeaponReloaded(id)
    
gReloading[id] = false;

public 
fwItemDeployPost(weapon)
{
    static 
id;
    
id get_pdata_cbase(weaponm_iPlayer4);

    
set_pev(idpev_viewmodel2model_deagle_sniper);
}

// cs_to_fm
stock fm_get_weapon_ammo(weapon)
    return 
get_pdata_int(weaponm_iClipAmmois_linux_server() ? m_iExtraOffsetLinux m_iExtraOffsetWindows);
    
    
stock deagle_zoomidtype )
{
    
gZoomid ] = true;
    switch( 
type )
    {
        case 
0cs_set_user_zoomidCS_RESET_ZOOM);
        case 
1cs_set_user_zoomidCS_SET_AUGSG552_ZOOM);
        case 
2:
        {
            
cs_set_user_zoomidCS_SET_FIRST_ZOOM);
            
emit_soundidCHAN_ITEM"weapons/zoom.wav"0.202.400100 );
        }
        case 
3:
        {
            
cs_set_user_zoomidCS_SET_SECOND_ZOOM);
            
emit_soundidCHAN_ITEM"weapons/zoom.wav"0.202.400100 );
        }
        case 
4:
        {
            
g_ZoomDistid ]++;
            
gZoomid ] = false;
            switch( 
g_ZoomDistid ] )
            {
                case 
1cs_set_user_zoomidCS_SET_AUGSG552_ZOOM);
                case 
2
                {
                    
cs_set_user_zoomidCS_SET_FIRST_ZOOM);
                    
emit_soundidCHAN_ITEM"weapons/zoom.wav"0.202.400100 );
                }
                case 
3
                {
                    
cs_set_user_zoomidCS_SET_SECOND_ZOOM);
                    
emit_soundidCHAN_ITEM"weapons/zoom.wav"0.202.400100 );
                }
                case 
4
                {
                    
g_ZoomDistid ] = 0;
                    
cs_set_user_zoomidCS_RESET_ZOOM);
                }
            }
        }
    }

Erdener is offline