[Ayuda] Knife para admin
#1
Bueno quiero poner knife Hammer que sea solo para los Admins , probe de toda la forma y sale para todos los user
Código PHP:
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < amxmisc >
#include < hamsandwich >
#include < fakemeta >
#include < engine >
#include < xs >
#include < nvault >
#include < zombieplague >

#define PLUGIN         "[ZP] Knifes"
#define VERSION         "2.0"
#define AUTHOR         "heka"

new iKnife33 ]
new 
iAttack33 ]

enum AXE STRONG COMBAT HAMMER }
new const 
Knife_View_Models[ ] [ ] = { "models/ng/v_axe_knife.mdl" "models/ng/v_strong_knife.mdl" "models/ng/v_combat_knife.mdl" "models/ng/v_hammer_knife.mdl" }
new const 
Knife_Player_Models[ ] [ ] = { "models/ng/p_axe_knife.mdl" "models/ng/p_strong_knife.mdl" "models/ng/p_combat_knife.mdl" "models/ng/p_hammer_knife.mdl" }
new const 
Knife_Sounds[ ] [ ] [ ]  = 
{
    { 
"ng/axe_deploy1.wav" "ng/axe_hit1.wav" "ng/axe_hit2.wav" "ng/axe_hitwall1.wav" "ng/axe_hit4.wav" "ng/axe_stab.wav" },
    { 
"ng/strong_deploy1.wav" "ng/strong_hit1.wav" "ng/strong_hit2.wav" "ng/strong_hitwall1.wav" "ng/strong_hit4.wav" "ng/strong_stab.wav" },
    { 
"ng/combat_deploy1.wav" "ng/combat_hit1.wav" "ng/combat_hit2.wav" "ng/combat_hitwall.wav" "ng/combat_hit4.wav" "ng/combat_stab.wav" },
    { 
"ng/hammer_deploy1.wav" "ng/hammer_hit1.wav" "ng/hammer_hit2.wav" "ng/hammer_hitwall.wav" "ng/hammer_hit4.wav" "ng/hammer_stab.wav" }
}
new const 
Knife_WeaponList[ ] [ ] = { "knife_axe_cso" "knife_strong_cso" "knife_combat_cso" "knife_hammer_cso" }
new const 
Knife_WeaponListFiles[ ] [ ] = { "sprites/knife_axe_cso.txt" "sprites/knife_strong_cso.txt" "sprites/knife_combat_cso.txt" "sprites/knife_hammer_cso.txt" }
new const 
Knife_Sprites[ ] [ ] = { "sprites/cso/640hud38.spr" "sprites/cso/640hud23.spr" "sprites/cso/640hud39.spr" "sprites/cso/640hud21.spr" }

new 
cvar_jump]
new 
cvar_damage]
new 
cvar_knockback]
new 
cvar_attack1_distance]
new 
cvar_attack2_distance]
new 
cvar_attack2_delay]

public 
plugin_init( ) 
{
    
register_pluginPLUGIN VERSION AUTHOR )
    
    
register_event("CurWeapon","SetKnifeModel","be","1=1");
    
RegisterHamHam_Weapon_PrimaryAttack "weapon_knife" "CBaseWeapon_PrimaryAttack_Post" , .Post true )
    
RegisterHamHam_TakeDamage "player" "CBasePlayer_TakeDamage_Post" , .Post true )
    
RegisterHamHam_Weapon_SecondaryAttack "weapon_knife" "CBaseWeapon_SecAttack_Post" , .Post true )

    
RegisterHamHam_TakeDamage "player" "CBasePlayer_TakeDamage" )
    
RegisterHamHam_Weapon_PrimaryAttack "weapon_knife" "CBaseWeapon_PrimaryAttack" )
    
RegisterHamHam_Weapon_SecondaryAttack "weapon_knife" "CBaseWeapon_SecondaryAttack" )

    
RegisterHam(Ham_Spawn"player""CBasePlayer_Spawn")

    
register_forwardFM_EmitSound "Fw_EmitSound" )
    
register_forwardFM_PlayerPreThink "Fw_PreThink" );
    
register_forwardFM_TraceLine "Fw_TraceLine" )
    
register_forwardFM_TraceHull "Fw_TraceHull" )

    
cvar_jump] = register_cvar"zp_jump_axe" "300.0" )
    
cvar_jump] = register_cvar"zp_jump_strong" "300.0" )
    
cvar_jump] = register_cvar"zp_jump_combat" "300.0" )
    
cvar_jump] = register_cvar"zp_jump_hammer" "300.0" )    

    
cvar_damage] = register_cvar"zp_damage_axe" "5.0" )
    
cvar_damage] = register_cvar"zp_damage_strong" "5.0" )
    
cvar_damage] = register_cvar"zp_damage_combat" "5.0" )
    
cvar_damage] = register_cvar"zp_damage_hammer" "5.0" )    

    
cvar_knockback] = register_cvar"zp_knockback_axe" "8.0" )
    
cvar_knockback] = register_cvar"zp_knockback_strong" "8.0" )
    
cvar_knockback] = register_cvar"zp_knockback_combat" "8.0" )
    
cvar_knockback] = register_cvar"zp_knockback_hammer" "8.0" )    

    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_axe" "50.0" )
    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_strong" "50.0" )
    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_combat" "50.0" )
    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_hammer" "50.0" )

    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_axe" "30.0" )
    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_strong" "30.0" )
    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_combat" "30.0" )
    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_hammer" "30.0" )

    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_axe" "1.0" )
    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_strong" "1.0" )
    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_combat" "1.0" )
    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_hammer" "1.0" )
        
    
register_clcmd"say /knife" "ClCmd_KnifeMenu" )

    
register_clcmd"knife_axe_cso" "Hook_WeaponList" );
    
register_clcmd"knife_strong_cso" "Hook_WeaponList" );
    
register_clcmd"knife_strong_cso" "Hook_WeaponList" );
    
register_clcmd"knife_hammer_cso" "Hook_WeaponList" );
}

public 
plugin_precache( )
{
    new 
i;

    for(
04i++) {
        
precache_modelKnife_Player_Models] )
        
precache_modelKnife_View_Models] )
    }

    for( 
04i++ ) 
    {
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
    }

    for( 
0sizeof Knife_Spritesi++ )
    {
        
precache_genericKnife_Sprites] );
    }

    for(
04i++) 
    {
        
precache_genericKnife_WeaponListFiles] )
        
precache_genericKnife_WeaponListFiles] )
    }
}

public 
Hook_WeaponListiPlayer )
{
    
engclient_cmdiPlayer"weapon_knife" )
    return 
PLUGIN_HANDLED
}

public 
client_putinserveriPlayer 
{
    
iKnife iPlayer ] = AXE
}

public 
zp_user_humanized_postiPlayer )
{
    if( 
zp_get_user_survivoriPlayer ) )
        
Set_SpriteiPlayer"knife_axe_cso" )
}

public 
zp_user_infected_postiPlayer )
{
    
Set_SpriteiPlayer"weapon_knife" )
}

public 
CBasePlayer_SpawniPlayer )
{
    
Set_SpriteiPlayerKnife_WeaponListiKnifeiPlayer ] ] )
}

public 
ClCmd_KnifeMenuiPlayer 
{
    if( ! 
is_user_aliveiPlayer ) ) return 
    if( 
zp_get_user_zombieiPlayer ) ) return
    if( 
zp_has_round_started( ) ) return

    static 
buffer512 ]
    new 
iKnife_Menu menu_create"\yChoose knife" "ClCmd_KnifeMenu_Handler" )
    
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == AXE "\rAxe" "Axe" )
    
menu_additemiKnife_Menu buffer "1" )
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == STRONG "\rStrong" "Strong" )
    
menu_additemiKnife_Menu buffer "2" )    
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == COMBAT "\rCombat" "Combat" )
    
menu_additemiKnife_Menu buffer "3" )
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == HAMMER "\rHammer \y[Solo Admin]" "Hammer \y[Solo Admin]" ADMIN_LEVEL_D )
    
menu_additemiKnife_Menu buffer "4" )
    
    
menu_setpropiKnife_Menu MPROP_EXIT MEXIT_ALL )
    
menu_displayiPlayer iKnife_Menu )    
}

public 
ClCmd_KnifeMenu_HandleriPlayer iMenu iItem 
{
    if( 
iItem == MENU_EXIT )
    {
        
menu_destroyiMenu )
        return 
PLUGIN_HANDLED
    
}

    if( 
zp_has_round_started( ) ) return PLUGIN_HANDLED

    
new iData] , iName64 ]
    new 
iAccessiCallBack
    menu_item_getinfo
iMenu iItem iAccess iData iName 63 iCallBack )
    new 
iKey str_to_numiData )
    
    switch( 
iKey )
    {
        case 
1iKnifeiPlayer ] = AXE
        
case 2iKnifeiPlayer ] = STRONG
        
case 3iKnifeiPlayer ] = COMBAT
        
case 4iKnifeiPlayer ] = HAMMER
    
}
    
    
message_beginMSG_ONE get_user_msgid("WeapPickup") , _iPlayer )
    
write_byteCSW_KNIFE )
    
message_end( )    

    if( 
get_user_weapon iPlayer ) != CSW_KNIFE ) return PLUGIN_HANDLED;

    
ExecuteHamBHam_Item_Deploy get_pdata_cbaseiPlayer 373 ) )    

    
SetKnifeModeliPlayer )
    
Set_SpriteiPlayerKnife_WeaponListiKnifeiPlayer ] ] )
    
    return 
PLUGIN_HANDLED
}

public 
SetKnifeModel(id)
{
        if(
get_user_weapon(id) != CSW_KNIFE || zp_get_user_zombie(id))
                return;
                
    
set_pevid pev_viewmodel2 Knife_View_ModelsiKnifeid ] ] );
    
set_pevid pev_weaponmodel2 Knife_Player_ModelsiKnifeid ] ] );
       
        return;
}

public 
Fw_EmitSoundiPlayer iChannel iSample[] , Float:flVolume Float:flAttn iFlag iPitch )
{    
    if( ! 
is_user_connectediPlayer ) ) return FMRES_IGNORED;
    if( 
zp_get_user_zombieiPlayer ) ) return FMRES_IGNORED

    
if( iSample] == 'k' && iSample] == 'n' && iSample10 ] == 'i' ) {
        if( 
iSample14 ] == 'd' 
        {
            
emit_soundiPlayer iChannel Knife_SoundsiKnife iPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
        }
        else if(
iSample14 ] == 'h')
        {
            if(
iSample17 ] == 'w'
            {
                
emit_sound(iPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
            } 
            else 
            {
                
emit_sound(iPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ random_num) ] , flVolume flAttn iFlag iPitch )
            }
        } 
        else 
        {
            if( 
iSample15 ] == 'l' )
            {
                
emit_soundiPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
            } 
            else 
            {
                
emit_soundiPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
            }
        }

        return 
FMRES_SUPERCEDE;
    }

    return 
FMRES_IGNORED;
}

public 
CBasePlayer_TakeDamageiVictim iInflector iAttacker Float:flDamage bitsDamageType )
{
    if(!
is_user_connected(iAttacker) || iVictim == iAttacker)
        return;

    if(
get_user_weapon(iAttacker) != CSW_KNIFE || ~bitsDamageType & (DMG_BULLET DMG_NEVERGIB))
        return;

    if(
zp_get_user_zombie(iAttacker))
        return;
    
    
SetHamParamFloatflDamage get_pcvar_floatcvar_damageiKnifeiAttacker ] ] ) )
}

public 
CBasePlayer_TakeDamage_PostiVictim iInflectoriAttacker Float:flDamage bitsDamageType Float:velocity] )
{
    if( ! 
is_user_connectediAttacker ) || iVictim == iAttacker ) return
        if( 
get_user_weaponiAttacker ) != CSW_KNIFE ) return
    if( 
zp_get_user_zombieiAttacker ) ) return

    new 
Float:newvelocity]
    
entity_get_vectoriVictim EV_VEC_velocity velocity )
    
    new 
Float:victim_origin], Float:attacker_origin]
    
entity_get_vectoriVictim EV_VEC_origin victim_origin )
    
entity_get_vectoriAttacker EV_VEC_origin attacker_origin )
    
    
newvelocity] = victim_origin] - attacker_origin]
    
newvelocity] = victim_origin] - attacker_origin]
    
    new 
Float:largestnum 0.0
    
    
if ( <= floatcmpfloatabsnewvelocity] ) , floatabsnewvelocity] ) ) <= )
    {
        if ( 
floatabsnewvelocity] ) > largestnum floatabsnewvelocity] )
    } 
    else 
    {
        if ( 
floatabsnewvelocity]) > largestnum floatabsnewvelocity] )
    }

    
newvelocity] /= largestnum
    newvelocity
] /= largestnum
    
    velocity
] = newvelocity] * get_pcvar_floatcvar_knockbackiKnifeiAttacker ] ] )  * 3000 get_distance_fvictim_origin attacker_origin )
    
velocity] = newvelocity] * get_pcvar_floatcvar_knockbackiKnifeiAttacker ] ] )  * 3000 get_distance_fvictim_origin attacker_origin )
    
    if( 
newvelocity] <= 20.0 || newvelocity] <= 20.0 newvelocity] = random_float200.0 275.0 )
    
    
newvelocity] += velocity]
    
newvelocity] += velocity]
    
entity_set_vectoriVictim EV_VEC_velocity newvelocity )

    
set_pdata_floatiVictim 108 1.0 )
}

public 
Fw_PreThinkiPlayer )
{
        if( ! 
is_user_aliveiPlayer ) ) return PLUGIN_CONTINUE
    
if( zp_get_user_zombieiPlayer ) ) return PLUGIN_CONTINUE

        
new temp], weapon get_user_weaponiPlayer temp] , temp] )

        if( 
weapon == CSW_KNIFE )
        {
                if ( ( 
peviPlayer pev_button ) & IN_JUMP ) && ! ( peviPlayer pev_oldbuttons) & IN_JUMP ) )
                {
                        new 
flags peviPlayer pev_flags )
                        new 
waterlvl peviPlayer pev_waterlevel )
                        
                        if ( ! ( 
flags FL_ONGROUND ) ) return PLUGIN_CONTINUE;
                        if ( 
flags FL_WATERJUMP ) return PLUGIN_CONTINUE;
                        if ( 
waterlvl ) return PLUGIN_CONTINUE;
                        
                        new 
Float:fVelocity]
                        
peviPlayer pev_velocity fVelocity )
        
            
fVelocity] += get_pcvar_floatcvar_jumpiKnifeiPlayer ] ] )

                        
set_peviPlayer pev_velocity fVelocity )
                        
set_peviPlayer pev_gaitsequence )
                }
    }
        return 
PLUGIN_CONTINUE
}

public 
CBaseWeapon_PrimaryAttackiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 1
}

public 
CBaseWeapon_SecondaryAttackiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 1
}

public 
CBaseWeapon_PrimaryAttack_PostiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 0
}

public 
CBaseWeapon_SecAttack_PostiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 0

    
new Float:fDelay

    fDelay 
get_pcvar_float(cvar_attack2_delayiKnifeiOwner ] ] )

    
set_pdata_floatiEntity 46 fDelay 4)
    
set_pdata_floatiEntity 47 fDelay 4)
    
set_pdata_floatiEntity 48 fDelay 4)
}

public 
Fw_TraceLineFloat:vector_start[3] , Float:vector_end[3] , ignored_monster iPlayer handle )
{
    if ( ! 
is_user_connected iPlayer ) ) return FMRES_IGNORED;
    if ( ! 
is_user_aliveiPlayer ) ) return FMRES_IGNORED;
    if ( 
get_user_weaponiPlayer ) != CSW_KNIFE) return FMRES_IGNORED;
    if ( !
iAttackiPlayer ] ) return FMRES_IGNORED;
    if( 
zp_get_user_zombieiPlayer ) ) return FMRES_IGNORED;
    
    
peviPlayer pev_v_angle vector_end )
    
angle_vectorvector_end ANGLEVECTOR_FORWARD vector_end )
    
    if ( 
iAttackiPlayer ] == )
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack1_distanceiKnifeiPlayer ] ] ), vector_end )
    else
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack2_distanceiKnifeiPlayer ] ] ) , vector_end )
    
    
xs_vec_addvector_start vector_end vector_end )
    
engfuncEngFunc_TraceLine vector_start vector_end ignored_monster iPlayer handle )
    
    return 
FMRES_SUPERCEDE;
}

public 
Fw_TraceHullFloat:vector_start[3] , Float:vector_end[3] , ignored_monster iPlayer handle )
{
    if ( ! 
is_user_connected iPlayer ) ) return FMRES_IGNORED;
    if ( ! 
is_user_aliveiPlayer ) ) return FMRES_IGNORED;
    if ( 
get_user_weaponiPlayer ) != CSW_KNIFE) return FMRES_IGNORED;
    if ( !
iAttackiPlayer ] ) return FMRES_IGNORED;
    if( 
zp_get_user_zombieiPlayer ) ) return FMRES_IGNORED;
    
    
peviPlayer pev_v_angle vector_end )
    
angle_vectorvector_end ANGLEVECTOR_FORWARD vector_end )
    
    if ( 
iAttackiPlayer ] == )
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack1_distanceiKnifeiPlayer ] ] ), vector_end )
    else
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack2_distanceiKnifeiPlayer ] ] ) , vector_end )
    
    
xs_vec_addvector_start vector_end vector_end )
    
engfuncEngFunc_TraceHull vector_start vector_end ignored_monster iPlayer handle )
    
    return 
FMRES_SUPERCEDE;
}

Set_SpriteiPlayer, const Weapon[ ] )
{
    if( ! 
pev_validiPlayer ) )
                return;

    
message_beginMSG_ONE get_user_msgid"WeaponList" ) , _iPlayer )
    
write_stringWeapon )
    
write_byte( -)
    
write_byte( -1)
    
write_byte( -)
    
write_byte( -)
    
write_byte)
    
write_byte)
    
write_byte29 )
    
write_byte)
    
message_end( )

Responder
#2
se te ocurrio probar con ADMIN_BAN Whatever
Responder
#3
(17/12/2013, 07:23 PM)Pipa Roja escribió: se te ocurrio probar con ADMIN_BAN Whatever
Me estoy cansando de tus comentarios estúpidos por doquier, vos haces preguntas mas pelotudas que esta. Si no queres ayudar no contestes y punto.

Probá con esto:
Código PHP:
#include < amxmodx >
#include < amxmisc >
#include < hamsandwich >
#include < fakemeta >
#include < engine >
#include < xs >
#include < nvault >
#include < zombieplague >

#define PLUGIN         "[ZP] Knifes"
#define VERSION         "2.0"
#define AUTHOR         "heka"

new iKnife33 ]
new 
iAttack33 ]

enum AXE STRONG COMBAT HAMMER }
new const 
Knife_View_Models[ ] [ ] = { "models/ng/v_axe_knife.mdl" "models/ng/v_strong_knife.mdl" "models/ng/v_combat_knife.mdl" "models/ng/v_hammer_knife.mdl" }
new const 
Knife_Player_Models[ ] [ ] = { "models/ng/p_axe_knife.mdl" "models/ng/p_strong_knife.mdl" "models/ng/p_combat_knife.mdl" "models/ng/p_hammer_knife.mdl" }
new const 
Knife_Sounds[ ] [ ] [ ]  = 
{
    { 
"ng/axe_deploy1.wav" "ng/axe_hit1.wav" "ng/axe_hit2.wav" "ng/axe_hitwall1.wav" "ng/axe_hit4.wav" "ng/axe_stab.wav" },
    { 
"ng/strong_deploy1.wav" "ng/strong_hit1.wav" "ng/strong_hit2.wav" "ng/strong_hitwall1.wav" "ng/strong_hit4.wav" "ng/strong_stab.wav" },
    { 
"ng/combat_deploy1.wav" "ng/combat_hit1.wav" "ng/combat_hit2.wav" "ng/combat_hitwall.wav" "ng/combat_hit4.wav" "ng/combat_stab.wav" },
    { 
"ng/hammer_deploy1.wav" "ng/hammer_hit1.wav" "ng/hammer_hit2.wav" "ng/hammer_hitwall.wav" "ng/hammer_hit4.wav" "ng/hammer_stab.wav" }
}
new const 
Knife_WeaponList[ ] [ ] = { "knife_axe_cso" "knife_strong_cso" "knife_combat_cso" "knife_hammer_cso" }
new const 
Knife_WeaponListFiles[ ] [ ] = { "sprites/knife_axe_cso.txt" "sprites/knife_strong_cso.txt" "sprites/knife_combat_cso.txt" "sprites/knife_hammer_cso.txt" }
new const 
Knife_Sprites[ ] [ ] = { "sprites/cso/640hud38.spr" "sprites/cso/640hud23.spr" "sprites/cso/640hud39.spr" "sprites/cso/640hud21.spr" }

new 
cvar_jump]
new 
cvar_damage]
new 
cvar_knockback]
new 
cvar_attack1_distance]
new 
cvar_attack2_distance]
new 
cvar_attack2_delay]

public 
plugin_init( ) 
{
    
register_pluginPLUGIN VERSION AUTHOR )
    
    
register_event("CurWeapon","SetKnifeModel","be","1=1");
    
RegisterHamHam_Weapon_PrimaryAttack "weapon_knife" "CBaseWeapon_PrimaryAttack_Post" , .Post true )
    
RegisterHamHam_TakeDamage "player" "CBasePlayer_TakeDamage_Post" , .Post true )
    
RegisterHamHam_Weapon_SecondaryAttack "weapon_knife" "CBaseWeapon_SecAttack_Post" , .Post true )

    
RegisterHamHam_TakeDamage "player" "CBasePlayer_TakeDamage" )
    
RegisterHamHam_Weapon_PrimaryAttack "weapon_knife" "CBaseWeapon_PrimaryAttack" )
    
RegisterHamHam_Weapon_SecondaryAttack "weapon_knife" "CBaseWeapon_SecondaryAttack" )

    
RegisterHam(Ham_Spawn"player""CBasePlayer_Spawn")

    
register_forwardFM_EmitSound "Fw_EmitSound" )
    
register_forwardFM_PlayerPreThink "Fw_PreThink" );
    
register_forwardFM_TraceLine "Fw_TraceLine" )
    
register_forwardFM_TraceHull "Fw_TraceHull" )

    
cvar_jump] = register_cvar"zp_jump_axe" "300.0" )
    
cvar_jump] = register_cvar"zp_jump_strong" "300.0" )
    
cvar_jump] = register_cvar"zp_jump_combat" "300.0" )
    
cvar_jump] = register_cvar"zp_jump_hammer" "300.0" )    

    
cvar_damage] = register_cvar"zp_damage_axe" "5.0" )
    
cvar_damage] = register_cvar"zp_damage_strong" "5.0" )
    
cvar_damage] = register_cvar"zp_damage_combat" "5.0" )
    
cvar_damage] = register_cvar"zp_damage_hammer" "5.0" )    

    
cvar_knockback] = register_cvar"zp_knockback_axe" "8.0" )
    
cvar_knockback] = register_cvar"zp_knockback_strong" "8.0" )
    
cvar_knockback] = register_cvar"zp_knockback_combat" "8.0" )
    
cvar_knockback] = register_cvar"zp_knockback_hammer" "8.0" )    

    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_axe" "50.0" )
    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_strong" "50.0" )
    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_combat" "50.0" )
    
cvar_attack1_distance] = register_cvar"zp_attack2_distance_hammer" "50.0" )

    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_axe" "30.0" )
    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_strong" "30.0" )
    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_combat" "30.0" )
    
cvar_attack2_distance] = register_cvar"zp_attack2_distance_hammer" "30.0" )

    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_axe" "1.0" )
    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_strong" "1.0" )
    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_combat" "1.0" )
    
cvar_attack2_delay] = register_cvar"zp_attack2_delay_hammer" "1.0" )
        
    
register_clcmd"say /knife" "ClCmd_KnifeMenu" )

    
register_clcmd"knife_axe_cso" "Hook_WeaponList" );
    
register_clcmd"knife_strong_cso" "Hook_WeaponList" );
    
register_clcmd"knife_strong_cso" "Hook_WeaponList" );
    
register_clcmd"knife_hammer_cso" "Hook_WeaponList" );
}

public 
plugin_precache( )
{
    new 
i;

    for(
04i++) {
        
precache_modelKnife_Player_Models] )
        
precache_modelKnife_View_Models] )
    }

    for( 
04i++ ) 
    {
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
        
precache_soundKnife_Sounds] [ ] )
    }

    for( 
0sizeof Knife_Spritesi++ )
    {
        
precache_genericKnife_Sprites] );
    }

    for(
04i++) 
    {
        
precache_genericKnife_WeaponListFiles] )
        
precache_genericKnife_WeaponListFiles] )
    }
}

public 
Hook_WeaponListiPlayer )
{
    
engclient_cmdiPlayer"weapon_knife" )
    return 
PLUGIN_HANDLED
}

public 
client_putinserveriPlayer 
{
    
iKnife iPlayer ] = AXE
}

public 
zp_user_humanized_postiPlayer )
{
    if( 
zp_get_user_survivoriPlayer ) )
        
Set_SpriteiPlayer"knife_axe_cso" )
}

public 
zp_user_infected_postiPlayer )
{
    
Set_SpriteiPlayer"weapon_knife" )
}

public 
CBasePlayer_SpawniPlayer )
{
    
Set_SpriteiPlayerKnife_WeaponListiKnifeiPlayer ] ] )
}

public 
ClCmd_KnifeMenuiPlayer 
{
    if( ! 
is_user_aliveiPlayer ) ) return 
    if( 
zp_get_user_zombieiPlayer ) ) return
    if( 
zp_has_round_started( ) ) return

    static 
buffer512 ]
    new 
iKnife_Menu menu_create"\yChoose knife" "ClCmd_KnifeMenu_Handler" )
    
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == AXE "\rAxe" "Axe" )
    
menu_additemiKnife_Menu buffer "1" )
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == STRONG "\rStrong" "Strong" )
    
menu_additemiKnife_Menu buffer "2" )    
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == COMBAT "\rCombat" "Combat" )
    
menu_additemiKnife_Menu buffer "3" )
    
formatexbuffer charsmaxbuffer ) , iKnifeiPlayer ] == HAMMER "\rHammer \y[Solo Admin]" "Hammer \y[Solo Admin]" ADMIN_LEVEL_D )
    
menu_additemiKnife_Menu buffer "4" )
    
    
menu_setpropiKnife_Menu MPROP_EXIT MEXIT_ALL )
    
menu_displayiPlayer iKnife_Menu )    
}

public 
ClCmd_KnifeMenu_HandleriPlayer iMenu iItem 
{
    if( 
iItem == MENU_EXIT )
    {
        
menu_destroyiMenu )
        return 
PLUGIN_HANDLED
    
}

    if( 
zp_has_round_started( ) ) return PLUGIN_HANDLED

    
new iData] , iName64 ]
    new 
iAccessiCallBack
    menu_item_getinfo
iMenu iItem iAccess iData iName 63 iCallBack )
    new 
iKey str_to_numiData )
    if ( 
iKey == && !( get_user_flagsiPlayer ) & ADMIN_KICK ) ) {
        
client_print(iPlayerprint_chat"Cuchillo hammer es solo para admins");
        return 
PLUGIN_HANDLED;
    }
    switch( 
iKey )
    {
        case 
1iKnifeiPlayer ] = AXE
        
case 2iKnifeiPlayer ] = STRONG
        
case 3iKnifeiPlayer ] = COMBAT
        
case 4iKnifeiPlayer ] = HAMMER
    
}
    
    
message_beginMSG_ONE get_user_msgid("WeapPickup") , _iPlayer )
    
write_byteCSW_KNIFE )
    
message_end( )    

    if( 
get_user_weapon iPlayer ) != CSW_KNIFE ) return PLUGIN_HANDLED;

    
ExecuteHamBHam_Item_Deploy get_pdata_cbaseiPlayer 373 ) )    

    
SetKnifeModeliPlayer )
    
Set_SpriteiPlayerKnife_WeaponListiKnifeiPlayer ] ] )
    
    return 
PLUGIN_HANDLED
}

public 
SetKnifeModel(id)
{
        if(
get_user_weapon(id) != CSW_KNIFE || zp_get_user_zombie(id))
                return;
                
    
set_pevid pev_viewmodel2 Knife_View_ModelsiKnifeid ] ] );
    
set_pevid pev_weaponmodel2 Knife_Player_ModelsiKnifeid ] ] );
       
        return;
}

public 
Fw_EmitSoundiPlayer iChannel iSample[] , Float:flVolume Float:flAttn iFlag iPitch )
{    
    if( ! 
is_user_connectediPlayer ) ) return FMRES_IGNORED;
    if( 
zp_get_user_zombieiPlayer ) ) return FMRES_IGNORED

    
if( iSample] == 'k' && iSample] == 'n' && iSample10 ] == 'i' ) {
        if( 
iSample14 ] == 'd' 
        {
            
emit_soundiPlayer iChannel Knife_SoundsiKnife iPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
        }
        else if(
iSample14 ] == 'h')
        {
            if(
iSample17 ] == 'w'
            {
                
emit_sound(iPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
            } 
            else 
            {
                
emit_sound(iPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ random_num) ] , flVolume flAttn iFlag iPitch )
            }
        } 
        else 
        {
            if( 
iSample15 ] == 'l' )
            {
                
emit_soundiPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
            } 
            else 
            {
                
emit_soundiPlayer iChannel Knife_SoundsiKnifeiPlayer ] ] [ ] , flVolume flAttn iFlag iPitch )
            }
        }

        return 
FMRES_SUPERCEDE;
    }

    return 
FMRES_IGNORED;
}

public 
CBasePlayer_TakeDamageiVictim iInflector iAttacker Float:flDamage bitsDamageType )
{
    if(!
is_user_connected(iAttacker) || iVictim == iAttacker)
        return;

    if(
get_user_weapon(iAttacker) != CSW_KNIFE || ~bitsDamageType & (DMG_BULLET DMG_NEVERGIB))
        return;

    if(
zp_get_user_zombie(iAttacker))
        return;
    
    
SetHamParamFloatflDamage get_pcvar_floatcvar_damageiKnifeiAttacker ] ] ) )
}

public 
CBasePlayer_TakeDamage_PostiVictim iInflectoriAttacker Float:flDamage bitsDamageType Float:velocity] )
{
    if( ! 
is_user_connectediAttacker ) || iVictim == iAttacker ) return
        if( 
get_user_weaponiAttacker ) != CSW_KNIFE ) return
    if( 
zp_get_user_zombieiAttacker ) ) return

    new 
Float:newvelocity]
    
entity_get_vectoriVictim EV_VEC_velocity velocity )
    
    new 
Float:victim_origin], Float:attacker_origin]
    
entity_get_vectoriVictim EV_VEC_origin victim_origin )
    
entity_get_vectoriAttacker EV_VEC_origin attacker_origin )
    
    
newvelocity] = victim_origin] - attacker_origin]
    
newvelocity] = victim_origin] - attacker_origin]
    
    new 
Float:largestnum 0.0
    
    
if ( <= floatcmpfloatabsnewvelocity] ) , floatabsnewvelocity] ) ) <= )
    {
        if ( 
floatabsnewvelocity] ) > largestnum floatabsnewvelocity] )
    } 
    else 
    {
        if ( 
floatabsnewvelocity]) > largestnum floatabsnewvelocity] )
    }

    
newvelocity] /= largestnum
    newvelocity
] /= largestnum
    
    velocity
] = newvelocity] * get_pcvar_floatcvar_knockbackiKnifeiAttacker ] ] )  * 3000 get_distance_fvictim_origin attacker_origin )
    
velocity] = newvelocity] * get_pcvar_floatcvar_knockbackiKnifeiAttacker ] ] )  * 3000 get_distance_fvictim_origin attacker_origin )
    
    if( 
newvelocity] <= 20.0 || newvelocity] <= 20.0 newvelocity] = random_float200.0 275.0 )
    
    
newvelocity] += velocity]
    
newvelocity] += velocity]
    
entity_set_vectoriVictim EV_VEC_velocity newvelocity )

    
set_pdata_floatiVictim 108 1.0 )
}

public 
Fw_PreThinkiPlayer )
{
        if( ! 
is_user_aliveiPlayer ) ) return PLUGIN_CONTINUE
    
if( zp_get_user_zombieiPlayer ) ) return PLUGIN_CONTINUE

        
new temp], weapon get_user_weaponiPlayer temp] , temp] )

        if( 
weapon == CSW_KNIFE )
        {
                if ( ( 
peviPlayer pev_button ) & IN_JUMP ) && ! ( peviPlayer pev_oldbuttons) & IN_JUMP ) )
                {
                        new 
flags peviPlayer pev_flags )
                        new 
waterlvl peviPlayer pev_waterlevel )
                        
                        if ( ! ( 
flags FL_ONGROUND ) ) return PLUGIN_CONTINUE;
                        if ( 
flags FL_WATERJUMP ) return PLUGIN_CONTINUE;
                        if ( 
waterlvl ) return PLUGIN_CONTINUE;
                        
                        new 
Float:fVelocity]
                        
peviPlayer pev_velocity fVelocity )
        
            
fVelocity] += get_pcvar_floatcvar_jumpiKnifeiPlayer ] ] )

                        
set_peviPlayer pev_velocity fVelocity )
                        
set_peviPlayer pev_gaitsequence )
                }
    }
        return 
PLUGIN_CONTINUE
}

public 
CBaseWeapon_PrimaryAttackiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 1
}

public 
CBaseWeapon_SecondaryAttackiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 1
}

public 
CBaseWeapon_PrimaryAttack_PostiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 0
}

public 
CBaseWeapon_SecAttack_PostiEntity )
{
    if ( ! 
pev_validiEntity ) ) return;
    
    
// Get owner
    
static iOwner
    iOwner 
peviEntity pev_owner)
    
    if ( ! 
is_user_connectediOwner ) ) return;
    if( 
zp_get_user_zombieiOwner ) ) return ;
    
    
iAttackiOwner ] = 0

    
new Float:fDelay

    fDelay 
get_pcvar_float(cvar_attack2_delayiKnifeiOwner ] ] )

    
set_pdata_floatiEntity 46 fDelay 4)
    
set_pdata_floatiEntity 47 fDelay 4)
    
set_pdata_floatiEntity 48 fDelay 4)
}

public 
Fw_TraceLineFloat:vector_start[3] , Float:vector_end[3] , ignored_monster iPlayer handle )
{
    if ( ! 
is_user_connected iPlayer ) ) return FMRES_IGNORED;
    if ( ! 
is_user_aliveiPlayer ) ) return FMRES_IGNORED;
    if ( 
get_user_weaponiPlayer ) != CSW_KNIFE) return FMRES_IGNORED;
    if ( !
iAttackiPlayer ] ) return FMRES_IGNORED;
    if( 
zp_get_user_zombieiPlayer ) ) return FMRES_IGNORED;
    
    
peviPlayer pev_v_angle vector_end )
    
angle_vectorvector_end ANGLEVECTOR_FORWARD vector_end )
    
    if ( 
iAttackiPlayer ] == )
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack1_distanceiKnifeiPlayer ] ] ), vector_end )
    else
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack2_distanceiKnifeiPlayer ] ] ) , vector_end )
    
    
xs_vec_addvector_start vector_end vector_end )
    
engfuncEngFunc_TraceLine vector_start vector_end ignored_monster iPlayer handle )
    
    return 
FMRES_SUPERCEDE;
}

public 
Fw_TraceHullFloat:vector_start[3] , Float:vector_end[3] , ignored_monster iPlayer handle )
{
    if ( ! 
is_user_connected iPlayer ) ) return FMRES_IGNORED;
    if ( ! 
is_user_aliveiPlayer ) ) return FMRES_IGNORED;
    if ( 
get_user_weaponiPlayer ) != CSW_KNIFE) return FMRES_IGNORED;
    if ( !
iAttackiPlayer ] ) return FMRES_IGNORED;
    if( 
zp_get_user_zombieiPlayer ) ) return FMRES_IGNORED;
    
    
peviPlayer pev_v_angle vector_end )
    
angle_vectorvector_end ANGLEVECTOR_FORWARD vector_end )
    
    if ( 
iAttackiPlayer ] == )
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack1_distanceiKnifeiPlayer ] ] ), vector_end )
    else
        
xs_vec_mul_scalarvector_end get_pcvar_floatcvar_attack2_distanceiKnifeiPlayer ] ] ) , vector_end )
    
    
xs_vec_addvector_start vector_end vector_end )
    
engfuncEngFunc_TraceHull vector_start vector_end ignored_monster iPlayer handle )
    
    return 
FMRES_SUPERCEDE;
}

Set_SpriteiPlayer, const Weapon[ ] )
{
    if( ! 
pev_validiPlayer ) )
                return;

    
message_beginMSG_ONE get_user_msgid"WeaponList" ) , _iPlayer )
    
write_stringWeapon )
    
write_byte( -)
    
write_byte( -1)
    
write_byte( -)
    
write_byte( -)
    
write_byte)
    
write_byte)
    
write_byte29 )
    
write_byte)
    
message_end( )

Responder
#4
gracias amigo Neeeeeeeeeel.- no queda desabilitado
[Imagen: b5vf.jpg]
pero igual no lo pueden usar te lo agradesco
Responder
#5
Código PHP:
if ( iKey == && !( get_user_flagsiPlayer ) & ADMIN_KICK ) ) {
    
client_print(iPlayerprint_chat"Cuchillo hammer es solo para admins");
    return 
PLUGIN_HANDLED;
}
switch( 
iKey )
{
    case 
1iKnifeiPlayer ] = AXE
    
case 2iKnifeiPlayer ] = STRONG
    
case 3iKnifeiPlayer ] = COMBAT
    
case 4iKnifeiPlayer ] = HAMMER
}


//-->

switch( iKey )
{
    case 
1iKnifeiPlayer ] = AXE;
    case 
2iKnifeiPlayer ] = STRONG;
    case 
3iKnifeiPlayer ] = COMBAT;
    case 
4:
    {
        if( 
get_user_flagsiPlayer ) & ADMIN_KICK )
            
iKnifeiPlayer ] = HAMMER;
        
        else 
client_printiPlayerprint_chat"Cuchillo hammer es solo para admins" );
    }


(?

Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.

Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'

(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Responder
#6
Same shit.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)