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

View File

@@ -0,0 +1,328 @@
class Braf_Mekanika_URU_base: Rifle_Base_F {
author="BRAF Team";
_generalMacro="Braf_Mekanika_URU_base";
scope=0;
displayName="Mekanika URU 9mm";
picture = "";
magazines[]=
{
"30Rnd_9x21_Mag"
};
reloadAction="GestureReloadSMG_02";
recoil="recoil_smg_05";
maxZeroing=100;
handAnim[]=
{
"OFP2_ManSkeleton",
"\braf\braf_weapons_anim\animations\9mm_URU\uru_hand_anim.rtm"
};
overviewPicture="\A3\Data_F_Mark\Images\watermarkInfo_page07_ca.paa";
discreteDistanceInitIndex=2;
cursor="smg";
class Library
{
libTextDesc="Mekanika URU v1 9mm SMG";
};
class WeaponSlotsInfo: WeaponSlotsInfo
{
class CowsSlot
{
};
class MuzzleSlot
{
};
class UnderBarrelSlot
{
};
class PointerSlot
{
};
mass=66.138702;
};
distanceZoomMin=300;
distanceZoomMax=300;
changeFiremodeSound[]=
{
"A3\Sounds_F\arsenal\weapons\SMG\Sting\firemode_Sting",
0.25118864,
1,
5
};
drySound[]=
{
"braf\braf_weapons_sound\weapons\MT12\mt12_hammer.ogg",
3,
1,
10
};
reloadMagazineSound[]=
{
"braf\braf_weapons_sound\weapons\MT12\reload.ogg",
1,
1,
10
};
modes[]=
{
"Single",
"FullAuto",
"single_close_optics1",
"single_medium_optics1",
"single_far_optics1",
"fullauto_medium"
};
bullet1[]=
{
"A3\sounds_f\weapons\shells\9mm\metal_9mm_01",
0.50118703,
1,
15
};
bullet2[]=
{
"A3\sounds_f\weapons\shells\9mm\metal_9mm_02",
0.50118703,
1,
15
};
bullet3[]=
{
"A3\sounds_f\weapons\shells\9mm\metal_9mm_03",
0.50118703,
1,
15
};
bullet4[]=
{
"A3\sounds_f\weapons\shells\9mm\metal_9mm_04",
0.50118703,
1,
15
};
bullet5[]=
{
"A3\sounds_f\weapons\shells\9mm\dirt_9mm_01",
0.50118703,
1,
15
};
bullet6[]=
{
"A3\sounds_f\weapons\shells\9mm\dirt_9mm_02",
0.50118703,
1,
15
};
bullet7[]=
{
"A3\sounds_f\weapons\shells\9mm\dirt_9mm_03",
0.50118703,
1,
15
};
bullet8[]=
{
"A3\sounds_f\weapons\shells\9mm\dirt_9mm_04",
0.50118703,
1,
15
};
bullet9[]=
{
"A3\sounds_f\weapons\shells\9mm\grass_9mm_01",
0.39810699,
1,
15
};
bullet10[]=
{
"A3\sounds_f\weapons\shells\9mm\grass_9mm_02",
0.39810699,
1,
15
};
bullet11[]=
{
"A3\sounds_f\weapons\shells\9mm\grass_9mm_03",
0.39810699,
1,
15
};
bullet12[]=
{
"A3\sounds_f\weapons\shells\9mm\grass_9mm_04",
0.39810699,
1,
15
};
soundBullet[]=
{
"bullet1",
0.082999997,
"bullet2",
0.082999997,
"bullet3",
0.082999997,
"bullet4",
0.082999997,
"bullet5",
0.082999997,
"bullet6",
0.082999997,
"bullet7",
0.082999997,
"bullet8",
0.082999997,
"bullet9",
0.082999997,
"bullet10",
0.082999997,
"bullet11",
0.082999997,
"bullet12",
0.082999997
};
class Single: Mode_SemiAuto
{
class BaseSoundModeType;
class StandardSound: BaseSoundModeType
{
SoundSetShot[]=
{
"SMGVermin_Shot_SoundSet",
"SMGVermin_Tail_SoundSet",
"SMGVermin_InteriorTail_SoundSet"
};
};
class SilencedSound: BaseSoundModeType
{
SoundSetShot[]=
{
"SMGVermin_silencerShot_SoundSet",
"SMGVermin_silencerTail_SoundSet",
"SMGVermin_silencerInteriorTail_SoundSet"
};
};
reloadTime=0.054499999;
dispersion=0.00057999999;
initSpeed=850;
minRange=2;
minRangeProbab=0.30000001;
midRange=350;
midRangeProbab=0.69999999;
maxRange=500;
maxRangeProbab=0.050000001;
};
class FullAuto: Mode_FullAuto
{
class BaseSoundModeType;
class StandardSound: BaseSoundModeType
{
SoundSetShot[]=
{
"SMGVermin_Shot_SoundSet",
"SMGVermin_Tail_SoundSet",
"SMGVermin_InteriorTail_SoundSet"
};
};
class SilencedSound: BaseSoundModeType
{
SoundSetShot[]=
{
"SMGVermin_silencerShot_SoundSet",
"SMGVermin_silencerTail_SoundSet",
"SMGVermin_silencerInteriorTail_SoundSet"
};
};
reloadTime=0.054499999;
dispersion=0.00057999999;
minRange=0;
minRangeProbab=0.89999998;
midRange=15;
midRangeProbab=0.69999999;
maxRange=30;
maxRangeProbab=0.050000001;
aiRateOfFire=5;
};
class single_close_optics1: Single
{
requiredOpticType=1;
showToPlayer=0;
minRange=2;
minRangeProbab=0.050000001;
midRange=300;
midRangeProbab=0.80000001;
maxRange=500;
maxRangeProbab=0.0099999998;
aiRateOfFire=2;
aiRateOfFireDistance=300;
};
class single_medium_optics1: single_close_optics1
{
minRange=300;
minRangeProbab=0.050000001;
midRange=500;
midRangeProbab=0.69999999;
maxRange=700;
maxRangeProbab=0.050000001;
aiRateOfFire=2;
aiRateOfFireDistance=500;
};
class single_far_optics1: single_medium_optics1
{
requiredOpticType=2;
minRange=300;
minRangeProbab=0.050000001;
midRange=700;
midRangeProbab=0.5;
maxRange=1000;
maxRangeProbab=0.050000001;
aiRateOfFire=4;
aiRateOfFireDistance=600;
};
class fullauto_medium: FullAuto
{
showToPlayer=0;
burst=3;
minRange=2;
minRangeProbab=0.5;
midRange=50;
midRangeProbab=0.69999999;
maxRange=100;
maxRangeProbab=0.050000001;
aiRateOfFire=2;
};
aiDispersionCoefY=3;
aiDispersionCoefX=2;
};
class Braf_Mekanika_URU_v1: Braf_Mekanika_URU_base {
_generalMacro="Braf_Mekanika_URU_v1";
author="BRAF Team";
scope=2;
model="braf\braf_weapons_smg\9mm_URU\URU.p3d";
dexterity=1.6;
displayName="Mekanika URU V1";
picture="\braf\braf_weapons_smg\9mm_URU\data\ui\uru_sub_v1_ui_co.paa";
UiPicture="\A3\weapons_f\data\UI\icon_regular_CA.paa";
descriptionShort="SMG Mekanika URU V1 9mm";
inertia=0.40000001;
aimTransitionSpeed=1.3;
initSpeed=370;
class WeaponSlotsInfo: WeaponSlotsInfo
{
mass=66.138702;
};
ace_overheating_mrbs=100;
ace_overheating_slowdownFactor=1;
ace_overheating_allowSwapBarrel=1;
ACE_barrelTwist=254;
ACE_Overheating_Dispersion=1;
ACE_barrelLength=200;
ACE_twistDirection=1;
ACE_clearJamAction="braf_GestureClear_barrel_mt12";
class ItemInfo
{
priority=1;
};
};

BIN
braf_weapons_smg/9mm_URU/URU.p3d LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,92 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0.3,0.3,0.3,1};
emmisive[] = {0,0,0,0};
specular[] = {0.05,0.05,0.05,1};
specularPower = 60;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_weapons_smg\9mm_URU\data\uru_sub_v1_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.5,DT)";
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,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_smg\9mm_URU\data\uru_sub_v1_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_smg\9mm_URU\data\uru_sub_v1_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(5.4,1.4)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7
{
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

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.

Binary file not shown.

View File

@@ -0,0 +1,272 @@
class CfgSkeletons
{
class Default
{
isDiscrete=1;
skeletonInherit="";
skeletonBones[]={};
};
class URU_skeleton: Default
{
skeletonBones[]=
{
"magazine", "",
"bullet007", "",
"bullet008", "",
"charging_handle", "",
"selector", "",
"trigger", "",
"janela", "",
"muzzleFlash", "",
"optic_rail", "",
"zasleh", "",
"bolt", "charging_handle"
};
};
};
class CfgModels
{
class Default
{
sectionsInherit="";
sections[]={};
skeletonName="";
};
class uru: Default
{
sections[]=
{
"zasleh","muzzleFlash","magazine","selector","bolt","optic_rail","mira","zeroing","alsa","zarelho","trilho_frontal","granada","Sling","Camo"
};
skeletonName="URU_skeleton";
sectionsInherit="";
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 selector /// not in this model, but good to use
{
type = "rotation";
source = "weaponMode";
sourceAddress = "clamp";
selection = "selector";
axis = "selector_axis";
minValue = 0;
maxValue = "1";
angle0 = "rad 0";
angle1 = "rad -495";
};
class bullet007_revolving_hide
{
type="hide";
source="revolving";
selection="bullet007";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
hideValue=0;
unHideValue=0.035;
};
class bullet008_revolving_hide
{
type="hide";
source="revolving";
selection="bullet008";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
hideValue=0;
unHideValue=0.035;
};
class optic_rail
{
type="hide";
source="hasOptics";
selection="optic_rail";
minValue=0;
maxValue=1;
hideValue=-1.0;
unhideValue = 0.5;
};
class acessory_rail
{
type="hide";
source="hasAccessory";
selection="trilho_frontal";
minValue=0;
maxValue=1;
hideValue=-1.0;
unhideValue = 0.5;
};
class reload_magazine_hide
{
type="hide";
source="reloadMagazine";
selection="magazine";
minValue=0;
maxValue=1;
hideValue = 0.126;
unhidevalue = 0.6300;
};
class unloaded_magazine_hide
{
type = "hide";
source = "hasMagazine";
selection = "magazine";
hideValue=0.100000;
};
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 backsight_rotate
{
type="translation";
source="zeroing";
selection="Alca_mira";
axis="mira_axis";
minValue=0;
maxValue=1;
//hideValue=1;
offset0=0;
offset1="-0.8";
};
class bolt
{
type="translation";
source="reload";
selection="bolt";
axis="bolt_axis";
begin = "bolt_axis_end";
end = "bolt_axis_begin";
memory = 1;
minValue=0;
maxValue="0.8";
offset0="0";
offset1="1";
};
class bolt_2: bolt
{
minValue = 0;
maxValue = 0.5;
offset0 = 0;
offset1 = 0.14;
};
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 bullet_cover
{
type="rotation";
source="reload";
sourceAddress="mirror";
selection="janela";
axis="janela_eixo";
memory=1;
minValue=0.0;
maxValue=0.5;
angle0=0;
angle1=-0.4;
};
// bullet_cover FIRE ANIM START
class bullet_cover_UP
{
type="rotation";
source="reload";
selection="janela";
axis="janela_eixo";
memory=1;
minValue=0.0;
maxValue=0.05;
angle0=0.75;
angle1=-0.5;
};
class bullet_cover_UP_02
{
type="rotation";
source="reload";
selection="janela";
axis="janela_eixo";
memory=1;
minValue=0.05;
maxValue=0.1;
angle0=0.0;
angle1=-0.02;
};
class bullet_cover_DOWN
{
type="rotation";
source="reload";
selection="janela";
axis="janela_eixo";
memory=1;
minValue=0.1;
maxValue=0.5;
angle0=0.0;
angle1=1.27;
};
// bullet_cover FIRE ANIM END
class muzzleFlashROT
{
type="rotationX";
source="ammoRandom"; //use ammo count as phase for animation
sourceAddress="loop"; //loop when phase out of bounds
selection="zasleh"; //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";
};
};
};
};