Day of Defeat Plugins Community
This site is an archive — everything is readable and downloadable, nothing can be posted. Admin
Archive › Old Forum Threads › Help › Scripting Help › Getting weapons.
10 posts, 5 people · 1,232 views Thread Rating: ★★★★★
closedGetting weapons.
Started by TooLz on 03-22-2007, 04:59 PM
T TooLz
started this thread
Posts: 96
Threads: 11
Joined: Oct 2005
03-22-2007, 04:59 PM #1

Well I've got a small problem here, I can only find one method to receive a weapon, which is

give_item(id, "weapon_name")
Well my problem with that is simple.. I need to get the weapon without the weapon_name, I want to either get it by the weapon number or name listed in dodconst.incnnFor instance, I need to get DODW_SCOPED_FG42, or weapon #32, its seeming to be easier said than done at this point, I've tried several things and no luck, if anyone has any ideas on how to do this, let me know. I've been referencing loads of other code here just to see before asking if anyone else has done it, and it seems the only way I can use DODW_SCOPED_FG42 is just by giving them the ammo for it, which is obviously pointless and not what I need to do.nnLet me know if anyone knows a way to do this, I'll be highly greatful!nnCya

Zor
posted here
Posts: 688
Threads: 75
Joined: Jun 2006
03-23-2007, 08:36 AM #2

Try looking at:nn

nif(!(pev(id, SOMEIDIDONTREMEMBER)&(0<<32)))n{n     //Remove weaponn     pev(id, SOMEIDIDONTREMEMBER)~(0<<weaponid))nn     //Give weaponn      pev(id, SOMEIDIDONTREMEMBER)&(0<<32))n}n
nnOr something like so!nnCheers!

T TooLz
started this thread
Posts: 96
Threads: 11
Joined: Oct 2005
03-23-2007, 09:02 AM #3
public cmdScopedFG42(id){n	new weapon_id[32]n	pev(id, weapon_id)&(0<<32)n	give_item(id,weapon_id)n	return PLUGIN_HANDLEDn}
nnNot sure if I did that right or not, but it definently still doesnt work. lolnnCya

A Allenwr
posted here
Posts: 10
Threads: 1
Joined: Mar 2007
03-23-2007, 10:17 AM #4

yes, its called fakemeta

T TooLz
started this thread
Posts: 96
Threads: 11
Joined: Oct 2005
03-23-2007, 10:29 AM #5

Found that out right before you posted, edited the post above to my code that does not work still..nnCya

T TooLz
started this thread
Posts: 96
Threads: 11
Joined: Oct 2005
03-23-2007, 10:55 AM #6

Found this list of pev values, making my life a little easier below:n

enum n{n	pev_string_start = 0, // ignore all "pev_*_start" and "pev_*_end"n	pev_classname,n	pev_globalname,n	pev_model,n	pev_target,n	pev_targetname,n	pev_netname,n	pev_message,n	pev_noise,n	pev_noise1,n	pev_noise2,n	pev_noise3,n	pev_string_end,n	pev_edict_start,n	pev_chain,n	pev_dmg_inflictor,n	pev_enemy,n	pev_aiment,n	pev_owner,n	pev_groundentity,n	pev_euser1,n	pev_euser2,n	pev_euser3,n	pev_euser4,n	pev_edict_end,n	pev_float_start,n	pev_impacttime,n	pev_starttime,n	pev_idealpitch,n	pev_pitch_speed,n	pev_yaw_speed,n	pev_ltime,n	pev_nextthink,n	pev_gravity,n	pev_friction,n	pev_frame,n	pev_animtime,n	pev_framerate,n	pev_scale,n	pev_renderamt,n	pev_health,n	pev_frags,n	pev_takedamage,n	pev_max_health,n	pev_teleport_time,n	pev_armortype,n	pev_armorvalue,n	pev_dmg_take,n	pev_dmg_save,n	pev_dmg,n	pev_dmgtime,n	pev_speed,n	pev_air_finished,n	pev_pain_finished,n	pev_radsuit_finished,n	pev_maxspeed,n	pev_fov,n	pev_flFallVelocity,n	pev_fuser1,n	pev_fuser2,n	pev_fuser3,n	pev_fuser4,n	pev_float_end,n	pev_int_start,n	pev_fixangle,n	pev_modelindex,n	pev_viewmodel,n	pev_weaponmodel,n	pev_movetype,n	pev_solid,n	pev_skin,n	pev_body,n	pev_effects,n	pev_light_level,n	pev_sequence,n	pev_gaitsequence,n	pev_rendermode,n	pev_renderfx,n	pev_weapons,n	pev_deadflag,n	pev_button,n	pev_impulse,n	pev_spawnflags,n	pev_flags,n	pev_colormap,n	pev_team,n	pev_waterlevel,n	pev_watertype,n	pev_playerclass,n	pev_weaponanim,n	pev_pushmsec,n	pev_bInDuck,n	pev_flTimeStepSound,n	pev_flSwimTime,n	pev_flDuckTime,n	pev_iStepLeft,n	pev_gamestate,n	pev_oldbuttons,n	pev_groupinfo,n	pev_iuser1,n	pev_iuser2,n	pev_iuser3,n	pev_iuser4,n	pev_int_end,n	pev_vec_start,n	pev_origin_x,n	pev_origin_y,n	pev_origin_z,n	pev_oldorigin_x,n	pev_oldorigin_y,n	pev_oldorigin_z,n	pev_velocity_x,n	pev_velocity_y,n	pev_velocity_z,n	pev_basevelocity_x,n	pev_basevelocity_y,n	pev_basevelocity_z,n	pev_clbasevelocity_x,n	pev_clbasevelocity_y,n	pev_clbasevelocity_z,n	pev_movedir_x,n	pev_movedir_y,n	pev_movedir_z,n	pev_angles_x,n	pev_angles_y,n	pev_angles_z,n	pev_avelocity_x,n	pev_avelocity_y,n	pev_avelocity_z,n	pev_v_angle_x,n	pev_v_angle_y,n	pev_v_angle_z,n	pev_endpos_x,n	pev_endpos_y,n	pev_endpos_z,n	pev_startpos_x,n	pev_startpos_y,n	pev_startpos_z,n	pev_absmin_x,n	pev_absmin_y,n	pev_absmin_z,n	pev_absmax_x,n	pev_absmax_y,n	pev_absmax_z,n	pev_mins_x,n	pev_mins_y,n	pev_mins_z,n	pev_maxs_x,n	pev_maxs_y,n	pev_maxs_z,n	pev_size_x,n	pev_size_y,n	pev_size_z,n	pev_rendercolor_x,n	pev_rendercolor_y,n	pev_rendercolor_z,n	pev_view_ofs_x,n	pev_view_ofs_y,n	pev_view_ofs_z,n	pev_vuser1_x,n	pev_vuser1_y,n	pev_vuser1_z,n	pev_vuser2_x,n	pev_vuser2_y,n	pev_vuser2_z,n	pev_vuser3_x,n	pev_vuser3_y,n	pev_vuser3_z,n	pev_vuser4_x,n	pev_vuser4_y,n	pev_vuser4_z,n	pev_vec_end,n	pev_vecl_start,n	pev_vec_x,n	pev_vec_y,n	pev_vec_z,n	pev_vecl_end,n	pev_byte_start,n	pev_controller_0,n	pev_controller_1,n	pev_controller_2,n	pev_controller_3,n	pev_blending_0,n	pev_blending_1,n	pev_byte_end,n	pev_bytearray_start,n	pev_controller,n	pev_blending,n	pev_bytearray_end,n	pev_vecarray_start,n	pev_origin,n	pev_oldorigin,n	pev_velocity,n	pev_basevelocity,n	pev_clbasevelocity,n	pev_movedir,n	pev_angles,n	pev_avelocity,n	pev_v_angle,n	pev_endpos,n	pev_startpos,n	pev_absmin,n	pev_absmax,n	pev_mins,n	pev_maxs,n	pev_size,n	pev_rendercolor,n	pev_view_ofs,n	pev_vuser1,n	pev_vuser2,n	pev_vuser3,n	pev_vuser4,n	pev_punchangle,n	pev_vecarray_endnn}
nnDid this assuming pev_weapons was my way to go:nn
public cmdScopedFG42(id){n	pev(id, pev_weapons)&(0<<32)n	return PLUGIN_HANDLEDn}
nnStill failed.. lolnnCya

T TooLz
started this thread
Posts: 96
Threads: 11
Joined: Oct 2005
03-25-2007, 07:14 AM #7

lol well I managed to make it turn my FG42's model into a scoped FG42, but it still obviously didn't scope. So still an issue.. lolnn

public plugin_precache() { n   precache_model("models/p_scopedfg42bu.mdl")n   precache_model("models/v_scopedfg42.mdl")n}npublic give_scopedfg42(id) {n	give_item(id, "weapon_fg42")n	give_item(id, "ammo_fg42")n	entity_set_string(id, EV_SZ_viewmodel, "models/v_scopedfg42.mdl") n	entity_set_string(id, EV_SZ_weaponmodel, "models/p_scopedfg42bu.mdl") n}
nnCya

Wilson [29th ID]
posted here
Posts: 623
Threads: 57
Joined: Oct 2005
03-25-2007, 08:52 AM #8

We got it. ToolZ and I were using FMResearch to scroll through pdata and compare the weapons.rnThe offset is 115.rnrnSo grab a regular FG42 and change the offset 115 to 1, and it becomes a scoped fg42. (switch weapons and it refreshes the model too.)rnrnSame thing with enfield and scoped enfield.rnrnHooray for FM Research! :P

T TooLz
started this thread
Posts: 96
Threads: 11
Joined: Oct 2005
03-25-2007, 10:42 AM #9
stock detect_weapon_id(id) {rn// Big thanks to Wilson for this stock!rn    new m_iCurEnt = -1, m_iWpnEnt = 0, m_szWpn[32];rn    new clip, ammo, m_iWpn = get_user_weapon(id,clip,ammo);rn    xmod_get_wpnlogname( m_iWpn, m_szWpn, 31 ); // Requires DoDX Modulern    format( m_szWpn, 31, "weapon_%s", m_szWpn );rn    if(equal(m_szWpn, "weapon_scoped_enfield")) m_szWpn = "weapon_enfield";rn    new Float:m_flOrigin[3];rn    pev( id, pev_origin, m_flOrigin );rn    while( ( m_iCurEnt = engfunc( EngFunc_FindEntityInSphere, m_iCurEnt, m_flOrigin, Float:1.0 ) ) != 0 ) {rn        new m_szClassname[32];rn        pev( m_iCurEnt, pev_classname, m_szClassname, 31 );rn        if( equal( m_szClassname, m_szWpn ) )rn            m_iWpnEnt = m_iCurEnt;rn    }rn    return m_iWpnEnt;rn}rnpublic cmdMakeScoped(id){rn     set_pdata_int(detect_weapon_id(id),115,1)rn}
rnrnGreat work, thanks for the help Wilson, and everyone - Enjoy the finally long awaited complete version of Weapons Mod 2.0rnrnCya

diamond-optic
posted here
Posts: 2,068
Threads: 103
Joined: May 2005
03-25-2007, 07:27 PM #10

fucking awesome!

Archive › Old Forum Threads › Help › Scripting Help › Getting weapons.
DoD Plugins Archive · Repository · Old Forum Threads · Maps · Admin · built 14 Sep 2026 00:34 UTC