Raised This Month: $ Target: $400
 0% 

Class Boomer not explode


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 06-01-2009 , 15:25   Class Boomer not explode
Reply With Quote #1

hmm... why boomer not explode, when i killed he?
PHP Code:
#include <amxmodx> 
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <cstrike>
    
#define PLUGINNAME        "[L4D] Class Boomer"
#define VERSION           "1.0"
#define AUTHOR            "xFrost"
   
new const ZOMBIE_MODEL[] = "Boomer"
#define MODELSET_TASK 100
#define MODELCHANGE_DELAY 0.5
new Float:g_models_targettime
new Float:g_roundstarttime
   
new g_has_custom_model[33]
new 
g_player_model[33][32]
new 
g_zombie[33]
      
new 
explosiong_maxplayerswhitesmoke
new bool:lamuerteexplosiva[33] = false
       
new g_sndExplode[] = "umbrella/boomer_boom.wav"
            
public plugin_init()
{  
    
register_plugin(PLUGINNAMEVERSIONAUTHOR)
    
register_event("DeathMsg""boomer_death""a")
    
register_event("HLTV""event_round_start""a""1=0""2=0")
       
    
RegisterHam(Ham_Spawn"player""fw_PlayerSpawn"1)
          
    
register_forward(FM_SetClientKeyValue"fw_SetClientKeyValue")
    
register_forward(FM_ClientUserInfoChanged"fw_ClientUserInfoChanged")
   
    
g_maxplayers get_maxplayers() 
}

public 
plugin_precache() 
{
    
explosion precache_model("sprites/zerogxplode.spr")
    
white precache_model("sprites/white.spr")
    
smoke precache_model("sprites/steam1.spr")
    
precache_sound(g_sndExplode

    new 
modelpath[100]
    
formatexmodelpathcharsmaxmodelpath ), "models/player/%s/%s.mdl"ZOMBIE_MODELZOMBIE_MODEL )
    
engfuncEngFunc_PrecacheModelmodelpath )


public 
event_round_start()
{
    
g_roundstarttime get_gametime()
}

public 
fw_PlayerSpawnid )
{
    if ( !
is_user_aliveid ) || !cs_get_user_teamid ) )
        return;
    
    
g_zombie[id] = cs_get_user_teamid ) == CS_TEAM_T true false;
    
    
remove_taskid MODELSET_TASK )
    
    if ( 
g_zombie[id] )
    {
        
copyg_player_model[id], charsmaxg_player_model[] ), ZOMBIE_MODEL )

        new 
currentmodel[32]
        
fm_get_user_modelidcurrentmodelcharsmaxcurrentmodel ) )
        
        if ( !
equalcurrentmodelg_player_model[id] ) )
        {
            if ( 
get_gametime() - g_roundstarttime 5.0 )
                
set_task5.0 MODELCHANGE_DELAY"fm_user_model_update"id MODELSET_TASK )
            else
                
fm_user_model_updateid MODELSET_TASK )
        }
    }
    else if ( 
g_has_custom_model[id] )
    {
        
fm_reset_user_modelid )
    }
}

public 
fw_SetClientKeyValueid, const infobuffer[], const key[] )
{   
    if ( 
g_has_custom_model[id] && equalkey"model" ) )
        return 
FMRES_SUPERCEDE;
    
    return 
FMRES_IGNORED;
}

public 
fw_ClientUserInfoChangedid )
{
    if ( !
g_has_custom_model[id] )
        return 
FMRES_IGNORED;
    
    static 
currentmodel[32]
    
fm_get_user_modelidcurrentmodelcharsmaxcurrentmodel ) )
    
    if ( !
equalcurrentmodelg_player_model[id] ) && !task_existsid MODELSET_TASK ) )
        
fm_set_user_modelid MODELSET_TASK )
    
    return 
FMRES_IGNORED;
}

public 
fm_user_model_updatetaskid )
{
    static 
Float:current_time
    current_time 
get_gametime()
    
    if ( 
current_time g_models_targettime >= MODELCHANGE_DELAY )
    {
        
fm_set_user_modeltaskid )
        
g_models_targettime current_time
    
}
    else
    {
        
set_task( (g_models_targettime MODELCHANGE_DELAY) - current_time"fm_set_user_model"taskid )
        
g_models_targettime g_models_targettime MODELCHANGE_DELAY
    
}
}

public 
fm_set_user_modelplayer )
{
    
player -= MODELSET_TASK
    
    engfunc
EngFunc_SetClientKeyValueplayerengfuncEngFunc_GetInfoKeyBufferplayer ), "model"g_player_model[player] )
 
    
g_has_custom_model[player] = true
}

public 
user_infected_post(playerinfector)
{
    if (
get_user_team(player) == 1) {
        
lamuerteexplosiva[player] = true
        client_print
(playerprint_chat"[ZP] Explode after die!"
    }


public 
user_humanized_post(player)
{
    
lamuerteexplosiva[player] = false
}

public 
boomer_death() {
    
    new 
attacker read_data(1)
    new 
victim read_data(2)
    
    if(
lamuerteexplosiva[victim]) { 

        static 
victim_name[33]
        static 
attacker_name[33]
        
get_user_name(victimvictim_namesizeof victim_name -1)
        
get_user_name(attackerattacker_namesizeof attacker_name -1)
        
user_kill(attacker)
        
server_print("[ZP] %s was %s who die too !!!"victim_nameattacker_name)
        
        for (new 
id2id2 <= g_maxplayersid2++)
        {
            if (
get_user_team(id2) == 1)
            {  
                static 
Float:vOrigin[3], Float:vOrigin2[3]
                
pev(victimpev_originvOrigin)
                
pev(id2pev_originvOrigin2)
                
                new 
Float:fOrigin[3]
                new 
iOrigin[3
                
                
entity_get_vector(id2EV_VEC_originfOrigin)
                
FVecIVec(fOrigin,iOrigin)

                {
                
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
                
write_byte(3//TE_EXPLOSION
                
write_coord(iOrigin[0])
                
write_coord(iOrigin[1])
                
write_coord(iOrigin[2] + 5)
                
write_short(explosion)
                
write_byte(30)
                
write_byte(15)
                
write_byte(0)
                
message_end()
                }

                {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(5// TE_SMOkE
        
write_coord(iOrigin[0]) // startorigin
        
write_coord(iOrigin[1])
        
write_coord(iOrigin[2] + 15)
        
write_short(smoke// sprite
        
write_byte(60)
        
write_byte(10)
        
message_end()
                }
                
                {
                
message_beginMSG_BROADCAST,SVC_TEMPENTITY,iOrigin )
                
write_byte21 //TE_BEAMCYLINDER
                
write_coordiOrigin[0] )
                
write_coordiOrigin[1] )
                
write_coordiOrigin[2] )
                
write_coordiOrigin[0] )
                
write_coordiOrigin[1] )
                
write_coordiOrigin[2]+200 )
                
write_shortwhite )
                
write_byte)
                
write_byte)
                
write_byte)
                
write_byte)
                
write_byte)
                
write_byte255 )
                
write_byte255 )
                
write_byte192 )
                
write_byte128 )
                
write_byte)
                
message_end() 
                }
                
                {
                
emit_sound(victim,CHAN_STATIC"g_sndExplode"1.0ATTN_NORM0PITCH_NORM)
                }
                
            new 
g_hs
            
new uWeaponName[32]

            
user_silentkill(id2)
            
g_hs random_num(01)
            
format(uWeaponName31"grenade")
            
make_deathmsg(id2g_hsuWeaponName)

                if(
vector_distance(vOriginvOrigin2) < 250)
                {
                    
user_kill(id2)
                }
            }
        }
        
lamuerteexplosiva[victim] = false
    
}
}

public 
client_disconnect(id
{
    
lamuerteexplosiva[id] = false
}  

public 
client_putinserver(id
{
    
lamuerteexplosiva[id] = false
}  

stock fm_get_user_modelplayermodel[], len )
{
    
engfuncEngFunc_InfoKeyValueengfuncEngFunc_GetInfoKeyBufferplayer ), "model"modellen )
}

stock fm_reset_user_modelplayer )
{
    
g_has_custom_model[player] = false
    
    dllfunc
DLLFunc_ClientUserInfoChangedplayerengfuncEngFunc_GetInfoKeyBufferplayer ) )

~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 06-01-2009 , 15:30   Re: Class Boomer not explode
Reply With Quote #2

Try to debug yourself using some client_print(), first.
__________________
Arkshine is offline
Reply


Thread Tools
Display Modes

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 13:52.


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