Ayuda no le da la pipe bomb
#1
Hola buenas queria ver si me puede ayudar con este plugin lo adapte para que funcionara en el modo normal y le puse register_clcmd("pipebomb", "g_pipe", ADMIN_KICK) para que al escribir en consola pipebomb me la de, pero lo que pasa esque no me da nada probe de todas las formas, solo quiero que me de la pipebomb al escribir ese comando en consola alguien me lo puede arreglar porfavor se lo agradeceria mucho. Whatdone

Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <fun>
#include <cstrike>

#define NADE_TYPE_PIPEBOMB 5688

const m_pPlayer 41;
new const 
g_trailspr[] ="sprites/laserbeam.spr";
new const 
g_firespr[] = "sprites/zerogxplode.spr";
new const 
g_sound[] = "zombie_plague/pipe_beep.wav";
new const 
g_vmodel[] = "models/zombie_plague/v_pipe.mdl";
new const 
g_pmodel[] = "models/zombie_plague/p_pipe.mdl";
new const 
g_wmodel[] = "models/zombie_plague/w_pipe.mdl";
new 
cvar_radiuscvar_damage
new g_trailg_fireg_MaxPlayersg_pipeboolg_has_pipe[33]

public 
plugin_init()
{
    
register_plugin("[ZP] Extra Item: Pipe Bomb""1.0""lambda");
    
register_forward(FM_SetModel,"fw_SetModel"1);
    
RegisterHam(Ham_Think"grenade""fw_ThinkGren");
    
RegisterHam(Ham_Item_Deploy"weapon_smokegrenade""fw_smDeploy"1);
    
    
// Cvars
    
cvar_radius register_cvar "zp_pipe_radius""500");
    
cvar_damage register_cvar("zp_pipe_damage""1400.0");
    
    
    
g_MaxPlayers get_maxplayers()
    
register_clcmd("pipebomb""g_pipe"ADMIN_KICK)
}

public 
plugin_precache()
{
    
precache_model(g_vmodel);
    
precache_model(g_pmodel);
    
precache_model(g_wmodel);
    
precache_sound(g_sound);
    
g_fire precache_model(g_firespr);
    
g_trail precache_model(g_trailspr);
}

public 
replace_models(id)
{
    if(
get_user_weapon(id) == CSW_SMOKEGRENADE)
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
}

public 
fw_smDeploy(const iEntity)
{
    if(
pev_valid(iEntity) != 2)
        return 
HAM_IGNORED;
    
    new 
id get_pdata_cbase(iEntitym_pPlayer4);
    
    if(
g_has_pipe[id] && !is_user_alive(id) && is_user_alive(id))
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
    
    return 
HAM_IGNORED;
}

public 
zp_extra_item_selected(iditemid)
{
    if(
itemid != g_pipe)
        return 
PLUGIN_HANDLED
    
    
if (g_has_pipe[id])
        return 
PLUGIN_HANDLED
    
    
if(itemid == g_pipe)
    {
        
g_has_pipe[id] = true;
        new 
was cs_get_user_bpammo(idCSW_SMOKEGRENADE);
        
        if(
was >= 1)
        
cs_set_user_bpammo(idCSW_SMOKEGRENADEwas 1);
        else
        
give_item(id"weapon_smokegrenade");
        
        
replace_models(id);
    }
    
    return 
PLUGIN_CONTINUE
}

public 
client_connect(id)
{
    
g_has_pipe[id] = false
}

public 
client_disconnect(id)
{
    
g_has_pipe[id] = false
}

public 
zp_user_infected_post(id)
{
    
g_has_pipe[id] = false;
}
        
public 
zp_user_humanized_post(id)
{
    
g_has_pipe[id] = false;
}

public 
fw_SetModel(entity, const model[])
{
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime
    pev
(entitypev_dmgtimedmgtime)
    
    if(!
pev_valid(entity) || !dmgtime || !g_has_pipe[owner])
        return 
FMRES_IGNORED;
    
    if (
model[9] == 's' && model[10] == 'm')
    {
        
entity_set_model(entityg_wmodel);
        
        
set_rendering(entitykRenderFxGlowShell12800kRenderNormal16);
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW// TE id
        
write_short(entity// entity
        
write_short(g_trail// sprite
        
write_byte(10// life
        
write_byte(10// width
        
write_byte(128// r
        
write_byte(0// g
        
write_byte(0// b
        
write_byte(255// brightness
        
message_end()
        
        
set_pev(entitypev_flTimeStepSoundNADE_TYPE_PIPEBOMB)
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
fw_ThinkGren(entity// Grenade think event
{
    if (!
pev_valid(entity))
        return 
HAM_IGNORED;
        
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime    
    pev
(entitypev_dmgtimedmgtime)
    
    if (!
g_has_pipe[owner] || dmgtime get_gametime())
        return 
HAM_IGNORED;
    
    if(
pev(entitypev_flTimeStepSound) == NADE_TYPE_PIPEBOMB)
    {
        
g_has_pipe[owner] = false
        set_task
(0.1"hook"entity__"a"15);
        
set_task(1.5"deleteGren"entity)
        
        new 
Float:originF[3]
        
pev(entitypev_originoriginF);
        
        
light(originF)
        return 
HAM_SUPERCEDE
    
}
    
    return 
HAM_IGNORED;
}

public 
hook(entity)
{
    if (!
pev_valid(entity))
    {
        
remove_task(entity)
        return
    }
    
    
emit_sound(entityCHAN_WEAPONg_sound1.0ATTN_NORM0PITCH_HIGH);
    
    static 
Float:entOrigin[3], flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originentOrigin);
    
    
flOrigin[0] = floatround(entOrigin[0])
    
flOrigin[1] = floatround(entOrigin[1])
    
flOrigin[2] = floatround(entOrigin[2])

    for (new 
1<= g_MaxPlayersi++)
    {
        if(!
is_user_alive(i) || !is_user_alive(i))
            continue
        
        
get_user_origin(iPlayerPos)
        
        
distance get_distance(PlayerPosflOrigin)
        
        if (
distance <= get_pcvar_num(cvar_radius)) 
        {
            new 
Float:fl_Velocity[3]
            
            if (
distance 25)
            {
                new 
Float:fl_Time distance 650.0
                
                fl_Velocity
[0] = (flOrigin[0] - PlayerPos[0]) / fl_Time
                fl_Velocity
[1] = (flOrigin[1] - PlayerPos[1]) / fl_Time
                fl_Velocity
[2] = (flOrigin[2] - PlayerPos[2]) / fl_Time
            
}
            else
            {
                
fl_Velocity[0] = 0.0
                fl_Velocity
[1] = 0.0
                fl_Velocity
[2] = 0.0
            
}
            
            
entity_set_vector(iEV_VEC_velocityfl_Velocity)
        }
    }
}

public 
deleteGren(entity)
{
    if (!
pev_valid(entity))
        return
    
    new 
Float:originF[3]
    
pev(entitypev_originoriginF);
    
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordoriginF[0])
    
engfunc(EngFunc_WriteCoordoriginF[1])
    
engfunc(EngFunc_WriteCoordoriginF[2])
    
write_short(g_fire//sprite index
    
write_byte(25// scale in 0.1's
    
write_byte(10// framerate
    
write_byte(0// flags
    
message_end()
    
    static 
flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originoriginF);
    new 
attacker pev(entitypev_owner)
    
    
flOrigin[0] = floatround(originF[0])
    
flOrigin[1] = floatround(originF[1])
    
flOrigin[2] = floatround(originF[2])
    
    for (new 
1<= g_MaxPlayersi++)
    {
        if(
is_user_alive(i)) 
        {
            if(!
is_user_alive(i) || !is_user_alive(i))
            continue
            
            
get_user_origin(iPlayerPos)
            
            
distance get_distance(PlayerPosflOrigin)
            
            if (
distance <= get_pcvar_num(cvar_radius)) 
            {
                if(
get_user_health(i) - get_pcvar_float(cvar_damage) > 0)
                    
fakedamage(i"Pipe Bomb"get_pcvar_float(cvar_damage), 256);
                else
                    
ExecuteHamB(Ham_Killediattacker2)
                    
                static 
FloatoriginP[3]
                
pev(ipev_originoriginP)
                
                
originP[0] = (originF[0] - flOrigin[0]) * 10.0 
                originP
[1] = (originP[1] - flOrigin[1]) * 10.0 
                originP
[2] = (originP[2] - flOrigin[2]) + 550.0 float(distance)
                
                
set_pev(ipev_velocityoriginP)
            }
        }
    }
    
    
remove_task(entity)
    
remove_entity(entity)
}

public 
light(const Float:originF[3])  // Blast ring and small red light around nade from zombie_plague40.sma. Great thx, MeRcyLeZZ!!! ;)
{
    
// Lighting
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginF0);
    
write_byte(TE_DLIGHT); // TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]); // x
    
engfunc(EngFunc_WriteCoordoriginF[1]); // y
    
engfunc(EngFunc_WriteCoordoriginF[2]); // z
    
write_byte(5); // radius
    
write_byte(128); // r
    
write_byte(0); // g
    
write_byte(0); // b
    
write_byte(51); //life
    
write_byte(0); //decay rate
    
message_end();

Responder
#2
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <fun>
#include <cstrike>

#define NADE_TYPE_PIPEBOMB 5688

const m_pPlayer 41;
new const 
g_trailspr[] ="sprites/laserbeam.spr";
new const 
g_firespr[] = "sprites/zerogxplode.spr";
new const 
g_sound[] = "zombie_plague/pipe_beep.wav";
new const 
g_vmodel[] = "models/zombie_plague/v_pipe.mdl";
new const 
g_pmodel[] = "models/zombie_plague/p_pipe.mdl";
new const 
g_wmodel[] = "models/zombie_plague/w_pipe.mdl";
new 
cvar_radiuscvar_damage
new g_trailg_fireg_MaxPlayers/*, g_pipe*/boolg_has_pipe[33]

public 
plugin_init()
{
    
register_plugin("[ZP] Extra Item: Pipe Bomb""1.0""lambda");
    
register_forward(FM_SetModel,"fw_SetModel"1);
    
RegisterHam(Ham_Think"grenade""fw_ThinkGren");
    
RegisterHam(Ham_Item_Deploy"weapon_smokegrenade""fw_smDeploy"1);
    
    
// Cvars
    
cvar_radius register_cvar "zp_pipe_radius""500");
    
cvar_damage register_cvar("zp_pipe_damage""1400.0");
    
    
    
g_MaxPlayers get_maxplayers()
    
register_clcmd("pipebomb""zp_extra_item_selected")
}

public 
plugin_precache()
{
    
precache_model(g_vmodel);
    
precache_model(g_pmodel);
    
precache_model(g_wmodel);
    
precache_sound(g_sound);
    
g_fire precache_model(g_firespr);
    
g_trail precache_model(g_trailspr);
}

public 
replace_models(id)
{
    if(
get_user_weapon(id) == CSW_SMOKEGRENADE)
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
}

public 
fw_smDeploy(const iEntity)
{
    if(
pev_valid(iEntity) != 2)
        return 
HAM_IGNORED;
    
    new 
id get_pdata_cbase(iEntitym_pPlayer4);
    
    if(
g_has_pipe[id] && !is_user_alive(id) && is_user_alive(id))
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
    
    return 
HAM_IGNORED;
}

public 
zp_extra_item_selected(id)
{   
    if (
g_has_pipe[id])
        return 
PLUGIN_HANDLED
    
    
if(get_user_flags(id) & ADMIN_KICK)
    {
        
g_has_pipe[id] = true;
        new 
was cs_get_user_bpammo(idCSW_SMOKEGRENADE);
        
        if(
was >= 1)
        
cs_set_user_bpammo(idCSW_SMOKEGRENADEwas 1);
        else
        
give_item(id"weapon_smokegrenade");
        
        
replace_models(id);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
client_connect(id)
{
    
g_has_pipe[id] = false
}

public 
client_disconnect(id)
{
    
g_has_pipe[id] = false
}

public 
zp_user_infected_post(id)
{
    
g_has_pipe[id] = false;
}
        
public 
zp_user_humanized_post(id)
{
    
g_has_pipe[id] = false;
}

public 
fw_SetModel(entity, const model[])
{
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime
    pev
(entitypev_dmgtimedmgtime)
    
    if(!
pev_valid(entity) || !dmgtime || !g_has_pipe[owner])
        return 
FMRES_IGNORED;
    
    if (
model[9] == 's' && model[10] == 'm')
    {
        
entity_set_model(entityg_wmodel);
        
        
set_rendering(entitykRenderFxGlowShell12800kRenderNormal16);
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW// TE id
        
write_short(entity// entity
        
write_short(g_trail// sprite
        
write_byte(10// life
        
write_byte(10// width
        
write_byte(128// r
        
write_byte(0// g
        
write_byte(0// b
        
write_byte(255// brightness
        
message_end()
        
        
set_pev(entitypev_flTimeStepSoundNADE_TYPE_PIPEBOMB)
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
fw_ThinkGren(entity// Grenade think event
{
    if (!
pev_valid(entity))
        return 
HAM_IGNORED;
        
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime    
    pev
(entitypev_dmgtimedmgtime)
    
    if (!
g_has_pipe[owner] || dmgtime get_gametime())
        return 
HAM_IGNORED;
    
    if(
pev(entitypev_flTimeStepSound) == NADE_TYPE_PIPEBOMB)
    {
        
g_has_pipe[owner] = false
        set_task
(0.1"hook"entity__"a"15);
        
set_task(1.5"deleteGren"entity)
        
        new 
Float:originF[3]
        
pev(entitypev_originoriginF);
        
        
light(originF)
        return 
HAM_SUPERCEDE
    
}
    
    return 
HAM_IGNORED;
}

public 
hook(entity)
{
    if (!
pev_valid(entity))
    {
        
remove_task(entity)
        return
    }
    
    
emit_sound(entityCHAN_WEAPONg_sound1.0ATTN_NORM0PITCH_HIGH);
    
    static 
Float:entOrigin[3], flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originentOrigin);
    
    
flOrigin[0] = floatround(entOrigin[0])
    
flOrigin[1] = floatround(entOrigin[1])
    
flOrigin[2] = floatround(entOrigin[2])

    for (new 
1<= g_MaxPlayersi++)
    {
        if(!
is_user_alive(i) || !is_user_alive(i))
            continue
        
        
get_user_origin(iPlayerPos)
        
        
distance get_distance(PlayerPosflOrigin)
        
        if (
distance <= get_pcvar_num(cvar_radius)) 
        {
            new 
Float:fl_Velocity[3]
            
            if (
distance 25)
            {
                new 
Float:fl_Time distance 650.0
                
                fl_Velocity
[0] = (flOrigin[0] - PlayerPos[0]) / fl_Time
                fl_Velocity
[1] = (flOrigin[1] - PlayerPos[1]) / fl_Time
                fl_Velocity
[2] = (flOrigin[2] - PlayerPos[2]) / fl_Time
            
}
            else
            {
                
fl_Velocity[0] = 0.0
                fl_Velocity
[1] = 0.0
                fl_Velocity
[2] = 0.0
            
}
            
            
entity_set_vector(iEV_VEC_velocityfl_Velocity)
        }
    }
}

public 
deleteGren(entity)
{
    if (!
pev_valid(entity))
        return
    
    new 
Float:originF[3]
    
pev(entitypev_originoriginF);
    
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordoriginF[0])
    
engfunc(EngFunc_WriteCoordoriginF[1])
    
engfunc(EngFunc_WriteCoordoriginF[2])
    
write_short(g_fire//sprite index
    
write_byte(25// scale in 0.1's
    
write_byte(10// framerate
    
write_byte(0// flags
    
message_end()
    
    static 
flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originoriginF);
    new 
attacker pev(entitypev_owner)
    
    
flOrigin[0] = floatround(originF[0])
    
flOrigin[1] = floatround(originF[1])
    
flOrigin[2] = floatround(originF[2])
    
    for (new 
1<= g_MaxPlayersi++)
    {
        if(
is_user_alive(i)) 
        {
            if(!
is_user_alive(i) || !is_user_alive(i))
            continue
            
            
get_user_origin(iPlayerPos)
            
            
distance get_distance(PlayerPosflOrigin)
            
            if (
distance <= get_pcvar_num(cvar_radius)) 
            {
                if(
get_user_health(i) - get_pcvar_float(cvar_damage) > 0)
                    
fakedamage(i"Pipe Bomb"get_pcvar_float(cvar_damage), 256);
                else
                    
ExecuteHamB(Ham_Killediattacker2)
                    
                static 
FloatoriginP[3]
                
pev(ipev_originoriginP)
                
                
originP[0] = (originF[0] - flOrigin[0]) * 10.0 
                originP
[1] = (originP[1] - flOrigin[1]) * 10.0 
                originP
[2] = (originP[2] - flOrigin[2]) + 550.0 float(distance)
                
                
set_pev(ipev_velocityoriginP)
            }
        }
    }
    
    
remove_task(entity)
    
remove_entity(entity)
}

public 
light(const Float:originF[3])  // Blast ring and small red light around nade from zombie_plague40.sma. Great thx, MeRcyLeZZ!!! ;)
{
    
// Lighting
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginF0);
    
write_byte(TE_DLIGHT); // TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]); // x
    
engfunc(EngFunc_WriteCoordoriginF[1]); // y
    
engfunc(EngFunc_WriteCoordoriginF[2]); // z
    
write_byte(5); // radius
    
write_byte(128); // r
    
write_byte(0); // g
    
write_byte(0); // b
    
write_byte(51); //life
    
write_byte(0); //decay rate
    
message_end();

[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#3
(20/04/2019, 08:38 PM)kikizon2 escribió:
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <fun>
#include <cstrike>

#define NADE_TYPE_PIPEBOMB 5688

const m_pPlayer 41;
new const 
g_trailspr[] ="sprites/laserbeam.spr";
new const 
g_firespr[] = "sprites/zerogxplode.spr";
new const 
g_sound[] = "zombie_plague/pipe_beep.wav";
new const 
g_vmodel[] = "models/zombie_plague/v_pipe.mdl";
new const 
g_pmodel[] = "models/zombie_plague/p_pipe.mdl";
new const 
g_wmodel[] = "models/zombie_plague/w_pipe.mdl";
new 
cvar_radiuscvar_damage
new g_trailg_fireg_MaxPlayers/*, g_pipe*/boolg_has_pipe[33]

public 
plugin_init()
{
    
register_plugin("[ZP] Extra Item: Pipe Bomb""1.0""lambda");
    
register_forward(FM_SetModel,"fw_SetModel"1);
    
RegisterHam(Ham_Think"grenade""fw_ThinkGren");
    
RegisterHam(Ham_Item_Deploy"weapon_smokegrenade""fw_smDeploy"1);
    
    
// Cvars
    
cvar_radius register_cvar "zp_pipe_radius""500");
    
cvar_damage register_cvar("zp_pipe_damage""1400.0");
    
    
    
g_MaxPlayers get_maxplayers()
    
register_clcmd("pipebomb""zp_extra_item_selected")
}

public 
plugin_precache()
{
    
precache_model(g_vmodel);
    
precache_model(g_pmodel);
    
precache_model(g_wmodel);
    
precache_sound(g_sound);
    
g_fire precache_model(g_firespr);
    
g_trail precache_model(g_trailspr);
}

public 
replace_models(id)
{
    if(
get_user_weapon(id) == CSW_SMOKEGRENADE)
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
}

public 
fw_smDeploy(const iEntity)
{
    if(
pev_valid(iEntity) != 2)
        return 
HAM_IGNORED;
    
    new 
id get_pdata_cbase(iEntitym_pPlayer4);
    
    if(
g_has_pipe[id] && !is_user_alive(id) && is_user_alive(id))
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
    
    return 
HAM_IGNORED;
}

public 
zp_extra_item_selected(id)
{   
    if (
g_has_pipe[id])
        return 
PLUGIN_HANDLED
    
    
if(get_user_flags(id) & ADMIN_KICK)
    {
        
g_has_pipe[id] = true;
        new 
was cs_get_user_bpammo(idCSW_SMOKEGRENADE);
        
        if(
was >= 1)
        
cs_set_user_bpammo(idCSW_SMOKEGRENADEwas 1);
        else
        
give_item(id"weapon_smokegrenade");
        
        
replace_models(id);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
client_connect(id)
{
    
g_has_pipe[id] = false
}

public 
client_disconnect(id)
{
    
g_has_pipe[id] = false
}

public 
zp_user_infected_post(id)
{
    
g_has_pipe[id] = false;
}
        
public 
zp_user_humanized_post(id)
{
    
g_has_pipe[id] = false;
}

public 
fw_SetModel(entity, const model[])
{
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime
    pev
(entitypev_dmgtimedmgtime)
    
    if(!
pev_valid(entity) || !dmgtime || !g_has_pipe[owner])
        return 
FMRES_IGNORED;
    
    if (
model[9] == 's' && model[10] == 'm')
    {
        
entity_set_model(entityg_wmodel);
        
        
set_rendering(entitykRenderFxGlowShell12800kRenderNormal16);
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW// TE id
        
write_short(entity// entity
        
write_short(g_trail// sprite
        
write_byte(10// life
        
write_byte(10// width
        
write_byte(128// r
        
write_byte(0// g
        
write_byte(0// b
        
write_byte(255// brightness
        
message_end()
        
        
set_pev(entitypev_flTimeStepSoundNADE_TYPE_PIPEBOMB)
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
fw_ThinkGren(entity// Grenade think event
{
    if (!
pev_valid(entity))
        return 
HAM_IGNORED;
        
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime    
    pev
(entitypev_dmgtimedmgtime)
    
    if (!
g_has_pipe[owner] || dmgtime get_gametime())
        return 
HAM_IGNORED;
    
    if(
pev(entitypev_flTimeStepSound) == NADE_TYPE_PIPEBOMB)
    {
        
g_has_pipe[owner] = false
        set_task
(0.1"hook"entity__"a"15);
        
set_task(1.5"deleteGren"entity)
        
        new 
Float:originF[3]
        
pev(entitypev_originoriginF);
        
        
light(originF)
        return 
HAM_SUPERCEDE
    
}
    
    return 
HAM_IGNORED;
}

public 
hook(entity)
{
    if (!
pev_valid(entity))
    {
        
remove_task(entity)
        return
    }
    
    
emit_sound(entityCHAN_WEAPONg_sound1.0ATTN_NORM0PITCH_HIGH);
    
    static 
Float:entOrigin[3], flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originentOrigin);
    
    
flOrigin[0] = floatround(entOrigin[0])
    
flOrigin[1] = floatround(entOrigin[1])
    
flOrigin[2] = floatround(entOrigin[2])

    for (new 
1<= g_MaxPlayersi++)
    {
        if(!
is_user_alive(i) || !is_user_alive(i))
            continue
        
        
get_user_origin(iPlayerPos)
        
        
distance get_distance(PlayerPosflOrigin)
        
        if (
distance <= get_pcvar_num(cvar_radius)) 
        {
            new 
Float:fl_Velocity[3]
            
            if (
distance 25)
            {
                new 
Float:fl_Time distance 650.0
                
                fl_Velocity
[0] = (flOrigin[0] - PlayerPos[0]) / fl_Time
                fl_Velocity
[1] = (flOrigin[1] - PlayerPos[1]) / fl_Time
                fl_Velocity
[2] = (flOrigin[2] - PlayerPos[2]) / fl_Time
            
}
            else
            {
                
fl_Velocity[0] = 0.0
                fl_Velocity
[1] = 0.0
                fl_Velocity
[2] = 0.0
            
}
            
            
entity_set_vector(iEV_VEC_velocityfl_Velocity)
        }
    }
}

public 
deleteGren(entity)
{
    if (!
pev_valid(entity))
        return
    
    new 
Float:originF[3]
    
pev(entitypev_originoriginF);
    
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordoriginF[0])
    
engfunc(EngFunc_WriteCoordoriginF[1])
    
engfunc(EngFunc_WriteCoordoriginF[2])
    
write_short(g_fire//sprite index
    
write_byte(25// scale in 0.1's
    
write_byte(10// framerate
    
write_byte(0// flags
    
message_end()
    
    static 
flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originoriginF);
    new 
attacker pev(entitypev_owner)
    
    
flOrigin[0] = floatround(originF[0])
    
flOrigin[1] = floatround(originF[1])
    
flOrigin[2] = floatround(originF[2])
    
    for (new 
1<= g_MaxPlayersi++)
    {
        if(
is_user_alive(i)) 
        {
            if(!
is_user_alive(i) || !is_user_alive(i))
            continue
            
            
get_user_origin(iPlayerPos)
            
            
distance get_distance(PlayerPosflOrigin)
            
            if (
distance <= get_pcvar_num(cvar_radius)) 
            {
                if(
get_user_health(i) - get_pcvar_float(cvar_damage) > 0)
                    
fakedamage(i"Pipe Bomb"get_pcvar_float(cvar_damage), 256);
                else
                    
ExecuteHamB(Ham_Killediattacker2)
                    
                static 
FloatoriginP[3]
                
pev(ipev_originoriginP)
                
                
originP[0] = (originF[0] - flOrigin[0]) * 10.0 
                originP
[1] = (originP[1] - flOrigin[1]) * 10.0 
                originP
[2] = (originP[2] - flOrigin[2]) + 550.0 float(distance)
                
                
set_pev(ipev_velocityoriginP)
            }
        }
    }
    
    
remove_task(entity)
    
remove_entity(entity)
}

public 
light(const Float:originF[3])  // Blast ring and small red light around nade from zombie_plague40.sma. Great thx, MeRcyLeZZ!!! ;)
{
    
// Lighting
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginF0);
    
write_byte(TE_DLIGHT); // TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]); // x
    
engfunc(EngFunc_WriteCoordoriginF[1]); // y
    
engfunc(EngFunc_WriteCoordoriginF[2]); // z
    
write_byte(5); // radius
    
write_byte(128); // r
    
write_byte(0); // g
    
write_byte(0); // b
    
write_byte(51); //life
    
write_byte(0); //decay rate
    
message_end();


Gracias men funciona pero igual podrias ponerle que la granada smoke se convierta automaticamente en pipebomb y tambien cuando la tiro explota altiro y sale altiro el sonido para matar yo quiero que sea como la pipebomb normal, puedes arreglarme eso men porfavor te lo agradeceria.
Responder
#4
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <fun>
#include <cstrike>

#define NADE_TYPE_PIPEBOMB 5688

const m_pPlayer 41;
new const 
g_trailspr[] ="sprites/laserbeam.spr";
new const 
g_firespr[] = "sprites/zerogxplode.spr";
new const 
g_sound[] = "zombie_plague/pipe_beep.wav";
new const 
g_vmodel[] = "models/zombie_plague/v_pipe.mdl";
new const 
g_pmodel[] = "models/zombie_plague/p_pipe.mdl";
new const 
g_wmodel[] = "models/zombie_plague/w_pipe.mdl";
new 
cvar_radiuscvar_damage
new g_trailg_fireg_MaxPlayers/*, g_pipe*/boolg_has_pipe[33]

public 
plugin_init()
{
    
register_plugin("[ZP] Extra Item: Pipe Bomb""1.0""lambda");
    
register_forward(FM_SetModel,"fw_SetModel"1);
    
RegisterHam(Ham_Think"grenade""fw_ThinkGren");
    
RegisterHam(Ham_Item_Deploy"weapon_smokegrenade""fw_smDeploy"1);
    
    
// Cvars
    
cvar_radius register_cvar "zp_pipe_radius""500");
    
cvar_damage register_cvar("zp_pipe_damage""1400.0");
    
    
    
g_MaxPlayers get_maxplayers()
    
//register_clcmd("pipebomb", "zp_extra_item_selected")
}

public 
plugin_precache()
{
    
precache_model(g_vmodel);
    
precache_model(g_pmodel);
    
precache_model(g_wmodel);
    
precache_sound(g_sound);
    
g_fire precache_model(g_firespr);
    
g_trail precache_model(g_trailspr);
}

public 
replace_models(id)
{
    if(
get_user_weapon(id) == CSW_SMOKEGRENADE)
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
}

public 
fw_smDeploy(const iEntity)
{
    if(
pev_valid(iEntity) != 2)
        return 
HAM_IGNORED;
    
    new 
id get_pdata_cbase(iEntitym_pPlayer4);
    
    if(
g_has_pipe[id] && !is_user_alive(id) && is_user_alive(id))
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
    
    return 
HAM_IGNORED;
}
/*
public zp_extra_item_selected(id)
{   
    if (g_has_pipe[id])
        return PLUGIN_HANDLED
    
    if(get_user_flags(id) & ADMIN_KICK)
    {
        g_has_pipe[id] = true;
        new was = cs_get_user_bpammo(id, CSW_SMOKEGRENADE);
        
        if(was >= 1)
        cs_set_user_bpammo(id, CSW_SMOKEGRENADE, was + 1);
        else
        give_item(id, "weapon_smokegrenade");
        
        replace_models(id);
    }
    
    return PLUGIN_HANDLED;
}*/

public client_connect(id)
{
    
g_has_pipe[id] = true
}

public 
client_disconnect(id)
{
    
g_has_pipe[id] = false
}
/*
public zp_user_infected_post(id)
{
    g_has_pipe[id] = false;
}
        
public zp_user_humanized_post(id)
{
    g_has_pipe[id] = false;
}
*/
public fw_SetModel(entity, const model[])
{
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime
    pev
(entitypev_dmgtimedmgtime)
    
    if(!
pev_valid(entity) || !dmgtime || !g_has_pipe[owner])
        return 
FMRES_IGNORED;
    
    if (
model[9] == 's' && model[10] == 'm')
    {
        
entity_set_model(entityg_wmodel);
        
        
set_rendering(entitykRenderFxGlowShell12800kRenderNormal16);
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW// TE id
        
write_short(entity// entity
        
write_short(g_trail// sprite
        
write_byte(10// life
        
write_byte(10// width
        
write_byte(128// r
        
write_byte(0// g
        
write_byte(0// b
        
write_byte(255// brightness
        
message_end()
        
        
set_pev(entitypev_flTimeStepSoundNADE_TYPE_PIPEBOMB)
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
fw_ThinkGren(entity// Grenade think event
{
    if (!
pev_valid(entity))
        return 
HAM_IGNORED;
        
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime    
    pev
(entitypev_dmgtimedmgtime)
    
    if (!
g_has_pipe[owner] || dmgtime get_gametime())
        return 
HAM_IGNORED;
    
    if(
pev(entitypev_flTimeStepSound) == NADE_TYPE_PIPEBOMB)
    {
        
/*g_has_pipe[owner] = false*/
        
set_task(0.1"hook"entity__"a"15);
        
set_task(1.5"deleteGren"entity)
        
        new 
Float:originF[3]
        
pev(entitypev_originoriginF);
        
        
light(originF)
        return 
HAM_SUPERCEDE
    
}
    
    return 
HAM_IGNORED;
}

public 
hook(entity)
{
    if (!
pev_valid(entity))
    {
        
remove_task(entity)
        return
    }
    
    
emit_sound(entityCHAN_WEAPONg_sound1.0ATTN_NORM0PITCH_HIGH);
    
    static 
Float:entOrigin[3], flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originentOrigin);
    
    
flOrigin[0] = floatround(entOrigin[0])
    
flOrigin[1] = floatround(entOrigin[1])
    
flOrigin[2] = floatround(entOrigin[2])

    for (new 
1<= g_MaxPlayersi++)
    {
        if(!
is_user_alive(i) || !is_user_alive(i))
            continue
        
        
get_user_origin(iPlayerPos)
        
        
distance get_distance(PlayerPosflOrigin)
        
        if (
distance <= get_pcvar_num(cvar_radius)) 
        {
            new 
Float:fl_Velocity[3]
            
            if (
distance 25)
            {
                new 
Float:fl_Time distance 650.0
                
                fl_Velocity
[0] = (flOrigin[0] - PlayerPos[0]) / fl_Time
                fl_Velocity
[1] = (flOrigin[1] - PlayerPos[1]) / fl_Time
                fl_Velocity
[2] = (flOrigin[2] - PlayerPos[2]) / fl_Time
            
}
            else
            {
                
fl_Velocity[0] = 0.0
                fl_Velocity
[1] = 0.0
                fl_Velocity
[2] = 0.0
            
}
            
            
entity_set_vector(iEV_VEC_velocityfl_Velocity)
        }
    }
}

public 
deleteGren(entity)
{
    if (!
pev_valid(entity))
        return
    
    new 
Float:originF[3]
    
pev(entitypev_originoriginF);
    
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordoriginF[0])
    
engfunc(EngFunc_WriteCoordoriginF[1])
    
engfunc(EngFunc_WriteCoordoriginF[2])
    
write_short(g_fire//sprite index
    
write_byte(25// scale in 0.1's
    
write_byte(10// framerate
    
write_byte(0// flags
    
message_end()
    
    static 
flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originoriginF);
    new 
attacker pev(entitypev_owner)
    
    
flOrigin[0] = floatround(originF[0])
    
flOrigin[1] = floatround(originF[1])
    
flOrigin[2] = floatround(originF[2])
    
    for (new 
1<= g_MaxPlayersi++)
    {
        if(
is_user_alive(i)) 
        {
            if(!
is_user_alive(i) || !is_user_alive(i))
            continue
            
            
get_user_origin(iPlayerPos)
            
            
distance get_distance(PlayerPosflOrigin)
            
            if (
distance <= get_pcvar_num(cvar_radius)) 
            {
                if(
get_user_health(i) - get_pcvar_float(cvar_damage) > 0)
                    
fakedamage(i"Pipe Bomb"get_pcvar_float(cvar_damage), 256);
                else
                    
ExecuteHamB(Ham_Killediattacker2)
                    
                static 
FloatoriginP[3]
                
pev(ipev_originoriginP)
                
                
originP[0] = (originF[0] - flOrigin[0]) * 10.0 
                originP
[1] = (originP[1] - flOrigin[1]) * 10.0 
                originP
[2] = (originP[2] - flOrigin[2]) + 550.0 float(distance)
                
                
set_pev(ipev_velocityoriginP)
            }
        }
    }
    
    
remove_task(entity)
    
remove_entity(entity)
}

public 
light(const Float:originF[3])  // Blast ring and small red light around nade from zombie_plague40.sma. Great thx, MeRcyLeZZ!!! ;)
{
    
// Lighting
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginF0);
    
write_byte(TE_DLIGHT); // TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]); // x
    
engfunc(EngFunc_WriteCoordoriginF[1]); // y
    
engfunc(EngFunc_WriteCoordoriginF[2]); // z
    
write_byte(5); // radius
    
write_byte(128); // r
    
write_byte(0); // g
    
write_byte(0); // b
    
write_byte(51); //life
    
write_byte(0); //decay rate
    
message_end();

[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#5
(20/04/2019, 09:45 PM)kikizon2 escribió:
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <fun>
#include <cstrike>

#define NADE_TYPE_PIPEBOMB 5688

const m_pPlayer 41;
new const 
g_trailspr[] ="sprites/laserbeam.spr";
new const 
g_firespr[] = "sprites/zerogxplode.spr";
new const 
g_sound[] = "zombie_plague/pipe_beep.wav";
new const 
g_vmodel[] = "models/zombie_plague/v_pipe.mdl";
new const 
g_pmodel[] = "models/zombie_plague/p_pipe.mdl";
new const 
g_wmodel[] = "models/zombie_plague/w_pipe.mdl";
new 
cvar_radiuscvar_damage
new g_trailg_fireg_MaxPlayers/*, g_pipe*/boolg_has_pipe[33]

public 
plugin_init()
{
    
register_plugin("[ZP] Extra Item: Pipe Bomb""1.0""lambda");
    
register_forward(FM_SetModel,"fw_SetModel"1);
    
RegisterHam(Ham_Think"grenade""fw_ThinkGren");
    
RegisterHam(Ham_Item_Deploy"weapon_smokegrenade""fw_smDeploy"1);
    
    
// Cvars
    
cvar_radius register_cvar "zp_pipe_radius""500");
    
cvar_damage register_cvar("zp_pipe_damage""1400.0");
    
    
    
g_MaxPlayers get_maxplayers()
    
//register_clcmd("pipebomb", "zp_extra_item_selected")
}

public 
plugin_precache()
{
    
precache_model(g_vmodel);
    
precache_model(g_pmodel);
    
precache_model(g_wmodel);
    
precache_sound(g_sound);
    
g_fire precache_model(g_firespr);
    
g_trail precache_model(g_trailspr);
}

public 
replace_models(id)
{
    if(
get_user_weapon(id) == CSW_SMOKEGRENADE)
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
}

public 
fw_smDeploy(const iEntity)
{
    if(
pev_valid(iEntity) != 2)
        return 
HAM_IGNORED;
    
    new 
id get_pdata_cbase(iEntitym_pPlayer4);
    
    if(
g_has_pipe[id] && !is_user_alive(id) && is_user_alive(id))
    {
        
set_pev(idpev_viewmodel2g_vmodel);
        
set_pev(idpev_weaponmodel2g_pmodel);
    }
    
    return 
HAM_IGNORED;
}
/*
public zp_extra_item_selected(id)
{   
    if (g_has_pipe[id])
        return PLUGIN_HANDLED
    
    if(get_user_flags(id) & ADMIN_KICK)
    {
        g_has_pipe[id] = true;
        new was = cs_get_user_bpammo(id, CSW_SMOKEGRENADE);
        
        if(was >= 1)
        cs_set_user_bpammo(id, CSW_SMOKEGRENADE, was + 1);
        else
        give_item(id, "weapon_smokegrenade");
        
        replace_models(id);
    }
    
    return PLUGIN_HANDLED;
}*/

public client_connect(id)
{
    
g_has_pipe[id] = true
}

public 
client_disconnect(id)
{
    
g_has_pipe[id] = false
}
/*
public zp_user_infected_post(id)
{
    g_has_pipe[id] = false;
}
        
public zp_user_humanized_post(id)
{
    g_has_pipe[id] = false;
}
*/
public fw_SetModel(entity, const model[])
{
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime
    pev
(entitypev_dmgtimedmgtime)
    
    if(!
pev_valid(entity) || !dmgtime || !g_has_pipe[owner])
        return 
FMRES_IGNORED;
    
    if (
model[9] == 's' && model[10] == 'm')
    {
        
entity_set_model(entityg_wmodel);
        
        
set_rendering(entitykRenderFxGlowShell12800kRenderNormal16);
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW// TE id
        
write_short(entity// entity
        
write_short(g_trail// sprite
        
write_byte(10// life
        
write_byte(10// width
        
write_byte(128// r
        
write_byte(0// g
        
write_byte(0// b
        
write_byte(255// brightness
        
message_end()
        
        
set_pev(entitypev_flTimeStepSoundNADE_TYPE_PIPEBOMB)
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
fw_ThinkGren(entity// Grenade think event
{
    if (!
pev_valid(entity))
        return 
HAM_IGNORED;
        
    static 
owner;
    
owner pev(entitypev_owner);
    
    static 
Float:dmgtime    
    pev
(entitypev_dmgtimedmgtime)
    
    if (!
g_has_pipe[owner] || dmgtime get_gametime())
        return 
HAM_IGNORED;
    
    if(
pev(entitypev_flTimeStepSound) == NADE_TYPE_PIPEBOMB)
    {
        
/*g_has_pipe[owner] = false*/
        
set_task(0.1"hook"entity__"a"15);
        
set_task(1.5"deleteGren"entity)
        
        new 
Float:originF[3]
        
pev(entitypev_originoriginF);
        
        
light(originF)
        return 
HAM_SUPERCEDE
    
}
    
    return 
HAM_IGNORED;
}

public 
hook(entity)
{
    if (!
pev_valid(entity))
    {
        
remove_task(entity)
        return
    }
    
    
emit_sound(entityCHAN_WEAPONg_sound1.0ATTN_NORM0PITCH_HIGH);
    
    static 
Float:entOrigin[3], flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originentOrigin);
    
    
flOrigin[0] = floatround(entOrigin[0])
    
flOrigin[1] = floatround(entOrigin[1])
    
flOrigin[2] = floatround(entOrigin[2])

    for (new 
1<= g_MaxPlayersi++)
    {
        if(!
is_user_alive(i) || !is_user_alive(i))
            continue
        
        
get_user_origin(iPlayerPos)
        
        
distance get_distance(PlayerPosflOrigin)
        
        if (
distance <= get_pcvar_num(cvar_radius)) 
        {
            new 
Float:fl_Velocity[3]
            
            if (
distance 25)
            {
                new 
Float:fl_Time distance 650.0
                
                fl_Velocity
[0] = (flOrigin[0] - PlayerPos[0]) / fl_Time
                fl_Velocity
[1] = (flOrigin[1] - PlayerPos[1]) / fl_Time
                fl_Velocity
[2] = (flOrigin[2] - PlayerPos[2]) / fl_Time
            
}
            else
            {
                
fl_Velocity[0] = 0.0
                fl_Velocity
[1] = 0.0
                fl_Velocity
[2] = 0.0
            
}
            
            
entity_set_vector(iEV_VEC_velocityfl_Velocity)
        }
    }
}

public 
deleteGren(entity)
{
    if (!
pev_valid(entity))
        return
    
    new 
Float:originF[3]
    
pev(entitypev_originoriginF);
    
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordoriginF[0])
    
engfunc(EngFunc_WriteCoordoriginF[1])
    
engfunc(EngFunc_WriteCoordoriginF[2])
    
write_short(g_fire//sprite index
    
write_byte(25// scale in 0.1's
    
write_byte(10// framerate
    
write_byte(0// flags
    
message_end()
    
    static 
flOrigin[3], PlayerPos[3], distance
    pev
(entitypev_originoriginF);
    new 
attacker pev(entitypev_owner)
    
    
flOrigin[0] = floatround(originF[0])
    
flOrigin[1] = floatround(originF[1])
    
flOrigin[2] = floatround(originF[2])
    
    for (new 
1<= g_MaxPlayersi++)
    {
        if(
is_user_alive(i)) 
        {
            if(!
is_user_alive(i) || !is_user_alive(i))
            continue
            
            
get_user_origin(iPlayerPos)
            
            
distance get_distance(PlayerPosflOrigin)
            
            if (
distance <= get_pcvar_num(cvar_radius)) 
            {
                if(
get_user_health(i) - get_pcvar_float(cvar_damage) > 0)
                    
fakedamage(i"Pipe Bomb"get_pcvar_float(cvar_damage), 256);
                else
                    
ExecuteHamB(Ham_Killediattacker2)
                    
                static 
FloatoriginP[3]
                
pev(ipev_originoriginP)
                
                
originP[0] = (originF[0] - flOrigin[0]) * 10.0 
                originP
[1] = (originP[1] - flOrigin[1]) * 10.0 
                originP
[2] = (originP[2] - flOrigin[2]) + 550.0 float(distance)
                
                
set_pev(ipev_velocityoriginP)
            }
        }
    }
    
    
remove_task(entity)
    
remove_entity(entity)
}

public 
light(const Float:originF[3])  // Blast ring and small red light around nade from zombie_plague40.sma. Great thx, MeRcyLeZZ!!! ;)
{
    
// Lighting
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginF0);
    
write_byte(TE_DLIGHT); // TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]); // x
    
engfunc(EngFunc_WriteCoordoriginF[1]); // y
    
engfunc(EngFunc_WriteCoordoriginF[2]); // z
    
write_byte(5); // radius
    
write_byte(128); // r
    
write_byte(0); // g
    
write_byte(0); // b
    
write_byte(51); //life
    
write_byte(0); //decay rate
    
message_end();


Gracias men, pero lo del sonido aun sigue al tirar la pipebomb explota altiro y yo no quiero eso quiero lo que hace la pipebomb normal del cs primero sus sonidos y luego el sonido rapido y explota ayudaa
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)