Raised This Month: $ Target: $400
 0% 

|REQ| Help about extra weapon plugin


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Krtola
Veteran Member
Join Date: Oct 2013
Location: Serbia
Old 03-11-2015 , 15:58   |REQ| Help about extra weapon plugin
Reply With Quote #1

I watched and learned from other plugin,but with this I do not know how to adjust two things:

1.at the end of the round,the player loses this rifle

2.this extra damage designed for this rifle,to be only valid only when player buy and shot from this extra weapon(currently,when I buy this weapon,in next round also regural weapon M249 takes extra damage)

I know that I need (example) new g_hasm2[33] and then at specific places wryte false or true depending on what I want to achieve.

I tried maybe 20 variants,but just do not know where makes mistakes.

PHP Code:
#include <amxmodx>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <biohazard>
#include <bhextra>

new g_modg_weapong_reloadg_connectg_reload_modg_block

new g_msgSayText
new g_sync_msgdisplay
new ScreenFadeEffects
new bool:g_bBoughtItem

new const m2_sound[] = "biohazard/vip_m2_gun.wav"

#define VipFlag ADMIN_LEVEL_H

#define get_weapon(%0)   (entity_get_int(%0, EV_INT_impulse) == 20140)
#define set_weapon(%0)   entity_set_int(%0, EV_INT_impulse, 20140)
#define get_bit(%1,%2)   ((%1 & (1 << (%2 & 31))) ? true : false)
#define set_bit(%1,%2)     %1 |= (1 << (%2 & 31))
#define reset_bit(%1,%2) %1 &= ~(1 << (%2 & 31))
#define VectorAdd(%1,%2,%3)   (%3[0] = %1[0] + %2[0], %3[1] = %1 [1] + %2[1], %3[2] = %1[2] + %2[2])

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 
weapon_block[][]=
{
    
"weapon_p228""weapon_shield""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""lastinv"
}

enum 
{
    
IDLE_A 0,
    
IDLE_B,
    
DRAW_A,
    
DRAW_A_,
    
CHANGE_A,
    
CHANGE_A_,  
    
CHANGE_B
    
CHANGE_B_
    
RELOAD_A,
    
RELOAD_B,
    
SHOOT_A,
    
SHOOT_B
}

new const 
trace_attack[][] = 
{
    
"func_breakable"
    
"func_wall"
    
"func_door",
    
"func_plat"
    
"func_rotating"
    
"worldspawn" 
}

new const 
damage_entity[][] =
{
    
"player",
    
"func_breakable",
    
"hostage_entity"
}

new const 
gunshot_decal[] = {4142434445}

new const 
sound_shoot[] = "weapons/m2-1.wav"
new const smoke_sprite[] = "sprites/smoke_cheytaclrrs.spr"
new const shell_model[] = "models/cso/shell762.mdl"
new const models_weapon[][] =
{
    
"models/cso/v_m2.mdl",
    
"models/cso/p_m2_1.mdl",
    
"models/cso/p_m2_2.mdl",
    
"models/cso/w_m2.mdl"
}

const 
AMMO_CLIP 250
const AMMO_MAX 250
const Float:DAMAGE_A 3.0
const Float:DAMAGE_B 3.5
const Float:RECOIL_A 2.0
const Float:RECOIL_B 1.0

new Float:time_mod[33] = 0.0
new g_origin_event_weapong_smoke_indexg_shell_indexg_item

public plugin_init()
{
       
register_plugin("[Z] Weapon: M2""0.6 beta""batcon")

       
register_logevent("round_end"2"1=Round_End");
       
RegisterHam(Ham_Item_Deploy"weapon_m249""Ham_Item_Deploy_Post"true)
       
RegisterHam(Ham_Weapon_Reload"weapon_m249""Ham_Weapon_Reload_Pre"false)
       
RegisterHam(Ham_Item_PostFrame"weapon_m249""Ham_Item_PostFrame_Pre"false)
       
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_m249""Ham_Weapon_PrimaryAttack_Pre"false)
       
RegisterHam(Ham_Weapon_WeaponIdle"weapon_m249""Ham_Weapon_WeaponIdle_Pre"false)
       
RegisterHam(Ham_Item_AddToPlayer"weapon_m249""Ham_Item_AddToPlayer_Post"true)
       
       static 
i

       
for(;sizeof trace_attacki++)
       {
                   
RegisterHam(Ham_TraceAttacktrace_attack[i], "Ham_TraceAttack_Post"true)
       }

       for(
;sizeof damage_entityi++)
       {
                   
RegisterHam(Ham_TraceAttackdamage_entity[i], "Ham_TraceAttack_Pre"false)    
       }

       
register_forward(FM_PlaybackEvent"FM_PlaybackEvent_Pre"false)
       
register_forward(FM_UpdateClientData"FM_UpdateClientData_Post"true)
       
register_forward(FM_SetModel"FM_SetModel_Pre"false)
       
register_forward(FM_CmdStart"FM_CmdStart_Pre"false)

       for(
0sizeof(weapon_block); i++) 
       {
             
register_clcmd(weapon_block[i], "block_weapon")
       }

       
register_clcmd("weapon_m2""weapon_hook")

       
g_item bh_register_extra_item("|VIP|M2-Minigun""MouseAttack2"8000BH_TEAM_SURVIVOR)

       
g_msgSayText get_user_msgid("SayText")

       
g_sync_msgdisplay CreateHudSyncObj()

       
ScreenFadeEffects get_user_msgid"ScreenFade" )
}

public 
plugin_precache()
{
       static 
i

       
for(0sizeof models_weaponi++)
       {
        
precache_model(models_weapon[i])
       }

       
precache_sound(sound_shoot)
       
g_smoke_index precache_model(smoke_sprite)
       
g_shell_index precache_model(shell_model)

       
register_dictionary("vipm2.txt")
       
precache_sound(m2_sound)

       
register_forward(FM_PrecacheEvent"FM_PrecacheEvent_Post"true)
}

public 
bh_extra_item_selected(iditem)
{
    if(
item == g_item)
    {        
        if(!(
get_user_flags(id) & VipFlag) )
        {
            
colored_print(id"^x04[M2-Minigun]^x01 Only VIP players can buy M2-Minigun.")
            
colored_print(id"^x04[M2-Minigun]^x01 Samo VIP igraci mogu da kupe M2-Minigun.")

            return 
PLUGIN_HANDLED;
        }

        if(
g_bBoughtItem)
        {
            
colored_print(id"^x04[M2-Minigun]^x01 Only one player can buy M2-Minigun.Try again in next round.")
            
colored_print(id"^x04[M2-Minigun]^x01 Samo jedan igrac moze da kupi M2-Minigun.Probaj ponovo u narednoj rundi.")

            return 
PLUGIN_HANDLED;
        }
    
        
g_bBoughtItem true
        give_m2
(id)

        
task_buym2(id)
        
Effects(id)
        
PlayEmitSound(idm2_sound)

    }
    return 
PLUGIN_CONTINUE
}


public 
event_infect(id)
{
       
reset_bit(g_modid)
       
       
reset_bit(g_reload_modid)
       
reset_bit(g_blockid)
       
remove_task(id)
}

public 
weapon_hook(id
{
       
engclient_cmd(id"weapon_m249")
       return 
PLUGIN_HANDLED
}

public 
block_weapon(id)
{
       static 
itemitem get_player_item(id)

       if(
get_bit(g_modid) || get_bit(g_reload_modid))
       {
              
set_mod(iditem)
              
set_bit(g_blockid)      
              return 
PLUGIN_HANDLED
       
}

       return 
PLUGIN_CONTINUE
}

public 
client_putinserver(id)
{
       
set_bit(g_connectid)
}

public 
client_disconnect(id)
{
       
reset_bit(g_connectid)
       
reset_bit(g_modid)
       
reset_bit(g_weaponid)
       
reset_bit(g_reloadid)
       
reset_bit(g_reload_modid)
       
       
remove_task(id)
}

public 
FM_PrecacheEvent_Post(typename[])
{
       if(
equal("events/m249.sc"name))
       {
                
g_origin_event_weapon get_orig_retval()
                return 
FMRES_HANDLED
       
}

       return 
FMRES_IGNORED
}

public 
FM_PlaybackEvent_Pre(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
       if(
eventid != g_origin_event_weapon)
       return 
FMRES_IGNORED

       
if(!(invoker <= get_maxplayers()))
       return 
FMRES_IGNORED

       playback_event
(flags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
       return 
FMRES_SUPERCEDE
}

public 
FM_UpdateClientData_Post(idSendWeaponsCD_Handle)
{
       if(!
is_user_alive(id))
       return 
FMRES_IGNORED

       
static itemitem get_player_item(id)
    
       if(!
get_weapon(item))
       return 
FMRES_IGNORED

       set_cd
(CD_HandleCD_flNextAttackget_gametime () + 0.001)
       return 
FMRES_HANDLED
}

public 
give_m2(id)
{
       
drop_weapons(id1)

       if(
get_bit(g_modid))
       {
             
reset_bit(g_modid)
       }

       
set_bit(g_weaponid)
       static 
weaponweapon give_item(id"weapon_m249")
       
set_weapon(weapon)
       
set_ammo_clip(weaponAMMO_CLIP)
       
set_ammo(idAMMO_MAX)
       
entity_set_string(idEV_SZ_viewmodelmodels_weapon[0])
       
entity_set_string(idEV_SZ_weaponmodelmodels_weapon[1]) 
       
UTIL_PlayWeaponAnimation(idDRAW_A)
       
set_next_attack(id1.0)

       
message_begin(MSG_ONEget_user_msgid("WeaponList"), _id)
       
write_string("weapon_m2"
       
write_byte(3)
       
write_byte(200)
       
write_byte(-1)
       
write_byte(-1)
       
write_byte(0)
       
write_byte(4)
       
write_byte(CSW_M249)
       
write_byte(0)
       
message_end()
}

public 
Ham_Item_Deploy_Post(weapon_ent)
{
       static 
idid get_player(weapon_ent)

       if(!
get_weapon(weapon_ent))
       return 
HAM_IGNORED
       
       entity_set_string
(idEV_SZ_viewmodelmodels_weapon[0]) 
       
UTIL_PlayWeaponAnimation(idDRAW_A)
       
set_next_attack(id1.0

       switch(
get_bit(g_modid))
       {
             case 
falseentity_set_string(idEV_SZ_weaponmodelmodels_weapon[1]) 
             case 
true:  entity_set_string(idEV_SZ_weaponmodelmodels_weapon[2]) 
       }

       return 
HAM_IGNORED
}

public 
Ham_Weapon_Reload_Pre(weapon_ent)
{
       static 
idanimclipFloat:time
       id 
get_player(weapon_ent)

       if(!
get_weapon(weapon_ent))
       return 
HAM_IGNORED

       
if(get_ammo(id) <= || get_ammo_clip(weapon_ent) >= AMMO_CLIP || get_bit(g_reload_modid))
       return 
HAM_SUPERCEDE

       clip 
get_ammo_clip(weapon_ent)

       
set_ammo_clip(weapon_ent0)
       
ExecuteHam(Ham_Weapon_Reloadweapon_ent)
       
set_ammo_clip(weapon_entclip)

       switch(
get_bit(g_modid))
       {
             case 
false:
             {
                  
anim RELOAD_A 
                  time 
6.06
             
}
             case 
true:
             {  
                  
anim RELOAD_B 
                  time 
5.7
             
}
       }

       
UTIL_PlayWeaponAnimation(idanim
       
set_next_attack(idtime)
       
set_next_idle(weapon_enttime)
       
set_bit(g_reloadid)

       return 
HAM_SUPERCEDE
}

public 
Ham_Item_PostFrame_Pre(weapon_ent)
{
       static 
idid get_player(weapon_ent
       static 
ammoammo get_ammo(id)
       static 
clipclip get_ammo_clip(weapon_ent)     
       static 
Float:NextAttackReload 

       
if(!get_weapon(weapon_ent))
       return 
HAM_IGNORED 

       NextAttack 
get_pdata_float(id835
       
Reload get_pdata_int(weapon_ent544)

       if(
Reload && NextAttack <= 0.0)
       {
             static 
oldold min(AMMO_CLIP clipammo)  

             
set_ammo_clip(weapon_entclip old
             
set_ammo(idammo old)

             
set_pdata_int(weapon_ent5404)
             
Reload 0
       
}

       
reset_bit(g_reloadid)

       return 
HAM_IGNORED
}

public 
Ham_Weapon_PrimaryAttack_Pre(weapon_ent)
{
       static 
idanimFloat:timeFloat:type_recoil
       id 
get_player(weapon_ent)

       if(!
get_weapon(weapon_ent))
       return 
HAM_IGNORED

       
if(get_ammo_clip(weapon_ent) == 0)
       return 
HAM_IGNORED
       ExecuteHam
(Ham_Weapon_PrimaryAttackweapon_ent)

       switch(
get_bit(g_modid))
       {
             case 
false:
             {
                  
anim SHOOT_A
                  type_recoil 
RECOIL_A
                  EjectBrass
(idg_shell_index, -9.017.09.010.050.0)
             }
             case 
true:
             {
                  
anim SHOOT_B
                  type_recoil 
RECOIL_B
                  EjectBrass
(idg_shell_index, -9.017.00.280.0100.0)
             }
       }

       
emit_sound(idCHAN_WEAPONsound_shootVOL_NORMATTN_NORM0PITCH_NORM)
       
set_weapon_reloil(weapon_enttype_recoil)
       
UTIL_PlayWeaponAnimation(idanim)
       
set_next_attack(idtime
       
set_next_idle(weapon_ent1.3)

       return 
HAM_SUPERCEDE
}

public 
Ham_Weapon_WeaponIdle_Pre(weapon_ent)
{
       static 
idanimFloat:time_idleFloat:time
       id 
get_player(weapon_ent)

       if(!
get_weapon(weapon_ent))
       return 
HAM_IGNORED

       
if(get_bit(g_reload_modid))
       {
             
reset_bit(g_reload_modid)
       }

       if(
get_bit(g_blockid))
       {
             
reset_bit(g_blockid)
       }

       
time_idle get_pdata_float(weapon_ent484)    

       if(
time_idle 0.0)
       return 
HAM_IGNORED

       
switch(get_bit(g_modid))
       {
             case 
false
             {
                  
anim IDLE_A
                  time 
2.6
             
}
             case 
true:  
             {
                  
anim IDLE_B
                  time 
1.6
             
}
       } 

       
UTIL_PlayWeaponAnimation(idanim)
       
set_next_idle(weapon_enttime)

       return 
HAM_SUPERCEDE
}

public 
Ham_Item_AddToPlayer_Post(weapon_entid)
{
       if(
is_valid_ent(weapon_ent))
       {
             if(
get_weapon(weapon_ent))
             {
                    
set_bit(g_weaponid)
                    
                    if(
get_bit(g_modid))
                    {
                          
reset_bit(g_modid)
                    }


                    
message_begin(MSG_ONEget_user_msgid("WeaponList"), _id)
                    
write_string("weapon_m2"
                    
write_byte(3)
                    
write_byte(200)
                    
write_byte(-1)
                    
write_byte(-1)
                    
write_byte(0)
                    
write_byte(4)
                    
write_byte(CSW_M249)
                    
write_byte(0)
                    
message_end()

                    return 
HAM_HANDLED
             
}
             
message_begin(MSG_ONEget_user_msgid("WeaponList"), _id)
             
write_string("weapon_m249"
             
write_byte(3)
             
write_byte(200)
             
write_byte(-1)
             
write_byte(-1)
             
write_byte(0)
             
write_byte(4)
             
write_byte(CSW_M249)
             
write_byte(0)
             
message_end()
       }

       return 
HAM_IGNORED
}

public 
Ham_TraceAttack_Post(entityattackerFloat:damageFloat:fDir[3], ptrdamagetype)
{
       static 
itemitem get_player_item(attacker)
       static 
FLAG

       
if(!get_weapon(item))
       return 
HAM_HANDLED
    
       
new decal gunshot_decal[random_num(0sizeof(gunshot_decal) - 1)]
       new 
Float:vecEnd[3]
   
       
get_tr2(ptrTR_vecEndPosvecEnd);

       
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
       
write_byte(TE_GUNSHOTDECAL)
       
engfunc(EngFunc_WriteCoordvecEnd[0])
       
engfunc(EngFunc_WriteCoordvecEnd[1])
       
engfunc(EngFunc_WriteCoordvecEnd[2])
       
write_short(entity)
       
write_byte(decal)
       
message_end()

       
FLAG |= TE_EXPLFLAG_NODLIGHTS
       FLAG 
|= TE_EXPLFLAG_NOSOUND
       FLAG 
|= TE_EXPLFLAG_NOPARTICLES

       engfunc
(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYvecEnd0)
       
write_byte(TE_EXPLOSION)
       
engfunc(EngFunc_WriteCoordvecEnd[0])
       
engfunc(EngFunc_WriteCoordvecEnd[1])
       
engfunc(EngFunc_WriteCoordvecEnd[2] - 10.0)
       
write_short(g_smoke_index)
       
write_byte(2)
       
write_byte(12)
       
write_byte(FLAG)
       
message_end()

       return 
HAM_IGNORED
}

public 
Ham_TraceAttack_Pre(entityattackerFloat:damage)
{
       static 
Float:damage_x

       
if(get_bit(g_connectattacker))
       {
                if(
get_user_weapon(attacker) == CSW_M249 && get_bit(g_weaponattacker))
                {
                         switch(
get_bit(g_modattacker))
                         {
                                case 
falsedamage_x DAMAGE_A
                                
case true:  damage_x DAMAGE_B
                         
}

                         
SetHamParamFloat(3damage damage_x)
                         return 
HAM_IGNORED
                

       }
       return 
HAM_IGNORED
}

public 
FM_SetModel_Pre(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 idid entity_get_edict(entityEV_ENT_owner)
    
       if(
equal(model"models/w_m249.mdl"))
       {
        static 
iStoredAugIDiStoredAugID find_ent_by_owner(-1"weapon_m249"entity)
    
        if(!
is_valid_ent(iStoredAugID))
        return 
FMRES_IGNORED
    
        
if(get_bit(g_weaponid))
        {            
            
entity_set_model(entitymodels_weapon[3])
                        
reset_bit(g_weaponid)

            return 
FMRES_SUPERCEDE
        
}
       }

       return 
FMRES_IGNORED
}

public 
FM_CmdStart_Pre(iduc_handleseed)
{
       if(!
is_user_alive(id)) 
       return 
PLUGIN_HANDLED

       
static itemitem get_player_item(id)
       static 
Float:world_timeworld_time get_gametime()

       if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !(entity_get_int(idEV_INT_oldbuttons) & IN_ATTACK2))
       {
                if(!
get_weapon(item))
                return 
PLUGIN_HANDLED

                
if((time_mod[id] > world_time) || get_bit(g_reloadid))
                return 
PLUGIN_HANDLED

                set_mod
(iditem)
       }

       return 
PLUGIN_HANDLED
}

public 
set_mod(idweapon)
{
       if(
get_bit(g_blockid))
       return

       static 
animFloat:timeFloat:world_time
       world_time 
get_gametime()

       switch(
get_bit(g_modid))
       {
             case 
false:
             {
                  
set_bit(g_modid)
       
                  
anim CHANGE_A
                  time 
4.6
                  entity_set_string
(idEV_SZ_weaponmodelmodels_weapon[2])
             }
             case 
true:  
             {
                  
reset_bit(g_modid)
                  
anim CHANGE_B
                  time 
4.06
                  
                  entity_set_string
(idEV_SZ_weaponmodelmodels_weapon[1])
             }
       }  

       
UTIL_PlayWeaponAnimation(idanim)
       
set_next_attack(idtime)
       
set_next_idle(weapontime
       
       
time_mod[id] = world_time time
       set_bit
(g_reload_modid)

       
message_begin(MSG_ONEget_user_msgid("BarTime"), _id)
       
write_short(floatround(timefloatround_round))
       
message_end()
}

public 
EjectBrass(idiShellModelIndexFloat:upScaleFloat:fwScaleFloat:rgScaleFloat:rgKoord1Float:rgKoord2)
{
    
UTIL_MakeVectors(id3)
    
    static 
Float:vVel[3], Float:vAngle[3], Float:vOrigin[3], Float:vViewOfs[3],
    
iFloat:vShellOrigin[3], Float:vShellVelocity[3], Float:vRight[3], 
    
Float:vUp[3], Float:vForward[3]
        
entity_get_vector(idEV_VEC_velocityvVel)
        
entity_get_vector(idEV_VEC_view_ofsvViewOfs)
        
entity_get_vector(idEV_VEC_anglesvAngle)
        
entity_get_vector(idEV_VEC_originvOrigin)
    
global_get(glb_v_rightvRight)
    
global_get(glb_v_upvUp)
    
global_get(glb_v_forwardvForward)
    
    for( 
03i++ )
    {
        
vShellOrigin[i] = vOrigin[i] + vViewOfs[i] + vUp[i] * upScale vForward[i] * fwScale vRight[i] * rgScale
        vShellVelocity
[i] = vVel[i] + vRight[i] * random_float(rgKoord1rgKoord2) + vUp[i] * random_float(100.0150.0) + vForward[i] * 25.0;
    }
    
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYvShellOrigin0)
    
write_byte(TE_MODEL)
    
engfunc(EngFunc_WriteCoordvShellOrigin[0])
    
engfunc(EngFunc_WriteCoordvShellOrigin[1])
    
engfunc(EngFunc_WriteCoordvShellOrigin[2])    
    
engfunc(EngFunc_WriteCoordvShellVelocity[0])
    
engfunc(EngFunc_WriteCoordvShellVelocity[1])
    
engfunc(EngFunc_WriteCoordvShellVelocity[2])
    
engfunc(EngFunc_WriteAnglevAngle[1])
    
write_short(iShellModelIndex)
    
write_byte(1)
    
write_byte(15)
    
message_end()
    
}

stock UTIL_MakeVectors(idangletype)
{
    static 
Float:vPunchAngle[3], Float:vAngle[3]
    
    if(
angletype1)    
                
entity_get_vector(idEV_VEC_v_anglevAngle)
    if(
angletype2
                
entity_get_vector(idEV_VEC_punchanglevPunchAngle)
    
    
VectorAdd(vAnglevPunchAnglevAngle)
    
engfunc(EngFunc_MakeVectorsvAngle)
}

set_ammo_clip(weaponamount)
{
    
set_pdata_int(weapon51amount4)
}

set_ammo(playeramount)
{
    
set_pdata_int(player379amount5)
}

get_ammo(player)
{
        return 
get_pdata_int(player3795)
}

get_ammo_clip(weapon)
{
        return 
get_pdata_int(weapon514)
}

get_player(weapon)
{
        return 
get_pdata_cbase(weapon414)
}

get_player_item(player)
{
        return 
get_pdata_cbase(player3735)
}

set_next_attack(playerFloat:time)
{
        
set_pdata_float(player83time5)
}

set_next_idle(weaponFloat:time)
{
        
set_pdata_float(weapon48time4)
}

set_weapon_reloil(weaponFloat:recoil)
{
        
set_pdata_float(weapon62recoil4)
}

stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
        
entity_set_int(PlayerEV_INT_weaponanimSequence)
    
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(0)
    
message_end()
}

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

public 
round_end()
{
    static 
id;
    for(
id id <= get_maxplayers() ; id++)
    {
        if(!
is_user_connected(id))
            continue;
        
        
reset_bit(g_connectid)
        
reset_bit(g_modid)
        
reset_bit(g_weaponid)
        
reset_bit(g_reloadid)
        
reset_bit(g_reload_modid)
       
        
remove_task(id)

        
g_bBoughtItem false   
    
}
}

public 
Effects(id)
{
    
message_beginMSG_BROADCASTScreenFadeEffects,.player id )
    
write_short( ( 7200 ) )
    
write_short7200 )
    
write_short0x0000 )
    
write_byte// Red color 
    
write_byte// G
    
write_byte// B
    
write_byte255 )
    
message_end( )
}

colored_print(target, const message[], any:...)
{
    static 
buffer[512]
    
    
vformat(buffercharsmax(buffer), message3)
    
    
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_target)
    
write_byte(target)
    
write_string(buffer)
    
message_end()
}

task_buym2(id)
{
    static 
name[32]
        
get_user_name(idname31)

        
set_hudmessage(25512742, -1.00.2906.012.0)

        
ShowSyncHudMsg(0g_sync_msgdisplay"%L"LANG_PLAYER"VIP_M2"name)
}

PlayEmitSound(id, const sound[])
{
    
emit_sound(idCHAN_VOICEsound1.0ATTN_NORM0PITCH_NORM)

Krtola is offline
Send a message via Skype™ to Krtola
ezio_auditore
Senior Member
Join Date: May 2013
Old 03-11-2015 , 23:51   Re: |REQ| Help about extra weapon plugin
Reply With Quote #2

I think this post was meant for Scripting Help forum....
__________________
ezio_auditore is offline
Send a message via Skype™ to ezio_auditore
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 23:21.


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