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

[ HELP ] Work with grenades?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 02-21-2017 , 07:07   [ HELP ] Work with grenades?
Reply With Quote #1

Hey flashkit, how long time!

Is there any simple code for demonstration of how do I work with the grenades? For example, the player type nade, and a grenade is launched automatically.

Thanks!
__________________









Last edited by CrazY.; 02-21-2017 at 07:53.
CrazY. is offline
Craxor
Veteran Member
Join Date: Jan 2016
Location: Romania
Old 02-21-2017 , 07:18   Re: [ HELP ] Wirk wuth grenades?
Reply With Quote #2

a grenade is launched automatcly?


Idk exactly how to create a grenade launcher but you can check if user has in hand right now a hegrenade and do
engclient_cmd ...
__________________
Project: Among Us
Craxor is offline
Send a message via ICQ to Craxor
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 02-21-2017 , 07:34   Re: [ HELP ] Wirk wuth grenades?
Reply With Quote #3

pev_dmgtime
__________________
edon1337 is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 02-21-2017 , 07:53   Re: [ HELP ] Work with grenades?
Reply With Quote #4

I will test it, after I tell the results.
__________________








CrazY. is offline
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 02-21-2017 , 08:08   Re: [ HELP ] Work with grenades?
Reply With Quote #5

If you're wanting to change the explode time then pev_dmgtime can do that, otherwise you need to explain.
__________________
edon1337 is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 02-21-2017 , 08:16   Re: [ HELP ] Work with grenades?
Reply With Quote #6

Well, I'm going to be more direct, you don't have to be exactly what I quoted above, how about, throw a grenade instead of bullets?
__________________








CrazY. is offline
yas17sin
Veteran Member
Join Date: Oct 2016
Location: Morocco/Sale
Old 02-21-2017 , 08:47   Re: [ HELP ] Work with grenades?
Reply With Quote #7

try to take something from this if there is something can help this weapon throw gernades it's called milkor :
PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
 
#define ENG_NULLENT             -1
#define EV_INT_WEAPONKEY        EV_INT_impulse
#define m32_WEAPONKEY     91421

new const GRENADE_MODEL[] = "models/grenade.mdl"
new in_zoom[33]
new 
g_reload[33]
// Sprites
new const GRENADE_TRAIL[] = "sprites/laserbeam.spr"
new const GRENADE_EXPLOSION[] = "sprites/zerogxplode.spr"
new sTrailsExplo
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_P90)|(1<<CSW_P90)|(1<<CSW_P90)|(1<<CSW_SG550)|(1<<CSW_P90)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_P90)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_M3)|(1<<CSW_P90)|(1<<CSW_AK47)|(1<<CSW_P90)

new const 
Fire_Sounds[][] = { "weapons/m32-1.wav" }

new 
gmsgWeaponList
new m32_V_MODEL[64] = "models/v_m32.mdl"
new m32_P_MODEL[64] = "models/p_m32.mdl"
new m32_W_MODEL[64] = "models/w_m32.mdl"

new cvar_clip_m32cvar_m32_ammo,cvar_dmg
new g_has_m32[33]
new 
g_MaxPlayersg_orig_event_m32
public plugin_init()
{
    
register_plugin("M32""2.7""Milkor")
    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
    
register_event("CurWeapon","CurrentWeapon","be","1=1")
    
RegisterHam(Ham_Item_AddToPlayer"weapon_m3""m32AddToPlayer")
    
register_forward(FM_CmdStart"fw_CmdStart")
    
RegisterHamHam_Weapon_PrimaryAttack"weapon_m3""fw_attack" )
    
RegisterHamHam_Weapon_PrimaryAttack"weapon_m3""fw_attackp")
    
RegisterHam(Ham_Item_Deploy,"weapon_m3""fw_Item_Deploy_Post"1)
    
RegisterHam(Ham_Weapon_Reload"weapon_m3""fw_r")
    
RegisterHam(Ham_Weapon_Reload"weapon_m3""fw_reload" )
    
register_forward(FM_SetModel"modelka")
    
register_forward(FM_UpdateClientData"client_data_post"1)
    
register_forward(FM_PlaybackEvent"PlaybackEvent")
    
    
cvar_clip_m32 register_cvar("m32_clip""6")
    
cvar_m32_ammo register_cvar("m32_ammo""18")
    
cvar_dmg register_cvar("m32_dmg","600.0")
    
    
//register_clcmd("buyammo1", "clcmd_buyammo")
    //register_clcmd("buyammo2", "clcmd_buyammo")
    
    
register_clcmd("get_milkor""give_m32")
    
register_clcmd("say /milkor""give_m32")
    
    
gmsgWeaponList get_user_msgid("WeaponList")
    
g_MaxPlayers get_maxplayers()
}
 
public 
plugin_precache()
{
    
precache_model(m32_V_MODEL)
    
precache_model(m32_P_MODEL)
    
precache_model(m32_W_MODEL)
    
precache_model(GRENADE_MODEL)
    
sTrail precache_model(GRENADE_TRAIL)
    
sExplo precache_model(GRENADE_EXPLOSION)
    
precache_sound("weapons/m32_after_reload.wav")
    
precache_sound("weapons/m32_insert.wav")
    
precache_sound("weapons/m32_start_reload.wav")
    
precache_sound(Fire_Sounds[0])    
    
precache_generic"sprites/weapon_m32.txt" )
    
precache_generic"sprites/zp_cso/640hud75.spr" )
    
precache_generic"sprites/zp_cso/640hud7x.spr" )
    
precache_generic"sprites/zp_cso/scope_grenade.spr" )

    
register_clcmd("weapon_m32""Hook_Select")
    
register_forward(FM_PrecacheEvent"fwPrecacheEvent_Post"1)
}


public 
Hook_Select(id)
{
    
engclient_cmd(id"weapon_m3")
    return 
PLUGIN_HANDLED
}

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


/*public clcmd_buyammo(id)
{
    // Not alive or infinite ammo setting enabled
    if (!is_user_alive(id) || !user_has_weapon(id,CSW_M3) || !g_has_m32[id])
        return PLUGIN_CONTINUE
    
    
    
    if (zp_get_user_ammo_packs(id) < 1)
    {
        client_print(id,print_chat,"You need 1 ammo")
        return PLUGIN_CONTINUE
    }
    
    // Get user weapons
    static  currentammo, refilled
    refilled = false
    if(cs_get_user_bpammo(id,CSW_M3)>=18)
    return PLUGIN_HANDLED
            
    // Give additional ammo
    ExecuteHamB(Ham_GiveAmmo, id, 6, "buckshot", 18)
    // Check whether we actually refilled the weapon's ammo
    if (cs_get_user_bpammo(id, CSW_M3) - currentammo > 0) refilled = true
    
    // Weapons already have full ammo
    if (!refilled) return PLUGIN_CONTINUE
    
    // Deduce ammo packs, play clip purchase sound, and notify player
    zp_set_user_ammo_packs(id,zp_get_user_ammo_packs(id)-1)
    emit_sound(id, CHAN_ITEM, "items/9mmclip1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    
    return PLUGIN_CONTINUE
}*/
 
public modelka(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_m3.mdl"))
    {
        static 
iStoredAugID
        iStoredAugID 
find_ent_by_owner(-1"weapon_m3"entity)
        
        if(!
is_valid_ent(iStoredAugID))
            return 
FMRES_IGNORED;
        
        if(
g_has_m32[iOwner])
        {
            
entity_set_int(iStoredAugIDEV_INT_impulse91421)
            
g_has_m32[iOwner] = false
            g_reload
[iOwner]=0
            
if(in_zoom[iOwner]){
            
set_zoom(iOwner,0)
            return 
PLUGIN_CONTINUE
        
}
            
entity_set_model(entitym32_W_MODEL)
            
            return 
FMRES_SUPERCEDE;
        }
    }
    
    return 
FMRES_IGNORED;
}

public 
Sprite(id,type)
{
    
    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
    
write_string(type?"weapon_m32":"weapon_m3")
    
write_byte(5)
    
write_byte(32)
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(0)
    
write_byte(5)
    
write_byte(21)
    
write_byte(0)
    
message_end()
}

public 
give_m32(id)
{
    
drop_weapons(id1)
    new 
iWep2 give_item(id,"weapon_m3")
    if( 
iWep2 )
    {
        
cs_set_weapon_ammo(iWep2get_pcvar_num(cvar_clip_m32))
        
cs_set_user_bpammo (idCSW_M3get_pcvar_num(cvar_m32_ammo))
    }

    if(
in_zoom[id])
    { 
        
cs_set_user_zoom(idCS_RESET_ZOOM1)
        
in_zoom[id] = 0
    
}
    
Sprite(id,1)
    
set_zoom(id,0)
    
g_reload[id]=0
    g_has_m32
[id] = true
}
 
public 
m32AddToPlayer(m32id)
{
    if(!
is_valid_ent(m32) || !is_user_connected(id)) return HAM_IGNORED
        
    
if(entity_get_int(m32EV_INT_WEAPONKEY) == m32_WEAPONKEY)
    {
        
g_has_m32[id] = true
        g_reload
[id]=0
        set_zoom
(id,0)
        
entity_set_int(m32EV_INT_WEAPONKEY0)
        
Sprite(id,1)
        return 
HAM_HANDLED
    
}
    if(
entity_get_int(m32EV_INT_WEAPONKEY) != m32_WEAPONKEYSprite(id,0)
    
    return 
HAM_IGNORED
}
 
public 
fw_Item_Deploy_Post(weapon_ent)
{
    new 
owner
    owner 
pev(weapon_ent,pev_owner)
    if(
is_user_alive(owner) && get_user_weapon(owner) == CSW_M3)
    {
        
set_zoom(owner,0)
    }
    static 
weaponid
    weaponid 
cs_get_weapon_id(weapon_ent)
    if(
is_user_alive(owner))
    
replace_weapon_models(ownerweaponid)
}

public 
CurrentWeapon(id)
{
    if( 
read_data(2) != CSW_M3 ) {
        if( 
g_reload[id] ) {
            
g_reload[id] = false
            remove_task
id 1331 )
        }
    }
    
replace_weapon_models(idread_data(2))
    
remove_task(id)

 
replace_weapon_models(idweaponid)
{
    switch (
weaponid)
    {
        case 
CSW_M3:
        {
            if(
g_has_m32[id] && is_user_alive(id))
            {

                
set_pev(idpev_viewmodel2m32_V_MODEL)
                
set_pev(idpev_weaponmodel2m32_P_MODEL)
            }
        }
    }
}
 
public 
client_data_post(PlayerSendWeaponsCD_Handle)
{
    if(!
is_user_alive(Player) || (get_user_weapon(Player) != CSW_M3) || !g_has_m32[Player]) return FMRES_IGNORED
        
    set_cd
(CD_HandleCD_flNextAttackhalflife_time () + 0.00001)
    return 
FMRES_HANDLED
}

public 
fw_CmdStart(iduc_handleseed
{
    new 
ammoclipweapon get_user_weapon(idclipammo)
    if (!
g_has_m32[id] || weapon != CSW_M3 || !is_user_alive(id))
        return

    if(( 
get_ucuc_handleUC_Buttons ) & IN_ATTACK2 ) && !( pevidpev_oldbuttons ) & IN_ATTACK2 )) {
        if(!
in_zoom[id] && !g_reload[id]) set_zoom(id,1)
        else 
set_zoom(id,0)
    }
}

public 
fw_attackwpn ) {
    if( 
g_has_m32pevwpnpev_owner ) ] ) return HAM_SUPERCEDE
    
return HAM_IGNORED
}

public 
fw_attackpwpn ) {
    new 
id pevwpnpev_owner ), clipbpammo
    get_user_weapon
idclipbpammo )
    if( 
g_has_m32id ] ) {
        if( 
clip ) {
            if( 
g_reload[id] ) {
                
UTIL_PlayWeaponAnimationid)
                
set_pdata_floatid831.0 )
                
remove_taskid 1331 )
                
g_reload[id] = false
                
return
            }

            
UTIL_PlayWeaponAnimation(id,random_num(1,2))
            
emit_soundidCHAN_WEAPONFire_Sounds[0], 1.0ATTN_NORM0PITCH_NORM )
            
FireGrenadeid )
            
MakeRecoilid )

            
set_pdata_floatid830.6 )
        }
    }
}

public 
MakeRecoil(id)
{
    if(!
is_user_alive(id))
        return;

    if(!
g_has_m32[id])
        return;

    static 
Float:punchAngle[3];
    
punchAngle[0] = float(random_num(-400400)) / 100.0;
    
punchAngle[1] = float(random_num(-700700)) / 100.0;
    
punchAngle[2] = 0.0;
    
set_pev(idpev_punchanglepunchAngle);
}

public 
FireGrenade(id)
{
    new 
ammoclip
    get_user_weapon
(idclipammo)
    static 
wep
    wep 
find_ent_by_owner(-1"weapon_m3"id)
    
cs_set_weapon_ammo(wep,clip-1)
    new 
Float:origin[3],Float:velocity[3],Float:angles[3]
    
engfunc(EngFunc_GetAttachmentid0origin,angles)
    
pev(id,pev_angles,angles)
    new 
ent create_entity"info_target" 
    
set_peventpev_classname"m32_grenade" )
    
set_peventpev_solidSOLID_BBOX )
    
set_peventpev_movetypeMOVETYPE_TOSS )
    
set_peventpev_mins, { -0.1, -0.1, -0.1 } )
    
set_peventpev_maxs, { 0.10.10.1 } )
    
entity_set_modelentGRENADE_MODEL )
    
set_peventpev_originorigin )
    
set_peventpev_anglesangles )
    
set_peventpev_ownerid )
    
velocity_by_aimidin_zoom[id]? 1400 1000 velocity )
    
set_peventpev_velocityvelocity )
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_BEAMFOLLOW// Temporary entity ID
    
write_short(ent// Entity
    
write_short(sTrail// Sprite index
    
write_byte(10// Life
    
write_byte(3// Line width
    
write_byte(255// Red
    
write_byte(255// Green
    
write_byte(255// Blue
    
write_byte(50// Alpha
    
message_end() 
    return 
PLUGIN_CONTINUE
}    



// We hit something!!!
public pfn_touch(ptrptd)
{
    
// If ent is valid
    
if (pev_valid(ptr))
    {    
        
// Get classnames
        
static classname[32]
        
pev(ptrpev_classnameclassname31)
        
        
// Our ent
        
if(equal(classname"m32_grenade"))
        {
            
// Get it's origin
            
new Float:originF[3]
            
pev(ptrpev_originoriginF)
            
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginF0)
            
write_byte(TE_WORLDDECAL)
            
engfunc(EngFunc_WriteCoordoriginF[0])
            
engfunc(EngFunc_WriteCoordoriginF[1])
            
engfunc(EngFunc_WriteCoordoriginF[2])
            
write_byte(engfunc(EngFunc_DecalIndex,"{scorch3"))
            
message_end()
            
// Draw explosion
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
            
write_byte(TE_EXPLOSION// Temporary entity ID
            
engfunc(EngFunc_WriteCoordoriginF[0]) // engfunc because float
            
engfunc(EngFunc_WriteCoordoriginF[1])
            
engfunc(EngFunc_WriteCoordoriginF[2]+30.0)
            
write_short(sExplo// Sprite index
            
write_byte(25// Scale
            
write_byte(35// Framerate
            
write_byte(0// Flags
            
message_end()
            
            
// Get owner
            
new owner pev(ptrpev_owner)
            
// Alive...
            
new FM_NULLENT
            
// Get distance between victim and epicenter
            
while((find_ent_in_sphere(a,originF,300.0)) != 0) {
                if( 
a!=owner&& a!=ptr&&pev(a,pev_takedamage)!=DAMAGE_NOExecuteHamBHam_TakeDamage,owner ,owner,  get_pcvar_float(cvar_dmg), DMG_BULLET )
                
set_pev(ptrpev_flagsFL_KILLME)
            }
        }
    }
        
}    
 
public 
PlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if ((
eventid != g_orig_event_m32)) return FMRES_IGNORED
    
if (!(<= invoker <= g_MaxPlayers)) return FMRES_IGNORED

    playback_event
(flags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
    return 
FMRES_SUPERCEDE
}


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(get_user_weapon(iAttacker) == CSW_M3)
    {
        if(
g_has_m32[iAttacker])
            
set_msg_arg_string(4"grenade")
    }
                
    return 
PLUGIN_CONTINUE
}
 
stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
        
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(2)
    
message_end()
}

 
public 
fw_rwpn ) {
    if( 
g_has_m32pevwpnpev_owner ) ] ) {
        
fw_reloadwpn )
        return 
HAM_SUPERCEDE
    
}
    return 
HAM_IGNORED
}

public 
fw_reload(weapon) {
    new 
id pevweaponpev_owner )
    new 
clipbpammo
    get_user_weapon
(idclipbpammo )
    if( 
g_has_m32id ] && clip && bpammo ) {
        if(!
task_existsid+1331 )) set_task0.1"reload"id+1331 )
        }
    if(
in_zoom[id])
    {
        
cs_set_user_zoom(idCS_RESET_ZOOM1)
        
in_zoom[id] = 0
    
}
    return 
HAM_IGNORED
}

public 
reloadid ) {
    
id -= 1331
    
new clipbpammoweapon find_ent_by_owner( -1"weapon_m3"id )
    
get_user_weapon(idclipbpammo )
    if(!
g_reload[id]) {
            
set_zoom(id,0)
            
UTIL_PlayWeaponAnimationid)
            
g_reloadid ] = 1
            set_pdata_float
id831.0)
            
set_task1.0"reload"id+1331 )
            return
    }

    if(
in_zoom[id])
    {
        
cs_set_user_zoom(idCS_RESET_ZOOM1)
        
in_zoom[id] = 0
    
}
    
    if( 
clip || bpammo ) {
        
UTIL_PlayWeaponAnimationid)
        
g_reloadid ] = 0
        set_pdata_float
id831.5)
        return
    }
    
cs_set_user_bpammoidCSW_M3bpammo )
    
cs_set_weapon_ammoweaponclip )
    
set_pdata_floatid831.0)
    
UTIL_PlayWeaponAnimationid)
    
set_task1.0"reload"id+1331 )
}
 
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 set_zoom(index,type){
    if(
type==0){
        if(
in_zoom[index]==1){
            
cs_set_user_zoom(indexCS_SET_AUGSG552_ZOOM1)

            
in_zoom[index]=0
            emit_sound
indexCHAN_ITEM"weapons/zoom.wav"0.202.400100 )
        }
    }
    if(
type==1){
        if(
in_zoom[index]==0){
            
cs_set_user_zoom(indexCS_RESET_ZOOM1)

            
in_zoom[index]=1
            emit_sound
indexCHAN_ITEM"weapons/zoom.wav"0.202.400100 )
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/ 
yas17sin is offline
Send a message via ICQ to yas17sin
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 02-21-2017 , 11:49   Re: [ HELP ] Work with grenades?
Reply With Quote #8

https://forums.alliedmods.net/showpo...7&postcount=55
That's the best and proper way to do what you are asking. The key part is to call grenade launch function. What I did is to redo the game grenade throw code and apply it to a weapon.
__________________

Last edited by HamletEagle; 02-21-2017 at 11:50.
HamletEagle is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 02-21-2017 , 17:17   Re: [ HELP ] Work with grenades?
Reply With Quote #9

Hey HamletEagle, as always, wise and with great recommendations, thanks again, I will study your code and make necessary modifications, when I finish give the answer if I can or not.
__________________








CrazY. is offline
Depresie
Veteran Member
Join Date: Nov 2013
Old 02-22-2017 , 18:27   Re: [ HELP ] Work with grenades?
Reply With Quote #10

You could also detect grenade launching using FM_SetModel, check there for w_grenade model then check the classname of the entity not to be a weaponbox

PHP Code:
register_forward(FM_SetModel"fw_SetModel")

public 
fw_SetModel(iEntity, const szModel[])
{
    if(!
pev_valid(iEntity))
        return 
FMRES_IGNORED

    
if(strlen(szModel) < 8)
        return 
FMRES_IGNORED

    
if(szModel[7] != 'w' || szModel[8] != '_')
        return 
FMRES_IGNORED

    
if(equal(szModel"models/w_weaponbox.mdl"))
        return 
FMRES_IGNORED

    
static szClass[32]

    
entity_get_string(iEntityEV_SZ_classnameszClasscharsmax(szClass))

    if(!
equal(szClass"weaponbox"))
        return 
FMRES_IGNORED
        
        
// Grenade launched ( you can check for model to get what type of grenade it is, ex w_flashbang, w_smokegrenade, w_hegrenade 
__________________
Depresie 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 12:38.


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