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

Zp Extra Item Gun Problem..


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
shubhamgulati12
Senior Member
Join Date: Oct 2010
Location: Inida The Holy Place!!
Old 09-28-2012 , 08:46   Zp Extra Item Gun Problem..
Reply With Quote #1

Hello friends i recently created a custom gun with my custom models .
But i am facing a problem.
When i buy the gun it comes but when it's clip gets finished it doesnt show the reload action of the gun...
And when i am firing it flickers like going to get reload...
But doesnt reload till ammo finishes..
Even i have kept same reload time as that of machine gun that is 5 seconds which is the deafault time for reload for machine gun still it doesnt show the reloading action...

Please tell me the mistake that i did so that for future if i make new guns i dont repeat that ...


Here Is My Scripting File..
PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>
enum
{
anim_idle,
anim_reload,
anim_draw,
anim_shoot1,
anim_shoot2,
anim_shoot3
}
#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define WEAPONKEY 33
#define MAX_PLAYERS                32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
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 m_fKnown                44
#define m_flNextPrimaryAttack             46
#define m_flTimeWeaponIdle            48
#define m_iClip                    51
#define m_fInReload                54
#define PLAYER_LINUX_XTRA_OFF            5
#define m_flNextAttack                83
#define RELOAD_TIME 5.0
#define wId CSW_M249
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 
Fire_snd[] = {"soubnd files.."}
new const 
went[] ={"weapon name..."}
new const 
GUNSHOT_DECALS[] = { 4142434445 }
new 
hk416_MODEL[64] = "all models files... seperately itz not the issue.."

new cvar_dmg_hk416,g_itemid_hk416cvar_clip_hk416cvar_hk416_ammo
new g_has_hk416[33]
new 
g_MaxPlayersg_orig_event_hk416g_clip_ammo[33]
new 
Float:cl_pushangle[MAX_PLAYERS 1][3], m_iBlood[2]
new 
g_hk416_TmpClip[33]
public 
plugin_init()
{
    
register_plugin("[ZP]Weapon Generator""1.0""Crock / =)")
    
register_event("CurWeapon","CurrentWeapon","be","1=1")
    
RegisterHam(Ham_Item_AddToPlayerwent"fw_hk416_AddToPlayer")
    
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)
    
RegisterHam(Ham_Item_Deploywent"fw_Item_Deploy_Post"1)
    
RegisterHam(Ham_Weapon_PrimaryAttackwent"fw_hk416_PrimaryAttack")
    
RegisterHam(Ham_Weapon_PrimaryAttackwent"fw_hk416_PrimaryAttack_Post"1)
    
RegisterHam(Ham_Item_PostFramewent"hk416__ItemPostFrame");
    
RegisterHam(Ham_Weapon_Reloadwent"hk416__Reload");
    
RegisterHam(Ham_Weapon_Reloadwent"hk416__Reload_Post"1);
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
register_forward(FM_SetModel"fw_SetModel")
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1)
    
register_forward(FM_PlaybackEvent"fwPlaybackEvent")
    
cvar_dmg_hk416 register_cvar("zp_dmg""6")
    
cvar_clip_hk416 register_cvar("zp_clip""100")
    
cvar_hk416_ammo register_cvar("zp_ammo""300")
    
g_itemid_hk416 zp_register_extra_item("gun"20ZP_TEAM_HUMAN)
    
g_MaxPlayers get_maxplayers()
}
public 
plugin_precache()
{
    
precache_model(hk416_V_MODEL)
    
precache_model(hk416_P_MODEL)
    
precache_model(hk416_W_MODEL)
    
precache_sound(Fire_snd)
    
m_iBlood[0] = precache_model("sprites/mysprite...")
    
m_iBlood[1] = precache_model("sprites/mysprite...")
    
register_forward(FM_PrecacheEvent"fwPrecacheEvent_Post"1)
}
public 
fwPrecacheEvent_Post(type, const name[])
{
    if (
equal("events/m249.sc"name))
    {
        
g_orig_event_hk416 get_orig_retval()
        return 
FMRES_HANDLED
    
}
    return 
FMRES_IGNORED
}

public 
client_connect(id)
{
    
g_has_hk416[id] = false
}
public 
client_disconnect(id)
{
    
g_has_hk416[id] = false
}public zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
        
g_has_hk416[id] = false
    
}
}
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_m249.mdl"))
    {
        static 
iStoredSVDID
        iStoredSVDID 
find_ent_by_owner(ENG_NULLENTwententity)
        if(!
is_valid_ent(iStoredSVDID))
            return 
FMRES_IGNORED;
        if(
g_has_hk416[iOwner])
        {
            
entity_set_int(iStoredSVDIDEV_INT_WEAPONKEYWEAPONKEY)
            
g_has_hk416[iOwner] = false
            entity_set_model
(entityhk416_W_MODEL)
            return 
FMRES_SUPERCEDE;
        }
    }
    return 
FMRES_IGNORED;
}
public 
give_hk416(id)
{
    
drop_weapons(id1);
    new 
iWep2 give_item(id,went)
    if( 
iWep2 )
    {
    
cs_set_weapon_ammo(iWep2get_pcvar_num(cvar_clip_hk416))
    
cs_set_user_bpammo (idwIdget_pcvar_num(cvar_hk416_ammo))
    }
    
g_has_hk416[id] = true;
}
public 
zp_extra_item_selected(iditemid)
{
    if(
itemid == g_itemid_hk416)
    {
    
give_hk416(id)
    }
}
public 
fw_hk416_AddToPlayer(hk416id)
{
    if(!
is_valid_ent(hk416) || !is_user_connected(id))
        return 
HAM_IGNORED;
    if(
entity_get_int(hk416EV_INT_WEAPONKEY) == WEAPONKEY)
    {
        
g_has_hk416[id] = true
        entity_set_int
(hk416EV_INT_WEAPONKEY0)
        return 
HAM_HANDLED;
    }
    return 
HAM_IGNORED;
}
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)
{
    
replace_weapon_models(idread_data(2))
}
replace_weapon_models(idweaponid)
{
    switch (
weaponid)
    {
        case 
wId:
        {
            if (
zp_get_user_zombie(id) || zp_get_user_survivor(id))
                return;
            if(
g_has_hk416[id])
            {
                
set_pev(idpev_viewmodel2hk416_V_MODEL)
                
set_pev(idpev_weaponmodel2hk416_P_MODEL)
            }
        }
    }
}
public 
fw_UpdateClientData_Post(PlayerSendWeaponsCD_Handle)
{
  if(!
is_user_alive(Player) || (get_user_weapon(Player) != wId) || !g_has_hk416[Player])
  return 
FMRES_IGNORED
  set_cd
(CD_HandleCD_flNextAttackhalflife_time () + 0.001)
  return 
FMRES_HANDLED
}
public 
fw_hk416_PrimaryAttack(Weapon)
{
    new 
Player get_pdata_cbase(Weapon414)
    if (!
g_has_hk416[Player])
        return;
    
pev(Player,pev_punchangle,cl_pushangle[Player])
    
g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
}
public 
fwPlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if ((
eventid != g_orig_event_hk416))
        return 
FMRES_IGNORED
    
if (!(<= invoker <= g_MaxPlayers))
        return 
FMRES_IGNORED
    playback_event
(flags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
    return 
FMRES_SUPERCEDE
}
public 
fw_hk416_PrimaryAttack_Post(Weapon)
{    new 
Player get_pdata_cbase(Weapon414)
    new 
szClipszAmmo
    get_user_weapon
(PlayerszClipszAmmo)
    if(
Player && Player 33)
    {
    if(
g_has_hk416[Player])
    {
    if(
szClip 0)emit_sound(PlayerCHAN_WEAPONFire_sndVOL_NORMATTN_NORM0PITCH_NORM)
    }
    if(
g_has_hk416[Player])
    {
        new 
Float:push[3]
        
pev(Player,pev_punchangle,push)
        
xs_vec_sub(push,cl_pushangle[Player],push)
        
xs_vec_mul_scalar(push,0.6,push)
        
xs_vec_add(push,cl_pushangle[Player],push)
        
set_pev(Player,pev_punchangle,push)
        if (!
g_clip_ammo[Player])
            return
        
UTIL_PlayWeaponAnimation(Playerrandom_num(1,3))
        
make_blood_and_bulletholes(Player)
    }
    }
}
public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if (
victim != attacker && is_user_connected(attacker))
    {
        if(
get_user_weapon(attacker) == wId)
        {
            if(
g_has_hk416[attacker])
                
SetHamParamFloat(4damage get_pcvar_float(cvar_dmg_hk416))
        }
    }
}
stock fm_cs_get_current_weapon_ent(id)
{
    return 
get_pdata_cbase(idOFFSET_ACTIVE_ITEMOFFSET_LINUX);
}
stock fm_cs_get_weapon_ent_owner(ent)
{
    return 
get_pdata_cbase(entOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS);
}
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()
}
stock make_blood_and_bulletholes(id)
{
    new 
aimOrigin[3], targetbody
    get_user_origin
(idaimOrigin3)
    
get_user_aiming(idtargetbody)
    if(
target && target <= g_MaxPlayers && zp_get_user_zombie(target))
    {
        new 
Float:fStart[3], Float:fEnd[3], Float:fRes[3], Float:fVel[3]
        
pev(idpev_originfStart)
        
velocity_by_aim(id64fVel)
        
fStart[0] = float(aimOrigin[0])
        
fStart[1] = float(aimOrigin[1])
        
fStart[2] = float(aimOrigin[2])
        
fEnd[0] = fStart[0]+fVel[0]
        
fEnd[1] = fStart[1]+fVel[1]
        
fEnd[2] = fStart[2]+fVel[2]
        new 
res
        engfunc
(EngFunc_TraceLinefStartfEnd0targetres)
        
get_tr2(resTR_vecEndPosfRes)
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BLOODSPRITE)
        
write_coord(floatround(fStart[0]))
        
write_coord(floatround(fStart[1]))
        
write_coord(floatround(fStart[2]))
        
write_shortm_iBlood ])
        
write_shortm_iBlood ] )
        
write_byte(70)
        
write_byte(random_num(1,2))
        
message_end()
    }
    else if(!
is_user_connected(target))
    {
        if(
target)
        {
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
            
write_byte(TE_DECAL)
            
write_coord(aimOrigin[0])
            
write_coord(aimOrigin[1])
            
write_coord(aimOrigin[2])
            
write_byte(GUNSHOT_DECALS[random_num 0sizeof GUNSHOT_DECALS -) ] )
            
write_short(target)
            
message_end()
        }
        else
        {
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
            
write_byte(TE_WORLDDECAL)
            
write_coord(aimOrigin[0])
            
write_coord(aimOrigin[1])
            
write_coord(aimOrigin[2])
            
write_byte(GUNSHOT_DECALS[random_num 0sizeof GUNSHOT_DECALS -) ] )
            
message_end()
        }
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_GUNSHOTDECAL)
        
write_coord(aimOrigin[0])
        
write_coord(aimOrigin[1])
        
write_coord(aimOrigin[2])
        
write_short(id)
        
write_byte(GUNSHOT_DECALS[random_num 0sizeof GUNSHOT_DECALS -) ] )
        
message_end()
    }
}
public 
hk416__ItemPostFrame(weapon_entity) {
    new 
id pev(weapon_entitypev_owner)
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;
    if (!
g_has_hk416[id])
        return 
HAM_IGNORED;
    new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF)
    new 
iBpAmmo cs_get_user_bpammo(idwId);
    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_clip_hk416) - iClipiBpAmmo)
        
set_pdata_int(weapon_entitym_iClipiClip jWEAP_LINUX_XTRA_OFF)
        
cs_set_user_bpammo(idwIdiBpAmmo-j);
        
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF)
        
fInReload 0
    
}
    return 
HAM_IGNORED;
}
public 
hk416__Reload(weapon_entity) {
    new 
id pev(weapon_entitypev_owner)
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;
    if (!
g_has_hk416[id])
        return 
HAM_IGNORED;
    
g_hk416_TmpClip[id] = -1;
    new 
iBpAmmo cs_get_user_bpammo(idwId);
    new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF)
    if (
iBpAmmo <= 0)
        return 
HAM_SUPERCEDE;
    if (
iClip >= get_pcvar_num(cvar_clip_hk416))
        return 
HAM_SUPERCEDE;
    
g_hk416_TmpClip[id] = iClip;
    return 
HAM_IGNORED;
}
public 
hk416__Reload_Post(weapon_entity) {
    new 
id pev(weapon_entitypev_owner)
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;
    if (!
g_has_hk416[id])
        return 
HAM_IGNORED;
    if (
g_hk416_TmpClip[id] == -1)
        return 
HAM_IGNORED;
    
set_pdata_int(weapon_entitym_iClipg_hk416_TmpClip[id], WEAP_LINUX_XTRA_OFF)
    
set_pdata_float(weapon_entitym_flTimeWeaponIdleRELOAD_TIMEWEAP_LINUX_XTRA_OFF)
    
set_pdata_float(idm_flNextAttackRELOAD_TIMEPLAYER_LINUX_XTRA_OFF)
    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF)
    
UTIL_PlayWeaponAnimation(id4)
    return 
HAM_IGNORED;
}
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)
          }
     }

Thanks For Taking Time And Reading My Post For Help...
__________________

Join Free File hosting - http://db.tt/VvebKSSW
[Free 2 GB cloud storage]

Last edited by shubhamgulati12; 10-13-2012 at 00:03.
shubhamgulati12 is offline
being noob
Senior Member
Join Date: Jan 2012
Location: Hindustan!!
Old 09-28-2012 , 09:19   Re: Zp Extra Item Gun Problem..
Reply With Quote #2

maybe 5 sec is not enough for that gun to reload
i mean reload animation of that gun is more that 5 sec.
__________________
<3<3

Last edited by being noob; 09-28-2012 at 09:22.
being noob is offline
shubhamgulati12
Senior Member
Join Date: Oct 2010
Location: Inida The Holy Place!!
Old 09-28-2012 , 09:21   Re: Zp Extra Item Gun Problem..
Reply With Quote #3

Quote:
Originally Posted by being noob View Post
reload time is 0 maybe thats why we dont need to reload
bro deafault time is 5 and i have also done it 5 ..

PHP Code:
#define RELOAD_TIME 5.0 
__________________

Join Free File hosting - http://db.tt/VvebKSSW
[Free 2 GB cloud storage]

Last edited by shubhamgulati12; 09-28-2012 at 09:22.
shubhamgulati12 is offline
being noob
Senior Member
Join Date: Jan 2012
Location: Hindustan!!
Old 09-28-2012 , 09:36   Re: Zp Extra Item Gun Problem..
Reply With Quote #4

default time of which gun is 5?
m249 or this gun
__________________
<3<3
being noob is offline
shubhamgulati12
Senior Member
Join Date: Oct 2010
Location: Inida The Holy Place!!
Old 09-28-2012 , 09:44   Re: Zp Extra Item Gun Problem..
Reply With Quote #5

Quote:
Originally Posted by being noob View Post
default time of which gun is 5?
m249 or this gun
this gun is made on m249 and it has 5 seconds reload time so i did reload time 5 for this too and just changed the models..
__________________

Join Free File hosting - http://db.tt/VvebKSSW
[Free 2 GB cloud storage]
shubhamgulati12 is offline
being noob
Senior Member
Join Date: Jan 2012
Location: Hindustan!!
Old 09-28-2012 , 11:12   Re: Zp Extra Item Gun Problem..
Reply With Quote #6

are bhai but reload ka jo animation hota hai woh 5 sec. se jyada / kum hoga to kaise barabar play hoga?

this gun is not from cs 1.6 this is from cso

aur unlog ne wo m249 pe nahi design kiya hai
__________________
<3<3
being noob is offline
shubhamgulati12
Senior Member
Join Date: Oct 2010
Location: Inida The Holy Place!!
Old 09-29-2012 , 03:48   Re: Zp Extra Item Gun Problem..
Reply With Quote #7

Quote:
Originally Posted by being noob View Post
are bhai but reload ka jo animation hota hai woh 5 sec. se jyada / kum hoga to kaise barabar play hoga?

this gun is not from cs 1.6 this is from cso

aur unlog ne wo m249 pe nahi design kiya hai
Ok is there any way of getting to know about the reload time for this gun?
__________________

Join Free File hosting - http://db.tt/VvebKSSW
[Free 2 GB cloud storage]
shubhamgulati12 is offline
anantthakor
Senior Member
Join Date: Aug 2009
Old 09-29-2012 , 07:03   Re: Zp Extra Item Gun Problem..
Reply With Quote #8

yea same problem happened when i made a shotgun from weapon generator
anantthakor is offline
anantthakor
Senior Member
Join Date: Aug 2009
Old 09-29-2012 , 07:04   Re: Zp Extra Item Gun Problem..
Reply With Quote #9

beware all , plz pm your ip re
anantthakor is offline
being noob
Senior Member
Join Date: Jan 2012
Location: Hindustan!!
Old 09-29-2012 , 09:23   Re: Zp Extra Item Gun Problem..
Reply With Quote #10

tum dono merko tum log ka ip do
__________________
<3<3
being noob 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 14:34.


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