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 › Tutorials › Advanced dod_get/set_weapon_scoped
2 posts, 2 people · 1,570 views Thread Rating: ★★★★★
closedAdvanced dod_get/set_weapon_scoped
Started by xxavalanchexx on 06-21-2007, 12:15 AM
xxavalanchexx
started this thread
Posts: 13
Threads: 2
Joined: Oct 2006
06-21-2007, 12:15 AM #1

I just compiled this as a way to change whether a weapon is scoped or not without having to change out to another weapon and back.rnrn

 // see if an enfield/fg42 is scopedrn stock dod_get_weapon_scoped(ent)rn {rn 	 return get_pdata_int(ent,115,4);rn }rn rn // set an enfield/fg42 to scopedrn stock dod_set_weapon_scoped(ent,value)rn {rn 	 static gmsgSetFOV, gmsgScope;rn 	 if(!gmsgSetFOV)rn 	 {rn 	 	 gmsgSetFOV = get_user_msgid("SetFOV");rn 	 	 gmsgScope = get_user_msgid("Scope");rn 	 }rn 	 rn 	 new wId = get_pdata_int(ent,91,4);rn 	 if(wId != DODW_FG42 && wId != DODW_ENFIELD) return 0;rnrn 	 set_pdata_int(ent,115,value,4);rn 	 rn 	 new owner = pev(ent,pev_owner);rn 	 if(!is_user_connected(owner)) return 1;rn 	 rn	 new dummy, curweapon = get_user_weapon(owner,dummy,dummy);rn	 switch(curweapon)rn	 {rn	 	 case DODW_SCOPED_FG42: curweapon = DODW_FG42;rn	 	 case DODW_SCOPED_ENFIELD: curweapon = DODW_ENFIELD;rn	 }rn	 rn	 if(wId != curweapon) return 1;rnrn 	 if(!value)rn 	 {rn 	 	 message_begin(MSG_ONE,gmsgSetFOV,_,owner);rn 	 	 write_byte(0);rn 	 	 message_end();rn 	 	 rn 	 	 message_begin(MSG_ONE,gmsgScope,_,owner);rn 	 	 write_byte(0);rn 	 	 message_end();rn 	 	 rn 	 	 new Float:speed;rn 	 	 if(pev(owner,pev_maxspeed,speed) && speed == 42.0)rn 	 	 	 set_pev(owner,pev_maxspeed,600.0);rn 	 	 rn 	 	 switch(wId)rn 	 	 {rn 	 	 	 case DODW_FG42:rn 	 	 	 {rn 	 	 	 	 set_pev(owner,pev_viewmodel2,"models/v_fg42.mdl");rn 	 	 	 	 set_pev(owner,pev_weaponmodel2,"models/p_fg42bu.mdl");rn 	 	 	 }rn 	 	 	 default:rn 	 	 	 {rn 	 	 	 	 set_pev(owner,pev_viewmodel2,"models/v_enfield.mdl");rn 	 	 	 	 set_pev(owner,pev_weaponmodel2,"models/p_enfield.mdl");rn 	 	 	 }rn 	 	 }rn 	 }rn 	 elsern 	 {rn 	 	 switch(wId)rn 	 	 {rn 	 	 	 case DODW_FG42:rn 	 	 	 {rn 	 	 	 	 set_pev(owner,pev_viewmodel2,"models/v_scopedfg42.mdl");rn 	 	 	 	 set_pev(owner,pev_weaponmodel2,"models/p_fg42s.mdl");rn 	 	 	 }rn 	 	 	 default:rn 	 	 	 {rn 	 	 	 	 set_pev(owner,pev_viewmodel2,"models/v_enfield_scoped.mdl");rn 	 	 	 	 set_pev(owner,pev_weaponmodel2,"models/p_enfields.mdl");rn 	 	 	 }rn 	 	 }rn 	 }rn 	 rn 	 return 1;rn }
rnrnThe only bug with it, is if you have the Scoped FG42 out, and you have the scope up, if you set it to non-scoped, the firerate will still be as if it was scoped until you switch weapons.

H Hell Phoenix
posted here
Posts: 201
Threads: 17
Joined: Jan 2005
06-21-2007, 12:46 PM #2

Very nice.

Archive › Old Forum Threads › Help › Tutorials › Advanced dod_get/set_weapon_scoped
DoD Plugins Archive · Repository · Old Forum Threads · Maps · Admin · built 14 Sep 2026 00:34 UTC