Raised This Month: $32 Target: $400
 8% 

[ZP] Extra Item: Bubble Grenade (zombies atraviesan la bubble)


  
 
 
Thread Tools Display Modes
Author Message
leonard19941
Veteran Member
Join Date: Jun 2011
Old 08-15-2012 , 13:18   [ZP] Extra Item: Bubble Grenade (zombies atraviesan la bubble)
#1

Hola buenas, tengo un problema con la 'Bubble Grenade', resulta que la compro y al tirarla al suelo se

crea la burbuja, pero los zombies pueden entrar perfectamente, es como si no estuviera, pero el

modelo si que esta, bueno alguna solucion ?

Muchas gracias.


Spoiler


Spoiler


Spoiler



[ZP] Extra Item: Bubble Grenade

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <chatcolor>
#include <engine>
#include <fakemeta_util>
#include <hamsandwich>
#include <zombieplague>

#define VERSION "2.2"

#define BUBBLE_TIME_NAME    "Bubble Grenade (Short-Time)"
#define BUBBLE_ROUND_NAME    "Bubble Grenade (Complete Round)"

#define is_valid_touch(%1)    (is_user_alive(%1) && (zp_get_user_zombie(%1) || zp_get_user_nemesis(%1)))

#define BUBBLE_TASK
// #define BUBBLE_ROUND

// #define ONE_COLOR
#define RANDOM_COLOR

new const NADE_TYPE_BUBBLE 3679

#if defined ONE_COLOR
new FloatfBubble_Color] = 

    
255.0,    // R
    
0.0,    // G
    
0.0    // B
};
#endif

new iTrailColor] = 

    
000,    // R
    
255,    // G
    
255    // B
};

new 
FloatfMins] = { -100.0, -100.0, -100.0 };
new 
FloatfMaxs] = { 100.0100.0100.0 };

new const 
szEnt_BubbleGrenade[ ] = "bubble_grenade";

new const 
szPlayer_BubbleGrenade[ ] = "models/zombie_plague/bubble_grenade/p_bubblegrenade.mdl";
new const 
szView_BubbleGrenade[ ] = "models/zombie_plague/bubble_grenade/v_bubblegrenade.mdl";
new const 
szWorld_BubbleGrenade[ ] = "models/zombie_plague/bubble_grenade/w_bubblegrenade.mdl";
new const 
szBubbleModel[ ] = "models/zombie_plague/bubble_grenade/bubble.mdl";

new 
g_iTrailSpr;
new const 
szSprite_GrenadeTrail[ ] = "sprites/laserbeam.spr";

new 
g_pCvarBGPushingForceg_pCvarBGFlareGrenades;

new 
g_iBubbleGrenadeg_iBubbleId;
const 
szBubbleCost 30;

public 
plugin_init( )
{
    
register_plugin"[ZP] Extra Item: Bubble Grenade"VERSION"Luqqas" );
    
    
// Push cvar, only float's numbers.
    
g_pCvarBGPushingForce register_cvar"zp_pushing_force""13.0" );
    
    
g_pCvarBGFlareGrenades get_cvar_pointer"zp_flare_grenades" );
    
    
RegisterHamHam_Killed"player""Fw_PlayerKilled" );
    
RegisterHamHam_Think"grenade""Fw_ThinkGrenade" );
    
RegisterHamHam_Item_Deploy"weapon_smokegrenade""Fw_Item_Deploy");
    
    
register_forwardFM_SetModel"Fw_SetModel" );
    
register_forwardFM_Touch"Fw_Touch" );
    
    
register_event"HLTV""Event_HLTV""a""1=0""2=0" );
    
    
#if defined BUBBLE_ROUND
    
g_iBubbleId zp_register_extra_itemBUBBLE_ROUND_NAMEszBubbleCost ZP_TEAM_HUMAN );
    
#else 
    
g_iBubbleId zp_register_extra_itemBUBBLE_TIME_NAMEszBubbleCostZP_TEAM_HUMAN );
    
#endif
}

public 
plugin_precache( )
{
    
engfuncEngFunc_PrecacheModelszPlayer_BubbleGrenade );
    
engfuncEngFunc_PrecacheModelszView_BubbleGrenade );
    
engfuncEngFunc_PrecacheModelszWorld_BubbleGrenade );
    
engfuncEngFunc_PrecacheModelszBubbleModel );
    
    
g_iTrailSpr engfuncEngFunc_PrecacheModelszSprite_GrenadeTrail );
}

public 
zp_extra_item_selectediPlayeriItemId )
{
    if( 
iItemId == g_iBubbleId )
    {
        if( 
g_iBubbleGrenade & ( << ( iPlayer 32 ) ) )
            
ChatColoriPlayer"!g[ Bubble Grenade ] !yYou already have a bubble." );
        else 
        {
            
g_iBubbleGrenade |= ( << ( iPlayer 32 ) )
            
            if( !
user_has_weaponiPlayerCSW_SMOKEGRENADE ) )
                
fm_give_itemiPlayer"weapon_smokegrenade" );
            
            
#if defined BUBBLE_ROUND
            
ChatColoriPlayer"!g[ Bubble Grenade ] !yYou bought a bubble!. This, lasts 1 round complete." );
            
#else
            
ChatColoriPlayer"!g[ Bubble Grenade ] !yYou bought a bubble!. This, lasts very little!" );
            
#endif
        
}
    }
}

public 
zp_user_infected_postiInfectediInfector )
{
    if( 
g_iBubbleGrenade & ( << ( iInfected 32 ) ) )
        
g_iBubbleGrenade &= ~( << ( iInfected 32 ) );
}

public 
Fw_PlayerKillediVictimiAttackeriShouldGib )
{
    if( ( 
<= iAttacker <= 32 ) && ( g_iBubbleGrenade & ( << ( iVictim 32 ) ) ) )
        
g_iBubbleGrenade &= ~( << ( iVictim 32 ) )
}

public 
Fw_ThinkGrenadeiEnt )
{   
    if( !
pev_validiEnt ) )
        return 
HAM_IGNORED;
    
    static 
FloatfDmgTime;
    
peviEntpev_dmgtimefDmgTime )
    
    if( 
fDmgTime get_gametime( ) )
        return 
HAM_IGNORED;
    
    if( 
peviEntpev_flTimeStepSound ) == NADE_TYPE_BUBBLE )
        
create_entiEnt )
    
    return 
HAM_SUPERCEDE;
}

create_entid )
{
    
set_pcvar_numg_pCvarBGFlareGrenades)
    
    new 
iEnt create_entity"info_target" )
    if( !
is_valid_entiEnt ) )
        return 
PLUGIN_HANDLED;
    
    new 
FloatfOrigin];
    
entity_get_vectoridEV_VEC_originfOrigin )
    
    
entity_set_stringiEntEV_SZ_classnameszEnt_BubbleGrenade )
    
    
entity_set_vectoriEntEV_VEC_originfOrigin )
    
entity_set_modeliEntszBubbleModel )
    
entity_set_intiEntEV_INT_solidSOLID_TRIGGER )
    
entity_set_sizeiEntfMinsfMaxs )
    
entity_set_intiEntEV_INT_renderfxkRenderFxGlowShell )
    
entity_set_intiEntEV_INT_rendermodekRenderTransAlpha )
    
entity_set_floatiEntEV_FL_renderamt50.0 )
    
    
#if defined BUBBLE_TASK
    
set_task13.0"delete_entity"iEnt )
    
#endif
    
    #if defined ONE_COLOR
    
entity_set_vectoriEntEV_VEC_rendercolorfBubble_Color )
    
#endif
    
    #if defined RANDOM_COLOR
    
if( is_valid_entiEnt ) )
    {
        new 
FloatfColor];
        for( new 
i3i++ )
            
fColor] = random_float0.0255.0 )
        
        
entity_set_vectoriEntEV_VEC_rendercolorfColor )
    }
    
#endif
    
    
return PLUGIN_CONTINUE;
}

public 
delete_entityiEnt )
{
    if( 
is_valid_entiEnt ) )
    
    
remove_entityiEnt );
}

public 
Fw_Item_DeployiEnt )
{
    if( 
pev_validiEnt ) != )
        return 
HAM_IGNORED;
    
    static const 
mPlayer 41;
    
    new 
id get_pdata_cbaseiEntmPlayer);
    if( ( 
g_iBubbleGrenade & ( << ( id 32 ) ) ) && !zp_get_user_zombieid ) )
    {
        
set_pevidpev_weaponmodel2szPlayer_BubbleGrenade );
        
set_pevidpev_viewmodel2szView_BubbleGrenade );
    }
    
    return 
HAM_IGNORED;
}

public 
Fw_SetModeliEnt, const szModel[ ] )
{
    static 
FloatfDmgTime;
    
peviEntpev_dmgtimefDmgTime )
    
    if( 
fDmgTime == 0.0 )
        return 
FMRES_IGNORED;
    
    if( 
equalszModel], "w_sm") )
    {        
        new 
iOwner peviEntpev_owner );
        if( 
is_user_aliveiOwner ) && !zp_get_user_zombieiOwner ) && ( g_iBubbleGrenade & ( << ( iOwner 32 ) ) ) )
        {
            
set_pcvar_numg_pCvarBGFlareGrenades)            
            
            
fm_set_renderingiEntkRenderFxGlowShell000255255kRenderNormal16 )
            
            
message_beginMSG_BROADCASTSVC_TEMPENTITY )
            
write_byteTE_BEAMFOLLOW )
            
write_shortiEnt )
            
write_shortg_iTrailSpr )
            
write_byte10 )
            
write_byte10 )
            
write_byteiTrailColor] ) // R
            
write_byteiTrailColor] ) // G
            
write_byteiTrailColor] ) // B
            
write_byte500 // Brightness.
            
message_end( )
            
            
set_peviEntpev_flTimeStepSoundNADE_TYPE_BUBBLE )
            
            
set_task6.0"delete_entity_grenade"iEnt )
            
g_iBubbleGrenade &= ~( << ( iOwner 32 ) )
            
entity_set_modeliEntszWorld_BubbleGrenade )
            return 
FMRES_SUPERCEDE;
        }
    }
    return 
FMRES_IGNORED;
}

public 
delete_entity_grenadeiEnt )
{
    if( 
is_valid_entiEnt ) )
        
remove_entityiEnt )
}

public 
Fw_TouchiEntiTouched )
{
    if( !
pev_validiEnt ) )
        return 
FMRES_IGNORED;
    
    static 
g_iEntClass32 ];
    
peviEntpev_classnameg_iEntClasscharsmaxg_iEntClass ) );
    
    if( 
strcmpg_iEntClassszBubbleModel ) == )
    {    
        if( 
is_valid_touchiTouched ) )
        {
            static 
FloatfPos_Ptr], FloatfPos_Ptd];
            new 
FloatfPush_Power get_pcvar_floatg_pCvarBGPushingForce );
            
            
peviEntpev_originfPos_Ptr )
            
peviTouchedpev_originfPos_Ptd )
            
            for( new 
03i++ )
            {
                
fPos_Ptd] -= fPos_Ptr]
                
fPos_Ptd] *= fPush_Power
            
}
            
set_peviTouchedpev_velocityfPos_Ptd )
            
set_peviTouchedpev_impulsefPos_Ptd )
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
Event_HLTV( )
{
    
#if defined BUBBLE_ROUND
    
remove_entity_nameszEnt_BubbleGrenade )
    
#endif
    
    
g_iBubbleGrenade 0;
}

public 
client_disconnectid )
    
g_iBubbleGrenade &= ~( << ( id 32 ) ) 
Attached Thumbnails
Click image for larger version

Name:	de_dust20006.JPG
Views:	1455
Size:	88.4 KB
ID:	107852   Click image for larger version

Name:	de_dust20007.JPG
Views:	982
Size:	88.6 KB
ID:	107853   Click image for larger version

Name:	de_dust20009.JPG
Views:	942
Size:	83.9 KB
ID:	107854  
__________________

Last edited by leonard19941; 08-15-2012 at 17:52.
leonard19941 is offline
 



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:05.


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