This commit is the equivalent of a atomic bomb
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
class StageTI
|
||||
{
|
||||
texture="braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\Data\Textures\AMF_PGM_ULTIMA_RATIO_co.paa";
|
||||
};
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,1};
|
||||
specular[]={0.029,0.029,0.029,1};
|
||||
specularPower=80w;
|
||||
PixelShaderID="Super";
|
||||
VertexShaderID="Super";
|
||||
class Stage1
|
||||
{
|
||||
texture="braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\Data\Textures\AMF_PGM_ULTIMA_RATIO_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_PGM_Ultima_Ratio\Data\Textures\AMF_PGM_ULTIMA_RATIO_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_PGM_Ultima_Ratio\Data\Textures\AMF_PGM_ULTIMA_RATIO_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";
|
||||
};
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/PGM_UltimaRatio.p3d
LFS
Normal file
BIN
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/PGM_UltimaRatio.p3d
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
bg_fnc_playweaponsound = compile preprocessFileLineNumbers "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\fn_playweaponsound.sqf";
|
||||
bg_fnc_onFiredAction = compile preprocessFileLineNumbers "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\fn_onFiredAction.sqf";
|
||||
bg_wepframe_fired_eh = compile preprocessFileLineNumbers "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\fired.sqf";
|
||||
bg_fnc_block_reloadaction = compile preprocessFileLineNumbers "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\fn_block_reloadaction.sqf";
|
||||
[] spawn
|
||||
{
|
||||
"bg_wep_playsound" addPublicVariableEventHandler {_this spawn bg_fnc_playweaponsound};
|
||||
};
|
||||
@@ -0,0 +1,91 @@
|
||||
#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
|
||||
|
||||
#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
|
||||
247
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/config.cpp
Normal file
247
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/config.cpp
Normal file
@@ -0,0 +1,247 @@
|
||||
#include "basicdefines_A3.hpp"
|
||||
|
||||
class CfgPatches
|
||||
{
|
||||
class AMF_PGM_ULTIMA_RATIO
|
||||
{
|
||||
units[] = {};
|
||||
weapons[] =
|
||||
{
|
||||
"braf_pgm_ultimaratio"
|
||||
};
|
||||
requiredVersion = 0.1;
|
||||
requiredAddons[] =
|
||||
{
|
||||
"A3_Weapons_F",
|
||||
"cba_main",
|
||||
"A3_Anims_F",
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_PreInit_EventHandlers
|
||||
{
|
||||
bg_wepframework_init = "call ('\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\XEH_INIT.sqf' call SLX_XEH_COMPILE)";
|
||||
};
|
||||
|
||||
class Extended_FiredBIS_Eventhandlers
|
||||
{
|
||||
class CAManBase
|
||||
{
|
||||
bg_wepframe_fired = "_this call bg_wepframe_fired_eh";
|
||||
};
|
||||
};
|
||||
|
||||
class Mode_SemiAuto;
|
||||
class MuzzleSlot;
|
||||
class CowsSlot;
|
||||
class PointerSlot;
|
||||
class UnderBarrelSlot;
|
||||
|
||||
class CfgWeapons
|
||||
{
|
||||
class Rifle_Base_F;
|
||||
class Rifle_Long_Base_F : Rifle_Base_F
|
||||
{
|
||||
class WeaponSlotsInfo;
|
||||
class GunParticles;
|
||||
};
|
||||
class braf_pgm_ultimaratio : Rifle_Long_Base_F
|
||||
{
|
||||
ACE_barrelTwist = 290;
|
||||
ACE_barrelLength = 550;
|
||||
author = "Wisexe & AMF Team";
|
||||
scope = 2;
|
||||
_generalMacro = "AMF_PGM_ULTIMA_RATIO_01_F";
|
||||
model = "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\PGM_UltimaRatio.p3d";
|
||||
displayName = "PGM Ultima Ratio";
|
||||
picture = "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\Data\UI\AMF_PGM_ULTIMA_RATIO_GEAR.paa";
|
||||
deployedPivot = "bipod"; /// what point should be used to be on surface while unfolded
|
||||
//soundBipodDown[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_BLU_down", db - 3, 1, 20}; /// what sound should be played during unfolding
|
||||
//soundBipodUp[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_BLU_up", db - 3, 1, 20}; /// what sound should be played during folding
|
||||
magazines[] =
|
||||
{
|
||||
"10Rnd_762x51_Mag",
|
||||
};
|
||||
cursor = "srifle";
|
||||
class Library
|
||||
{
|
||||
libTextDesc = "PGM ultima Ratio";
|
||||
};
|
||||
inertia = 1.2;
|
||||
dexterity = 1.0;
|
||||
reloadAction = "GestureReloadLRR";
|
||||
recoil = "recoil_dmr_02";
|
||||
maxZeroing = 2000;
|
||||
descriptionShort = "AMF PGM ULTIMA RATIO";
|
||||
class ItemInfo
|
||||
{
|
||||
priority = 1;
|
||||
};
|
||||
class bg_weaponparameters
|
||||
{
|
||||
class onFired_Action
|
||||
{
|
||||
HandAction = "AMF_PGM_ULTIMA_RATIO_Gesture_Rechamber";
|
||||
Actiondelay = 0.02;
|
||||
Sound = "AMF_PGM_ULTIMA_RATIO_BOLT_SOUND";
|
||||
Sound_Location = "RightHandMiddle1";
|
||||
hasOptic = 0;
|
||||
};
|
||||
};
|
||||
handAnim[] =
|
||||
{
|
||||
"OFP2_ManSkeleton",
|
||||
"\braf\braf_weapons_anim\animations\762mm_PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.rtm",
|
||||
};
|
||||
opticsPPEffects[] = {};
|
||||
opticsFlare = 1;
|
||||
opticsDisablePeripherialVision = 1;
|
||||
class GunParticles
|
||||
{
|
||||
class FirstEffect
|
||||
{
|
||||
effectName = "SniperCloud";
|
||||
positionName = "Usti hlavne";
|
||||
directionName = "Konec hlavne";
|
||||
};
|
||||
};
|
||||
distanceZoomMin = 500;
|
||||
distanceZoomMax = 500;
|
||||
modes[] = {"Single", "single_close_optics1", "single_medium_optics1", "single_far_optics1"};
|
||||
reloadMagazineSound[] = {"A3\Sounds_F\arsenal\weapons\LongRangeRifles\M320\M320_reload", 2, 1, 10};
|
||||
drySound[] = {"A3\Sounds_F\arsenal\weapons\LongRangeRifles\M320\M320_dry", 1.5011872, 1, 20};
|
||||
class Single : Mode_SemiAuto
|
||||
{
|
||||
sounds[] = {"StandardSound"};
|
||||
class BaseSoundModeType
|
||||
{
|
||||
closure1[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 1.0, 1, 30};
|
||||
closure2[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 1.0, 1, 30};
|
||||
soundClosure[] = {"closure1", 0.5, "closure2", 0.5};
|
||||
};
|
||||
class StandardSound : BaseSoundModeType
|
||||
{
|
||||
begin1[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 3.0118723, 1, 2200};
|
||||
begin2[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 3.0118723, 1, 2200};
|
||||
begin3[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 3.0118723, 1, 2200};
|
||||
soundBegin[] = {"begin1", 0.33, "begin2", 0.33, "begin2", 0.34};
|
||||
class SoundTails
|
||||
{
|
||||
class TailInterior
|
||||
{
|
||||
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_interior", 2.2387211, 1, 2200};
|
||||
frequency = 1;
|
||||
volume = "interior";
|
||||
};
|
||||
class TailTrees
|
||||
{
|
||||
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_trees", 2.2387211, 1, 2200};
|
||||
frequency = 1;
|
||||
volume = "(1-interior/1.4)*trees";
|
||||
};
|
||||
class TailForest
|
||||
{
|
||||
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_forest", 2.2387211, 1, 2200};
|
||||
frequency = 1;
|
||||
volume = "(1-interior/1.4)*forest";
|
||||
};
|
||||
class TailMeadows
|
||||
{
|
||||
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_meadows", 2.2387211, 1, 2200};
|
||||
frequency = 1;
|
||||
volume = "(1-interior/1.4)*(meadows/2 max sea/2)";
|
||||
};
|
||||
class TailHouses
|
||||
{
|
||||
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_houses", 2.2387211, 1, 2200};
|
||||
frequency = 1;
|
||||
volume = "(1-interior/1.4)*houses";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reloadTime = 2;
|
||||
dispersion = 0.00011;
|
||||
recoil = "recoil_single_dmr";
|
||||
recoilProne = "recoil_single_prone_dmr";
|
||||
minRange = 2;
|
||||
minRangeProbab = 0.3;
|
||||
midRange = 350;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 500;
|
||||
maxRangeProbab = 0.05;
|
||||
};
|
||||
|
||||
class WeaponSlotsInfo : WeaponSlotsInfo
|
||||
{
|
||||
mass = 160;
|
||||
class MuzzleSlot : MuzzleSlot
|
||||
{
|
||||
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; /// this can be set, but having some common helps a bit
|
||||
compatibleItems[] = {}; /// 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 : CowsSlot /// default accessories for this slot
|
||||
{
|
||||
iconPosition[] = {0.5, 0.35};
|
||||
iconScale = 0.2;
|
||||
};
|
||||
class PointerSlot : PointerSlot /// default accessories for this slot
|
||||
{
|
||||
compatibleItems[] = {};
|
||||
iconPosition[] = {0.20, 0.45};
|
||||
iconScale = 0.25;
|
||||
};
|
||||
|
||||
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 single_close_optics1 : Single
|
||||
{
|
||||
requiredOpticType = 1;
|
||||
showToPlayer = 0;
|
||||
minRange = 2;
|
||||
minRangeProbab = 0.05;
|
||||
midRange = 300;
|
||||
midRangeProbab = 0.8;
|
||||
maxRange = 500;
|
||||
maxRangeProbab = 0.01;
|
||||
aiRateOfFire = 2;
|
||||
aiRateOfFireDistance = 300;
|
||||
};
|
||||
class single_medium_optics1 : single_close_optics1
|
||||
{
|
||||
minRange = 300;
|
||||
minRangeProbab = 0.05;
|
||||
midRange = 500;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 700;
|
||||
maxRangeProbab = 0.05;
|
||||
aiRateOfFire = 2;
|
||||
aiRateOfFireDistance = 500;
|
||||
};
|
||||
class single_far_optics1 : single_medium_optics1
|
||||
{
|
||||
requiredOpticType = 2;
|
||||
minRange = 300;
|
||||
minRangeProbab = 0.05;
|
||||
midRange = 700;
|
||||
midRangeProbab = 0.5;
|
||||
maxRange = 1000;
|
||||
maxRangeProbab = 0.05;
|
||||
aiRateOfFire = 4;
|
||||
aiRateOfFireDistance = 600;
|
||||
};
|
||||
aiDispersionCoefY = 3;
|
||||
aiDispersionCoefX = 2;
|
||||
};
|
||||
};
|
||||
43
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/fired.sqf
Normal file
43
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/fired.sqf
Normal file
@@ -0,0 +1,43 @@
|
||||
private ["_unit","_weapon","_param","_mode"];
|
||||
_unit = _this select 0;
|
||||
_weapon = _this select 1;
|
||||
_mode = _this select 3;
|
||||
_param = (configFile >> "CfgWeapons" >> _weapon >> "bg_weaponparameters");
|
||||
|
||||
if (isClass _param) then
|
||||
{
|
||||
if (isClass (_param >> "onFired_Action")) then
|
||||
{
|
||||
private ["_HandAction","_Actiondelay","_Sound","_Sound_Location","_hasOptic","_reloadDelay","_weaponConfig","_speed"];
|
||||
_HandAction = (_param >> "onFired_Action" >> "HandAction") call BIS_fnc_getCfgData;
|
||||
_Actiondelay = (_param >> "onFired_Action" >> "Actiondelay") call BIS_fnc_getCfgData;
|
||||
_Sound = (_param >> "onFired_Action" >> "Sound") call BIS_fnc_getCfgData;
|
||||
_Sound_Location = (_param >> "onFired_Action" >> "Sound_Location") call BIS_fnc_getCfgData;
|
||||
_hasOptic = (_param >> "onFired_Action" >> "hasOptic") call BIS_fnc_getCfgData;
|
||||
if (_mode == _weapon) then
|
||||
{
|
||||
_weaponConfig = (configFile >> "CfgWeapons" >> _weapon);
|
||||
_speed = getnumber (_weaponConfig >> "reloadTime");
|
||||
_reloadDelay = _speed + 0.15;
|
||||
}
|
||||
else
|
||||
{
|
||||
_weaponConfig = (configFile >> "CfgWeapons" >> _weapon >> _mode);
|
||||
_speed = getnumber (_weaponConfig >> "reloadTime");
|
||||
_reloadDelay = _speed + 0.15;
|
||||
};
|
||||
|
||||
|
||||
[_unit,_weapon,_HandAction,_Actiondelay,_Sound,_Sound_Location,_hasOptic,_reloadDelay] spawn bg_fnc_onFiredAction;
|
||||
};
|
||||
if (isClass (_param >> "onEmpty")) then
|
||||
{
|
||||
if (_unit ammo _weapon == 0) then
|
||||
{
|
||||
_Sound = (_param >> "onEmpty" >> "Sound") call BIS_fnc_getCfgData;
|
||||
_Sound_Location = (_param >> "onEmpty" >> "Sound_Location") call BIS_fnc_getCfgData;
|
||||
|
||||
[_unit,_Sound,_Sound_Location] spawn bg_fnc_playweaponsound;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
disableSerialization;
|
||||
|
||||
if (_this) then
|
||||
{
|
||||
if (isNil {uiNamespace getVariable "bg_reloadblock"}) then
|
||||
{
|
||||
_blockReload = ([] call BIS_fnc_displayMission) displayAddEventHandler
|
||||
[
|
||||
"KeyDown",
|
||||
{
|
||||
_reloadKeys = actionKeys "ReloadMagazine";
|
||||
|
||||
if ((_this select 1) in _reloadKeys) then {true};
|
||||
}
|
||||
];
|
||||
|
||||
uiNamespace setVariable ["bg_reloadblock", _blockReload];
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
if !(isNil {uiNamespace getVariable "bg_reloadblock"}) then
|
||||
{
|
||||
([] call BIS_fnc_displayMission) displayRemoveEventHandler ['KeyDown', (uiNamespace getVariable "bg_reloadblock")];
|
||||
uiNamespace setVariable ["bg_reloadblock", nil];
|
||||
bg_reloadblock = nil;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,59 @@
|
||||
private ["_unit","_weapon","_param","_HandAction","_Actiondelay","_Sound","_Sound_Location","_hasOptic","_acc","_reloadDelay"];
|
||||
_unit = _this select 0;
|
||||
_weapon = _this select 1;
|
||||
_HandAction = _this select 2;
|
||||
_Actiondelay = _this select 3;
|
||||
_Sound = _this select 4;
|
||||
_Sound_Location = _this select 5;
|
||||
_hasOptic = (_this select 6 == 1);
|
||||
_acc = _unit weaponAccessories _weapon;
|
||||
_reloadDelay = _this select 7;
|
||||
|
||||
if (_acc select 2 != "") then
|
||||
{
|
||||
_hasOptic = true;
|
||||
};
|
||||
|
||||
|
||||
if (!local _unit && _hasOptic) exitwith {};
|
||||
|
||||
if (_unit ammo _weapon !=0) then
|
||||
{
|
||||
if (!isDedicated && _hasOptic && player == _unit) then
|
||||
{
|
||||
if (cameraview == "GUNNER") then
|
||||
{
|
||||
true call bg_fnc_block_reloadaction;
|
||||
};
|
||||
while {cameraview == "GUNNER"} do
|
||||
{
|
||||
_unit setWeaponReloadingTime [_unit,_weapon,1];
|
||||
sleep 0.001;
|
||||
};
|
||||
sleep _Actiondelay;
|
||||
[_unit,_Sound,_Sound_Location] spawn bg_fnc_playweaponsound;
|
||||
bg_wep_playsound = [_unit,_Sound,_Sound_Location];
|
||||
publicVariable "bg_wep_playsound";
|
||||
_unit playAction _HandAction;
|
||||
true call bg_fnc_block_reloadaction;
|
||||
sleep _reloadDelay;
|
||||
false call bg_fnc_block_reloadaction;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
sleep _Actiondelay;
|
||||
[_unit,_Sound,_Sound_Location] spawn bg_fnc_playweaponsound;
|
||||
if (local _unit) then
|
||||
{
|
||||
_unit playAction _HandAction;
|
||||
if (_unit == player) then
|
||||
{
|
||||
true call bg_fnc_block_reloadaction;
|
||||
sleep _reloadDelay;
|
||||
false call bg_fnc_block_reloadaction;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -0,0 +1,24 @@
|
||||
private ["_unit","_arg","_sound","_Sound_Location"];
|
||||
if (typename (_this select 1) == "array") then
|
||||
{
|
||||
_arg = _this select 1;
|
||||
_unit = _arg select 0;
|
||||
_sound = _arg select 1;
|
||||
_Sound_Location = _arg select 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
_unit = _this select 0;
|
||||
_sound = _this select 1;
|
||||
_Sound_Location = _this select 2;
|
||||
};
|
||||
if (isnil "_sound" || _sound == "") exitwith {}; // No sound set, don't play anything.
|
||||
if (isNil "_unit") exitwith {false}; //Rarely happens that _unit stops existing
|
||||
|
||||
_rhand = _unit selectionPosition _Sound_Location;
|
||||
_posStart = _unit modeltoworld _rhand;
|
||||
_obj = "#particlesource" createVehicleLocal _posStart;
|
||||
_obj attachto [_unit,_rhand];
|
||||
_obj say3d _sound;
|
||||
sleep 10;
|
||||
deleteVehicle _obj;
|
||||
278
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/model.cfg
Normal file
278
braf_weapons_sniper_rifles/762mm_PGM_Ultima_Ratio/model.cfg
Normal file
@@ -0,0 +1,278 @@
|
||||
class CfgSkeletons
|
||||
{
|
||||
class Default
|
||||
{
|
||||
isDiscrete = 1;
|
||||
skeletonInherit = "";
|
||||
skeletonBones[] = {};
|
||||
};
|
||||
class AMF_PGM_ULTIMA_RATIO_skeleton : Default
|
||||
{
|
||||
isDiscrete=0;
|
||||
skeletonInherit="";
|
||||
skeletonBones[]=
|
||||
{
|
||||
"magazine", "",
|
||||
"muzzleflash", "",
|
||||
"bolt", "",
|
||||
"ForeSight", "",
|
||||
"BackSight", "",
|
||||
"trigger", "",
|
||||
"bipod_back", "",
|
||||
"zasleh", ""
|
||||
};
|
||||
};
|
||||
};
|
||||
class CfgModels
|
||||
{
|
||||
class Default
|
||||
{
|
||||
sectionsInherit="";
|
||||
sections[]={};
|
||||
skeletonName="";
|
||||
};
|
||||
class PGM_UltimaRatio: Default
|
||||
{
|
||||
sections[] = {"zasleh","Camo","bipod_back"};
|
||||
skeletonName="AMF_PGM_ULTIMA_RATIO_skeleton";
|
||||
class Animations
|
||||
{
|
||||
class trigger_rotation
|
||||
{
|
||||
type = "rotation";
|
||||
source = "reload";
|
||||
sourceAddress = "clamp";
|
||||
selection = "trigger";
|
||||
axis = "trigger_axis";
|
||||
minValue = 0;
|
||||
maxValue = 1;
|
||||
angle0 = "0";
|
||||
angle1 = "rad -15";
|
||||
};
|
||||
class bolt_fire_begin1
|
||||
{
|
||||
type= rotation;
|
||||
source="reload";
|
||||
sourceAddress= clamp;
|
||||
selection="bolt";
|
||||
axis="bolt_axis";
|
||||
minValue = 0.55;
|
||||
maxValue = 0.6;
|
||||
angle0= (rad 0);
|
||||
angle1= (rad -60);
|
||||
animPeriod = 0.0;
|
||||
initPhase = 3.0;
|
||||
// memory = true;
|
||||
};
|
||||
class bolt_fire_begin2
|
||||
{
|
||||
type="translation";
|
||||
source="reload";
|
||||
selection="bolt";
|
||||
axis="bolt_axis";//*probably*
|
||||
// sourceAddress = clamp;// (default)
|
||||
minValue = 0.65;//rad 0.0
|
||||
maxValue = 0.75;//rad 17.188734
|
||||
offset0 = 0.0;
|
||||
offset1 = 0.7;
|
||||
animPeriod = 0.0;
|
||||
initPhase = 0.0;
|
||||
// memory = true;//(default assumed)
|
||||
};
|
||||
class bolt_fire_end1
|
||||
{
|
||||
type="translation";
|
||||
source="reload";
|
||||
selection="bolt";
|
||||
axis="bolt_axis";//*probably*
|
||||
// sourceAddress = clamp;// (default)
|
||||
minValue = 0.8;//rad 28.64789
|
||||
maxValue = 0.9;//rad 57.29578
|
||||
offset0 = 0.0;
|
||||
offset1 = -0.7;
|
||||
animPeriod = 1.0;
|
||||
initPhase = 0.0;
|
||||
// memory = true;//(default assumed)
|
||||
};
|
||||
class bolt_fire_end2
|
||||
{
|
||||
type= rotation;
|
||||
source="reload";
|
||||
sourceAddress= clamp;
|
||||
selection="bolt";
|
||||
axis="bolt_axis";
|
||||
minValue = 0.95;
|
||||
maxValue = 1.0;
|
||||
angle0= (rad 0);
|
||||
angle1= (rad 60);
|
||||
animPeriod = 1.0;
|
||||
initPhase = 0.0;
|
||||
// memory = true;
|
||||
};
|
||||
class bolt_reload_begin1
|
||||
{
|
||||
type= rotation;
|
||||
source="reloadMagazine";
|
||||
sourceAddress= clamp;
|
||||
selection="bolt";
|
||||
axis="bolt_axis";
|
||||
minValue = 0.04;
|
||||
maxValue = 0.08;
|
||||
angle0= (rad 0);
|
||||
angle1= (rad -60);
|
||||
animPeriod = 0.0;
|
||||
initPhase = 0.0;
|
||||
// memory = true;
|
||||
};
|
||||
class bolt_reload_begin2
|
||||
{
|
||||
selection = "bolt";
|
||||
axis = "bolt_axis";
|
||||
type="translation";
|
||||
source="reloadMagazine";
|
||||
// sourceAddress = clamp;// (default)
|
||||
minValue = 0.1;//rad 0.0
|
||||
maxValue = 0.14;//rad 17.188734
|
||||
offset0 = 0.0;
|
||||
offset1 = 0.7;
|
||||
animPeriod = 0.0;
|
||||
initPhase = 0.0;
|
||||
// memory = true;//(default assumed)
|
||||
};
|
||||
class bolt_reload_end1
|
||||
{
|
||||
selection = "bolt";
|
||||
axis = "bolt_axis";
|
||||
type="translation";
|
||||
source="reloadMagazine";
|
||||
// sourceAddress = clamp;// (default)
|
||||
minValue = 0.8;//rad 28.64789
|
||||
maxValue = 0.84;//rad 57.29578
|
||||
offset0 = 0.0;
|
||||
offset1 = -0.7;
|
||||
animPeriod = 0.0;
|
||||
initPhase = 0.0;
|
||||
// memory = true;//(default assumed)
|
||||
};
|
||||
class bolt_reload_end2
|
||||
{
|
||||
type= rotation;
|
||||
source="reloadMagazine";
|
||||
sourceAddress= clamp;
|
||||
selection="bolt";
|
||||
axis="bolt_axis";
|
||||
minValue = 0.86;
|
||||
maxValue = 0.9;
|
||||
angle0= (rad 0);
|
||||
angle1= (rad 60);
|
||||
animPeriod = 0.0;
|
||||
initPhase = 0.0;
|
||||
// memory = true;
|
||||
};
|
||||
class magazine_hide
|
||||
{
|
||||
type="hide";
|
||||
source="reloadMagazine";
|
||||
selection="magazine";
|
||||
minValue=0.000000;
|
||||
maxValue=1.00000;
|
||||
hideValue=0.31;
|
||||
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.27;
|
||||
maxValue = 0.31;
|
||||
offset0 = 0.0;
|
||||
offset1 = 1.0;
|
||||
};
|
||||
class magazine_reload_move_2: magazine_reload_move_1
|
||||
{
|
||||
minValue = 0.52;
|
||||
maxValue = 0.58;
|
||||
offset0 = 0.0;
|
||||
offset1 = -1.0;
|
||||
};
|
||||
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);
|
||||
};
|
||||
class muzzleflash_hide
|
||||
{
|
||||
type="hide";
|
||||
source="hasSuppressor";
|
||||
selection="zasleh";
|
||||
minValue = 0.0;
|
||||
maxvalue = 0.25;
|
||||
hideValue = 0.01;
|
||||
};
|
||||
class muzzleFlashROT
|
||||
{
|
||||
type="rotationX";
|
||||
source="ammoRandom";
|
||||
selection="zasleh";
|
||||
axis="muzzleflash_axis";//*probably*
|
||||
sourceAddress = loop;
|
||||
minValue = 0.0;//rad 0.0
|
||||
maxValue = 4.0;//rad 229.18312
|
||||
angle0 = 0.0;//rad 0.0;
|
||||
angle1 = 1.2443461;//rad 14.0;
|
||||
memory = true;//(default assumed)
|
||||
};
|
||||
class MuzzleFlashROT1
|
||||
{
|
||||
type="rotation";
|
||||
source="ammoRandom";
|
||||
selection="zasleh";
|
||||
axis="muzzleflash_axis";//*probably*
|
||||
sourceAddress = loop;
|
||||
minValue = 0.0;//rad 0.0
|
||||
maxValue = 1.0;//rad 57.29578
|
||||
angle0 = 0.0;//rad 0.0;
|
||||
angle1 = 1.05235988;//rad 3.0;
|
||||
memory = true;//(default assumed)
|
||||
};
|
||||
class bipod_back_move
|
||||
{
|
||||
type = rotation;
|
||||
source = bipod;
|
||||
sourceAddress = clamp;
|
||||
selection = "bipod_back";
|
||||
axis = "bipod_back_axis";
|
||||
minValue = 0;
|
||||
maxValue = 1;
|
||||
angle0 = (rad 0);
|
||||
angle1 = (rad -90);
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user