Well there are three in the original file.
The first:
//Barrett M82A1M Anti-Material Rifle v.1.0 by Scanger (A.K.A. MACK)
// some basic defines
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
#define true 1
#define false 0
// type scope
#define private 0
#define protected 1
#define public 2
#define WeaponNoSlot 0// dummy weapons
#define WeaponSlotPrimary 1// primary weapons
#define WeaponSlotSecondary 16// secondary weapons
#define WeaponSlotItem 256// items
#define WeaponSlotBinocular 4096// binocular
#define WeaponHardMounted 65536
class CfgPatches
{
class SniperRiffle
{
units[] = {""};
weapons[] = {SniperRiffle};
requiredVersion = 1.30;
};
};
Code:class CfgModels
{
class Default
{
sections[] = {};
sectionsInherit="";
};
class Weapon: Default
{
sections[] = {"zasleh"};
};
class JMGBarrettM82: Weapon {};
};
class CfgAmmo
{
class Default {};
class BulletSingle: Default{};
class JMGBarrettM82: BulletSingle
{
hit= 50;
indirectHit= 1;
indirectHitRange= 0.40000;
minRange=0.5;
minRangeProbab=0.800000;
midRange=50;
midRangeProbab=0.350000;
maxRange=109;
maxRangeProbab=0.080000;
visibleFire= 16;
audibleFire= 16;
visibleFireTime= 10;
};
};
class CfgWeapons
{
class Default {};
class MGun: Default {};
class Riffle: Mgun {};
class SniperRiffle : Riffle {};
class JMGBarrettM82 : SniperRiffle
{
//--
scopeWeapon = public;
scopeMagazine = public;
weaponType=WeaponSlotPrimary;
model="\JMGBarrettm82\JMGBarrettM82.p3d";
picture="\JMGBarrettm82\Data\m82.pac";
optics = true;
modelOptics = "\JMGBarrettm82\Scope\Scope.p3d";
drySound[]={"weapons\m16dry",db-70,1};
reloadMagazineSound[]={"weapons\m16load",db-70,1};
sound[]={\JMGBarrettm82\sound\bang.wav,1,1};
count=10;
ammo = JMGBarrettM82;
opticsZoomMin=0.04;
opticsZoomMax=0.12;
distanceZoomMin=400;
distanceZoomMax=80;
displayName = JMG Barrett M82;
displayNameMagazine = JMG Barrett M82;
shortNameMagazine = M82;
magazines[]={"JMGBarrettM82Mag"};
dispersion=0.00003;
soundContinuous=false;
reloadTime=0.3;
recoil=JMGBarrettm82;
opticsFlare = true;
aiRateOfFire=5.0; // delay between shots at given distance
aiRateOfFireDistance=500; // at shorter distance delay goes lineary to zero
maxLeadSpeed=50; // max estimated speed km/h
threat[]={1,0.5,0.1};
enableAttack=1;
useAction=0;
useActionTitle="";
};
class JMGBarrettM82Mag: JMGBarrettM82
{
scopeWeapon=0;
scopeMagazine=2;
displayNameMagazine="JMG Barrett M82 Magazine";
shortNameMagazine="M82";
picture="\JMGBarrettm82\Data\m82mag.pac";
};
};
class CfgVehicles
{
class All{};
class AllVehicles:All{};
class Land:AllVehicles{};
class Man:Land{};
class Soldier:Man{};
class SoldierWSniper:Soldier{};
class JMGM82Sniper:SoldierWSniper{
displayName = "JMG Barrett M82 Sniper";
weapons[]={"JMGBarrettM82","NVGoggles","Binocular","Throw","Put","StrokeGun","StrokeFist"};
magazines[]={JMGBarrettM82Mag,JMGBarrettM82Mag,JMGBarrettM82Mag,JMGBarrettM82Mag};
};
};
class CfgRecoils
{
JMGBarrettM82[]= {0.04, 0.005,0.230, 0.250,0,0};
//recoiltime, tophalf movement, upswing, time to return from upswing,
//JMGBarrettM82[]= {0.04, 0.015,0.030, 0.040,0,0};
};
class CfgNonAIVehicles
{
class ProxyWeapon {};
class ProxyJMGBarrettM82: ProxyWeapon {};
};
The second:
//PYP Barrett M82A1 Special Long-Range (SLR)
//SOPMOD: Special Operations Peculiar MODification
//01/28/2004
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
#define true 1
#define false 0
#define private 0
#define protected 1
#define public 2
#define WeaponNoSlot 0
#define WeaponSlotPrimary 1
#define WeaponSlotSecondary 16
#define WeaponSlotItem 256
#define WeaponSlotBinocular 4096
#define WeaponHardMounted 65536
class CfgPatches
{
class PYP_m82a1unit
{
units[] = {PYP_m82a1unit};
weapons[] = {};
requiresVersion = 1.46;
};
class PYP_m82a1
{
units[] = {};
weapons[] = {PYP_m82a1};
requiresVersion = 1.46;
};
};
Code:class CfgModels
{
class Default
{
sections[] = {};
sectionsInherit="";
};
class Weapon: Default
{
sections[] = {"zasleh"};
};
class PYP_M82A1: Weapon {};
};
class CfgAmmo
{
class Default {};
class BulletSingle: Default{};
class PYP_match50: BulletSingle
{
hit = 50;
indirectHit= 1;
indirectHitRange= 0.400000;
minRange= 1;
minRangeProbab= 0.900000;
midRange= 1000;
midRangeProbab= 0.500000;
maxRange= 2000;
maxRangeProbab= 0.100000;
visibleFire= 500;
audibleFire= 3000;
visibleFireTime= 10;
};
};
class CfgWeapons
{
class Default {};
class MGun: Default {};
class Riffle: MGun {};
class SniperRiffle: Riffle {};
class PYP_m82a1: SniperRiffle
{
scopeWeapon= 2;
scopeMagazine=2;
weaponType= WeaponSlotPrimary;
model="\pyp_m82a1\PYP_M82A1.p3d";
picture="\pyp_m82a1\data\m82.pac";
displayName= "SLR M82A1 .50";
//Optics
optics=true;
modelOptics="\pyp_m82a1\scope\scope.p3d";
opticsFlare= true;
opticsZoomMin=0.0005;
opticsZoomMax=0.120;
//Sound
drysound[]={"weapons\m16dry",db-70,1};
reloadMagazineSound[]={"weapons\m16load",db-70,1};
sound[]={\pyp_m82a1\sound\bang.wav,1,1};
//Ammo
ammo= PYP_match50;
count=10;
magazines[]={PYP_m82a1mag};
initSpeed=3500;
recoil= "PYP_m82a1re";
};
class PYP_m82a1mag: PYP_m82a1
{
scopeWeapon=0;
scopeMagazine=2;
displayNameMagazine= "M82A1 .50 Magazine";
shortNameMagazine= "M82";
picture= "\pypm82a1\data\m82mag.pac";
};
};
class CfgRecoils
{
PYP_m82a1re[]= {0.04, 0.016, 0.085, 0.040, 0, 0};
//recoiltime, tophalf movement, upswing, time to return from upswing,
};
class CfgVehicles
{
class All{};
class AllVehicles:All{};
class Land:AllVehicles{};
class Man:Land{};
class Soldier:Man{};
class SoldierWB:Soldier{};
class SoldierWSniper:SoldierWB{};
class PYP_m82a1unit:SoldierWSniper
{
displayName= "PYP SLR M82A1 Sniper";
weapons[]= {PYP_m82a1,binocular,nvgoggles};
magazines[]= {PYP_m82a1mag,PYP_m82a1mag,PYP_m82a1mag,PYP_m82a1mag};
camouflage=0.600000;
};
};
class CfgNonAIVehicles
{
class ProxyWeapon {};
class ProxyPYP_m82a1: Proxyweapon {};
};
The third:
//PYP Barrett M82A1 Special Long-Range (SLR)
//SD version
//SOPMOD: Special Operations Peculiar MODification
//01/28/2004
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
#define true 1
#define false 0
#define private 0
#define protected 1
#define public 2
#define WeaponNoSlot 0
#define WeaponSlotPrimary 1
#define WeaponSlotSecondary 16
#define WeaponSlotItem 256
#define WeaponSlotBinocular 4096
#define WeaponHardMounted 65536
class CfgPatches
{
class PYP_m82a1sdunit
{
units[] = {PYP_m82a1sdunit};
weapons[] = {};
requiresVersion = 1.46;
};
class PYP_m82a1sd
{
units[] = {};
weapons[] = {PYP_m82a1sd};
requiresVersion = 1.46;
};
};
Code:class CfgModels
{
class Default
{
sections[] = {};
sectionsInherit="";
};
class Weapon: Default
{
sections[] = {"zasleh"};
};
class PYP_M82A1SUP: Weapon {};
};
class CfgAmmo
{
class Default {};
class BulletSingle: Default{};
class PYP_match50: BulletSingle
{
hit = 50;
indirectHit= 1;
indirectHitRange= 0.400000;
minRange= 1;
minRangeProbab= 0.900000;
midRange= 1000;
midRangeProbab= 0.500000;
maxRange= 2000;
maxRangeProbab= 0.100000;
visibleFire= 50;
audibleFire= 150;
visibleFireTime= 0.1;
};
};
class CfgWeapons
{
class Default {};
class MGun: Default {};
class Riffle: MGun {};
class SniperRiffle: Riffle {};
class PYP_m82a1sd: SniperRiffle
{
scopeWeapon= 2;
scopeMagazine=2;
weaponType= WeaponSlotPrimary;
model="\PYP_M82A1sup\PYP_M82A1SUP.p3d";
picture="\pyp_m82a1sup\data\m82.pac";
displayName= "SLR M82A1 .50 SD";
//Optics
optics=true;
modelOptics="\pyp_m82a1sup\scope\scope.p3d";
opticsFlare= true;
opticsZoomMin=0.001;
opticsZoomMax=0.120;
//Sound
drysound[]={"weapons\m16dry",db-70,1};
reloadMagazineSound[]={"weapons\m16load",db-70,1};
sound[]={\pyp_m82a1sup\sound\bangsd.wav,1,1};
//Ammo
ammo= PYP_match50;
count=10;
magazines[]={PYP_m82a1sdmag};
initSpeed=3500;
recoil= "PYP_m82a1re_sd";
};
class PYP_m82a1sdmag: PYP_m82a1sd
{
scopeWeapon=0;
scopeMagazine=2;
displayNameMagazine= "M82A1 .50 Magazine";
shortNameMagazine= "M82";
picture= "\pyp_m82a1sup\data\m82mag.pac";
};
};
class CfgRecoils
{
PYP_m82a1re_sd[]= {0.04, 0.020, 0.085, 0.040, 0, 0};
//recoiltime, tophalf movement, upswing, time to return from upswing,
};
class CfgVehicles
{
class All{};
class AllVehicles:All{};
class Land:AllVehicles{};
class Man:Land{};
class Soldier:Man{};
class SoldierWB:Soldier{};
class SoldierWSniper:SoldierWB{};
class PYP_m82a1sdunit:SoldierWSniper
{
displayName= "PYP SLR M82A1-SD Sniper";
weapons[]= {PYP_m82a1sd,binocular,nvgoggles};
magazines[]= {PYP_m82a1sdmag,PYP_m82a1sdmag,PYP_m82a1sdmag,PYP_m82a1sdmag};
camouflage=0.600000;
};
};
class CfgNonAIVehicles
{
class ProxyWeapon {};
class ProxyPYP_m82a1sd: Proxyweapon {};
};
Hopefully I follwed Kyles directions properly.