Raised This Month: $51 Target: $400
 12% 

Bullet Color


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
XeOn Cp
Senior Member
Join Date: Jan 2014
Old 03-03-2015 , 16:16   Bullet Color
Reply With Quote #1

hi guys, i want to learn how to change color of bullet, like golden M4A1 have gold bullets( color ) and i want to change it to green bullets.
can anyone tell me how to change? also i want to change bullet color on other extra items too, and i want to do it by myself.
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
#include <fun>
#include <xs>
#include <zombieplague>

const USE_STOPPED 0
const OFFSET_ACTIVE_ITEM 373
const OFFSET_WEAPONOWNER 41
const OFFSET_LINUX 5
const OFFSET_LINUX_WEAPONS 4

#define WEAP_LINUX_XTRA_OFF        4
#define PLAYER_LINUX_XTRA_OFF    5
#define m_flNextAttack                83
#define m_iClip                    51
#define m_fInReload                54
#define m_flTimeWeaponIdle            48
#define ENG_NULLENT                -1
#define EV_INT_WEAPONKEY        EV_INT_impulse
#define M4A1GOLD_WEAPONKEY            67854
#define MAX_PLAYERS                32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)


const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
new const 
WEAPONENTNAMES[][] = { """weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
            
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
            
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
            
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
            
"weapon_ak47""weapon_knife""weapon_p90" }

new 
g_item_m4a1_gold
new g_has_m4a1_gold[33]
new 
g_m4a1_gold_TmpClip[33]
new 
cvar_m4a1_gold_dmgcvar_m4a1_gold_ammocvar_m4a1_gold_clipcvar_m4a1_gold_spd

#define M4A1GOLD_RELOAD_TIME     3.0

new const M4A1GOLD_V_MODEL[] = "models/v_m4a1_gold.mdl"
new const M4A1GOLD_P_MODEL[] = "models/p_m4a1_gold.mdl"
new const M4A1GOLD_W_MODEL[] = "models/w_m4a1_gold.mdl"

public plugin_init()
{
    
register_plugin("[ZP] Extra Item: M4A1 Gold""3.0""4e/l")

    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
    
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHam(Ham_Item_AddToPlayer"weapon_m4a1""fw_M4A1GOLD_AddToPlayer")
    
RegisterHam(Ham_Item_PostFrame"weapon_m4a1""M4A1GOLD__ItemPostFrame");
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload");
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload_Post"1);
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary_Post"1)
    for (new 
1sizeof WEAPONENTNAMESi++)
        if (
WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_DeployWEAPONENTNAMES[i], "fw_Item_Deploy_Post"1)

    
register_event("CurWeapon","CurrentWeapon","be","1=1")
    
register_event("DeathMsg""Death""a")

        
register_forward(FM_SetModel"fw_SetModel")

    
cvar_m4a1_gold_clip register_cvar("zp_m4a1_gold_clip""35")
        
cvar_m4a1_gold_ammo register_cvar("zp_m4a1_gold_ammo""150")
    
cvar_m4a1_gold_dmg register_cvar("zp_m4a1_gold_dmg""4")
    
cvar_m4a1_gold_spd register_cvar("zp_m4a1_gold_spd""1.0")

    
g_item_m4a1_gold zp_register_extra_item("M4A1 Gold"30ZP_TEAM_HUMAN)
}

public 
zp_extra_item_selected(iditemid)
{
    if(
itemid == g_item_m4a1_gold)
    {    
        
drop_weapons(id1);
        new 
iWep1 give_item(id,"weapon_m4a1")
        if( 
iWep1 )
        {
            
cs_set_weapon_ammo(iWep1get_pcvar_num(cvar_m4a1_gold_clip))
                        
cs_set_user_bpammo (idCSW_M4A1get_pcvar_num(cvar_m4a1_gold_ammo))
        }
        
g_has_m4a1_gold[id] = true;
    }
}    
public 
plugin_precache()
{
    
precache_model(M4A1GOLD_V_MODEL)
    
precache_model(M4A1GOLD_P_MODEL)
    
precache_model(M4A1GOLD_W_MODEL)
}

public 
fw_UseStationary_Post(entitycalleractivatoruse_type)
{
    if (
use_type == USE_STOPPED && is_user_connected(caller))
        
replace_weapon_models(callerget_user_weapon(caller))
}

public 
fw_Item_Deploy_Post(weapon_ent)
{
    static 
owner
    owner 
fm_cs_get_weapon_ent_owner(weapon_ent)
    
    static 
weaponid
    weaponid 
cs_get_weapon_id(weapon_ent)
    
    
replace_weapon_models(ownerweaponid)
}

public 
CurrentWeapon(id)
{
    static 
iWeaponiWeapon read_data(2)
    
    
replace_weapon_models(idread_data(2))
    
    static 
weapon[32], iEnt
    get_weaponname
(iWeaponweapon31)
    
iEnt find_ent_by_owner(-1weaponid)
    if(
iEnt)
    {
        static 
Float:DelayFloat:M_Delay
        
static Float:iSpeed
        iSpeed 
0.0
        
if(iWeapon == CSW_M4A1 && g_has_m4a1_gold[id])
            
iSpeed get_pcvar_float(cvar_m4a1_gold_spd)

        
Delay get_pdata_float(iEnt464) * iSpeed
        M_Delay 
get_pdata_float(iEnt474) * iSpeed
        
if (Delay 0.0)
        {
            
set_pdata_float(iEnt46Delay4)
            
set_pdata_float(iEnt47M_Delay4)
        }
    }
}

replace_weapon_models(idweaponid)
{
    switch (
weaponid)
    {
        case 
CSW_M4A1:
        {
            if (
zp_get_user_zombie(id) || zp_get_user_survivor(id))
                return;
            
            if(
g_has_m4a1_gold[id])
            {
                
set_pev(idpev_viewmodel2M4A1GOLD_V_MODEL)
                
set_pev(idpev_weaponmodel2M4A1GOLD_P_MODEL)
            }
        }
    }
}

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

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

public 
Death()
{
    
g_has_m4a1_gold[read_data(2)] = false
}

public 
zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
    
g_has_m4a1_gold[id] = false
    
}
}

public 
fw_TakeDamage(victiminflictorattackerFloat:damage

    if (
victim != attacker
    { 
    if(
get_user_weapon(attacker) == CSW_M4A1 && g_has_m4a1_gold[attacker]) 
    
SetHamParamFloat(4damage get_pcvar_float(cvar_m4a1_gold_dmg)) 
    }
}

public 
fw_SetModel(entitymodel[])
{
    if(!
is_valid_ent(entity))
        return 
FMRES_IGNORED;
    
    static 
szClassName[33]
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName))
        
    if(!
equal(szClassName"weaponbox"))
        return 
FMRES_IGNORED;
    
    static 
iOwner
    
    iOwner 
entity_get_edict(entityEV_ENT_owner)
    
    if(
equal(model"models/w_m4a1.mdl"))
    {
        static 
iStoredSVDID
        
        iStoredSVDID 
find_ent_by_owner(ENG_NULLENT"weapon_m4a1"entity)
    
        if(!
is_valid_ent(iStoredSVDID))
            return 
FMRES_IGNORED;
    
        if(
g_has_m4a1_gold[iOwner])
        {
            
entity_set_int(iStoredSVDIDEV_INT_WEAPONKEYM4A1GOLD_WEAPONKEY)
            
            
g_has_m4a1_gold[iOwner] = false
            
            entity_set_model
(entityM4A1GOLD_W_MODEL)
            
            return 
FMRES_SUPERCEDE;
        }
    }
    
    return 
FMRES_IGNORED;
}

public 
fw_M4A1GOLD_AddToPlayer(M4A1GOLDid)
{
    if(!
is_valid_ent(M4A1GOLD) || !is_user_connected(id))
        return 
HAM_IGNORED;
    
    if(
entity_get_int(M4A1GOLDEV_INT_WEAPONKEY) == M4A1GOLD_WEAPONKEY)
    {
        
g_has_m4a1_gold[id] = true
        
        entity_set_int
(M4A1GOLDEV_INT_WEAPONKEY0)
        
        return 
HAM_HANDLED;
    }
    
    return 
HAM_IGNORED;
}

public 
message_DeathMsg(msg_idmsg_destid)
{
    static 
szTruncatedWeapon[33], iAttackeriVictim
    
    get_msg_arg_string
(4szTruncatedWeaponcharsmax(szTruncatedWeapon))
    
    
iAttacker get_msg_arg_int(1)
    
iVictim get_msg_arg_int(2)
    
    if(!
is_user_connected(iAttacker) || iAttacker == iVictim)
        return 
PLUGIN_CONTINUE
    
    
if(equal(szTruncatedWeapon"m4a1") && get_user_weapon(iAttacker) == CSW_M4A1)
    {
        if(
g_has_m4a1_gold[iAttacker])
            
set_msg_arg_string(4"m4a1 gold")
    }

    return 
PLUGIN_CONTINUE
}

public 
M4A1GOLD__ItemPostFrame(weapon_entity) {
    new 
id pev(weapon_entitypev_owner)
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;

    if (!
g_has_m4a1_gold[id])
        return 
HAM_IGNORED;

    new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF)

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1);
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF)

    new 
fInReload get_pdata_int(weapon_entitym_fInReloadWEAP_LINUX_XTRA_OFF

    if( 
fInReload && flNextAttack <= 0.0 )
    {
        new 
min(get_pcvar_num(cvar_m4a1_gold_clip) - iClipiBpAmmo)
    
        
set_pdata_int(weapon_entitym_iClipiClip jWEAP_LINUX_XTRA_OFF)
        
cs_set_user_bpammo(idCSW_M4A1iBpAmmo-j);
        
        
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF)
        
fInReload 0
    
}

    return 
HAM_IGNORED;
}

public 
M4A1GOLD__Reload(weapon_entity) {
    new 
id pev(weapon_entitypev_owner)
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;

    if (!
g_has_m4a1_gold[id])
        return 
HAM_IGNORED;

    
g_m4a1_gold_TmpClip[id] = -1;

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1);
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF)

    if (
iBpAmmo <= 0)
        return 
HAM_SUPERCEDE;

    if (
iClip >= get_pcvar_num(cvar_m4a1_gold_clip))
        return 
HAM_SUPERCEDE;


    
g_m4a1_gold_TmpClip[id] = iClip;

    return 
HAM_IGNORED;
}

public 
M4A1GOLD__Reload_Post(weapon_entity) {
    new 
id pev(weapon_entitypev_owner)
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;

    if (!
g_has_m4a1_gold[id])
        return 
HAM_IGNORED;

    if (
g_m4a1_gold_TmpClip[id] == -1)
        return 
HAM_IGNORED;

    
set_pdata_int(weapon_entitym_iClipg_m4a1_gold_TmpClip[id], WEAP_LINUX_XTRA_OFF)

    
set_pdata_float(weapon_entitym_flTimeWeaponIdleM4A1GOLD_RELOAD_TIMEWEAP_LINUX_XTRA_OFF)

    
set_pdata_float(idm_flNextAttackM4A1GOLD_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF)

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF)

    
UTIL_PlayWeaponAnimation(id4)

    return 
HAM_IGNORED;
}

stock fm_cs_get_weapon_ent_owner(ent)
{
    return 
get_pdata_cbase(entOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS);
}

stock drop_weapons(iddropwhat)
{
     static 
weapons[32], numiweaponid
     num 
0
     get_user_weapons
(idweaponsnum)
     
     for (
0numi++)
     {
          
weaponid weapons[i]
          
          if (
dropwhat == && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
          {
               static 
wname[32]
               
get_weaponname(weaponidwnamesizeof wname 1)
               
engclient_cmd(id"drop"wname)
          }
     }
}

stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
    
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(pev(Playerpev_body))
    
message_end()

XeOn Cp is offline
RateX
Veteran Member
Join Date: Jun 2012
Location: 0o. SEA .o0
Old 03-03-2015 , 20:34   Re: Bullet Color
Reply With Quote #2

What bullet color are you talking about? By default there's no bullet created when you fire a weapon.
__________________
Currently offline for study.
RateX is offline
XeOn Cp
Senior Member
Join Date: Jan 2014
Old 03-04-2015 , 05:20   Re: Bullet Color
Reply With Quote #3

Quote:
Originally Posted by RateX View Post
What bullet color are you talking about? By default there's no bullet created when you fire a weapon.
i'm talking about - when player buy Golden AK47 or Golden Deagle or White M4A1 or etc. , then he is shooting, and at the procces of shooting , there is Golden hooks, it looks like it.
Golden AK 47 has GOLD COLOR HOOKS
XeOn Cp is offline
RateX
Veteran Member
Join Date: Jun 2012
Location: 0o. SEA .o0
Old 03-04-2015 , 05:43   Re: Bullet Color
Reply With Quote #4

You are not making it any clearer by saying "GOLD COLOR HOOKS". Please explain in detail what exactly is it.
Providing pictures or videos if possible is recommended.
__________________
Currently offline for study.
RateX is offline
XeOn Cp
Senior Member
Join Date: Jan 2014
Old 03-04-2015 , 07:09   Re: Bullet Color
Reply With Quote #5




there they are i'm talking about that
XeOn Cp is offline
bat
Veteran Member
Join Date: Jul 2012
Old 03-04-2015 , 11:02   Re: Bullet Color
Reply With Quote #6

PHP Code:
#include amxmodx
#include hamsandwich
#include fakemeta

// Colors
const RED 0
const GREEN 85
const BLUE 170

new sprite

public plugin_precache() sprite precache_model("sprites/dot.spr")

public 
plugin_init()
{
        
//RegisterHam(Ham_TraceAttack, "player", "bacon_trace_attack", 1)
    
RegisterHam(Ham_TraceAttack"worldspawn""bacon_trace_attack"1)
}

public 
bacon_trace_attack(iEntiAttackerFloat:flDamageFloat:fDir[3], ptriDamageType)
{
        if(!
is_user_alive(iAttacker)) return;

    new 
iWeapon get_user_weapon(iAttacker)
        if(
iWeapon == CSW_KNIFE) return;

    new 
Float:flEnd[3]
    
get_tr2(ptrTR_vecEndPosflEnd)
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_BEAMENTPOINT)
    
write_short(iAttacker 0x1000)
    
write_coord_f(flEnd[0]) 
    
write_coord_f(flEnd[1]) 
    
write_coord_f(flEnd[2]) 
    
write_short(sprite)
    
write_byte(1// framerate
    
write_byte(1// framerate
    
write_byte(1// life
    
write_byte(7)  // width
    
write_byte(1)   // noise
    
write_byte(RED)   // red
    
write_byte(GREEN)   // green
    
write_byte(BLUE)   // blue
    
write_byte(198)    // brightness
    
write_byte(10)        // speed
    
message_end()

__________________
bat is offline
Send a message via Skype™ to bat
XeOn Cp
Senior Member
Join Date: Jan 2014
Old 03-04-2015 , 13:57   Re: Bullet Color
Reply With Quote #7

bat thanks but what is it? TUT how to change color or just script of extra item?
XeOn Cp is offline
XeOn Cp
Senior Member
Join Date: Jan 2014
Old 03-04-2015 , 14:01   Re: Bullet Color
Reply With Quote #8

bat can you change colors of that extra item? i want ( RED = 0 , GREEN = 255 , BLUE = 50 )
PHP Code:
#include <amxmodx> 
#include <cstrike> 
#include <hamsandwich> 
#include <fakemeta> 
#include <engine> 
#include <fun> 
#include <xs> 
#include <zombieplague> 

const USE_STOPPED 
const OFFSET_ACTIVE_ITEM 373 
const OFFSET_WEAPONOWNER 41 
const OFFSET_LINUX 
const OFFSET_LINUX_WEAPONS 

#define WEAP_LINUX_XTRA_OFF        4 
#define PLAYER_LINUX_XTRA_OFF    5 
#define m_flNextAttack                83 
#define m_iClip                    51 
#define m_fInReload                54 
#define m_flTimeWeaponIdle            48 
#define ENG_NULLENT                -1 
#define EV_INT_WEAPONKEY        EV_INT_impulse 
#define M4A1GOLD_WEAPONKEY            67854 
#define MAX_PLAYERS                32 
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers) 


const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90
new const 
WEAPONENTNAMES[][] = { """weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10"
            
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550"
            
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249"
            
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552"
            
"weapon_ak47""weapon_knife""weapon_p90" 

new 
g_item_m4a1_gold 
new g_has_m4a1_gold[33
new 
g_m4a1_gold_TmpClip[33
new 
cvar_m4a1_gold_dmgcvar_m4a1_gold_ammocvar_m4a1_gold_clipcvar_m4a1_gold_spd 

#define M4A1GOLD_RELOAD_TIME     3.0 

new const M4A1GOLD_V_MODEL[] = "models/v_m4a1_gold.mdl" 
new const M4A1GOLD_P_MODEL[] = "models/p_m4a1_gold.mdl" 
new const M4A1GOLD_W_MODEL[] = "models/w_m4a1_gold.mdl" 

public plugin_init() 

    
register_plugin("[ZP] Extra Item: M4A1 Gold""3.0""4e/l"

    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg"
     
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage"
    
RegisterHam(Ham_Item_AddToPlayer"weapon_m4a1""fw_M4A1GOLD_AddToPlayer"
    
RegisterHam(Ham_Item_PostFrame"weapon_m4a1""M4A1GOLD__ItemPostFrame"); 
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload"); 
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload_Post"1); 
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary_Post"1
    for (new 
1sizeof WEAPONENTNAMESi++) 
        if (
WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_DeployWEAPONENTNAMES[i], "fw_Item_Deploy_Post"1

    
register_event("CurWeapon","CurrentWeapon","be","1=1"
    
register_event("DeathMsg""Death""a"

        
register_forward(FM_SetModel"fw_SetModel"

    
cvar_m4a1_gold_clip register_cvar("zp_m4a1_gold_clip""35"
        
cvar_m4a1_gold_ammo register_cvar("zp_m4a1_gold_ammo""150"
    
cvar_m4a1_gold_dmg register_cvar("zp_m4a1_gold_dmg""4"
    
cvar_m4a1_gold_spd register_cvar("zp_m4a1_gold_spd""1.0"

    
g_item_m4a1_gold zp_register_extra_item("M4A1 Gold"30ZP_TEAM_HUMAN


public 
zp_extra_item_selected(iditemid

    if(
itemid == g_item_m4a1_gold
    {     
        
drop_weapons(id1); 
        new 
iWep1 give_item(id,"weapon_m4a1"
        if( 
iWep1 
        { 
            
cs_set_weapon_ammo(iWep1get_pcvar_num(cvar_m4a1_gold_clip)) 
                        
cs_set_user_bpammo (idCSW_M4A1get_pcvar_num(cvar_m4a1_gold_ammo)) 
        } 
        
g_has_m4a1_gold[id] = true
    } 
}     
public 
plugin_precache() 

    
precache_model(M4A1GOLD_V_MODEL
    
precache_model(M4A1GOLD_P_MODEL
    
precache_model(M4A1GOLD_W_MODEL


public 
fw_UseStationary_Post(entitycalleractivatoruse_type

    if (
use_type == USE_STOPPED && is_user_connected(caller)) 
        
replace_weapon_models(callerget_user_weapon(caller)) 


public 
fw_Item_Deploy_Post(weapon_ent

    static 
owner 
    owner 
fm_cs_get_weapon_ent_owner(weapon_ent
     
    static 
weaponid 
    weaponid 
cs_get_weapon_id(weapon_ent
     
    
replace_weapon_models(ownerweaponid


public 
CurrentWeapon(id

    static 
iWeaponiWeapon read_data(2
     
    
replace_weapon_models(idread_data(2)) 
     
    static 
weapon[32], iEnt 
    get_weaponname
(iWeaponweapon31
    
iEnt find_ent_by_owner(-1weaponid
    if(
iEnt
    { 
        static 
Float:DelayFloat:M_Delay 
        
static Float:iSpeed 
        iSpeed 
0.0 
        
if(iWeapon == CSW_M4A1 && g_has_m4a1_gold[id]) 
            
iSpeed get_pcvar_float(cvar_m4a1_gold_spd

        
Delay get_pdata_float(iEnt464) * iSpeed 
        M_Delay 
get_pdata_float(iEnt474) * iSpeed 
        
if (Delay 0.0
        { 
            
set_pdata_float(iEnt46Delay4
            
set_pdata_float(iEnt47M_Delay4
        } 
    } 


replace_weapon_models(idweaponid

    switch (
weaponid
    { 
        case 
CSW_M4A1
        { 
            if (
zp_get_user_zombie(id) || zp_get_user_survivor(id)) 
                return; 
             
            if(
g_has_m4a1_gold[id]) 
            { 
                
set_pev(idpev_viewmodel2M4A1GOLD_V_MODEL
                
set_pev(idpev_weaponmodel2M4A1GOLD_P_MODEL
            } 
        } 
    } 


public 
client_connect(id

    
g_has_m4a1_gold[id] = false 


public 
client_disconnect(id

    
g_has_m4a1_gold[id] = false 


public 
Death() 

    
g_has_m4a1_gold[read_data(2)] = false 


public 
zp_user_infected_post(id

    if (
zp_get_user_zombie(id)) 
    { 
    
g_has_m4a1_gold[id] = false 
    



public 
fw_TakeDamage(victiminflictorattackerFloat:damage)  
{  
    if (
victim != attacker)  
    {  
    if(
get_user_weapon(attacker) == CSW_M4A1 && g_has_m4a1_gold[attacker])  
    
SetHamParamFloat(4damage get_pcvar_float(cvar_m4a1_gold_dmg))  
    } 


public 
fw_SetModel(entitymodel[]) 

    if(!
is_valid_ent(entity)) 
        return 
FMRES_IGNORED
     
    static 
szClassName[33
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName)) 
         
    if(!
equal(szClassName"weaponbox")) 
        return 
FMRES_IGNORED
     
    static 
iOwner 
     
    iOwner 
entity_get_edict(entityEV_ENT_owner
     
    if(
equal(model"models/w_m4a1.mdl")) 
    { 
        static 
iStoredSVDID 
         
        iStoredSVDID 
find_ent_by_owner(ENG_NULLENT"weapon_m4a1"entity
     
        if(!
is_valid_ent(iStoredSVDID)) 
            return 
FMRES_IGNORED
     
        if(
g_has_m4a1_gold[iOwner]) 
        { 
            
entity_set_int(iStoredSVDIDEV_INT_WEAPONKEYM4A1GOLD_WEAPONKEY
             
            
g_has_m4a1_gold[iOwner] = false 
             
            entity_set_model
(entityM4A1GOLD_W_MODEL
             
            return 
FMRES_SUPERCEDE
        } 
    } 
     
    return 
FMRES_IGNORED


public 
fw_M4A1GOLD_AddToPlayer(M4A1GOLDid

    if(!
is_valid_ent(M4A1GOLD) || !is_user_connected(id)) 
        return 
HAM_IGNORED
     
    if(
entity_get_int(M4A1GOLDEV_INT_WEAPONKEY) == M4A1GOLD_WEAPONKEY
    { 
        
g_has_m4a1_gold[id] = true 
         
        entity_set_int
(M4A1GOLDEV_INT_WEAPONKEY0
         
        return 
HAM_HANDLED
    } 
     
    return 
HAM_IGNORED


public 
message_DeathMsg(msg_idmsg_destid

    static 
szTruncatedWeapon[33], iAttackeriVictim 
     
    get_msg_arg_string
(4szTruncatedWeaponcharsmax(szTruncatedWeapon)) 
     
    
iAttacker get_msg_arg_int(1
    
iVictim get_msg_arg_int(2
     
    if(!
is_user_connected(iAttacker) || iAttacker == iVictim
        return 
PLUGIN_CONTINUE 
     
    
if(equal(szTruncatedWeapon"m4a1") && get_user_weapon(iAttacker) == CSW_M4A1
    { 
        if(
g_has_m4a1_gold[iAttacker]) 
            
set_msg_arg_string(4"m4a1 gold"
    } 

    return 
PLUGIN_CONTINUE 


public 
M4A1GOLD__ItemPostFrame(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1); 
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF

    new 
fInReload get_pdata_int(weapon_entitym_fInReloadWEAP_LINUX_XTRA_OFF)  

    if( 
fInReload && flNextAttack <= 0.0 
    { 
        new 
min(get_pcvar_num(cvar_m4a1_gold_clip) - iClipiBpAmmo
     
        
set_pdata_int(weapon_entitym_iClipiClip jWEAP_LINUX_XTRA_OFF
        
cs_set_user_bpammo(idCSW_M4A1iBpAmmo-j); 
         
        
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF
        
fInReload 
    


    return 
HAM_IGNORED


public 
M4A1GOLD__Reload(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    
g_m4a1_gold_TmpClip[id] = -1

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1); 
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF

    if (
iBpAmmo <= 0
        return 
HAM_SUPERCEDE

    if (
iClip >= get_pcvar_num(cvar_m4a1_gold_clip)) 
        return 
HAM_SUPERCEDE


    
g_m4a1_gold_TmpClip[id] = iClip

    return 
HAM_IGNORED


public 
M4A1GOLD__Reload_Post(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    if (
g_m4a1_gold_TmpClip[id] == -1
        return 
HAM_IGNORED

    
set_pdata_int(weapon_entitym_iClipg_m4a1_gold_TmpClip[id], WEAP_LINUX_XTRA_OFF

    
set_pdata_float(weapon_entitym_flTimeWeaponIdleM4A1GOLD_RELOAD_TIMEWEAP_LINUX_XTRA_OFF

    
set_pdata_float(idm_flNextAttackM4A1GOLD_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF

    
UTIL_PlayWeaponAnimation(id4

    return 
HAM_IGNORED


stock fm_cs_get_weapon_ent_owner(ent

    return 
get_pdata_cbase(entOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS); 


stock drop_weapons(iddropwhat

     static 
weapons[32], numiweaponid 
     num 

     get_user_weapons
(idweaponsnum
      
     for (
0numi++) 
     { 
          
weaponid weapons[i
           
          if (
dropwhat == && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) 
          { 
               static 
wname[32
               
get_weaponname(weaponidwnamesizeof wname 1
               
engclient_cmd(id"drop"wname
          } 
     } 


stock UTIL_PlayWeaponAnimation(const Player, const Sequence

    
set_pev(Playerpev_weaponanimSequence
     
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player
    
write_byte(Sequence
    
write_byte(pev(Playerpev_body)) 
    
message_end() 

XeOn Cp is offline
sirerick
Senior Member
Join Date: Jul 2012
Location: Venezuela
Old 03-04-2015 , 18:12   Re: Bullet Color
Reply With Quote #9

PHP Code:
#include <amxmodx> 
#include <cstrike> 
#include <hamsandwich> 
#include <fakemeta> 
#include <engine> 
#include <fun> 
#include <xs> 
#include <zombieplague> 

const USE_STOPPED 
const OFFSET_ACTIVE_ITEM 373 
const OFFSET_WEAPONOWNER 41 
const OFFSET_LINUX 
const OFFSET_LINUX_WEAPONS 

#define WEAP_LINUX_XTRA_OFF        4 
#define PLAYER_LINUX_XTRA_OFF    5 
#define m_flNextAttack                83 
#define m_iClip                    51 
#define m_fInReload                54 
#define m_flTimeWeaponIdle            48 
#define ENG_NULLENT                -1 
#define EV_INT_WEAPONKEY        EV_INT_impulse 
#define M4A1GOLD_WEAPONKEY            67854 
#define MAX_PLAYERS                32 
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers) 


const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90
new const 
WEAPONENTNAMES[][] = { """weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10"
            
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550"
            
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249"
            
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552"
            
"weapon_ak47""weapon_knife""weapon_p90" 

new 
g_item_m4a1_goldm_spriteTexture
new g_has_m4a1_gold[33
new 
g_m4a1_gold_TmpClip[33
new 
cvar_m4a1_gold_dmgcvar_m4a1_gold_ammocvar_m4a1_gold_clipcvar_m4a1_gold_spd 

#define M4A1GOLD_RELOAD_TIME     3.0 

new const M4A1GOLD_V_MODEL[] = "models/v_m4a1_gold.mdl" 
new const M4A1GOLD_P_MODEL[] = "models/p_m4a1_gold.mdl" 
new const M4A1GOLD_W_MODEL[] = "models/w_m4a1_gold.mdl" 

public plugin_init() 

    
register_plugin("[ZP] Extra Item: M4A1 Gold""3.0""4e/l"

    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg"
     
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage"
    
RegisterHam(Ham_Item_AddToPlayer"weapon_m4a1""fw_M4A1GOLD_AddToPlayer"
    
RegisterHam(Ham_Item_PostFrame"weapon_m4a1""M4A1GOLD__ItemPostFrame"); 
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload"); 
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload_Post"1); 
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary_Post"1
    for (new 
1sizeof WEAPONENTNAMESi++) 
        if (
WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_DeployWEAPONENTNAMES[i], "fw_Item_Deploy_Post"1

    
register_event("CurWeapon","CurrentWeapon","be","1=1"
    
register_event("DeathMsg""Death""a"

        
register_forward(FM_SetModel"fw_SetModel"

    
cvar_m4a1_gold_clip register_cvar("zp_m4a1_gold_clip""35"
        
cvar_m4a1_gold_ammo register_cvar("zp_m4a1_gold_ammo""150"
    
cvar_m4a1_gold_dmg register_cvar("zp_m4a1_gold_dmg""4"
    
cvar_m4a1_gold_spd register_cvar("zp_m4a1_gold_spd""1.0"

    
g_item_m4a1_gold zp_register_extra_item("M4A1 Gold"30ZP_TEAM_HUMAN
    
RegisterHam(Ham_TraceAttack"worldspawn""make_tracer"1)


public 
zp_extra_item_selected(iditemid

    if(
itemid == g_item_m4a1_gold
    {     
        
drop_weapons(id1); 
        new 
iWep1 give_item(id,"weapon_m4a1"
        if( 
iWep1 
        { 
            
cs_set_weapon_ammo(iWep1get_pcvar_num(cvar_m4a1_gold_clip)) 
                        
cs_set_user_bpammo (idCSW_M4A1get_pcvar_num(cvar_m4a1_gold_ammo)) 
        } 
        
g_has_m4a1_gold[id] = true
    } 
}     
public 
plugin_precache() 

    
precache_model(M4A1GOLD_V_MODEL
    
precache_model(M4A1GOLD_P_MODEL
    
precache_model(M4A1GOLD_W_MODEL
    
m_spriteTexture precache_model("sprites/dot.spr")


public 
fw_UseStationary_Post(entitycalleractivatoruse_type

    if (
use_type == USE_STOPPED && is_user_connected(caller)) 
        
replace_weapon_models(callerget_user_weapon(caller)) 


public 
fw_Item_Deploy_Post(weapon_ent

    static 
owner 
    owner 
fm_cs_get_weapon_ent_owner(weapon_ent
     
    static 
weaponid 
    weaponid 
cs_get_weapon_id(weapon_ent
     
    
replace_weapon_models(ownerweaponid


public 
CurrentWeapon(id

    static 
iWeaponiWeapon read_data(2
     
    
replace_weapon_models(idread_data(2)) 
     
    static 
weapon[32], iEnt 
    get_weaponname
(iWeaponweapon31
    
iEnt find_ent_by_owner(-1weaponid
    if(
iEnt
    { 
        static 
Float:DelayFloat:M_Delay 
        
static Float:iSpeed 
        iSpeed 
0.0 
        
if(iWeapon == CSW_M4A1 && g_has_m4a1_gold[id]) 
            
iSpeed get_pcvar_float(cvar_m4a1_gold_spd

        
Delay get_pdata_float(iEnt464) * iSpeed 
        M_Delay 
get_pdata_float(iEnt474) * iSpeed 
        
if (Delay 0.0
        { 
            
set_pdata_float(iEnt46Delay4
            
set_pdata_float(iEnt47M_Delay4
        } 
    } 


replace_weapon_models(idweaponid

    switch (
weaponid
    { 
        case 
CSW_M4A1
        { 
            if (
zp_get_user_zombie(id) || zp_get_user_survivor(id)) 
                return; 
             
            if(
g_has_m4a1_gold[id]) 
            { 
                
set_pev(idpev_viewmodel2M4A1GOLD_V_MODEL
                
set_pev(idpev_weaponmodel2M4A1GOLD_P_MODEL
            } 
        } 
    } 


public 
client_connect(id

    
g_has_m4a1_gold[id] = false 


public 
client_disconnect(id

    
g_has_m4a1_gold[id] = false 


public 
Death() 

    
g_has_m4a1_gold[read_data(2)] = false 


public 
zp_user_infected_post(id

    if (
zp_get_user_zombie(id)) 
    { 
    
g_has_m4a1_gold[id] = false 
    



public 
fw_TakeDamage(victiminflictorattackerFloat:damage)  
{  
    if (
victim != attacker)  
    {  
    if(
get_user_weapon(attacker) == CSW_M4A1 && g_has_m4a1_gold[attacker])  
    
SetHamParamFloat(4damage get_pcvar_float(cvar_m4a1_gold_dmg))  
    } 


public 
fw_SetModel(entitymodel[]) 

    if(!
is_valid_ent(entity)) 
        return 
FMRES_IGNORED
     
    static 
szClassName[33
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName)) 
         
    if(!
equal(szClassName"weaponbox")) 
        return 
FMRES_IGNORED
     
    static 
iOwner 
     
    iOwner 
entity_get_edict(entityEV_ENT_owner
     
    if(
equal(model"models/w_m4a1.mdl")) 
    { 
        static 
iStoredSVDID 
         
        iStoredSVDID 
find_ent_by_owner(ENG_NULLENT"weapon_m4a1"entity
     
        if(!
is_valid_ent(iStoredSVDID)) 
            return 
FMRES_IGNORED
     
        if(
g_has_m4a1_gold[iOwner]) 
        { 
            
entity_set_int(iStoredSVDIDEV_INT_WEAPONKEYM4A1GOLD_WEAPONKEY
             
            
g_has_m4a1_gold[iOwner] = false 
             
            entity_set_model
(entityM4A1GOLD_W_MODEL
             
            return 
FMRES_SUPERCEDE
        } 
    } 
     
    return 
FMRES_IGNORED


public 
fw_M4A1GOLD_AddToPlayer(M4A1GOLDid

    if(!
is_valid_ent(M4A1GOLD) || !is_user_connected(id)) 
        return 
HAM_IGNORED
     
    if(
entity_get_int(M4A1GOLDEV_INT_WEAPONKEY) == M4A1GOLD_WEAPONKEY
    { 
        
g_has_m4a1_gold[id] = true 
         
        entity_set_int
(M4A1GOLDEV_INT_WEAPONKEY0
         
        return 
HAM_HANDLED
    } 
     
    return 
HAM_IGNORED


public 
message_DeathMsg(msg_idmsg_destid

    static 
szTruncatedWeapon[33], iAttackeriVictim 
     
    get_msg_arg_string
(4szTruncatedWeaponcharsmax(szTruncatedWeapon)) 
     
    
iAttacker get_msg_arg_int(1
    
iVictim get_msg_arg_int(2
     
    if(!
is_user_connected(iAttacker) || iAttacker == iVictim
        return 
PLUGIN_CONTINUE 
     
    
if(equal(szTruncatedWeapon"m4a1") && get_user_weapon(iAttacker) == CSW_M4A1
    { 
        if(
g_has_m4a1_gold[iAttacker]) 
            
set_msg_arg_string(4"m4a1 gold"
    } 

    return 
PLUGIN_CONTINUE 


public 
M4A1GOLD__ItemPostFrame(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1); 
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF

    new 
fInReload get_pdata_int(weapon_entitym_fInReloadWEAP_LINUX_XTRA_OFF)  

    if( 
fInReload && flNextAttack <= 0.0 
    { 
        new 
min(get_pcvar_num(cvar_m4a1_gold_clip) - iClipiBpAmmo
     
        
set_pdata_int(weapon_entitym_iClipiClip jWEAP_LINUX_XTRA_OFF
        
cs_set_user_bpammo(idCSW_M4A1iBpAmmo-j); 
         
        
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF
        
fInReload 
    


    return 
HAM_IGNORED


public 
M4A1GOLD__Reload(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    
g_m4a1_gold_TmpClip[id] = -1

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1); 
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF

    if (
iBpAmmo <= 0
        return 
HAM_SUPERCEDE

    if (
iClip >= get_pcvar_num(cvar_m4a1_gold_clip)) 
        return 
HAM_SUPERCEDE


    
g_m4a1_gold_TmpClip[id] = iClip

    return 
HAM_IGNORED


public 
M4A1GOLD__Reload_Post(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    if (
g_m4a1_gold_TmpClip[id] == -1
        return 
HAM_IGNORED

    
set_pdata_int(weapon_entitym_iClipg_m4a1_gold_TmpClip[id], WEAP_LINUX_XTRA_OFF

    
set_pdata_float(weapon_entitym_flTimeWeaponIdleM4A1GOLD_RELOAD_TIMEWEAP_LINUX_XTRA_OFF

    
set_pdata_float(idm_flNextAttackM4A1GOLD_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF

    
UTIL_PlayWeaponAnimation(id4

    return 
HAM_IGNORED


stock fm_cs_get_weapon_ent_owner(ent

    return 
get_pdata_cbase(entOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS); 


stock drop_weapons(iddropwhat

     static 
weapons[32], numiweaponid 
     num 

     get_user_weapons
(idweaponsnum
      
     for (
0numi++) 
     { 
          
weaponid weapons[i
           
          if (
dropwhat == && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) 
          { 
               static 
wname[32
               
get_weaponname(weaponidwnamesizeof wname 1
               
engclient_cmd(id"drop"wname
          } 
     } 


stock UTIL_PlayWeaponAnimation(const Player, const Sequence

    
set_pev(Playerpev_weaponanimSequence
     
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player
    
write_byte(Sequence
    
write_byte(pev(Playerpev_body)) 
    
message_end() 
}

public 
make_tracer(victimattackerFloat:damageFloat:direction[3], tracehandledamage_type)
{
    static 
redgreenblue
    red 
0
    green 
255
    blue 
50
    
    
if(get_user_weapon(attacker) == CSW_M4A1 && g_has_m4a1_gold[attacker]) 
    {
        new 
Float:vecEndPos[3
        
get_tr2(tracehandleTR_vecEndPosvecEndPos
        
        
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYvecEndPos0
        
write_byte(TE_BEAMENTPOINT
        
write_short(attacker 0x1000
        
engfunc(EngFunc_WriteCoordvecEndPos[0]) // x 
        
engfunc(EngFunc_WriteCoordvecEndPos[1]) // x 
        
engfunc(EngFunc_WriteCoordvecEndPos[2]) // x 
        
write_short(m_spriteTexture
        
write_byte(0// framerate 
        
write_byte(0// framerate 
        
write_byte(1// framerate 
        
write_byte(10// framerate 
        
write_byte(0// framerate 
        
write_byte(red)
        
write_byte(green)
        
write_byte(blue)
        
write_byte(200// brightness 
        
write_byte(0// brightness 
        
message_end() 
    }
    return 
HAM_HANDLED

sirerick is offline
j.abdalftah
Member
Join Date: Jul 2016
Location: Palestine-Hebron
Old 07-06-2016 , 19:32   Re: Bullet Color
Reply With Quote #10

[I]
Quote:
Originally Posted by sirerick View Post
PHP Code:
#include <amxmodx> 
#include <cstrike> 
#include <hamsandwich> 
#include <fakemeta> 
#include <engine> 
#include <fun> 
#include <xs> 
#include <zombieplague> 

const USE_STOPPED 
const OFFSET_ACTIVE_ITEM 373 
const OFFSET_WEAPONOWNER 41 
const OFFSET_LINUX 
const OFFSET_LINUX_WEAPONS 

#define WEAP_LINUX_XTRA_OFF        4 
#define PLAYER_LINUX_XTRA_OFF    5 
#define m_flNextAttack                83 
#define m_iClip                    51 
#define m_fInReload                54 
#define m_flTimeWeaponIdle            48 
#define ENG_NULLENT                -1 
#define EV_INT_WEAPONKEY        EV_INT_impulse 
#define M4A1GOLD_WEAPONKEY            67854 
#define MAX_PLAYERS                32 
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers) 


const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90
new const 
WEAPONENTNAMES[][] = { """weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10"
            
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550"
            
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249"
            
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552"
            
"weapon_ak47""weapon_knife""weapon_p90" 

new 
g_item_m4a1_goldm_spriteTexture
new g_has_m4a1_gold[33
new 
g_m4a1_gold_TmpClip[33
new 
cvar_m4a1_gold_dmgcvar_m4a1_gold_ammocvar_m4a1_gold_clipcvar_m4a1_gold_spd 

#define M4A1GOLD_RELOAD_TIME     3.0 

new const M4A1GOLD_V_MODEL[] = "models/v_m4a1_gold.mdl" 
new const M4A1GOLD_P_MODEL[] = "models/p_m4a1_gold.mdl" 
new const M4A1GOLD_W_MODEL[] = "models/w_m4a1_gold.mdl" 

public plugin_init() 

    
register_plugin("[ZP] Extra Item: M4A1 Gold""3.0""4e/l"

    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg"
     
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage"
    
RegisterHam(Ham_Item_AddToPlayer"weapon_m4a1""fw_M4A1GOLD_AddToPlayer"
    
RegisterHam(Ham_Item_PostFrame"weapon_m4a1""M4A1GOLD__ItemPostFrame"); 
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload"); 
    
RegisterHam(Ham_Weapon_Reload"weapon_m4a1""M4A1GOLD__Reload_Post"1); 
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary_Post"1
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary_Post"1
    for (new 
1sizeof WEAPONENTNAMESi++) 
        if (
WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_DeployWEAPONENTNAMES[i], "fw_Item_Deploy_Post"1

    
register_event("CurWeapon","CurrentWeapon","be","1=1"
    
register_event("DeathMsg""Death""a"

        
register_forward(FM_SetModel"fw_SetModel"

    
cvar_m4a1_gold_clip register_cvar("zp_m4a1_gold_clip""35"
        
cvar_m4a1_gold_ammo register_cvar("zp_m4a1_gold_ammo""150"
    
cvar_m4a1_gold_dmg register_cvar("zp_m4a1_gold_dmg""4"
    
cvar_m4a1_gold_spd register_cvar("zp_m4a1_gold_spd""1.0"

    
g_item_m4a1_gold zp_register_extra_item("M4A1 Gold"30ZP_TEAM_HUMAN
    
RegisterHam(Ham_TraceAttack"worldspawn""make_tracer"1)


public 
zp_extra_item_selected(iditemid

    if(
itemid == g_item_m4a1_gold
    {     
        
drop_weapons(id1); 
        new 
iWep1 give_item(id,"weapon_m4a1"
        if( 
iWep1 
        { 
            
cs_set_weapon_ammo(iWep1get_pcvar_num(cvar_m4a1_gold_clip)) 
                        
cs_set_user_bpammo (idCSW_M4A1get_pcvar_num(cvar_m4a1_gold_ammo)) 
        } 
        
g_has_m4a1_gold[id] = true
    } 
}     
public 
plugin_precache() 

    
precache_model(M4A1GOLD_V_MODEL
    
precache_model(M4A1GOLD_P_MODEL
    
precache_model(M4A1GOLD_W_MODEL
    
m_spriteTexture precache_model("sprites/dot.spr")


public 
fw_UseStationary_Post(entitycalleractivatoruse_type

    if (
use_type == USE_STOPPED && is_user_connected(caller)) 
        
replace_weapon_models(callerget_user_weapon(caller)) 


public 
fw_Item_Deploy_Post(weapon_ent

    static 
owner 
    owner 
fm_cs_get_weapon_ent_owner(weapon_ent
     
    static 
weaponid 
    weaponid 
cs_get_weapon_id(weapon_ent
     
    
replace_weapon_models(ownerweaponid


public 
CurrentWeapon(id

    static 
iWeaponiWeapon read_data(2
     
    
replace_weapon_models(idread_data(2)) 
     
    static 
weapon[32], iEnt 
    get_weaponname
(iWeaponweapon31
    
iEnt find_ent_by_owner(-1weaponid
    if(
iEnt
    { 
        static 
Float:DelayFloat:M_Delay 
        
static Float:iSpeed 
        iSpeed 
0.0 
        
if(iWeapon == CSW_M4A1 && g_has_m4a1_gold[id]) 
            
iSpeed get_pcvar_float(cvar_m4a1_gold_spd

        
Delay get_pdata_float(iEnt464) * iSpeed 
        M_Delay 
get_pdata_float(iEnt474) * iSpeed 
        
if (Delay 0.0
        { 
            
set_pdata_float(iEnt46Delay4
            
set_pdata_float(iEnt47M_Delay4
        } 
    } 


replace_weapon_models(idweaponid

    switch (
weaponid
    { 
        case 
CSW_M4A1
        { 
            if (
zp_get_user_zombie(id) || zp_get_user_survivor(id)) 
                return; 
             
            if(
g_has_m4a1_gold[id]) 
            { 
                
set_pev(idpev_viewmodel2M4A1GOLD_V_MODEL
                
set_pev(idpev_weaponmodel2M4A1GOLD_P_MODEL
            } 
        } 
    } 


public 
client_connect(id

    
g_has_m4a1_gold[id] = false 


public 
client_disconnect(id

    
g_has_m4a1_gold[id] = false 


public 
Death() 

    
g_has_m4a1_gold[read_data(2)] = false 


public 
zp_user_infected_post(id

    if (
zp_get_user_zombie(id)) 
    { 
    
g_has_m4a1_gold[id] = false 
    



public 
fw_TakeDamage(victiminflictorattackerFloat:damage)  
{  
    if (
victim != attacker)  
    {  
    if(
get_user_weapon(attacker) == CSW_M4A1 && g_has_m4a1_gold[attacker])  
    
SetHamParamFloat(4damage get_pcvar_float(cvar_m4a1_gold_dmg))  
    } 


public 
fw_SetModel(entitymodel[]) 

    if(!
is_valid_ent(entity)) 
        return 
FMRES_IGNORED
     
    static 
szClassName[33
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName)) 
         
    if(!
equal(szClassName"weaponbox")) 
        return 
FMRES_IGNORED
     
    static 
iOwner 
     
    iOwner 
entity_get_edict(entityEV_ENT_owner
     
    if(
equal(model"models/w_m4a1.mdl")) 
    { 
        static 
iStoredSVDID 
         
        iStoredSVDID 
find_ent_by_owner(ENG_NULLENT"weapon_m4a1"entity
     
        if(!
is_valid_ent(iStoredSVDID)) 
            return 
FMRES_IGNORED
     
        if(
g_has_m4a1_gold[iOwner]) 
        { 
            
entity_set_int(iStoredSVDIDEV_INT_WEAPONKEYM4A1GOLD_WEAPONKEY
             
            
g_has_m4a1_gold[iOwner] = false 
             
            entity_set_model
(entityM4A1GOLD_W_MODEL
             
            return 
FMRES_SUPERCEDE
        } 
    } 
     
    return 
FMRES_IGNORED


public 
fw_M4A1GOLD_AddToPlayer(M4A1GOLDid

    if(!
is_valid_ent(M4A1GOLD) || !is_user_connected(id)) 
        return 
HAM_IGNORED
     
    if(
entity_get_int(M4A1GOLDEV_INT_WEAPONKEY) == M4A1GOLD_WEAPONKEY
    { 
        
g_has_m4a1_gold[id] = true 
         
        entity_set_int
(M4A1GOLDEV_INT_WEAPONKEY0
         
        return 
HAM_HANDLED
    } 
     
    return 
HAM_IGNORED


public 
message_DeathMsg(msg_idmsg_destid

    static 
szTruncatedWeapon[33], iAttackeriVictim 
     
    get_msg_arg_string
(4szTruncatedWeaponcharsmax(szTruncatedWeapon)) 
     
    
iAttacker get_msg_arg_int(1
    
iVictim get_msg_arg_int(2
     
    if(!
is_user_connected(iAttacker) || iAttacker == iVictim
        return 
PLUGIN_CONTINUE 
     
    
if(equal(szTruncatedWeapon"m4a1") && get_user_weapon(iAttacker) == CSW_M4A1
    { 
        if(
g_has_m4a1_gold[iAttacker]) 
            
set_msg_arg_string(4"m4a1 gold"
    } 

    return 
PLUGIN_CONTINUE 


public 
M4A1GOLD__ItemPostFrame(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1); 
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF

    new 
fInReload get_pdata_int(weapon_entitym_fInReloadWEAP_LINUX_XTRA_OFF)  

    if( 
fInReload && flNextAttack <= 0.0 
    { 
        new 
min(get_pcvar_num(cvar_m4a1_gold_clip) - iClipiBpAmmo
     
        
set_pdata_int(weapon_entitym_iClipiClip jWEAP_LINUX_XTRA_OFF
        
cs_set_user_bpammo(idCSW_M4A1iBpAmmo-j); 
         
        
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF
        
fInReload 
    


    return 
HAM_IGNORED


public 
M4A1GOLD__Reload(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    
g_m4a1_gold_TmpClip[id] = -1

    new 
iBpAmmo cs_get_user_bpammo(idCSW_M4A1); 
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF

    if (
iBpAmmo <= 0
        return 
HAM_SUPERCEDE

    if (
iClip >= get_pcvar_num(cvar_m4a1_gold_clip)) 
        return 
HAM_SUPERCEDE


    
g_m4a1_gold_TmpClip[id] = iClip

    return 
HAM_IGNORED


public 
M4A1GOLD__Reload_Post(weapon_entity) { 
    new 
id pev(weapon_entitypev_owner
    if (!
is_user_connected(id)) 
        return 
HAM_IGNORED

    if (!
g_has_m4a1_gold[id]) 
        return 
HAM_IGNORED

    if (
g_m4a1_gold_TmpClip[id] == -1
        return 
HAM_IGNORED

    
set_pdata_int(weapon_entitym_iClipg_m4a1_gold_TmpClip[id], WEAP_LINUX_XTRA_OFF

    
set_pdata_float(weapon_entitym_flTimeWeaponIdleM4A1GOLD_RELOAD_TIMEWEAP_LINUX_XTRA_OFF

    
set_pdata_float(idm_flNextAttackM4A1GOLD_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF

    
UTIL_PlayWeaponAnimation(id4

    return 
HAM_IGNORED


stock fm_cs_get_weapon_ent_owner(ent

    return 
get_pdata_cbase(entOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS); 


stock drop_weapons(iddropwhat

     static 
weapons[32], numiweaponid 
     num 

     get_user_weapons
(idweaponsnum
      
     for (
0numi++) 
     { 
          
weaponid weapons[i
           
          if (
dropwhat == && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) 
          { 
               static 
wname[32
               
get_weaponname(weaponidwnamesizeof wname 1
               
engclient_cmd(id"drop"wname
          } 
     } 


stock UTIL_PlayWeaponAnimation(const Player, const Sequence

    
set_pev(Playerpev_weaponanimSequence
     
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player
    
write_byte(Sequence
    
write_byte(pev(Playerpev_body)) 
    
message_end() 
}

public 
make_tracer(victimattackerFloat:damageFloat:direction[3], tracehandledamage_type)
{
    static 
redgreenblue
    red 
0
    green 
255
    blue 
50
    
    
if(get_user_weapon(attacker) == CSW_M4A1 && g_has_m4a1_gold[attacker]) 
    {
        new 
Float:vecEndPos[3
        
get_tr2(tracehandleTR_vecEndPosvecEndPos
        
        
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYvecEndPos0
        
write_byte(TE_BEAMENTPOINT
        
write_short(attacker 0x1000
        
engfunc(EngFunc_WriteCoordvecEndPos[0]) // x 
        
engfunc(EngFunc_WriteCoordvecEndPos[1]) // x 
        
engfunc(EngFunc_WriteCoordvecEndPos[2]) // x 
        
write_short(m_spriteTexture
        
write_byte(0// framerate 
        
write_byte(0// framerate 
        
write_byte(1// framerate 
        
write_byte(10// framerate 
        
write_byte(0// framerate 
        
write_byte(red)
        
write_byte(green)
        
write_byte(blue)
        
write_byte(200// brightness 
        
write_byte(0// brightness 
        
message_end() 
    }
    return 
HAM_HANDLED
}[/i


I want to Edit it ... to make it shot 1 red 1 while and 1 gold ..soory for bad my english
j.abdalftah is offline
Reply



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 06:23.


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