Jump to content

Recommended Posts

Would there be anyone whos interested in the knives configs and functions? Currently it requires CBA_A3, my knife models and animations that I cannot share, well maybe I can share the animations.

It's not perfect or even close to but it's a good base.

 

It's still in the same state as in this video.

  • Like 5

Share this post


Link to post
Share on other sites
58 minutes ago, Bnae said:

Would there be anyone whos interested in the knives configs and functions? Currently it requires CBA_A3, my knife models and animations that I cannot share, well maybe I can share the animations.

It's not perfect or even close to but it's a good base.

 

It's still in the same state as in this video.

First of all, I think it's an very good idea to share your files if you're not working on it anymore, but that the community gets what you started.

I was working on something similar, I've made some knife models etc. I'd love to take a look at it and get this done :) Maybe even with some more people.

 

  • Like 1

Share this post


Link to post
Share on other sites

@KokaKolaA3

 

config.cpp

Spoiler

class CfgPatches
{
	class bnae_knife
	{
		requiredaddons[] = {"A3_Weapons_F", "cba_keybinding"};
		requiredversion = 0.1;
		weapons[] = {"bnae_knife_virtual"};
	};
};
class CfgFunctions
{
	class bnae_function_f
	{
		tag="bnae";
		class Misc
		{
			file="\bnae_knife\bnae_knife\Misc";
			class weaponinformation
			{
			};
			class stab
			{
			};
			class damage
			{
			};
		};
	};
};
class Extended_PostInit_EventHandlers
{
	class bnae_function
	{
		init = "nul = [] execVM 'bnae_knife\bnae_knife\Misc\MainInit.sqf'";
	};
};
class CfgMovesBasic
{
	class default;
 	class DefaultDie;
 	class ManActions
 	{
		AnimStabKnife[] = {"AnimStabKnife", "gesture"};
		AnimSlashKnife[] = {"AnimSlashKnife", "gesture"};
		/*
		AnimTakedownKnife[] = {"AnimTakedownKnife", "gesture"};
		AnimTakedownVictimKnife[] = {"AnimTakedownVictimKnife", "gesture"};
		*/
 	};
};
class CfgGesturesMale
{
	class default;
 	class States
 	{
		class AnimStabKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_stab_knife.rtm";
			speed=-0.5;
			looped=0;
			mask = "handsWeapon";
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0,0.9,0,0.95,1,1,1};
 		};
		class AnimSlashKnife : AnimStabKnife
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_slash_knife.rtm";
			speed=-1.2;
 		};
		/*
		class AnimTakedownKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_knife.rtm";
			speed=-2;
			looped=0;
			mask = "BodyFullReal";
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0,0.9,0,0.95,1,1,1};
 		};
		class AnimTakedownVictimKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_victim_knife.rtm";
			speed=-2;
			looped=0;
			mask = "BodyFullReal";
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0};
 		};
		*/
	};
	/*
	class BlendAnims
	{
		class MaskStart
		{
			weight=0.85000002;
		};
		class MaskStartDecreased
		{
			weight=0.34999999;
		};
		empty[]={};
		BodyFullRealNoWeapon[]=
		{
			"head",
			1,
			"neck1",
			1,
			"neck",
			1,
			"LeftShoulder",
			1,
			"LeftArm",
			1,
			"LeftArmRoll",
			1,
			"LeftForeArm",
			1,
			"LeftForeArmRoll",
			1,
			"LeftHand",
			1,
			"LeftHandRing",
			1,
			"LeftHandPinky1",
			1,
			"LeftHandPinky2",
			1,
			"LeftHandPinky3",
			1,
			"LeftHandRing1",
			1,
			"LeftHandRing2",
			1,
			"LeftHandRing3",
			1,
			"LeftHandMiddle1",
			1,
			"LeftHandMiddle2",
			1,
			"LeftHandMiddle3",
			1,
			"LeftHandIndex1",
			1,
			"LeftHandIndex2",
			1,
			"LeftHandIndex3",
			1,
			"LeftHandThumb1",
			1,
			"LeftHandThumb2",
			1,
			"LeftHandThumb3",
			1,
			"RightShoulder",
			1,
			"RightArm",
			1,
			"RightArmRoll",
			1,
			"RightForeArm",
			1,
			"RightForeArmRoll",
			1,
			"RightHand",
			1,
			"RightHandRing",
			1,
			"RightHandPinky1",
			1,
			"RightHandPinky2",
			1,
			"RightHandPinky3",
			1,
			"RightHandRing1",
			1,
			"RightHandRing2",
			1,
			"RightHandRing3",
			1,
			"RightHandMiddle1",
			1,
			"RightHandMiddle2",
			1,
			"RightHandMiddle3",
			1,
			"RightHandIndex1",
			1,
			"RightHandIndex2",
			1,
			"RightHandIndex3",
			1,
			"RightHandThumb1",
			1,
			"RightHandThumb2",
			1,
			"RightHandThumb3",
			1,
			"Spine1",
			1,
			"Spine2",
			1,
			"Spine3",
			1,
			"Spine",
			1,
			"Pelvis",
			1,
			"LeftLeg",
			1,
			"LeftLegRoll",
			1,
			"LeftUpLeg",
			1,
			"LeftUpLegRoll",
			1,
			"LeftFoot",
			1,
			"LeftToeBase",
			1,
			"RightLeg",	
			1,
			"RightLegRoll",
			1,
			"RightUpLeg",
			1,
			"RightUpLegRoll",
			1,
			"RightFoot",
			1,
			"RightToeBase",
			1
		};
	};
	*/
};
class CfgMovesMaleSdr: CfgMovesBasic
{
	skeletonName = "OFP2_ManSkeleton";
	gestures = "CfgGesturesMale";
	access = 1;
	class States
	{
		class DeadState;
		class AnimTakedownKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_knife.rtm";
			looped = 0;
			speed=-2;
			duty = 2;
			mask = "BodyFullReal";
			enableDirectControl = 0;
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0,0.9,0,0.95,1,1,1};
			weaponIK = 1;
			forceAim = 1;
			leaning = "empty";
			aimingBody = "empty";
			aiming = "empty";
			head = "empty";
			disableWeapons = 1;
			disableWeaponsLong = 1;
			headBobMode = 1;
			headBobStrength = 0.2;
			canPullTrigger = 0;
			showHandGun = 0;
			showItemInRightHand = 0;
			variantsPlayer[] = {};
			variantsAI[] = {};
			weaponLowered=0;
			ConnectTo[]=
			{
				"BasicDriverDead",
				1
			};
			InterpolateTo[]=
			{
				"BasicDriverDead",
				0.1
			};
 		};
		class AnimTakedownVictimKnife : AnimTakedownKnife
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_victim_knife.rtm";
 		};
	};
};
class CfgWeapons
{
	class Rifle;
	class Rifle_Base_F: Rifle
	{
		class WeaponSlotsInfo;
		class EventHandlers;
	};
	class bnae_knife_base : Rifle_Base_F 
	{
		author = "BNAE";
		scope = 0;
		cursor = "srifle";
		cursoraim = "CursorAim";
		descriptionshort = "Watch your fingers";
		displayname = "Tactical Knife";
		handAnim[] = {"OFP2_ManSkeleton","bnae_knife\bnae_knife\Anim\Knife_handanim.rtm"};
		picture="\bnae_knife\bnae_knife\UI\gear_bnae_knife_x_ca";
		magazines[]={};
		model = "bnae_knife\bnae_knife\Knife";
		UiPicture="\A3\weapons_f\data\UI\icon_regular_CA.paa";
		class EventHandlers: EventHandlers
		{
			fired = "[_this, true] call bnae_fnc_stab";
		};
		class WeaponSlotsInfo: WeaponSlotsInfo
		{
			class MuzzleSlot{};
			class CowsSlot{};
			class PointerSlot{};
			class UnderBarrelSlot{};
			allowedSlots[] = {901, 701};
		};
	};
	class bnae_knife_virtual : bnae_knife_base
	{
		scope = 2;
	};
	class bnae_knife_v2_base : bnae_knife_base 
	{
		author = "BNAE";
		scope = 0;
		cursor = "srifle";
		cursoraim = "CursorAim";
		descriptionshort = "Watch your fingers";
		displayname = "Combat Knife";
		model = "bnae_knife\bnae_knife\Knife_v2";
		picture="\bnae_knife\bnae_knife\UI\gear_bnae_knife_v2_x_ca";
	};
	class bnae_knife_v2_virtual : bnae_knife_v2_base
	{
		scope = 2;
	};
};
class CfgSounds
{
	sounds[] = {};
	class stabKnife
	{
		name = "stab_knife";
		sound[] = {"bnae_knife\bnae_knife\sound\stab_knife",1,1,10};
		titles[] = {};
	};
};

 

 

MainInit.sqf

Spoiler

#include "\a3\editor_f\Data\Scripts\dikCodes.h"

disableSerialization;
["Project Infinite", "stab_knife", "Stab knife", {_this call bnae_fnc_weaponinformation}, {}, [DIK_F, [false, false, false]]] call cba_fnc_addKeybind;

 

 

fn_weaponinformation.sqf

Spoiler

/*
	Author: Bnae
	
	Description:
	
	Parameter(s): 
*/

_bnae_knife_active =  profileNamespace getVariable "bnae_knife_active";

if !(isNil "_bnae_knife_active") exitWith {};

profileNamespace setVariable ["bnae_knife_active", 1];

bnae_knifelist = ["bnae_knife_virtual","bnae_knife_v2_virtual"];

if ((vehicle player == player) && !(stance player == "PRONE") && !(stance player == "UNDEFINED")) then 
{
	private ["_selected","_current","_primary","_secondary","_handgun","_binoculars","_countprimary","_counthandgun","_primaryitems","_handgunitems"];

	_selected = (bnae_knifelist arrayIntersect (vestItems player)) select 0;

	_current = currentWeapon player;
	_primary = primaryWeapon player;
	_secondary = secondaryWeapon player;
	_handgun = handgunWeapon player;
	_binoculars = binocular player;
	
	//NO weapon in hand = #A3superAnimations
	if (_current == "") exitWith {profileNamespace setVariable ["bnae_knife_active", nil];saveProfileNamespace};
	
	_countprimary = player ammo _primary;
	_counthandgun = player ammo _handgun;
	
	_primaryitems = primaryWeaponItems player;
	_handgunitems = handgunItems player;
	
	//NOT working with handgun
	//if (_current == _handgun) exitWith {systemChat "NOT working with handgun"};
	//NOT working with secondary
	//if (_current == _secondary) exitWith {systemChat "NOT working with secondary"};
	//NOT working with binoculars
	//if (_current == _binoculars) exitWith {systemChat "NOT working with binoculars"};
	//NOT in hand and NOT in vest
	//if (!(_current in bnae_knifelist) && (isNil "_selected")) exitWith {systemChat "NOT in hand and NOT in vest"};
	
	//NOT in hand and IS in vest
	if (!(_current in bnae_knifelist) && !(isNil "_selected")) exitWith
	{
		[true,[_selected,_current,_primary,_secondary,_handgun,_binoculars,_countprimary,_counthandgun,_primaryitems,_handgunitems]] spawn bnae_fnc_stab;
	};
	
	[false] spawn bnae_fnc_stab;
};

 

 

fn_stab.sqf

Spoiler

/*
	Author: Bnae
	Description:
	Parameter(s): 
*/

private _invest = _this select 0;
private _weaponinfo = _this select 1;

if (_invest) then
{
	player removeWeapon (_weaponinfo select 2);
	player removeWeapon (_weaponinfo select 4);
	player removeWeapon (_weaponinfo select 5);
	player removeItem (_weaponinfo select 0);
	player addWeapon (_weaponinfo select 0);
};

private _cursor = cursorTarget;
private _target = _cursor isKindOf "Man";
private _dir_1 = getDir player;
private _dir_2 = getDir _cursor;
private _dir_3 = abs ((abs (_dir_2 - _dir_1) - 180));
if ((_dir_3 < 180) && (_dir_3 > 165) && _target && ((player distance _cursor) < 1.6)) then 
{
	[[player,"AnimTakedownKnife"],"switchMove"] call BIS_fnc_MP;
	sleep 0.2;
	[[_cursor,"AnimTakedownVictimKnife"],"switchMove"] call BIS_fnc_MP;
	sleep 1.5;
	[1, _cursor] call bnae_fnc_damage;
	sleep 0.2;
	[[player,""],"switchMove"] call BIS_fnc_MP;
}else{
	
	[[player,"AnimStabKnife"],"playAction"] call BIS_fnc_MP;

	private _dummy  = "#particlesource" createVehicleLocal (ASLtoATL (eyePos player));
	if (cameraView != "EXTERNAL") then {
		playSound "stabKnife";
	} else {
		if (((positionCameraToWorld [0,0,0]) distance player) <= 30) then {
			_dummy say3d "stabKnife";
		};
	};
	sleep 0.2;
	[0.34, _cursor] call bnae_fnc_damage;
	sleep 0.5;
	deleteVehicle _dummy;
};
//It was already in hand
if !(_invest) exitWith {profileNamespace setVariable ["bnae_knife_active", nil];saveProfileNamespace};

player removeWeapon (_weaponinfo select 0);
player addItemToVest (_weaponinfo select 0);
[player, (_weaponinfo select 2), 1] call BIS_fnc_addWeapon;
player setAmmo [(_weaponinfo select 2), (_weaponinfo select 6)];
{player addPrimaryWeaponItem _x} forEach (_weaponinfo select 8);
[player, (_weaponinfo select 4), 1] call BIS_fnc_addWeapon;
player setAmmo [(_weaponinfo select 4), (_weaponinfo select 7)];
{player addHandgunItem _x} forEach (_weaponinfo select 9);
player addWeapon (_weaponinfo select 5);

profileNamespace setVariable ["bnae_knife_active", nil];
saveProfileNamespace;

 

 

fn_damage.sqf

Spoiler

/*
	Author: Bnae
	
	Description:
	Add damage to cursorTarget
	
	Parameter(s): -
*/

private _hit = _this select 0;
private _cursor = _this select 1;
private _target = _cursor isKindOf "Man";

if (_target && (alive _cursor) && ((player distance _cursor) < 1.6)) then 
{
	private _fatigue = getFatigue player;
	private _damage = getDammage _cursor;
	private _multiplier = _hit * (1.5 - _fatigue);
	_cursor setDamage [(_damage + _multiplier), true];
	player setFatigue (_fatigue + 0.034);
	[100] call BIS_fnc_bloodEffect;
};
true

 

 

Feel free to ask if don't understand something. Just ignore if there's something that is not being used.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
4 hours ago, Bnae said:

@KokaKolaA3

 

config.cpp

  Reveal hidden contents


class CfgPatches
{
	class bnae_knife
	{
		requiredaddons[] = {"A3_Weapons_F", "cba_keybinding"};
		requiredversion = 0.1;
		weapons[] = {"bnae_knife_virtual"};
	};
};
class CfgFunctions
{
	class bnae_function_f
	{
		tag="bnae";
		class Misc
		{
			file="\bnae_knife\bnae_knife\Misc";
			class weaponinformation
			{
			};
			class stab
			{
			};
			class damage
			{
			};
		};
	};
};
class Extended_PostInit_EventHandlers
{
	class bnae_function
	{
		init = "nul = [] execVM 'bnae_knife\bnae_knife\Misc\MainInit.sqf'";
	};
};
class CfgMovesBasic
{
	class default;
 	class DefaultDie;
 	class ManActions
 	{
		AnimStabKnife[] = {"AnimStabKnife", "gesture"};
		AnimSlashKnife[] = {"AnimSlashKnife", "gesture"};
		/*
		AnimTakedownKnife[] = {"AnimTakedownKnife", "gesture"};
		AnimTakedownVictimKnife[] = {"AnimTakedownVictimKnife", "gesture"};
		*/
 	};
};
class CfgGesturesMale
{
	class default;
 	class States
 	{
		class AnimStabKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_stab_knife.rtm";
			speed=-0.5;
			looped=0;
			mask = "handsWeapon";
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0,0.9,0,0.95,1,1,1};
 		};
		class AnimSlashKnife : AnimStabKnife
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_slash_knife.rtm";
			speed=-1.2;
 		};
		/*
		class AnimTakedownKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_knife.rtm";
			speed=-2;
			looped=0;
			mask = "BodyFullReal";
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0,0.9,0,0.95,1,1,1};
 		};
		class AnimTakedownVictimKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_victim_knife.rtm";
			speed=-2;
			looped=0;
			mask = "BodyFullReal";
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0};
 		};
		*/
	};
	/*
	class BlendAnims
	{
		class MaskStart
		{
			weight=0.85000002;
		};
		class MaskStartDecreased
		{
			weight=0.34999999;
		};
		empty[]={};
		BodyFullRealNoWeapon[]=
		{
			"head",
			1,
			"neck1",
			1,
			"neck",
			1,
			"LeftShoulder",
			1,
			"LeftArm",
			1,
			"LeftArmRoll",
			1,
			"LeftForeArm",
			1,
			"LeftForeArmRoll",
			1,
			"LeftHand",
			1,
			"LeftHandRing",
			1,
			"LeftHandPinky1",
			1,
			"LeftHandPinky2",
			1,
			"LeftHandPinky3",
			1,
			"LeftHandRing1",
			1,
			"LeftHandRing2",
			1,
			"LeftHandRing3",
			1,
			"LeftHandMiddle1",
			1,
			"LeftHandMiddle2",
			1,
			"LeftHandMiddle3",
			1,
			"LeftHandIndex1",
			1,
			"LeftHandIndex2",
			1,
			"LeftHandIndex3",
			1,
			"LeftHandThumb1",
			1,
			"LeftHandThumb2",
			1,
			"LeftHandThumb3",
			1,
			"RightShoulder",
			1,
			"RightArm",
			1,
			"RightArmRoll",
			1,
			"RightForeArm",
			1,
			"RightForeArmRoll",
			1,
			"RightHand",
			1,
			"RightHandRing",
			1,
			"RightHandPinky1",
			1,
			"RightHandPinky2",
			1,
			"RightHandPinky3",
			1,
			"RightHandRing1",
			1,
			"RightHandRing2",
			1,
			"RightHandRing3",
			1,
			"RightHandMiddle1",
			1,
			"RightHandMiddle2",
			1,
			"RightHandMiddle3",
			1,
			"RightHandIndex1",
			1,
			"RightHandIndex2",
			1,
			"RightHandIndex3",
			1,
			"RightHandThumb1",
			1,
			"RightHandThumb2",
			1,
			"RightHandThumb3",
			1,
			"Spine1",
			1,
			"Spine2",
			1,
			"Spine3",
			1,
			"Spine",
			1,
			"Pelvis",
			1,
			"LeftLeg",
			1,
			"LeftLegRoll",
			1,
			"LeftUpLeg",
			1,
			"LeftUpLegRoll",
			1,
			"LeftFoot",
			1,
			"LeftToeBase",
			1,
			"RightLeg",	
			1,
			"RightLegRoll",
			1,
			"RightUpLeg",
			1,
			"RightUpLegRoll",
			1,
			"RightFoot",
			1,
			"RightToeBase",
			1
		};
	};
	*/
};
class CfgMovesMaleSdr: CfgMovesBasic
{
	skeletonName = "OFP2_ManSkeleton";
	gestures = "CfgGesturesMale";
	access = 1;
	class States
	{
		class DeadState;
		class AnimTakedownKnife : default
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_knife.rtm";
			looped = 0;
			speed=-2;
			duty = 2;
			mask = "BodyFullReal";
			enableDirectControl = 0;
			rightHandIKCurve[] = {1};
			leftHandIKCurve[] = {0,1,0.05,1,0.1,0,0.9,0,0.95,1,1,1};
			weaponIK = 1;
			forceAim = 1;
			leaning = "empty";
			aimingBody = "empty";
			aiming = "empty";
			head = "empty";
			disableWeapons = 1;
			disableWeaponsLong = 1;
			headBobMode = 1;
			headBobStrength = 0.2;
			canPullTrigger = 0;
			showHandGun = 0;
			showItemInRightHand = 0;
			variantsPlayer[] = {};
			variantsAI[] = {};
			weaponLowered=0;
			ConnectTo[]=
			{
				"BasicDriverDead",
				1
			};
			InterpolateTo[]=
			{
				"BasicDriverDead",
				0.1
			};
 		};
		class AnimTakedownVictimKnife : AnimTakedownKnife
 		{
 			file = "bnae_knife\bnae_knife\anim\anim_takedown_victim_knife.rtm";
 		};
	};
};
class CfgWeapons
{
	class Rifle;
	class Rifle_Base_F: Rifle
	{
		class WeaponSlotsInfo;
		class EventHandlers;
	};
	class bnae_knife_base : Rifle_Base_F 
	{
		author = "BNAE";
		scope = 0;
		cursor = "srifle";
		cursoraim = "CursorAim";
		descriptionshort = "Watch your fingers";
		displayname = "Tactical Knife";
		handAnim[] = {"OFP2_ManSkeleton","bnae_knife\bnae_knife\Anim\Knife_handanim.rtm"};
		picture="\bnae_knife\bnae_knife\UI\gear_bnae_knife_x_ca";
		magazines[]={};
		model = "bnae_knife\bnae_knife\Knife";
		UiPicture="\A3\weapons_f\data\UI\icon_regular_CA.paa";
		class EventHandlers: EventHandlers
		{
			fired = "[_this, true] call bnae_fnc_stab";
		};
		class WeaponSlotsInfo: WeaponSlotsInfo
		{
			class MuzzleSlot{};
			class CowsSlot{};
			class PointerSlot{};
			class UnderBarrelSlot{};
			allowedSlots[] = {901, 701};
		};
	};
	class bnae_knife_virtual : bnae_knife_base
	{
		scope = 2;
	};
	class bnae_knife_v2_base : bnae_knife_base 
	{
		author = "BNAE";
		scope = 0;
		cursor = "srifle";
		cursoraim = "CursorAim";
		descriptionshort = "Watch your fingers";
		displayname = "Combat Knife";
		model = "bnae_knife\bnae_knife\Knife_v2";
		picture="\bnae_knife\bnae_knife\UI\gear_bnae_knife_v2_x_ca";
	};
	class bnae_knife_v2_virtual : bnae_knife_v2_base
	{
		scope = 2;
	};
};
class CfgSounds
{
	sounds[] = {};
	class stabKnife
	{
		name = "stab_knife";
		sound[] = {"bnae_knife\bnae_knife\sound\stab_knife",1,1,10};
		titles[] = {};
	};
};

 

 

MainInit.sqf

  Reveal hidden contents


#include "\a3\editor_f\Data\Scripts\dikCodes.h"

disableSerialization;
["Project Infinite", "stab_knife", "Stab knife", {_this call bnae_fnc_weaponinformation}, {}, [DIK_F, [false, false, false]]] call cba_fnc_addKeybind;

 

 

fn_weaponinformation.sqf

  Reveal hidden contents


/*
	Author: Bnae
	
	Description:
	
	Parameter(s): 
*/

_bnae_knife_active =  profileNamespace getVariable "bnae_knife_active";

if !(isNil "_bnae_knife_active") exitWith {};

profileNamespace setVariable ["bnae_knife_active", 1];

bnae_knifelist = ["bnae_knife_virtual","bnae_knife_v2_virtual"];

if ((vehicle player == player) && !(stance player == "PRONE") && !(stance player == "UNDEFINED")) then 
{
	private ["_selected","_current","_primary","_secondary","_handgun","_binoculars","_countprimary","_counthandgun","_primaryitems","_handgunitems"];

	_selected = (bnae_knifelist arrayIntersect (vestItems player)) select 0;

	_current = currentWeapon player;
	_primary = primaryWeapon player;
	_secondary = secondaryWeapon player;
	_handgun = handgunWeapon player;
	_binoculars = binocular player;
	
	//NO weapon in hand = #A3superAnimations
	if (_current == "") exitWith {profileNamespace setVariable ["bnae_knife_active", nil];saveProfileNamespace};
	
	_countprimary = player ammo _primary;
	_counthandgun = player ammo _handgun;
	
	_primaryitems = primaryWeaponItems player;
	_handgunitems = handgunItems player;
	
	//NOT working with handgun
	//if (_current == _handgun) exitWith {systemChat "NOT working with handgun"};
	//NOT working with secondary
	//if (_current == _secondary) exitWith {systemChat "NOT working with secondary"};
	//NOT working with binoculars
	//if (_current == _binoculars) exitWith {systemChat "NOT working with binoculars"};
	//NOT in hand and NOT in vest
	//if (!(_current in bnae_knifelist) && (isNil "_selected")) exitWith {systemChat "NOT in hand and NOT in vest"};
	
	//NOT in hand and IS in vest
	if (!(_current in bnae_knifelist) && !(isNil "_selected")) exitWith
	{
		[true,[_selected,_current,_primary,_secondary,_handgun,_binoculars,_countprimary,_counthandgun,_primaryitems,_handgunitems]] spawn bnae_fnc_stab;
	};
	
	[false] spawn bnae_fnc_stab;
};

 

 

fn_stab.sqf

  Reveal hidden contents


/*
	Author: Bnae
	Description:
	Parameter(s): 
*/

private _invest = _this select 0;
private _weaponinfo = _this select 1;

if (_invest) then
{
	player removeWeapon (_weaponinfo select 2);
	player removeWeapon (_weaponinfo select 4);
	player removeWeapon (_weaponinfo select 5);
	player removeItem (_weaponinfo select 0);
	player addWeapon (_weaponinfo select 0);
};

private _cursor = cursorTarget;
private _target = _cursor isKindOf "Man";
private _dir_1 = getDir player;
private _dir_2 = getDir _cursor;
private _dir_3 = abs ((abs (_dir_2 - _dir_1) - 180));
if ((_dir_3 < 180) && (_dir_3 > 165) && _target && ((player distance _cursor) < 1.6)) then 
{
	[[player,"AnimTakedownKnife"],"switchMove"] call BIS_fnc_MP;
	sleep 0.2;
	[[_cursor,"AnimTakedownVictimKnife"],"switchMove"] call BIS_fnc_MP;
	sleep 1.5;
	[1, _cursor] call bnae_fnc_damage;
	sleep 0.2;
	[[player,""],"switchMove"] call BIS_fnc_MP;
}else{
	
	[[player,"AnimStabKnife"],"playAction"] call BIS_fnc_MP;

	private _dummy  = "#particlesource" createVehicleLocal (ASLtoATL (eyePos player));
	if (cameraView != "EXTERNAL") then {
		playSound "stabKnife";
	} else {
		if (((positionCameraToWorld [0,0,0]) distance player) <= 30) then {
			_dummy say3d "stabKnife";
		};
	};
	sleep 0.2;
	[0.34, _cursor] call bnae_fnc_damage;
	sleep 0.5;
	deleteVehicle _dummy;
};
//It was already in hand
if !(_invest) exitWith {profileNamespace setVariable ["bnae_knife_active", nil];saveProfileNamespace};

player removeWeapon (_weaponinfo select 0);
player addItemToVest (_weaponinfo select 0);
[player, (_weaponinfo select 2), 1] call BIS_fnc_addWeapon;
player setAmmo [(_weaponinfo select 2), (_weaponinfo select 6)];
{player addPrimaryWeaponItem _x} forEach (_weaponinfo select 8);
[player, (_weaponinfo select 4), 1] call BIS_fnc_addWeapon;
player setAmmo [(_weaponinfo select 4), (_weaponinfo select 7)];
{player addHandgunItem _x} forEach (_weaponinfo select 9);
player addWeapon (_weaponinfo select 5);

profileNamespace setVariable ["bnae_knife_active", nil];
saveProfileNamespace;

 

 

fn_damage.sqf

  Reveal hidden contents


/*
	Author: Bnae
	
	Description:
	Add damage to cursorTarget
	
	Parameter(s): -
*/

private _hit = _this select 0;
private _cursor = _this select 1;
private _target = _cursor isKindOf "Man";

if (_target && (alive _cursor) && ((player distance _cursor) < 1.6)) then 
{
	private _fatigue = getFatigue player;
	private _damage = getDammage _cursor;
	private _multiplier = _hit * (1.5 - _fatigue);
	_cursor setDamage [(_damage + _multiplier), true];
	player setFatigue (_fatigue + 0.034);
	[100] call BIS_fnc_bloodEffect;
};
true

 

 

Feel free to ask if don't understand something. Just ignore if there's something that is not being used.

Thanks alot, I will try around some stuff next weekend. 

I'll text you then

  • Like 1

Share this post


Link to post
Share on other sites

I found some unbinarized animations that I don't need anymore. Most are shown in this video.

Some of these animations are just poses that I've used in photoshoots.

 

https://www.dropbox.com/s/uttl6o2ivdswpjb/bnae_animations.rar?dl=0

 

If anyone knows a better place to share these animations so people can find these, please let me know.

  • Like 3

Share this post


Link to post
Share on other sites
1 hour ago, Bnae said:

I found some unbinarized animations that I don't need anymore. Most are shown in this video.

Some of these animations are just poses that I've used in photoshoots.

 

https://www.dropbox.com/s/uttl6o2ivdswpjb/bnae_animations.rar?dl=0

 

If anyone knows a better place to share these animations so people can find these, please let me know.

 

Perhaps create an thread in the release section, that way people will find it easier. 

  • Like 1

Share this post


Link to post
Share on other sites

I see that I already reached 70k subs in Steam, thanks goes to all of you for supporting and helping me.

Is everything ok with my addon? I haven't played A3 in awhile and there has been plenty of updates while I have been away.

If not that's great but if there is something that requires fixing please let me know :)

  • Like 4

Share this post


Link to post
Share on other sites

Hey Bnae, long time no see... your weapons are still unmatched in quality, animations and detail as usual, but it seems the next update of CBA will incorporate the bg_weaponframework.pbo functionalities (basically manual rechambering animations for bolt action rifles), so if your animations are based on such module, it may need some tweaking/recoding, or maybe some conflict with your CBA compactibility addon could happen, but we still have to wait and see (I guess this update is just ´round the corner, so it may not long much)

 

Cheers buddy =)

Share this post


Link to post
Share on other sites

@corporal_lib[br] Thank you very much. When I first made this addon I made a new function that allows bolting and such so that is not an issue, luckily.

 

  • Like 4

Share this post


Link to post
Share on other sites

P4gIccR.png

Shorter barrel and magazine and cut-off stock

  • Like 18
  • Thanks 1

Share this post


Link to post
Share on other sites

ymn3nPb.png

How about this?

  • Like 12
  • Thanks 1
  • Confused 1

Share this post


Link to post
Share on other sites

Sweet mother of mercy.....^^

 

It's good to have you back Bnae. 

  • Like 3

Share this post


Link to post
Share on other sites

OLdlYSF.jpg

This is the reason why I started modding :)

  • Like 7
  • Haha 2

Share this post


Link to post
Share on other sites

V1.0

Spoiler

v1.0

- New weapons

Lee-Enfield Mk.I Carbine
Model 97 Carbine

- New magazines

5Rnd_Slug_Magazine
5Rnd_00_Buckshot_Magazine

- New classnames

bnae_falkor_blk_scope_bipod_virtual
bnae_falkor_snd_scope_bipod_virtual
bnae_falkor_camo1_scope_bipod_virtual
bnae_falkor_camo2_scope_bipod_virtual
bnae_m97_s_virtual
bnae_mk1_t_scope_virtual
bnae_mk1_t_camo1_scope_virtual
bnae_mk1_short_virtual
bnae_mk1_short_scope_virtual
bnae_r1_scope_virtual
bnae_r1_scope_muzzle_virtual
bnae_r1_c_scope_virtual
bnae_r1_c_scope_muzzle_virtual
bnae_r1_e_scope_virtual
bnae_r1_e_scope_muzzle_virtual
bnae_r1_t_scope_virtual
bnae_r1_t_scope_muzzle_virtual
bnae_r1_m_scope_virtual
bnae_r1_m_scope_muzzle_virtual
bnae_rk95r_scope_muzzle_virtual
bnae_rk95r_camo1_scope_muzzle_virtual
bnae_trg42_scope_bipod_muzzle_virtual
bnae_trg42_camo1_scope_bipod_muzzle_virtual
bnae_trg42_mmrs_scope_bipod_muzzle_virtual
bnae_trg42_mmrs_camo1_scope_bipod_muzzle_virtual
bnae_trg42_f_scope_bipod_muzzle_virtual
bnae_trg42_f_mmrs_scope_bipod_muzzle_virtual
bnae_trg42_f_mmrs_camo1_scope_bipod_muzzle_virtual
5Rnd_Slug_Magazine
5Rnd_00_Buckshot_Magazine

 

 

  • Like 5
  • Thanks 3

Share this post


Link to post
Share on other sites

I think I have done plenty of weapons that I personally like. Now I have started to think, that maybe I do something that the community needs.

And if there is plenty of suggestions maybe we can do a poll. This is your chance to see your favourite weapon in the game!

 

So, i'm open for suggestions with couple of guidelines:

- Only primary or handgun

- Need to have a pistolgrip

- A lot of pictures

- Not in any other mod

  • Like 2
  • Thanks 4

Share this post


Link to post
Share on other sites

I'd love to see a 93R as in Battlefield or a 44. Magnum, there is no mod with a 44. Magnum afaik. There is one for the 93R, but it's pretty old and outdated. There are a lot of pictures available for both of these guns

Share this post


Link to post
Share on other sites
5 hours ago, Bnae said:

So, i'm open for suggestions

 

Hello there Bnae!

Congratulations , your work is awesome!

 

Since you are looking for an idea , then i can suggest :

 

Magpul FMG-9

300px-Magpul_FMG9.png

The Magpul FMG-9 is a prototype for a new generation of folding submachine guns, designed by Magpul Industries in 2008.

 

https://en.wikipedia.org/wiki/Magpul_FMG-9

 

 

 

Thanks!

  • Like 1

Share this post


Link to post
Share on other sites

also:

Model 99

logo.jpg

 

Barrett_Model99_1440x381.jpg

https://barrett.net/firearms/model99/

 

GET THE JOB DONE.

Rugged. Reliable. Uncomplicated. The Model 99 is designed for one thing only: to get the job done. With its brilliantly simple design, hard-core construction and surprisingly few moving parts, it offers match-winning accuracy time and time again. Available in both 50 BMG and 416 Barrett, the Model 99 brings new levels of long-range precision shooting. Known as much for its dependability as its versatility, the Model 99 has unfailing accuracy you can rely on.

 

Share this post


Link to post
Share on other sites
1 hour ago, roberthammer said:

XM29 OICW

Yis, some Orig ghost recon Cohen awesomeness would be great!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×