| closedGetting weapons. |
| Started by TooLz on 03-22-2007, 04:59 PM |
Threads: 11
Joined: Oct 2005
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!nnCyaThreads: 75
Joined: Jun 2006
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}nnnOr something like so!nnCheers!Threads: 11
Joined: Oct 2005
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. lolnnCyaThreads: 1
Joined: Mar 2007
yes, its called fakemeta
Threads: 11
Joined: Oct 2005
Found that out right before you posted, edited the post above to my code that does not work still..nnCya
Threads: 11
Joined: Oct 2005
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:nnpublic cmdScopedFG42(id){n pev(id, pev_weapons)&(0<<32)n return PLUGIN_HANDLEDn}nnStill failed.. lolnnCyaThreads: 11
Joined: Oct 2005
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}nnCyaThreads: 57
Joined: Oct 2005
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
Threads: 11
Joined: Oct 2005
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.0rnrnCyaThreads: 103
Joined: May 2005
fucking awesome!

