Go easy on me, it's my first attempt at making one

// 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 SoldierWAK5BSD
{
units[] = {SoldierWAK5BSD};
weapons[] = {AK5BSD};
requiredVersion = 1.75;
};

};

class CfgAmmo
{
class Default{};
class BulletSingle: Default{};
class BulletSingleW: BulletSingle{};
class BulletSilencedSingleW: BulletSingleW
{
indirectHitRange=0.100000;
visibleFire=0.055000;
audibleFire=0.055000;
visibleFireTime=2;
tracerColor[]={0,0,0,0.005000};
tracerColorR[]={0,0,0,0.005000};
};

class BulletBurst: BulletSingle{};
class BulletFullAuto: BulletBurst{};
class BulletFullAutoW: BulletFullAuto{};
class BulletSilencedFullAutoW: BulletFullAutoW
{
indirectHitRange=0.100000;
visibleFire=0.070000;
audibleFire=0.070000;
visibleFireTime=3;
tracerColor[]={0,0,0,0.005000};
tracerColorR[]={0,0,0,0.005000};
};
};


class CfgWeapons
{
class Default {};
class MGun : Default {};
class Riffle: MGun {};
class M16 : Riffle {};
class AK5BSD: M16
{
scopeWeapon=2;
scopeMagazine=2;
model="\AK5BSD\AK5BLJ.p3d";
modelOptics="optika_snpierw";
picture="\AK5BSD\weapics\w_AK5b.paa";
optics=1;
opticsZoomMin=0.050000;
opticsZoomMax=0.200000;
displayName="AK5B SD";
displayNameMagazine="AK5Bmag";
shortNameMagazine="AK5Bmag";
drySound[]={"weapons\M16dry",0.010000,1};
magazines[]={"AK5Bmag"};
count=20;
reloadMagazineSound[]={"\AK5BSD\sound\AK5_reload.wav",1.000 000,1};
modes[]={"Single","Fullauto"};
class Single
{
ammo="BulletSingleW";
multiplier=1;
burst=1;
displayName="AK5B SD Semi";
dispersion=0.000200;
sound[]={"\AK5BSD\sound\AK5_sd.wav",1.000000, 1};
soundContinuous=0;
reloadTime=0.150000;
ffCount=1;
recoil="riffleSingle";
autoFire=0;
aiRateOfFire=5.000000;
aiRateOfFireDistance=500;
useAction=0;
useActionTitle="";
};
class FullAuto
{
ammo="BulletFullAutoW";
multiplier=1;
burst=1;
displayName="AK5B SD Auto";
dispersion=0.000400;
sound[]={"\AK5BSD\sound\AK5_sd.wav",1.000000, 1};
soundContinuous=0;
reloadTime=0.100000;
ffCount=100;
recoil="riffleBurst3";
autoFire=1;
aiRateOfFire=5.000000;
aiRateOfFireDistance=500;
useAction=0;
useActionTitle="";
};

};


///Magazine definitions;
class AK5Bmag: AK5BSD
{
displayNameMagazine = AK5Bmag;
shortNameMagazine = AK5Bmag;
picture="\AK5BSD\weapics\m_Ak5.paa";
count=30;
scopeWeapon=0;
scopeMagazine=2;
};

};

class CfgVehicles
{
class All {};
class AllVehicles:All{};
class Land:AllVehicles{};
class Man:Land{};
class Soldier:Man{};
class SoldierWB:Soldier{};
class SoldierWAK5BLJ: SoldierWB
{
model="mc vojakw2.p3d";
displayName="Soldier AK5B (Suppressed)";
weapons[]={"AK5BSD","Binocular","NVGoggles","Throw","Pu
t"};
magazines[]={AK5Bmag,AK5Bmag,AK5Bmag,AK5Bmag,AK5Bmag,AK5Bmag, HandGrenade,HandGrenade,HandGrenade,Smoke
Shell};
};
};

class CfgNonAIVehicles
{
class ProxyWeapon {};
class ProxySoldierWAK5BSD: ProxyWeapon
{
autocenter=0;
scope=2;
reversed=0;
simulation="ProxyWeapon";
model="\AK5BSD\AK5BLJ.p3d";
};
};