Como puedo hacer el humo mas espeso
#1
Código PHP:
//--------------------------------------------------------------------------------------------------

/*
//-------------------------------------------
Colored Smoke V1.2

- Ramdomly colors of smoke
//-------------------------------------------
Minor Update :
(by Daniels)
//-------------------------------------------
 V1.2     - Fix cvar sv_colored_smoke and change to amx_cosm_enable.
    - Add For-Admins-Only cvar amx_cosm_admins 0|1 (default : 0).
//-------------------------------------------
*/

//-------------------------------------------
#include < amxmodx >
//-------------------------------------------
#include < engine >
//-------------------------------------------
#include < fakemeta >
//-------------------------------------------
#define VERSION "1.2"
//-------------------------------------------
new const g_szClassname[] = "colored_smokenade";
new 
g_szSmokeSprites] , g_Cvar_Enabled g_Admin;
//-------------------------------------------

public plugin_init( ) {
    
//-------------------------------------------
    
register_plugin"Colored Smoke"VERSION"xPaw" );
    
//-------------------------------------------
    
register_cvar"colored_smoke"VERSIONFCVAR_SERVER FCVAR_SPONLY );
    
set_cvar_string"colored_smoke"VERSION );
    
//-------------------------------------------
    
g_Cvar_Enabled register_cvar"amx_cosm_enable""1" );
    
g_Admin register_cvar"amx_cosm_admins""0" );
    
//-------------------------------------------
    
register_forwardFM_EmitSound"FwdEmitSound" );
    
register_touchg_szClassname"worldspawn""FwdTouch_FakeSmoke" );
    
register_thinkg_szClassname"FwdThink_FakeSmoke" );
    
//-------------------------------------------
}

//-------------------------------------------
// Precatching sprites
//-------------------------------------------
public plugin_precache( ) {
    
g_szSmokeSprites] = precache_model"sprites/gas_puff_01y.spr" );
    
g_szSmokeSprites] = precache_model"sprites/gas_puff_01r.spr" );
    
g_szSmokeSprites] = precache_model"sprites/gas_puff_01b.spr" );
    
g_szSmokeSprites] = precache_model"sprites/gas_puff_01g.spr" );
    
g_szSmokeSprites] = precache_model"sprites/gas_puff_01m.spr" );
    
g_szSmokeSprites] = precache_model"sprites/gas_puff_01o.spr" );
    
    
precache_sound"weapons/grenade_hit1.wav" );
}

//-------------------------------------------
// Smoke Grenade's Explosion / Emiting sound of explosion
//-------------------------------------------

public FwdEmitSoundiOrigEntiChannel, const szSample[], Float:fVolFloat:fAttniFlagsiPitch ) {
    
//-------------------------------------------
    
new iCvar get_pcvar_numg_Cvar_Enabled ); 
    new 
AdminCvar get_pcvar_numg_Admin );
    new 
BeHonestly read_data(2
    
//-------------------------------------------    

    
if(AdminCvar != 0) {
        
        if(
get_user_flags(BeHonestly) & ADMIN_BAN
                
        return 
PLUGIN_HANDLED
    
}
    
    if( 
iCvar ) {
        static const 
szSmokeSound[] = "weapons/sg_explode.wav";
        
        if( 
equalszSampleszSmokeSound ) ) {
            
// cache origin, angles and model
            
new Float:vOrigin], Float:vAngles], szModel64 ], iOwner;
            
iOwner entity_get_edictiOrigEntEV_ENT_owner );
            
entity_get_vectoriOrigEntEV_VEC_originvOrigin );
            
entity_get_vectoriOrigEntEV_VEC_anglesvAngles );
            
entity_get_stringiOrigEntEV_SZ_modelszModelcharsmaxszModel ) );
            
//-------------------------------------------            

            // remove entity from world
            
entity_set_vectoriOrigEntEV_VEC_originFloat:{ 9999.99999.99999.9 } );
            
entity_set_intiOrigEntEV_INT_flagsFL_KILLME );
            
//-------------------------------------------
            
            // create new entity
            
new iEntity create_entity"info_target" );
            
//-------------------------------------------
            
if( iEntity ) {
                
entity_set_stringiEntityEV_SZ_classnameg_szClassname );
                
                
entity_set_originiEntityvOrigin );
                
entity_set_vectoriEntityEV_VEC_anglesvAngles );
                
                
entity_set_intiEntityEV_INT_movetypeMOVETYPE_TOSS );
                
entity_set_intiEntityEV_INT_solidSOLID_BBOX );
                
                
entity_set_floatiEntityEV_FL_nextthinkget_gametime( ) + 21.5 );
                
entity_set_floatiEntityEV_FL_gravity0.5 );
                
entity_set_floatiEntityEV_FL_friction0.8 );
                
                
entity_set_modeliEntityszModel );
                
//-------------------------------------------
                
new Float:vVelocity];
                
//-------------------------------------------
                
vVelocity] = random_float( -220.0220.0 );
                
vVelocity] = random_float( -220.0220.0 );
                
vVelocity] = random_float(  200.0300.0 );
                
entity_set_vectoriEntityEV_VEC_velocityvVelocity );
                
                
emit_soundiEntityiChannelszSamplefVolfAttniFlagsiPitch );
                
                
// Create fake smoke
                
new iSmoke;
                
//-------------------------------------------                

                
if( iCvar == )
                    
iSmoke get_user_teamiOwner ); // i did indexes as team, 1 - red, 2 - blue, 3 - green( spec oO )
                
else
                    
iSmoke random_num0);
                
                
// Store the smoke number in entity, we will use it later
                
entity_set_intiEntityEV_INT_iuser4iSmoke );
                
//-------------------------------------------
                
                
message_beginMSG_BROADCASTSVC_TEMPENTITY );
                
write_byteTE_FIREFIELD );
                
engfuncEngFunc_WriteCoordvOrigin] );
                
engfuncEngFunc_WriteCoordvOrigin] );
                
engfuncEngFunc_WriteCoordvOrigin] + 50 );
                
write_short100 );
                
write_shortg_szSmokeSpritesiSmoke ] );
                
write_byte100 );
                
write_byteTEFIRE_FLAG_ALPHA );
                
write_byte1000 );
                
message_end();
                
                
message_beginMSG_BROADCASTSVC_TEMPENTITY );
                
write_byteTE_FIREFIELD );
                
engfuncEngFunc_WriteCoordvOrigin] );
                
engfuncEngFunc_WriteCoordvOrigin] );
                
engfuncEngFunc_WriteCoordvOrigin] + 50 );
                
write_short150 );
                
write_shortg_szSmokeSpritesiSmoke ] );
                
write_byte10 );
                
write_byteTEFIRE_FLAG_ALPHA TEFIRE_FLAG_SOMEFLOAT );
                
write_byte1000 );
                
message_end( );
            }
        }
    }
    return 
1
}

//-------------------------------------------
//Faking Smoke
//-------------------------------------------

public FwdTouch_FakeSmokeiEntityiWorld ) {
    if( !
is_valid_entiEntity ) )
        return 
PLUGIN_CONTINUE;
    
    
// Bounce sound
    
emit_soundiEntityCHAN_VOICE"weapons/grenade_hit1.wav"0.25ATTN_NORM0PITCH_NORM );
    
//-------------------------------------------
    
new Float:vVelocity];
    
entity_get_vectoriEntityEV_VEC_velocityvVelocity );
    
//-------------------------------------------
    
    
if( vVelocity] <= 0.0 && vVelocity] <= 0.0 ) {
        
//-------------------------------------------
        
new Float:vOrigin];
        new 
iSmoke entity_get_intiEntityEV_INT_iuser4 );
        
entity_get_vectoriEntityEV_VEC_originvOrigin );
        
//-------------------------------------------
        
        // Make small smoke near grenade on ground
        
message_beginMSG_BROADCASTSVC_TEMPENTITY );
        
write_byteTE_FIREFIELD );
        
engfuncEngFunc_WriteCoordvOrigin] );
        
engfuncEngFunc_WriteCoordvOrigin] );
        
engfuncEngFunc_WriteCoordvOrigin] + 10 );
        
write_short);
        
write_shortg_szSmokeSpritesiSmoke ] );
        
write_byte);
        
write_byteTEFIRE_FLAG_ALLFLOAT TEFIRE_FLAG_ALPHA );
        
write_byte30 );
        
message_end();
        
//-------------------------------------------
    
}
    
    return 
PLUGIN_CONTINUE;
}

//-------------------------------------------
// Thinking if the fake smoke is entity
//-------------------------------------------

public FwdThink_FakeSmokeiEntity ) {
    if( !
is_valid_entiEntity ) )
        return 
PLUGIN_CONTINUE;
    
    
remove_entityiEntity );
    
    return 
PLUGIN_CONTINUE;
}
//--------------------------------------------------------------------------------------------------
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)