This commit is the equivalent of a atomic bomb

This commit is contained in:
2026-02-15 08:08:56 -03:00
commit e4ac56b038
6934 changed files with 916278 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,79 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.02,0.02,0.02,1};
specularPower = 80;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
texture = "braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
texture = "braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(0.6,0.16)";
uvSource = "none";
};
class Stage7
{
texture = "a3\data_f\env_land_co.paa";
uvSource = "none";
};
//};

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_long_CO.paa";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,0};
specular[]={0.01,0.01,0.01,1};
specularPower=80;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(0,0)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_long_CO.paa";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,0};
specular[]={0.05,0.05,0.05,1};
specularPower=80;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(0,0)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_CO.paa";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,0};
specular[]={0.01,0.01,0.01,1};
specularPower=80;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(0,0)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_CO.paa";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,0};
specular[]={0.05,0.05,0.05,1};
specularPower=80;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short01_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(0,0)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short02_CO.paa";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,0};
specular[]={0.01,0.01,0.01,1};
specularPower=80;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short02_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short02_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short02_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(0,0)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture = "#(argb,8,8,3)color(1,0,0,0,TI)";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.02,0.02,0.02,1};
specularPower=80w;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short03_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short03_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short03_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(1.3,7)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,79 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.02,0.02,0.02,1};
specularPower = 80;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short03_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
texture = "braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short03_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
texture = "braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_short03_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(0.6,0.16)";
uvSource = "none";
};
class Stage7
{
texture = "a3\data_f\env_land_co.paa";
uvSource = "none";
};
//};

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture = "#(argb,8,8,3)color(1,0,0,0,TI)";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.05,0.05,0.05,1};
specularPower=80w;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_bullet_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_bullet_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture="braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_bullet_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(1.3,7)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,180 @@
class braf_HK417_base: Rifle_Base_F {
magazines[] = {"20Rnd_762x51_HK417_mag","20Rnd_762x51_HK417_Tracer_yellow_mag","20Rnd_762x51_HK417_Tracer_green_mag","20Rnd_762x51_HK417_Tracer_red_mag"}; /// original custom made magazines and a group of several standardized mags
reloadAction = "GestureReloadSPAR_01";
magazineReloadSwitchPhase = 0.4;
discreteDistanceInitIndex = 0;
recoil = "recoil_spar";
maxRecoilSway=0.0125;
swayDecaySpeed=1.25;
inertia = 0.5;
initSpeed = -1;
class GunParticles : GunParticles
{
class SecondEffect
{
positionName = "Nabojnicestart";
directionName = "Nabojniceend";
effectName = "CaselessAmmoCloud";
};
};
class WeaponSlotsInfo: WeaponSlotsInfo
{
mass = 94;
class MuzzleSlot: MuzzleSlot
{
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
compatibleItems[] = {"muzzle_snds_B"};
iconPosition[] = {0.0, 0.45};
iconScale = 0.2;
iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa";
iconPinpoint = "Center";
};
class CowsSlot: asdg_OpticRail1913
{
};
class PointerSlot: asdg_FrontSideRail
{
};
class UnderBarrelSlot: UnderBarrelSlot
{
iconPosition[] = {0.2, 0.7};
iconScale = 0.2;
compatibleItems[] = {"bipod_01_F_blk","bipod_02_F_blk","bipod_03_F_blk","bipod_01_F_khk","bipod_01_F_snd","bipod_01_F_mtp","bipod_02_F_tan","bipod_02_F_hex","bipod_03_F_oli"};
};
};
opticsZoomMin=0.375;
opticsZoomMax=1.1;
opticsZoomInit=0.75;
distanceZoomMin = 300;
distanceZoomMax = 300;
descriptionlong = "AMF HK 417 F-S Long";
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F\Rifles\MX\data\Anim\MX_cqc.rtm"};
dexterity = 1.8;
selectionFireAnim = "muzzleFlash";
bullet1[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_01", 0.446684, 1, 15};
bullet2[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_02", 0.446684, 1, 15};
bullet3[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_03", 0.446684, 1, 15};
bullet4[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_04", 0.446684, 1, 15};
bullet5[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_01", 0.562341, 1, 15};
bullet6[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_02", 0.562341, 1, 15};
bullet7[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_03", 0.562341, 1, 15};
bullet8[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_04", 0.562341, 1, 15};
bullet9[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_01", 0.562341, 1, 15};
bullet10[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_02", 0.562341, 1, 15};
bullet11[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_03", 0.562341, 1, 15};
bullet12[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_04", 0.562341, 1, 15};
soundBullet[] = {"bullet1", 0.087, "bullet2", 0.083, "bullet3", 0.083, "bullet4", 0.083, "bullet5", 0.083, "bullet6", 0.083, "bullet7", 0.083, "bullet8", 0.083, "bullet9", 0.083, "bullet10", 0.083, "bullet11", 0.083, "bullet12", 0.083};
drySound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_dry",0.63095737,1,30};
changeFiremodeSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_firemode",0.25118864,1,5};
reloadMagazineSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_reload",1.0,1,10};
modes[] = {"SemiAuto","Fullauto","single_medium_optics1","single_far_optics2"};
class SemiAuto : Mode_SemiAuto
{
sounds[] = {"StandardSound","SilencedSound"};
class BaseSoundModeType; // External class reference
class StandardSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_Shot_SoundSet", "SPAR_17_Tail_SoundSet", "SPAR_17_interiorTail_SoundSet"};
};
class SilencedSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_silencerShot_SoundSet", "SPAR_17_silencerTail_SoundSet", "SPAR_17_silencerInteriorTail_SoundSet"};
};
reloadTime = 0.090;
recoil = "recoil_single_primary_3outof10";
recoilProne = "recoil_single_primary_prone_3outof10";
dispersion = 0.0002;
minRange = 2;
minRangeProbab = 0.3;
midRange = 350;
midRangeProbab = 0.7;
maxRange = 500;
maxRangeProbab = 0.05;
};
class FullAuto : Mode_FullAuto
{
sounds[] = {"StandardSound","SilencedSound"};
class BaseSoundModeType;
class StandardSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_Shot_SoundSet", "SPAR_17_Tail_SoundSet", "SPAR_17_interiorTail_SoundSet"};
};
class SilencedSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_silencerShot_SoundSet", "SPAR_17_silencerTail_SoundSet", "SPAR_17_silencerInteriorTail_SoundSet"};
};
reloadTime = 0.090;
recoil = "recoil_auto_primary_3outof10";
recoilProne = "recoil_auto_primary_prone_3outof10";
dispersion = 0.0002;
minRange = 0;
minRangeProbab = 0.9;
midRange = 15;
midRangeProbab = 0.7;
maxRange = 30;
maxRangeProbab = 0.05;
aiRateOfFire = 1e-006;
};
class single_medium_optics1: SemiAuto /// Pew for AI with collimator sights
{
requiredOpticType = 1;
showToPlayer = 0;
minRange = 2; minRangeProbab = 0.2;
midRange = 450; midRangeProbab = 0.7;
maxRange = 600; maxRangeProbab = 0.2;
aiRateOfFire = 6;
aiRateOfFireDistance = 600;
};
class single_far_optics2: single_medium_optics1 /// Pew for AI with better sights
{
requiredOpticType = 2;
showToPlayer = 0;
minRange = 100; minRangeProbab = 0.1;
midRange = 500; midRangeProbab = 0.6;
maxRange = 700; maxRangeProbab = 0.05;
aiRateOfFire = 8;
aiRateOfFireDistance = 700;
};
aiDispersionCoefY=6.0; /// AI should have some degree of greater dispersion for initial shoots
aiDispersionCoefX=4.0; /// AI should have some degree of greater dispersion for initial shoots
};
class braf_HK417: braf_HK417_base
{
scope = 2;
author = "Haxxerd & AMF TEAM";
displayName = "HK 417A2";
model = "\braf\braf_weapons_sniper_rifles\762mm_HK417\AMF_417_long.p3d";
picture = "\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\UI\gear_AMF_714_Long_01_x_ca.paa";
UiPicture = "\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\UI\gear_AMF_714_Long_01_x_ca.paa";
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F_Exp\Rifles\SPAR_01\Data\Anim\SPAR_01.rtm"};
weaponInfoType = "RscWeaponZeroing";
rhs_grip2_change = "amf_714_long_gripv_01_f";
rhs_grip3_change = "amf_714_long_gript_01_f";
rhs_grip4_change = "amf_714_long_gripv_tan_f";
rhs_grip5_change = "amf_714_long_gript_tan_f";
class WeaponSlotsInfo: WeaponSlotsInfo
{
mass = 94;
allowedSlots[] = {901};
class MuzzleSlot: MuzzleSlot
{
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
compatibleItems[] = {"muzzle_snds_M"};
iconPosition[] = {0.0, 0.45};
iconScale = 0.2;
iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa";
iconPinpoint = "Center";
};
class CowsSlot: asdg_OpticRail1913
{
};
class PointerSlot: asdg_FrontSideRail
{
};
class UnderBarrelSlot: UnderBarrelSlot
{
iconPosition[] = {0.2, 0.7};
iconScale = 0.2;
compatibleItems[] = {"bipod_01_F_blk","bipod_02_F_blk","bipod_03_F_blk","bipod_01_F_khk","bipod_01_F_snd","bipod_01_F_mtp","bipod_02_F_tan","bipod_02_F_hex","bipod_03_F_oli"};
};
};
};

View File

@@ -0,0 +1 @@
missionNamespace getVariable ["bis_fnc_moduleRemoteControl_unit", player];

View File

@@ -0,0 +1,116 @@
/*
Gripod system
a: reyhard
*/
private _p = call AMF_fnc_rhs_findplayer;
private _gripod = (primaryWeaponItems _p) select 3;
//systemChat format["start %1",_gripod];
_p setVariable ["rhs_gripod_acc",_gripod];
[_p,_gripod] call AMF_fnc_rhs_gripod_change;
if(not(isNil "rhs_grip_deinitialize"))exitWith{
//systemChat "event handlers are already here";
};
//systemChat "adding event handlers";
// deinitialization function
rhs_grip_deinitialize = {
private _p = call AMF_fnc_rhs_findplayer;
// Exit if player no longer have primary weapon
if(primaryWeapon _p isEqualTo "")exitWith{};
private _t = (getText (configFile >> "cfgWeapons" >> (primaryWeapon _p) >> "baseWeapon"));
private _i = primaryWeaponItems _p;
private _a = _p ammo (primaryWeapon _p);
private _m = currentMagazine _p;
_p addWeapon _t;
// If there is free, comatibile magazine, game tries to automatically add it to weapon
if(! ((primaryWeaponMagazine _p) isEqualTo []))then
{
_p addMagazine [(primaryWeaponMagazine _p) # 0,_p ammo _t];
};
_p addPrimaryWeaponItem _m;
{_p addPrimaryWeaponItem _x}foreach _i;
_p setAmmo [(primaryWeapon _p), _a];
[missionnamespace, "arsenalOpened", rhs_grip_arsenal_eh_idx] call BIS_fnc_removeScriptedEventHandler;
//_p removeEventHandler ["take",rhs_grip_take_eh_idx];
_p removeEventHandler ["InventoryClosed",rhs_grip_close_eh_idx];
//rhs_grip_take_eh_idx = nil;
rhs_grip_close_eh_idx = nil;
rhs_grip_eh_idx = nil;
rhs_grip_deinitialize = nil;
//systemChat "koniec";
};
// eventhandler launched upon arsenal opening
rhs_grip_arsenal_eh_idx = [missionnamespace, "arsenalOpened", {
private _p = call AMF_fnc_rhs_findplayer;
private _g = _p getVariable ["rhs_gripod_acc",""];
//systemChat "arsenal started";
// remove EH if unit no longer has a gripod
if(!(_g in primaryWeaponItems _p))exitWith{
call rhs_grip_deinitialize;
};
[_p,_g] spawn {
params["_p","_g"];
private _gt = (getText (configFile >> "cfgWeapons" >> _g >> "rhs_grip_type"));
private _w = (getText (configFile >> "cfgWeapons" >> (primaryWeapon _p) >> _gt));
while{not(isnull ( uinamespace getvariable "RSCDisplayArsenal"))}do{
if(primaryWeapon _p != _w AND ((_g in primaryWeaponItems _p)) )then{
//systemChat "zmiana";
private _t = primaryWeapon _p;
private _gt = (getText (configFile >> "cfgWeapons" >> _g >> "rhs_grip_type"));
private _w = (getText (configFile >> "cfgWeapons" >> _t >> _gt));
private _i = primaryWeaponItems _p;
private _a = _p ammo _t;
private _m = currentMagazine _p;
_p addWeapon _w;
// If there is free, comatibile magazine, game tries to automatically add it to weapon
if(! ((primaryWeaponMagazine _p) isEqualTo []))then
{
_p addMagazine [(primaryWeaponMagazine _p) # 0,_p ammo _w];
};
_p addPrimaryWeaponItem _m;
{_p addPrimaryWeaponItem _x}foreach _i;
_p setAmmo [(primaryWeapon _p), _a];
};
sleep 0.1;
};
private _g = _p getVariable ["rhs_gripod_acc",""];
// remove EH if unit no longer has a gripod
if(!(_g in primaryWeaponItems _p))exitWith{
call rhs_grip_deinitialize;
};
//systemChat "arsenal exit";
};
}] call bis_fnc_addScriptedEventHandler;
// inventory closeds event handler
rhs_grip_close_eh_idx = _p addEventHandler ["InventoryClosed",{
private _p = call AMF_fnc_rhs_findplayer;
private _g = _p getVariable ["rhs_gripod_acc",""];
// remove EH if unit no longer has a gripod
if(!(_g in primaryWeaponItems _p))exitWith{
//systemChat format["exit %1 %2",_g, primaryWeaponItems _p];
call rhs_grip_deinitialize;
};
}];

View File

@@ -0,0 +1,38 @@
/*
Gripod system
a: reyhard
*/
params["_p","_gripod"];
private _t = primaryWeapon _p;
private _gt = (getText (configFile >> "cfgWeapons" >> _gripod >> "rhs_grip_type"));
private _w = (getText (configFile >> "cfgWeapons" >> _t >> _gt));
// exit if weapon is missing replacement param
if(_w isEqualTo "")exitWith{
//systemChat "no weapon found";
};
// exit if weapon is already changed
if(_w isEqualTo _t)exitWith{
//systemChat "no change required";
};
private _i = primaryWeaponItems _p;
private _a = _p ammo _t;
private _m = currentMagazine _p;
_p addWeapon _w;
// If there is free, comatibile magazine, game tries to automatically add it to weapon
if(! ((primaryWeaponMagazine _p) isEqualTo []))then
{
_p addMagazine [(primaryWeaponMagazine _p) # 0,_p ammo _w];
};
_p addPrimaryWeaponItem _m;
{_p addPrimaryWeaponItem _x}foreach _i;
_p selectWeapon _w;
_p setAmmo [(primaryWeapon _p), _a];
_p setVariable ["rhs_gripod_acc",_gripod];

View File

@@ -0,0 +1,105 @@
#define true 1
#define false 0
#define VSoft 0
#define VArmor 1
#define VAir 2
// type scope
#define private 0
#define protected 1
#define public 2
#define CanSeeRadar 1
#define CanSeeEye 2
#define CanSeeOptics 4
#define CanSeeEar 8
#define CanSeeCompass 16
#define CanSeeRadarC CanSeeRadar+CanSeeCompass
#define CanSeeAll 31
#define CanSeePeripheral 32
//lock acquiring
#define manualLA 0
#define automaticLA 1
//lockable target type
#define lockGroundTT 0
#define lockAirGroundTT 1
#define lockAirTT 2
#define lockGround 0
#define lockAirGround 1
#define lockAir 2
//missile lock type
#define fireAndForgetLT 0
#define keepLockedLT 1
#define manualLT 2
#define SPEED_STATIC 1e10
#define LockNo 0
#define LockCadet 1
#define LockYes 2
enum {StabilizedInAxesNone,StabilizedInAxisX,StabilizedInAxisY,StabilizedInAxesBoth,StabilizedInAxesXYZ};
#define StabilizedInAxesNone 0
#define StabilizedInAxisX 1
#define StabilizedInAxisY 2
#define StabilizedInAxesBoth 3
#define StabilizedInAxesXYZ 4
#define CM_none 0
#define CM_Lock_Visual 1
#define CM_Lock_IR 2
#define CM_Lock_Laser 4
#define CM_Lock_Radar 8
#define CM_Missile 16
#define CMImmunity_GOOD 0.9
#define CMImmunity_MIDDLE 0.65
#define CMImmunity_BAD 0.5
#define mag_xx(a,b) class _xx_##a {magazine = a; count = b;}
#define weap_xx(a,b) class _xx_##a {weapon = a; count = b;}
#define item_xx(a,b) class _xx_##a {name = a; count = b;}
#define bag_xx(a,b) class _xx_##a {backpack = a; count = b;}
#define DEFAULT_SLOT 0
#define MUZZLE_SLOT 101
#define OPTICS_SLOT 201
#define FLASHLIGHT_SLOT 301
#define NVG_SLOT 602
#define GOGGLE_SLOT 603
#define HEADGEAR_SLOT 605
#define UNIFORM_SLOT 801
#define HMD_SLOT 616
#define BINOCULAR_SLOT 617
#define MEDIKIT_SLOT 619
#define RADIO_SLOT 611
#define VEST_SLOT 701
#define BACKPACK_SLOT 901
#define LOAD(weight,capacity) maximumLoad = ##capacity##; \
mass = ##weight##;
#define HeadArmourCoef 2.5
#define BodyArmourCoef 10
#define HandArmourCoef 5
#define LegArmourCoef 5
#define AIAmmoUsageNone 0
#define AIAmmoUsageLight 1
#define AIAmmoUsageMarking 2
#define AIAmmoUsageConcealment 4
#define AIAmmoUsageCountermeasures 8
#define AIAmmoUsageMine 16
#define AIAmmoUsageUnderwater 32
#define AIAmmoUsageOffensiveInf 64
#define AIAmmoUsageOffensiveVeh 128
#define AIAmmoUsageOffensiveAir 256
#define AIAmmoUsageOffensiveArmour 512

View File

@@ -0,0 +1,816 @@
#include "basicdefines_A3.hpp"
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#define Grip_Macro(numb,name) \
handAnim[] = {"OFP2_ManSkeleton",\A3\Weapons_F\Rifles\MX\data\Anim\##name##.rtm};\
class LinkedItems\
{\
class LinkedItemsUnder\
{\
item = "amf_acc_714_long_grip##numb##";\
slot = "UnderBarrelSlot";\
};\
};
//(13 Enums)
enum {
destructengine = 2,
destructdefault = 6,
destructwreck = 7,
destructtree = 3,
destructtent = 4,
stabilizedinaxisx = 1,
stabilizedinaxesxyz = 4,
stabilizedinaxisy = 2,
stabilizedinaxesboth = 3,
destructno = 0,
stabilizedinaxesnone = 0,
destructman = 5,
destructbuilding = 1
};
class CfgPatches
{
class AMF_weapon_F
{
units[]={};
weapons[]={"AMF_714_long_01_F","AMF_714_long_tan_f","amf_714_long_gripv_01_f","amf_714_long_gript_01_f","amf_714_long_gripv_tan_f","amf_714_long_gript_tan_f","20Rnd_762x51_HK417_mag","20Rnd_762x51_HK417_Tracer_yellow_mag","20Rnd_762x51_HK417_Tracer_green_mag","20Rnd_762x51_HK417_Tracer_red_mag"};
requiredVersion=0.1;
requiredAddons[]={
"A3_Weapons_F",
"cba_xeh",
"cba_jr"
};
};
};
/// All firemodes, to be sure
class Mode_SemiAuto;
class Mode_FullAuto;
class Safety;
/// Weapon slots
class SlotInfo;
class MuzzleSlot;
class CowsSlot;
class PointerSlot;
class UnderBarrelSlot;
class ItemCore;
class Item_Base_F;
class asdg_SlotInfo;
class asdg_OpticRail;
class asdg_OpticRail1913: asdg_OpticRail
{
class compatibleItems
{
optic_Nightstalker = 1;
optic_tws = 1;
optic_tws_mg = 1;
optic_NVS = 1;
optic_SOS = 1;
optic_SOS_khk_F = 1;
optic_MRCO = 1;
optic_Arco = 1;
optic_Arco_ghex_F = 1;
optic_Arco_blk_F = 1;
optic_aco = 1;
optic_ACO_grn = 1;
optic_aco_smg = 1;
optic_ACO_grn_smg = 1;
optic_hamr = 1;
optic_Hamr_khk_F = 1;
optic_Holosight = 1;
optic_Holosight_smg = 1;
optic_Holosight_blk_F = 1;
optic_Holosight_khk_F = 1;
optic_Holosight_smg_blk_F = 1;
optic_DMS = 1;
optic_DMS_ghex_F = 1;
optic_LRPS = 1;
optic_LRPS_ghex_F = 1;
optic_LRPS_tna_F = 1;
optic_AMS = 1;
optic_AMS_khk = 1;
optic_AMS_snd = 1;
optic_KHS_blk = 1;
optic_KHS_hex = 1;
optic_KHS_old = 1;
optic_KHS_tan = 1;
optic_ERCO_blk_F = 1;
optic_ERCO_khk_F = 1;
optic_ERCO_snd_F = 1;
//AMF optics
AMF_Red_Dot_Sight=1;
AMF_EOTECH_553=1;
AMF_EOTECH_553_tan=1;
AMF_Eotech_552=1;
AMF_Scrome_J8=1;
AMF_Aimpoint_Pro_Patrol=1;
AMF_Aimpoint_CompM5=1;
AMF_EOTECH_553_magnifier_side=1;
AMF_EOTECH_553_magnifier_up=1;
AMF_EOTECH_553_magnifier_side_tan=1;
AMF_EOTECH_553_magnifier_up_tan=1;
AMF_xps3=1;
AMF_xps3_tan=1;
AMF_schmidt_benderx4=1;
AMF_schmidt_benderx4_tan=1;
AMF_xps3_magnifier_side=1;
AMF_xps3_magnifier_up=1;
AMF_xps3_magnifier_side_tan=1;
AMF_xps3_magnifier_up_tan=1;
AMF_exps3=1;
AMF_exps3_tan=1;
AMF_exps3_painted=1;
AMF_AIMPOINT_MICRO_T1=1;
AMF_AIMPOINT_MICRO_T2=1;
};
};
class asdg_OpticRail1913_short: asdg_OpticRail1913
{
class compatibleItems;
};
class asdg_OpticRail1913_long: asdg_OpticRail1913
{
class compatibleItems;
};
class asdg_FrontSideRail: asdg_SlotInfo
{
class compatibleItems
{
AMF_AN_PEQ_15_black=1;
AMF_AN_PEQ_15_green=1;
AMF_AN_PEQ_15_tan=1;
AMF_AN_PEQ_15_painted=1;
};
};
class amf_714_long_gripod_slot: UnderBarrelSlot
{
displayName = "Gripod slot";
class compatibleItems
{
amf_acc_714_long_grip2 = 1;
amf_acc_714_long_grip3 = 1;
amf_acc_714_long_grip4 = 1;
amf_acc_714_long_grip5 = 1;
};
};
class amf_western_714_long_gripod_slot: amf_714_long_gripod_slot
{
linkProxy = "\A3\Data_f_Mark\proxies\weapon_slots\UNDERBARREL";
};
class Safety_base;
class InventoryItem_Base_F;
class InventoryUnderItem_Base_F: InventoryItem_Base_F
{
type = 302;
mass = 2;
mountAction = "GestureMountMuzzle";
unmountAction = "GestureDismountMuzzle";
};
class RscInGameUI
{
class RHS_Gripod1
{
idd=3006;
onLoad="['onLoad',_this,'RscUnitInfo','IGUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay'); _this call AMF_fnc_rhs_gripod";
};
class amf_714_long_grip2: RHS_Gripod1 {};
class amf_714_long_grip3: RHS_Gripod1 {};
class amf_714_long_grip4: RHS_Gripod1 {};
class amf_714_long_grip5: RHS_Gripod1 {};
};
class CfgFunctions
{
class HK417A2_BIPOD
{
tag = "AMF";
class function_bipod_HK417A2
{
file = "AMF_714_Long\Script\Functions";
class rhs_findplayer{};
class rhs_gripod{};
class rhs_gripod_change{};
};
};
};
class CfgWeapons
{
class amf_acc_714_long_grip2: ItemCore
{
author = "MetalTryHard & AMFTeam";
scope = 2;
model = "\AMF_714_Long\acc\amf_714_long_grip2.p3d";
//picture = "\amf_FAMAS\acc\data\UI\AMF_FAMAS_GRIP_V_ui_gear_ca.paa";
displayName = "Poignee V";
descriptionlong = "Poignee en V pour HK417A2 (16 pouces) - Ameliore la stabilite";
inertia = -0.3;
weaponInfoType = "amf_714_long_grip2";
rhs_grip_type = "rhs_grip2_change";
class ItemInfo: InventoryUnderItem_Base_F
{
deployedPivot = "bipod"; // what point should be used to be on surface while unfolded
hasBipod = 1; // bipod obviously has a bipod
mass = 1; // what is the mass of the object
soundBipodDown[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_down",db-3, 1, 20}; // sound of unfolding the bipod
soundBipodUp[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_up",db-3, 1, 20}; // sound of folding the bipod
};
};
class amf_acc_714_long_grip3: ItemCore
{
author = "MetalTryHard & AMFTeam";
scope = 2;
model = "\AMF_714_Long\acc\amf_714_long_grip3.p3d";
//picture = "\amf_FAMAS\acc\data\UI\AMF_FAMAS_GRIP_V_ui_gear_ca.paa";
displayName = "Poignee T";
descriptionlong = "Poignee en T pour HK417A2 (16 pouces) - Ameliore la stabilite";
inertia = -0.3;
weaponInfoType = "amf_714_long_grip3";
rhs_grip_type = "rhs_grip3_change";
class ItemInfo: InventoryUnderItem_Base_F
{
deployedPivot = "bipod"; // what point should be used to be on surface while unfolded
hasBipod = 1; // bipod obviously has a bipod
mass = 1; // what is the mass of the object
soundBipodDown[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_down",db-3, 1, 20}; // sound of unfolding the bipod
soundBipodUp[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_up",db-3, 1, 20}; // sound of folding the bipod
};
};
class amf_acc_714_long_grip4: ItemCore
{
author = "MetalTryHard & AMFTeam";
scope = 2;
model = "\AMF_714_Long\acc\amf_714_long_grip4.p3d";
//picture = "\amf_FAMAS\acc\data\UI\AMF_FAMAS_GRIP_V_ui_gear_ca.paa";
displayName = "Poignee V (TAN)";
descriptionlong = "Poignee en V pour HK417A2 (16 pouces) - Ameliore la stabilite";
inertia = -0.3;
weaponInfoType = "amf_714_long_grip4";
rhs_grip_type = "rhs_grip4_change";
class ItemInfo: InventoryUnderItem_Base_F
{
deployedPivot = "bipod"; // what point should be used to be on surface while unfolded
hasBipod = 1; // bipod obviously has a bipod
mass = 1; // what is the mass of the object
soundBipodDown[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_down",db-3, 1, 20}; // sound of unfolding the bipod
soundBipodUp[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_up",db-3, 1, 20}; // sound of folding the bipod
};
};
class amf_acc_714_long_grip5: ItemCore
{
author = "MetalTryHard & AMFTeam";
scope = 2;
model = "\AMF_714_Long\acc\amf_714_long_grip5.p3d";
//picture = "\amf_FAMAS\acc\data\UI\AMF_FAMAS_GRIP_V_ui_gear_ca.paa";
displayName = "Poignee T (TAN)";
descriptionlong = "Poignee en T pour HK417A2 (16 pouces) - Ameliore la stabilite";
inertia = -0.3;
weaponInfoType = "amf_714_long_grip5";
rhs_grip_type = "rhs_grip5_change";
class ItemInfo: InventoryUnderItem_Base_F
{
deployedPivot = "bipod"; // what point should be used to be on surface while unfolded
hasBipod = 1; // bipod obviously has a bipod
mass = 1; // what is the mass of the object
soundBipodDown[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_down",db-3, 1, 20}; // sound of unfolding the bipod
soundBipodUp[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_AAF_up",db-3, 1, 20}; // sound of folding the bipod
};
};
class Rifle;
class Rifle_Base_F: Rifle
{
class WeaponSlotsInfo;
class GunParticles;
};
class UGL_F;
class AMF_714_Long_01_Base_F: Rifle_Base_F /// Just basic values common for all AMFing rifle variants
{
magazines[] = {"20Rnd_762x51_HK417_mag","20Rnd_762x51_HK417_Tracer_yellow_mag","20Rnd_762x51_HK417_Tracer_green_mag","20Rnd_762x51_HK417_Tracer_red_mag"}; /// original custom made magazines and a group of several standardized mags
reloadAction = "GestureReloadSPAR_01"; /// MX hand animation actually fits this rifle well
magazineReloadSwitchPhase = 0.4; /// part of reload animation when new magazine ammo count should affect "revolving" animation source
discreteDistanceInitIndex = 0; /// Ironsight zeroing is the lowest value by default
recoil = "recoil_spar";
// Size of recoil sway of the cursor
maxRecoilSway=0.0125;
// Speed at which the recoil sway goes back to zero (from maxRecoilSway to 0 in 1/swayDecaySpeed seconds)
swayDecaySpeed=1.25;
/// inertia coefficient of the weapon
inertia = 0.5;
/// positive value defines speed of the muzzle independent on the magazine setting, negative value is a coefficient of magazine initSpeed
initSpeed = -1; /// this means that initSpeed of magazine is used
class GunParticles : GunParticles
{
class SecondEffect
{
positionName = "Nabojnicestart";
directionName = "Nabojniceend";
effectName = "CaselessAmmoCloud";
};
};
class WeaponSlotsInfo: WeaponSlotsInfo
{
mass = 94;
class MuzzleSlot: MuzzleSlot
{
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; /// this can be set, but having some common helps a bit
compatibleItems[] = {"muzzle_snds_B"}; /// A custom made suppressor for this weapon
iconPosition[] = {0.0, 0.45}; /// position of the slot icon inside of the weapon icon, relative to top-left corner in {right, down} format
iconScale = 0.2; /// scale of icon described in iconPicture
iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa"; /// icon for selected slot
iconPinpoint = "Center"; /// top, bottom, left, right, center alignment of the icon on snap point
};
class CowsSlot: asdg_OpticRail1913 /// default accessories for this slot
{
};
class PointerSlot: asdg_FrontSideRail /// default accessories for this slot
{
};
class UnderBarrelSlot: UnderBarrelSlot /// using AMF bipod
{
iconPosition[] = {0.2, 0.7};
iconScale = 0.2;
compatibleItems[] = {"bipod_01_F_blk","bipod_02_F_blk","bipod_03_F_blk","bipod_01_F_khk","bipod_01_F_snd","bipod_01_F_mtp","bipod_02_F_tan","bipod_02_F_hex","bipod_03_F_oli"};
};
};
///////////////////////////////////////////////////// I R O N S I G H T S /////////////////////////////////////////////////////
opticsZoomMin=0.375;
opticsZoomMax=1.1;
opticsZoomInit=0.75;
distanceZoomMin = 300;
distanceZoomMax = 300;
///////////////////////////////////////////////////// I R O N S I G H T S /////////////////////////////////////////////////////
descriptionlong = "AMF HK 417 F-S Long"; /// displayed on mouseOver in Inventory
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F\Rifles\MX\data\Anim\MX_cqc.rtm"}; /// hand animation actually fits this rifle well
dexterity = 1.8;
selectionFireAnim = "muzzleFlash"; /// are we able to get rid of all the zaslehs?
////////////////////////////////////////////////////// NO OPTICS ///////////////////////////////////////////////////////////
bullet1[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_01", 0.446684, 1, 15};
bullet2[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_02", 0.446684, 1, 15};
bullet3[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_03", 0.446684, 1, 15};
bullet4[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_04", 0.446684, 1, 15};
bullet5[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_01", 0.562341, 1, 15};
bullet6[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_02", 0.562341, 1, 15};
bullet7[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_03", 0.562341, 1, 15};
bullet8[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_04", 0.562341, 1, 15};
bullet9[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_01", 0.562341, 1, 15};
bullet10[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_02", 0.562341, 1, 15};
bullet11[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_03", 0.562341, 1, 15};
bullet12[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_04", 0.562341, 1, 15};
soundBullet[] = {"bullet1", 0.087, "bullet2", 0.083, "bullet3", 0.083, "bullet4", 0.083, "bullet5", 0.083, "bullet6", 0.083, "bullet7", 0.083, "bullet8", 0.083, "bullet9", 0.083, "bullet10", 0.083, "bullet11", 0.083, "bullet12", 0.083};
drySound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_dry",0.63095737,1,30};
changeFiremodeSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_firemode",0.25118864,1,5};
reloadMagazineSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_reload",1.0,1,10};
modes[] = {SemiAuto,Fullauto,single_medium_optics1,single_far_optics2};
class SemiAuto : Mode_SemiAuto
{
sounds[] = {"StandardSound","SilencedSound"};
class BaseSoundModeType; // External class reference
class StandardSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_Shot_SoundSet", "SPAR_17_Tail_SoundSet", "SPAR_17_interiorTail_SoundSet"};
};
class SilencedSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_silencerShot_SoundSet", "SPAR_17_silencerTail_SoundSet", "SPAR_17_silencerInteriorTail_SoundSet"};
};
reloadTime = 0.090;
recoil = "recoil_single_primary_3outof10";
recoilProne = "recoil_single_primary_prone_3outof10";
dispersion = 0.0002;
minRange = 2;
minRangeProbab = 0.3;
midRange = 350;
midRangeProbab = 0.7;
maxRange = 500;
maxRangeProbab = 0.05;
};
class FullAuto : Mode_FullAuto
{
sounds[] = {"StandardSound","SilencedSound"};
class BaseSoundModeType; // External class reference
class StandardSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_Shot_SoundSet", "SPAR_17_Tail_SoundSet", "SPAR_17_interiorTail_SoundSet"};
};
class SilencedSound : BaseSoundModeType {
soundSetShot[] = {"SPAR_17_silencerShot_SoundSet", "SPAR_17_silencerTail_SoundSet", "SPAR_17_silencerInteriorTail_SoundSet"};
};
reloadTime = 0.090;
recoil = "recoil_auto_primary_3outof10";
recoilProne = "recoil_auto_primary_prone_3outof10";
dispersion = 0.0002;
minRange = 0;
minRangeProbab = 0.9;
midRange = 15;
midRangeProbab = 0.7;
maxRange = 30;
maxRangeProbab = 0.05;
aiRateOfFire = 1e-006;
};
class single_medium_optics1: SemiAuto /// Pew for AI with collimator sights
{
requiredOpticType = 1;
showToPlayer = 0;
minRange = 2; minRangeProbab = 0.2;
midRange = 450; midRangeProbab = 0.7;
maxRange = 600; maxRangeProbab = 0.2;
aiRateOfFire = 6;
aiRateOfFireDistance = 600;
};
class single_far_optics2: single_medium_optics1 /// Pew for AI with better sights
{
requiredOpticType = 2;
showToPlayer = 0;
minRange = 100; minRangeProbab = 0.1;
midRange = 500; midRangeProbab = 0.6;
maxRange = 700; maxRangeProbab = 0.05;
aiRateOfFire = 8;
aiRateOfFireDistance = 700;
};
class HK269_F: UGL_F /// Some grenade launcher to have some more fun
{
displayName = "AMF HK269";
descriptionlong = "AMF HK269";
author = "LKDSG & AMF TEAM";
useModelOptics = false;
useExternalOptic = false; /// Doesn't use optics from the attachment, has it's own
cameraDir = "OP_look";
discreteDistance[] = {100, 200, 300, 400};
discreteDistanceCameraPoint[] = {"OP_eye", "OP_eye2", "OP_eye3", "OP_eye4"}; /// the angle of gun changes with zeroing
discreteDistanceInitIndex = 1; /// 200 is the default zero
};
aiDispersionCoefY=6.0; /// AI should have some degree of greater dispersion for initial shoots
aiDispersionCoefX=4.0; /// AI should have some degree of greater dispersion for initial shoots
};
class AMF_714_Long_01_F: AMF_714_Long_01_Base_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "HK 417A2 (16 pouces)"; /// some name
model = "\AMF_714_Long\AMF_714_Long_01_F.p3d"; /// path to model
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// weapon should be marked such way
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F_Exp\Rifles\SPAR_01\Data\Anim\SPAR_01.rtm"};
weaponInfoType = "RscWeaponZeroing"; /// display with zeroing is good for iron sights
rhs_grip2_change = "amf_714_long_gripv_01_f";
rhs_grip3_change = "amf_714_long_gript_01_f";
rhs_grip4_change = "amf_714_long_gripv_tan_f";
rhs_grip5_change = "amf_714_long_gript_tan_f";
class WeaponSlotsInfo: WeaponSlotsInfo
{
mass = 94;
allowedSlots[] = {901};
class MuzzleSlot: MuzzleSlot
{
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; /// this can be set, but having some common helps a bit
compatibleItems[] = {"muzzle_snds_M"}; /// A custom made suppressor for this weapon
iconPosition[] = {0.0, 0.45}; /// position of the slot icon inside of the weapon icon, relative to top-left corner in {right, down} format
iconScale = 0.2; /// scale of icon described in iconPicture
iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa"; /// icon for selected slot
iconPinpoint = "Center"; /// top, bottom, left, right, center alignment of the icon on snap point
};
class CowsSlot: asdg_OpticRail1913 /// default accessories for this slot
{
};
class PointerSlot: asdg_FrontSideRail /// default accessories for this slot
{
};
class UnderBarrelSlot: UnderBarrelSlot /// using AMF bipod
{
iconPosition[] = {0.2, 0.7};
iconScale = 0.2;
compatibleItems[] = {"bipod_01_F_blk","bipod_02_F_blk","bipod_03_F_blk","bipod_01_F_khk","bipod_01_F_snd","bipod_01_F_mtp","bipod_02_F_tan","bipod_02_F_hex","bipod_03_F_oli"};
};
class GripodSlot: amf_western_714_long_gripod_slot{};
};
};
class amf_714_long_gripv_01_f: AMF_714_long_01_F
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces)";
Grip_Macro(2,mx_cqc)
};
class amf_714_long_gript_01_f: amf_714_long_gripv_01_f
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces)";
Grip_Macro(3,mx)
};
class amf_714_long_gripv_tan_f: amf_714_long_gripv_01_f
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces)";
Grip_Macro(4,mx_cqc)
};
class amf_714_long_gript_tan_f: amf_714_long_gripv_01_f
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces)";
Grip_Macro(5,mx)
};
class AMF_714_long_tan_f: AMF_714_long_01_Base_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "HK 417A2 (16 pouces - RAL8000)"; /// some name
model = "\AMF_714_long\AMF_714_long_01_F.p3d"; /// path to model
picture = "\AMF_714_long\Data\UI\gear_AMF_714_long_01_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_long\Data\UI\gear_AMF_714_long_01_x_ca.paa"; /// weapon should be marked such way
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F_Exp\Rifles\SPAR_01\Data\Anim\SPAR_01.rtm"};
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_long_RAL8000_CO.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long02_RAL8000_CO.paa"};
weaponInfoType = "RscWeaponZeroing"; /// display with zeroing is good for iron sights
rhs_grip2_change = "amf_714_long_gripv_01_f";
rhs_grip3_change = "amf_714_long_gript_01_f";
rhs_grip4_change = "amf_714_long_gripv_tan_f";
rhs_grip5_change = "amf_714_long_gript_tan_f";
class WeaponSlotsInfo: WeaponSlotsInfo
{
mass = 94;
allowedSlots[] = {901};
class MuzzleSlot: MuzzleSlot
{
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; /// this can be set, but having some common helps a bit
compatibleItems[] = {"muzzle_snds_M"}; /// A custom made suppressor for this weapon
iconPosition[] = {0.0, 0.45}; /// position of the slot icon inside of the weapon icon, relative to top-left corner in {right, down} format
iconScale = 0.2; /// scale of icon described in iconPicture
iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa"; /// icon for selected slot
iconPinpoint = "Center"; /// top, bottom, left, right, center alignment of the icon on snap point
};
class CowsSlot: asdg_OpticRail1913 /// default accessories for this slot
{
};
class PointerSlot: asdg_FrontSideRail /// default accessories for this slot
{
};
class UnderBarrelSlot: UnderBarrelSlot /// using AMF bipod
{
iconPosition[] = {0.2, 0.7};
iconScale = 0.2;
compatibleItems[] = {"bipod_01_F_blk","bipod_02_F_blk","bipod_03_F_blk","bipod_01_F_khk","bipod_01_F_snd","bipod_01_F_mtp","bipod_02_F_tan","bipod_02_F_hex","bipod_03_F_oli"};
};
class GripodSlot: amf_western_714_long_gripod_slot{};
};
};
/* --------------------
class amf_714_long_gripv_01_f: AMF_714_long_01_F
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces - RAL8000)";
Grip_Macro(2,mx_cqc)
};
class amf_714_long_gript_01_f: amf_714_long_gripv_01_f
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces - RAL8000)";
Grip_Macro(3,mx)
};
class amf_714_long_gripv_tan_f: amf_714_long_gripv_01_f
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces - RAL8000)";
Grip_Macro(4,mx_cqc)
};
class amf_714_long_gript_tan_f: amf_714_long_gripv_01_f
{
author = "MetalTryHard & AMF TEAM";
displayName = "HK417A2 (16 pouces - RAL8000)";
Grip_Macro(5,mx)
};
------- */
/*/class AMF_714_Long_ag_01_F: AMF_714_Long_01_Base_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "HK 417 poignet coudee (20 pouces)"; /// some name
model = "\AMF_714_Long\AMF_714_Long_ag_01_F.p3d"; /// path to model
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// weapon should be marked such way
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F\Rifles\MX\data\Anim\MX_cqc.rtm"};
weaponInfoType = "RscWeaponZeroing"; /// display with zeroing is good for iron sights
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};
class AMF_714_Long_VG_01_F: AMF_714_Long_01_Base_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "HK 417 poignet verticale (20 pouces)"; /// some name
model = "\AMF_714_Long\AMF_714_Long_vg_01_F.p3d"; /// path to model
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// weapon should be marked such way
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F\Rifles\MX\data\Anim\mx.rtm"};
weaponInfoType = "RscWeaponZeroing"; /// display with zeroing is good for iron sights
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};
class AMF_714_Long_HK269_01_F: AMF_714_Long_01_Base_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd/LKDSG & AMF TEAM";
displayName = "HK 417A2 (16 pouces)/HK 269"; /// some name
model = "\AMF_714_Long\AMF_714_Long_HK269_01_F.p3d"; /// path to model
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_x_ca.paa"; /// weapon should be marked such way
handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F_Exp\Rifles\SPAR_01\Data\Anim\SPAR_01_GL.rtm"};
weaponInfoType = "RscWeaponZeroing"; /// display with zeroing is good for iron sights
reloadAction = "GestureReloadSPARUGL";
muzzles[] = {this, HK269_F}; /// to be able to switch between bullet muzzle and TGL
class WeaponSlotsInfo: WeaponSlotsInfo
{
class UnderBarrelSlot: UnderBarrelSlot
{
compatibleItems[] = {};
};
};
};/*/
/*class AMF_714_Long_TAN_01_F: AMF_714_Long_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S Long TAN"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_TAN_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_TAN_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};*/
/*class AMF_714_Long_VG_TAN_01_F: AMF_714_Long_VG_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S Long Vertical Grip TAN"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2","camo3"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_TAN_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_TAN_co.paa","\AMF_614_long\Data\textures\AMF_vertical_grip_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};*/
/*class AMF_714_Long_ag_TAN_01_F: AMF_714_Long_ag_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S Long Angled Grip TAN"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2","camo3"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_TAN_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_TAN_co.paa","\AMF_614_long\Data\textures\AMF_Angled_Grip_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};*/
/*class AMF_714_Long_HK269_TAN_01_F: AMF_714_Long_HK269_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S/HK269 Long TAN"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_TAN_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_TAN_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_TAN_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
class UnderBarrelSlot: UnderBarrelSlot /// using AMF bipod
{
compatibleItems[] = {};
};
};
};*/
/*class AMF_714_Long_OD_01_F: AMF_714_Long_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S Long OD"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_OD_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_OD_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};*/
/*class AMF_714_Long_VG_OD_01_F: AMF_714_Long_VG_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S Long Vertical Grip OD"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2","camo3"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_OD_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_OD_co.paa","\AMF_614_long\Data\textures\AMF_vertical_grip_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};*/
/*class AMF_714_Long_ag_OD_01_F: AMF_714_Long_ag_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S Long Angled Grip OD"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2","camo3"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_OD_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_OD_co.paa","\AMF_614_long\Data\textures\AMF_Angled_Grip_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
};
};*/
/*class AMF_714_Long_HK269_OD_01_F: AMF_714_Long_HK269_01_F
{
scope = 2; /// should be visible and useable in game
author = "Haxxerd & AMF TEAM";
displayName = "AMF HK 417 F-S/HK269 Long OD"; /// some name
picture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// different accessories have M, S, T instead of X
UiPicture = "\AMF_714_Long\Data\UI\gear_AMF_714_Long_01_OD_x_ca.paa"; /// weapon should be marked such way
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_714_Long_body_OD_co.paa","\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\textures\AMF_614_Sight_OD_co.paa"};
class WeaponSlotsInfo: WeaponSlotsInfo
{
class UnderBarrelSlot: UnderBarrelSlot /// using AMF bipod
{
compatibleItems[] = {};
};
};
};
};*/
};

View File

@@ -0,0 +1,379 @@
class CfgSkeletons
{
class AMF_714_Long_skeleton
{
pivotsModel="";
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] =
{
"trigger", "", /// not in this model, but good to use
"bolt", "",
"bolt_catch", "",
"magazine", "",
"safety", "",
"muzzleFlash", "",
"OP", "",
"ForeSight", "",
"BackSight", ""
};
};
class AMF_Bipod_614_long_skeleton
{
pivotsModel="";
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] =
{
"bipod_legs", "",
"bipod_leg_L", "bipod_legs",
"leg_L", "bipod_leg_L",
"bipod_leg_R", "bipod_legs",
"leg_R", "bipod_leg_R"
};
};
};
class CfgModels
{
class Default
{
sectionsInherit="";
sections[] = {};
skeletonName = "";
};
class Optic: Default
{
sections[]=
{
"zasleh"
};
};
class Weapon: Default
{
sections[]=
{
"zasleh"
};
htMin = 1; // Minimum half-cooling time (in seconds)
htMax = 600; // Maximum half-cooling time (in seconds)
afMax = 0; // Maximum temperature in case the model is alive (in celsius)
mfMax = 0; // Maximum temperature when the model is moving (in celsius)
mFact = 1; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)).
tBody = 100; // Metabolism temperature of the model (in celsius)
class Animations
{
class zaslehROT
{
type="rotation";
source="clockMinute";
sourceAddress="loop";
selection="zasleh";
begin="usti hlavne";
end="konec hlavne";
memory=1;
minValue=0.0166665;
maxValue=0.016666666666666666666666666666667;
angle0="rad 0";
angle1="rad 360";
};
class magazine_hide
{
type="hide";
source="reloadMagazine";
sourceAddress="mirror";
selection="magazine";
minValue=0.0;
maxValue=0.4;
hideValue=0.5;
};
class reload_ammobelt_hide: magazine_hide
{
selection="ammo_belt";
};
class reload_ammobelt_bottom_hide: magazine_hide
{
selection="ammo_belt_bottom";
};
class ammobelt_hide: magazine_hide
{
source="isEmpty";
selection="ammo_belt";
minValue=0.000000;
maxValue=1.000000;
hideValue=1.000000;
};
class ammobelt_bottom_hide: ammobelt_hide
{
selection="ammo_belt_bottom";
};
/// Hiding of magazine if weapon has none
class no_magazine
{
type="hide";
source="hasMagazine";
selection="magazine";
minValue=0.000000;
maxValue=1.00000;
hideValue=0.5;
unhideValue = -1.0;
};
};
};
class Rifle: Weapon
{
class Animations: Animations
{
class magazine_hide:magazine_hide
{
sourceAddress="mirror";
minValue=0.0;
maxValue=0.56;
hideValue=0.36;
};
class bolt_empty
{
type="translation";
source="isEmpty";
selection="bolt";
axis="bolt_axis";
memory=1;
minValue=0.000000;
maxValue=0.500000;
offset0=0;
offset1=0.5;
};
class bullet_cover
{
type="rotation";
source="reload";
sourceAddress="mirror";
selection="bullet_cover";
axis="bullet_cover_axis";
memory=1;
minValue=0.0;
maxValue=0.5;
angle0=0;
angle1=-0.4;
};
class bolt_fire_begin
{
type="translation";
source="reload";
selection="bolt";
axis="bolt_axis";
memory=1;
minValue=0.000000;
maxValue=0.300000;
offset0=0;
offset1=0.5;
};
class bolt_fire_end:bolt_fire_begin
{
minValue=0.500000;
maxValue=1.000000;
offset0=0;
offset1=-0.5;
};
class bolt_reload_begin
{
type="translation";
source="reloadMagazine";
selection="bolt";
axis="bolt_axis";
memory=1;
minValue=0.1;
maxValue=0.15;
offset0=0;
offset1=0.5;
};
class bolt_reload_end:bolt_reload_begin
{
minValue=0.980000;
maxValue=1.000000;
offset0=0;
offset1=-0.5;
};
};
};
class AMF_714_Long_Base: Rifle
{
skeletonName = "AMF_714_Long_skeleton";
sectionsInherit = "";
sections[] = {"muzzleFlash","Camo1","camo2","camo3"};
class Animations
{
class trigger /// not in this model, but good to use
{
type = "rotation";
source = "reload";
sourceAddress = "clamp";
selection = "trigger";
axis = "trigger_axis";
minValue = 0;
maxValue = "1";
angle0 = "0";
angle1 = "rad -30";
};
class bolt
{
type = "translation";
source = "reload";
sourceAddress = clamp;
selection = "bolt";
axis = "bolt_axis";
minValue = 0.5;
maxValue = 1;
offset0 = 0;
offset1 = 0.3;
};
class bolt_2: bolt
{
minValue = 0;
maxValue = 0.5;
offset0 = 0;
offset1 = 0.7;
};
class bolt_empty: bolt{
source = "isEmptyNoReload";
minValue = 0;
maxValue = 1;
offset0 = 0;
offset1 = 1;
};
class bolt_reload_move_1: bolt_empty {
source="reloadMagazine"; // z: should work like that only if weapon is empty
minValue=0;
maxValue=0.00001;
};
class bolt_reload_move_2: bolt_reload_move_1 {
source="reloadMagazine"; // z: should work like that only if weapon is empty
minValue=0.78;
maxValue=0.80;
offset1 = -1;
};
class bolt_catch: bolt {
selection = "bolt_catch";
axis = "bolt_catch_axis";
};
class bolt_catch_2: bolt_2 {
selection = "bolt_catch";
axis = "bolt_catch_axis";
};
class bolt_catch_empty: bolt_empty {
selection = "bolt_catch";
axis = "bolt_catch_axis";
};
class bolt_catch_reload_move_1: bolt_reload_move_1 {
selection = "bolt_catch";
axis = "bolt_catch_axis";
};
class bolt_catch_reload_move_2: bolt_reload_move_2 {
selection = "bolt_catch";
axis = "bolt_catch_axis";
};
class magazine_hide
{
type="hide";
source="reloadMagazine";
selection="magazine";
minValue=0.000000;
maxValue=1.00000;
hideValue=0.188;
unhideValue = 0.550;
};
class no_magazine
{
type="hide";
source="hasMagazine";
selection="magazine";
minValue=0.000000;
maxValue=1.00000;
hideValue=0.5;
unhideValue = -1.0;
};
class magazine_reload_move_1
{
type = "translation";
source = "reloadMagazine";
selection = "magazine";
axis = "magazine_axis";
minValue = 0.145;
maxValue = 0.170;
offset0 = 0.0;
offset1 = 0.5;
};
class magazine_reload_move_2: magazine_reload_move_1
{
minValue = 0.573;
maxValue = 0.602;
offset0 = 0.0;
offset1 = -0.5;
};
class muzzleFlashROT
{
type="rotationX";
source="ammoRandom"; //use ammo count as phase for animation
sourceAddress="loop"; //loop when phase out of bounds
selection="muzzleFlash"; //selection we want to rotate
axis=""; //no own axis - center of rotation is computed from selection
centerFirstVertex=true; //use first vertex of selection as center of rotation
minValue=0;
maxValue=4; //rotation angle will be 360/4 = 90 degrees
angle0="rad 0";
angle1="rad 360";
};
class OP_ROT
{
type="rotation";
source="zeroing2"; // use second muzzle zeroing for rotation
sourceAddress="loop"; // loop when phase out of bounds
selection="OP"; // selection we want to rotate
axis="OP_axis"; // has its own axis
minValue=0;
maxValue=3;
angle0="rad 0";
angle1="rad 65";
};
class BackSight_optic
{
type="rotation";
source="hasOptics";
selection="BackSight";
axis="BackSight_axis";
memory=1;
minValue=0.0000000;
maxValue=1.0000000;
angle0=0.000000;
angle1=(rad 90);
};
class ForeSight_optic: BackSight_optic
{
selection="ForeSight";
axis="ForeSight_axis";
angle1=(rad 90);
};
// Rotation of fire mode switch
class safety_mode_rot
{
type = rotation;
source = weaponMode;
selection = "safety";
axis = "safety_axis";
memory = 1;
minValue = 0;
maxValue = 0.25;
angle0 = 0;
angle1 = (rad -90);
};
};
};
class AMF_417_long : AMF_714_Long_Base {};
};