Raised This Month: $ Target: $400
 0% 

Solved fw_cmdstart codes (Glock18c) Bug


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
ZombieTheMan01
Senior Member
Join Date: Aug 2015
Location: Turkey
Old 02-13-2016 , 16:38   fw_cmdstart codes (Glock18c) Bug
Reply With Quote #1

Hi all. I have a question. I came across this Plugin with bug. pressing of the same gun as cmdstart code I found the code for scanning, this time not as frequently as interlaced. This time I did, I instead Glock18 I don't want P228. So it's up to you entirely.
Note: I am bad english. I'm translate wrote from.

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

#define ENG_NULLENT            -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define infi_WEAPONKEY         59441
#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_pPlayer                            41
#define m_iId                                       43
#define m_fKnown                    44
#define m_flNextPrimaryAttack         46
#define m_flNextSecondaryAttack         47
#define m_flTimeWeaponIdle            48
#define m_iClip                    51
#define m_fInReload                54
#define PLAYER_LINUX_XTRA_OFF    5
#define m_flNextAttack                83

#define infi_DRAW_TIME             1.0
#define infi_RELOAD_TIME        4.5

#define infi_RELOAD                1
#define infi_DRAW                2
#define infi_SHOOT_LEFT                3
#define infi_SHOOT_RIGHT            4
#define infi_SHOOT_LEFTLAST            5
#define infi_SHOOT_RIGHTLAST            5

#define write_coord_f(%1)    engfunc(EngFunc_WriteCoord,%1)

new const Fire_Sounds_infi[][] = { "weapons/m950-1.wav" }
new const 
Sounds_infi[][] = { "weapons/infi_clipin.wav" "weapons/infi_clipon.wav" "weapons/infi_clipout.wav" "weapons/infi_draw.wav" }

new 
infi_V_MODEL[64] = "models/v_m950.mdl"
new infi_P_MODEL[64] = "models/p_m950.mdl"
new infi_W_MODEL[64] = "models/w_m950.mdl"

new const GUNSHOT_DECALS[] = { 4142434445 }

new 
cvar_dmg_inficvar_recoil_infig_itemid_inficvar_clip_inficvar_spd_inficvar_spd_mode_inficvar_infi_ammo
new g_MaxPlayersg_orig_event_infig_orig_event_infi2g_IsInPrimaryAttackg_iClip
new Float:cl_pushangle[MAX_PLAYERS 1][3], m_iBlood[2]
new 
g_has_infi[33], g_clip_ammo[33], g_infi_TmpClip[33], oldweap[33], g_mode[33]

const 
SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
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_deagle""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" }

public 
plugin_init()
{
    
register_plugin("[ZP] Extra: Calico M950""1.2""YunusReyiz")
    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
    
register_event("CurWeapon","CurrentWeapon","be","1=1")
    
RegisterHam(Ham_Item_AddToPlayer"weapon_glock18""fw_infi_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)
    for (new 
1sizeof WEAPONENTNAMESi++)
    if (
WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_DeployWEAPONENTNAMES[i], "fw_Item_Deploy_Post"1)
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_glock18""fw_infi_PrimaryAttack")
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_glock18""fw_infi_PrimaryAttack_Post"1)
    
RegisterHam(Ham_Weapon_SecondaryAttack"weapon_glock18""fw_infi_SecondaryAttack")
    
RegisterHam(Ham_Item_PostFrame"weapon_glock18""infi_ItemPostFrame")
    
RegisterHam(Ham_Weapon_Reload"weapon_glock18""infi_Reload")
    
RegisterHam(Ham_Weapon_Reload"weapon_glock18""infi_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")
    
register_forward(FM_CmdStart"fw_CmdStart")
    
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_wall""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_door""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_door_rotating""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_plat""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_rotating""fw_TraceAttack"1)

    
cvar_clip_infi register_cvar("zp_m950_clip""50")
    
cvar_infi_ammo register_cvar("zp_m950_ammo""200")
    
cvar_dmg_infi register_cvar("zp_m950_dmg""0.86")
    
cvar_recoil_infi register_cvar("zp_m950_recoil""0.5")
    
cvar_spd_infi register_cvar("zp_m950_spd""0.1")
    
    
register_clcmd("m950""give_infi")
    
g_MaxPlayers get_maxplayers()
}

public 
plugin_precache()
{
    
precache_model(infi_V_MODEL)
    
precache_model(infi_P_MODEL)
    
precache_model(infi_W_MODEL)
    for(new 
0sizeof Fire_Sounds_infii++)
    
precache_sound(Fire_Sounds_infi[i])    
    for(new 
0sizeof Sounds_infii++)
    
precache_sound(Sounds_infi[i])    
    
m_iBlood[0] = precache_model("sprites/blood.spr")
    
m_iBlood[1] = precache_model("sprites/bloodspray.spr")
    
    
register_forward(FM_PrecacheEvent"fwPrecacheEvent_Post"1)
}

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

    new 
g_currentweapon get_user_weapon(iAttacker)

    if(
g_currentweapon != CSW_GLOCK18) return
    
    if(!
g_has_infi[iAttacker]) return

    static 
Float:flEnd[3]
    
get_tr2(ptrTR_vecEndPosflEnd)
    
    if(
iEnt)
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_DECAL)
        
write_coord_f(flEnd[0])
        
write_coord_f(flEnd[1])
        
write_coord_f(flEnd[2])
        
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
        
write_short(iEnt)
        
message_end()
    }
    else
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_WORLDDECAL)
        
write_coord_f(flEnd[0])
        
write_coord_f(flEnd[1])
        
write_coord_f(flEnd[2])
        
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
        
message_end()
    }
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_GUNSHOTDECAL)
    
write_coord_f(flEnd[0])
    
write_coord_f(flEnd[1])
    
write_coord_f(flEnd[2])
    
write_short(iAttacker)
    
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
    
message_end()
}

public 
zp_user_humanized_post(id)
{
    
g_has_infi[id] = false
}

public 
plugin_natives ()
{
    
register_native("give_weapon_infi""native_give_weapon_add"1)
}
public 
native_give_weapon_add(id)
{
    
give_infi(id)
}

public 
fwPrecacheEvent_Post(type, const name[])
{
    if (
equal("events/glock18.sc"name))
    {
        
g_orig_event_infi get_orig_retval()
        return 
FMRES_HANDLED
    
}
    return 
FMRES_IGNORED
}

public 
client_connect(id)
{
    
g_has_infi[id] = false
    g_mode
[id] = 0
}

public 
client_disconnect(id)
{
    
g_has_infi[id] = false
    g_mode
[id] = 0
}

public 
zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
        
g_has_infi[id] = false
        g_mode
[id] = 0
    
}
}

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_glock18.mdl"))
    {
        static 
iStoredAugID
        
        iStoredAugID 
find_ent_by_owner(ENG_NULLENT"weapon_glock18"entity)
    
        if(!
is_valid_ent(iStoredAugID))
            return 
FMRES_IGNORED
    
        
if(g_has_infi[iOwner])
        {
            
entity_set_int(iStoredAugIDEV_INT_WEAPONKEYinfi_WEAPONKEY)

            
g_has_infi[iOwner] = false

            entity_set_model
(entityinfi_W_MODEL)
                        
            return 
FMRES_SUPERCEDE
        
}
    }
    return 
FMRES_IGNORED
}

public 
give_infi(id)
{
    
drop_weapons(id2)
    new 
iWep2 give_item(id,"weapon_glock18")
    if( 
iWep2 )
    {
        
g_mode[id] = 0
        cs_set_weapon_ammo
(iWep2get_pcvar_num(cvar_clip_infi))
        
cs_set_user_bpammo (idCSW_GLOCK18get_pcvar_num(cvar_infi_ammo))    
        
UTIL_PlayWeaponAnimation (idinfi_DRAW)
        
set_pdata_float(idm_flNextAttackinfi_DRAW_TIMEOFFSET_LINUX)

    }
    
g_has_infi[id] = true
}

public 
zp_extra_item_selected(iditemid)
{
    if(
itemid != g_itemid_infi)
        return

    
give_infi(id)
}

public 
fw_infi_AddToPlayer(infiid)
{
    if(!
is_valid_ent(infi) || !is_user_connected(id))
        return 
HAM_IGNORED
    
    
if(entity_get_int(infiEV_INT_WEAPONKEY) == infi_WEAPONKEY)
    {
        
g_has_infi[id] = true
        entity_set_int
(infiEV_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))

    if(
read_data(2) != CSW_GLOCK18 || !g_has_infi[id])
        return
     
    static 
Float:iSpeedEnt
         Ent 
find_ent_by_owner(-1,"weapon_deagle",id)

    if(
g_mode[id] == 1)
             
iSpeed get_pcvar_float(cvar_spd_mode_infi
    else
             
iSpeed get_pcvar_float(cvar_spd_infi

         if(
Ent)
         {
        static 
Float:DelayFloat:M_Delay
              Delay 
get_pdata_floatEnt464) * iSpeed
           M_Delay 
get_pdata_floatEnt474) * iSpeed
              
if(Delay 0.0)
              {
            
set_pdata_float(Ent46Delay4)
                   
set_pdata_float(Ent47M_Delay4)
              }
         }
}

replace_weapon_models(idweaponid)
{
    switch (
weaponid)
    {
        case 
CSW_GLOCK18:
        {
            if (
zp_get_user_zombie(id) || zp_get_user_survivor(id))
                return
            
            if(
g_has_infi[id])
            {
                
set_pev(idpev_viewmodel2infi_V_MODEL)
                
set_pev(idpev_weaponmodel2infi_P_MODEL)
                if(
oldweap[id] != CSW_GLOCK18
                {
                    
UTIL_PlayWeaponAnimation (idinfi_DRAW)
                    
set_pdata_float(idm_flNextAttackinfi_DRAW_TIMEOFFSET_LINUX)
                }
            }
        }
    }
    
oldweap[id] = weaponid
}

public 
fw_UpdateClientData_Post(PlayerSendWeaponsCD_Handle)
{
    if(!
is_user_alive(Player) || (get_user_weapon(Player) != CSW_GLOCK18 || !g_has_infi[Player]))
        return 
FMRES_IGNORED
    
    set_cd
(CD_HandleCD_flNextAttackhalflife_time () + 0.001)
    return 
FMRES_HANDLED
}

public 
fw_infi_PrimaryAttack(Weapon)
{
    new 
Player get_pdata_cbase(Weapon414)
    
    if (!
g_has_infi[Player])
        return
    
    
g_IsInPrimaryAttack 1
    pev
(Player,pev_punchangle,cl_pushangle[Player])
    
    
g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
    
g_iClip cs_get_weapon_ammo(Weapon)
}
public 
fw_infi_SecondaryAttack(weapon)
{
   new 
id get_pdata_cbase(weapon414)

   if(
g_has_infi[id])
      return 
HAM_SUPERCEDE

   
return HAM_IGNORED
}

public 
fw_CmdStart(iduc_handleseed)
{        
         if(!
g_has_infi[id])
              return

        if(!
is_user_alive(id))
                return
 
        new 
pItem get_pdata_cbase(idOFFSET_ACTIVE_ITEM)
 
        if(
get_pdata_int(pItemm_iId4) != CSW_GLOCK18)
                return
 
        if(
get_pdata_float(idm_flNextAttack) > 0.1)
                return
 
        new 
iButtons get_uc(uc_handleUC_Buttons)

        if(
iButtons IN_ATTACK)
        {
            
iButtons IN_ATTACK2
            set_uc
(uc_handleUC_ButtonsiButtons)

        if(
iButtons IN_ATTACK2)
               {
            if(
get_pdata_float(pItemm_flNextPrimaryAttackWEAP_LINUX_XTRA_OFF) <= 0.1)
                        {
                            if(
get_pdata_int(pItemm_iClip) <= 0)
                                    return
 
                            
ExecuteHamB(Ham_Weapon_PrimaryAttackfind_ent_by_owner(-1"weapon_glock18"id))
                    }
            }
        }
}

public 
fwPlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if ((
eventid != g_orig_event_infi && eventid != g_orig_event_infi2) || !g_IsInPrimaryAttack)
        return 
FMRES_IGNORED
    
if (!(<= invoker <= g_MaxPlayers))
    return 
FMRES_IGNORED

    playback_event
(flags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
    return 
FMRES_SUPERCEDE
}


public 
fw_infi_PrimaryAttack_Post(Weapon)
{
    
g_IsInPrimaryAttack 0
    
new Player get_pdata_cbase(Weapon414)
    
    if(!
is_user_alive(Player))
        return

    new 
szClipszAmmo
    get_user_weapon
(PlayerszClipszAmmo)

    if(
g_iClip <= cs_get_weapon_ammo(Weapon))
        return

    if(
g_has_infi[Player])
    {
        if (!
g_clip_ammo[Player])
            return

        new 
Float:push[3]

        
pev(Player,pev_punchangle,push)
        
xs_vec_sub(push,cl_pushangle[Player],push)

        
xs_vec_mul_scalar(push get_pcvar_float(cvar_recoil_infi), push)
        
xs_vec_add(push,cl_pushangle[Player],push)
        
set_pev(Player,pev_punchangle,push)

        
UTIL_PlayWeaponAnimation(PlayerszClip random_num(infi_SHOOT_LEFTLAST,infi_SHOOT_RIGHTLAST) : random_num(infi_SHOOT_LEFTinfi_SHOOT_RIGHT))

        
emit_sound(PlayerCHAN_WEAPONFire_Sounds_infi[0], VOL_NORMATTN_NORM0PITCH_NORM)
    }
}

public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if (
victim != attacker && is_user_connected(attacker))
    {
        if(
get_user_weapon(attacker) == CSW_GLOCK18)
        {
            if(
g_has_infi[attacker])
                
SetHamParamFloat(4damage get_pcvar_float(cvar_dmg_infi))        
        }
    }
}

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"glock18") && get_user_weapon(iAttacker) == CSW_GLOCK18)
    {
        if(
g_has_infi[iAttacker])
            
set_msg_arg_string(4"glock18")
    }
    return 
PLUGIN_CONTINUE
}

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()
}

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

     
if (!g_has_infi[id])
          return 
HAM_IGNORED

     
static iClipExtra
     
     iClipExtra 
get_pcvar_num(cvar_clip_infi)
     new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF)

     new 
iBpAmmo cs_get_user_bpammo(idCSW_GLOCK18)
     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(iClipExtra iClipiBpAmmo)
    
         
set_pdata_int(weapon_entitym_iClipiClip jWEAP_LINUX_XTRA_OFF)
         
cs_set_user_bpammo(idCSW_GLOCK18iBpAmmo-j)
        
         
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF)
         
fInReload 0
     
}
     return 
HAM_IGNORED
}

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

     
if (!g_has_infi[id])
          return 
HAM_IGNORED

     
static iClipExtra

     
if(g_has_infi[id])
          
iClipExtra get_pcvar_num(cvar_clip_infi)

     
g_infi_TmpClip[id] = -1

     
new iBpAmmo cs_get_user_bpammo(idCSW_GLOCK18)
     new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF)

     if (
iBpAmmo <= 0)
          return 
HAM_SUPERCEDE

     
if (iClip >= iClipExtra)
          return 
HAM_SUPERCEDE

     g_infi_TmpClip
[id] = iClip

     
return HAM_IGNORED
}

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

    
if (!g_has_infi[id])
        return 
HAM_IGNORED

    
if (g_infi_TmpClip[id] == -1)
        return 
HAM_IGNORED

    set_pdata_int
(weapon_entitym_iClipg_infi_TmpClip[id], WEAP_LINUX_XTRA_OFF)

    
set_pdata_float(weapon_entitym_flTimeWeaponIdleinfi_RELOAD_TIMEWEAP_LINUX_XTRA_OFF)
    
set_pdata_float(idm_flNextAttackinfi_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF)

    
UTIL_PlayWeaponAnimation (idinfi_RELOAD)

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF)

    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) & SECONDARY_WEAPONS_BIT_SUM))
          {
               static 
wname[32]
               
get_weaponname(weaponidwnamesizeof wname 1)
               
engclient_cmd(id"drop"wname)
          }
     }

Thanks give.

Last edited by ZombieTheMan01; 06-19-2017 at 06:05. Reason: Solved
ZombieTheMan01 is offline
 



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 09:34.


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