Jump to content

quickdagger

Member
  • Content Count

    221
  • Joined

  • Last visited

  • Medals

Posts posted by quickdagger


  1. The reason why I am concerned about recoil is because, if you can not make the recoil be the way you want then, you have no control over it. If you can not control then, you can not predict it. If you can not predict it, then you can not configure realistic shooting behavior. If you can not establish realistic recoil then, the game will be less attractive to realism enthusiasts, like this guy here (I don't know him):

     

    I believe the community can help itself by letting recoil config be very clear.

     

    In order to do so, I propose a config challenge:

     

    1) In the virtual arsenal, the player must empty a full magazine, in full auto, hitting all shots on the soldier at 100m, with no mouse movement to compensate for recoil, standing still, recoil config must not be zero, it can be low but not zero. You are allowed to config all recoil parameters you want and camera shake but, you are not allowed to use scripts and you are not allowed to change weapon dispersion.

     

    Please, try your code before sharing. You can try my code too. You will see that, even using very small numbers, like 0.001, recoil is still the same as the original.


  2. Well, actually I have omited the CfgPatches, but here you are a more complete version.

     

    All BI recoils are up and to the right. As an exercise, I want to make a recoil down and to the left.

     

    My final goal is to shoot full auto and hit all shots on a target 100m away. I don't want recoil zero, I don't want recoil_empty. I don't want all shots up and right.

     

    I want one shot to the right, one shot to the left, one shot up, one shot down, etc. I want a perfect circular dispersion around my point of aim.

     

    Only after I achieve that, I will make full auto shots go up by using positive values to the CfgRecoils variable named "permanent":

     

    permanent = 0.1;

     

    If I manage to do that, then I can say I know how to edit recoil and I will be able to edit recoils my own way.

     

    This is my current config. There are other weapons which I have omited.

    //#include "basicdefines_A3.hpp"
    
    class CfgPatches
    {
    	class a3_dgr_weapons
    	{
    		name = "Dagger Weapons & Ballistics";
    		author = "Dagger";
    		dlc = "a3_dgr";
    		requiredAddons[]={"A3_Weapons_F","A3_Weapons_F_Mark","ace_ballistics","A3_Data_F","A3_Sounds_F","asdg_jointrails","a3_dgr_magazines","a3_dgr_scopes","a3_dgr_attachments","A3_Sounds_F_Mark","A3_CargoPoses_F"};
    		units[] = {};
    		weapons[]={"dgr_6_Semi_Rifle"};
    		requiredVersion=0.1;
    		authors[] = {"Dagger"};
    		authorUrl = "https://forums.bistudio.com/forums/topic/209137-dagger-scopes-weapons-ammunition-and-gear/";
    		url = "https://forums.bistudio.com/topic/187196-dagger-weapons-for-arma-3-and-ace-3/";
    		version = "4";
    		versionStr = "4";
    		versionAr[] = {4};
    	};
    };
    
    class Mode_SemiAuto;
    class Mode_Burst;
    class Mode_FullAuto;
    class CowsSlot;
    class MuzzleSlot;
    class SlotInfo;
    class WeaponSlotsInfo;
    class asdg_SlotInfo;
    class asdg_OpticRail;
    class asdg_OpticRail1913;
    class asdg_MuzzleSlot;
    class PointerSlot;
    class asdg_FrontSideRail;
    class asdg_UnderSlot;
    class asdg_MuzzleSlot_556;
    class asdg_MuzzleSlot_762;
    class dgr_underSlot;
    
    #define Xcoef (0.0001)
    #define Ycoef (0.0001)
    #define LynxXcoef (0.0001)
    #define LynxYcoef (0.0001)
    
    class cfgRecoils
    {
    	#include "cfgRecoilsLegacy.hpp"
    	class Default;
    	class recoil_dgr_rifle : Default
    	{
    		muzzleOuter[] = {-0.0001,-0.0001,-0.0001,-0.0001};		
    		muzzleInner[] = {-0.0001,-0.0001,-0.0001,-0.0001};
    		kickBack[] = {-0.0001,0.0001};			
      		permanent = -0.0001;				
    		temporary = -0.0001;
    	};
    	access = 0;
    	empty[] = {};
    	impulse[] = {0,0,0,0,0,0,0,0,0,0,0,0};
    	recoil_empty[] = {0,0,0};
    	recoil_dgr[] = {-0.0001,0.0001,-0.0001,0.0001,-0.0001,0.0001,-0.0001,0.0001,-0.0001,0.0001,-0.0001,0.0001};		
    };
    
    class CfgWeapons
    {
    	class ItemCore;
    	class InventoryFlashLightItem_Base_F;
    	class InventoryOpticsItem_Base_F;
    	class arifle_MXC_F;
    	class dgr_6_Semi_Rifle: arifle_MXC_F
    	{
    		baseWeapon = "dgr_6_Semi_Rifle";
    		_generalMacro = "dgr_6_Semi_Rifle";
    		reloadAction = "GestureReloadSPAR_01";
    		descriptionShort = "0.31MIL dispersion, 20.32cm R twist, 10in barrel";			
    		ace_barrelTwist = 203.2;		// 1:8"
    		ace_barrelLength = 254;			// 10"
    		ace_twistDirection = 1;			// direction of twist (-1 = left, 0 = no rifling, 1 = right)
    		author = "Dagger"; 
    		displayname = "DGR .243 WM (6mm) Semi-Auto Rifle"; 
    		dlc = "a3_dgr";
    		scope = 2;
    		magazines[] = {"DGR_243_30Rnd"};
    
    		recoil = "recoil_dgr_rifle";
    		recoilProne = "recoil_dgr_rifle";
    		maxRecoilSway = 0.001;
            swayDecaySpeed = 1;
    		inertia = 0.001;
    
    		class Single: Mode_SemiAuto
    		{
    			recoil = "recoil_dgr";
    			recoilProne = "recoil_dgr";
    
    			dispersion = 0.00031;
    			sounds[] = {"StandardSound","SilencedSound"};		
    			class BaseSoundModeType
    			{
    				weaponSoundEffect = "DefaultRifle";
    				closure1[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_Closure_01",0.3,0.3,30};	
    				closure2[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_Closure_02",0.3,0.3,30};
    				soundClosure[] = {"closure1",0.5,"closure2",0.5};
    			};
    			class StandardSound: BaseSoundModeType
    			{
    				soundSetShot[] = {"DMR05_Shot_SoundSet","DMR05_tail_SoundSet","DMR05_InteriorTail_SoundSet"};
    				begin1[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_short_01",0.3,0.3,1200};
    				begin2[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_short_02",0.3,0.3,1200};
    				begin3[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_short_03",0.3,0.3,1200};
    				soundBegin[] = {"begin1",0.33,"begin2",0.33,"begin3",0.34};
    			};
    			class SilencedSound: BaseSoundModeType
    			{
    				SoundSetShot[] = {"MMG02_silencerShot_SoundSet","MMG02_silencerTail_SoundSet","MMG02_silencerInteriorTail_SoundSet"};
    				begin1[] = {"A3\Sounds_F_Mark\arsenal\weapons\Machineguns\MMG_02_SPGM\silencer_MMG_02_short_01",1,1,300};
    				begin2[] = {"A3\Sounds_F_Mark\arsenal\weapons\Machineguns\MMG_02_SPGM\silencer_MMG_02_short_02",1,1,300};
    				begin3[] = {"A3\Sounds_F_Mark\arsenal\weapons\Machineguns\MMG_02_SPGM\silencer_MMG_02_short_03",1,1,300};
    				soundBegin[] = {"begin1",0.33,"begin2",0.33,"begin3",0.34};
    			};
    		};
    
    		class FullAuto : Mode_FullAuto
    		{
    			recoil = "recoil_dgr";
    			recoilProne = "recoil_dgr";
    			reloadTime = 0.075;
    
    			dispersion = 0.00031;
    			sounds[] = {"StandardSound","SilencedSound"};		
    			class BaseSoundModeType
    			{
    				weaponSoundEffect = "DefaultRifle";
    				closure1[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_Closure_01",0.3,0.3,30};		
    				closure2[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_Closure_02",0.3,0.3,30};
    				soundClosure[] = {"closure1",0.5,"closure2",0.5};
    			};
    			class StandardSound: BaseSoundModeType
    			{
    				soundSetShot[] = {"DMR05_Shot_SoundSet","DMR05_tail_SoundSet","DMR05_InteriorTail_SoundSet"};
    				begin1[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_short_01",0.3,0.3,1200};
    				begin2[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_short_02",0.3,0.3,1200};
    				begin3[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_05_Cyrus\DMR_05_short_03",0.3,0.3,1200};
    				soundBegin[] = {"begin1",0.33,"begin2",0.33,"begin3",0.34};
    			};
    			class SilencedSound: BaseSoundModeType
    			{
    				SoundSetShot[] = {"MMG02_silencerShot_SoundSet","MMG02_silencerTail_SoundSet","MMG02_silencerInteriorTail_SoundSet"};
    				begin1[] = {"A3\Sounds_F_Mark\arsenal\weapons\Machineguns\MMG_02_SPGM\silencer_MMG_02_short_01",1,1,300};
    				begin2[] = {"A3\Sounds_F_Mark\arsenal\weapons\Machineguns\MMG_02_SPGM\silencer_MMG_02_short_02",1,1,300};
    				begin3[] = {"A3\Sounds_F_Mark\arsenal\weapons\Machineguns\MMG_02_SPGM\silencer_MMG_02_short_03",1,1,300};
    				soundBegin[] = {"begin1",0.33,"begin2",0.33,"begin3",0.34};
    			};
    		};
    
    		class WeaponSlotsInfo: WeaponSlotsInfo
    		{
    			class PointerSlot: asdg_FrontSideRail
    			{
    				linkProxy = "\A3\data_f\proxies\weapon_slots\SIDE";
    			};
    			mass = 40;
    			allowedslots[] = {901};
    		};
    		drySound[] = {"A3\sounds_f\weapons\Other\dry_1",2,2,10};
    		reloadMagazineSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_reload",1,1,10};
    		changeFiremodeSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_firemode",2,2,5};
    	};
    };

     


  3. Dear all,

     

    I have followed BI Wiki on recoil but it didn't work.

     

    I don't want to use scripts and editor either so, setUnitRecoilCoefficient 3 is not an option for me.

     

    Their link is here:

    https://community.bistudio.com/wiki/cfgRecoils

     

    In order to play a bit with the numbers I have created the following config:

    class cfgRecoils
    {
    	class recoil_default;
    	class recoil_dgr_rifle : recoil_default
    	{
    		muzzleOuter[] = {0,0,0,0};		
    		muzzleInner[] = {0,0,0,0};
    		kickBack[] = {0,0};			
      		permanent = 0;				
    		temporary = 0;
    	};
    };
    
    class CfgWeapons
    {
    	class arifle_MXC_F;
    	class dgr_Rifle: arifle_MXC_F
    	{
    		baseWeapon = "dgr_Rifle";
    		_generalMacro = "dgr_Rifle";
    
    		recoil = "recoil_dgr_rifle";
    		recoilProne = "recoil_dgr_rifle";
    		maxRecoilSway = 0;
    		swayDecaySpeed = 0;
    	};
    };
    

    I was expecting no recoil at all but, the rifle still has the original recoil.

     

    What is going on?

     

     

     


  4. Now I see another reason for the disguise thing.

     

    If enemy spawn is triggered by distance to the player then, the player can not use the UAV to recon deep behind enemy lines. So, that disguise might be the way to recon.

     

    It might be nice to spy 3 enemy bases and then tell in which one the friendly POW's are located.

     

    And/or to make the UAV to behave like a player?


  5. Quote

    you'll spawm the same FIA units but in the INDEPENDENT /GUERRILLA side.

     

    I got it. Thank you Zagor.

     

    For example, I could create a blue NATO version of CSAT this way, right?

     

    Floros,

     

    I have grouped a CSAT soldier to a NATO player and then pasted the code into the init field of the NATO player. Bang! CSAT became blue NATO. Nice approach!

     

    It has all lead me to think whether would it be possible to have a white list item or uniform that, when you dress, you become another faction. You know, to work like spy clothes for an infiltration mission or something. Or, to kill the enemy and then use their clothes to enter a base for example.

     

    I have found this:

    https://forums.bohemia.net/forums/topic/171723-espionage-script/

     

    But the links are broken and, it is from 2014 so, I wonder whether all those stuff would still work after all game updates through these years.

     

    I believe I am not being off topic because I want to test how it is to trigger an EOS marker spawning CSAT while I am using CSAT uniforms and, how it is to trigger an EOS marker spawning NATO forces while I am using NATO uniforms.  Or vice-versas. 

     

     


  6. I didn't even know it exists. AI positions and pathing?

     

    In this case, would you mind, please, sharing some buildings mod you know of, which come with this pathing thing?

     

    I ask that because default buildings are not good for CQB missions, they are rather too small incomplete, with only parts of the buildings being enterable. It is a bit of a shame because there are so many  cool exteriors like factories and such.

     

    I want to make a simple dynamic environment: you fool around engaging patrols and, when you meet big buildings you enter CQB. After you clear it, a few friendlies pop up.

     

     


  7. Hi Bangabob,

     

    Thank you for the very nice script. Simple, right to the point, only realistic useful features, no bs.

     

    Please, is it possible to change the spawned units when you clear a sector?

     

    I mean, once I occupy key sectors like an airfield_marker_1, then it pops up friendly units. No big deal, just same sintax, same parameters, etc. It would be something like this:

     

    if marker = red, then null = [["MARKERNAME"],[2,1,70],[0,1],[1,2,30],[2,60],[2],[1,0,10],[1,0,250,EAST]] call EOS_Spawn;

    if marker = blue, then null = [["MARKERNAME"],[2,1,70],[0,1],[1,2,30],[2,60],[2],[1,0,10],[2,1,250,WEST]] call EOS_Spawn;

     

    The reason why I ask that is that I can create some mission progression. For example, Players start as infantry (no vehicles), then they secure an airfield, friendly infantry and vehicles spawn, now players can use them.

     

    I have checked some pages here but, not all the 53. :)


  8. Same problem here.

     

    I have used:

     

    		class customClass2
    		{
    			side = 3; //0 = CIV, 1 = BLU, 2 = OPF, 3 = IND
    			men[] = {"I_dgrfaction19_Soldier1_01","I_dgrfaction19_Soldier1_01","I_dgrfaction19_Soldier1_01","I_dgrfaction19_Soldier1_01"};
    			men2[] = {"dgr_mortar_army19","dgr_mortar_army19"};
    			men3[] = {""};
    			menSF[] = {"I_Idgrfaction19_Soldier5_01","I_Idgrfaction19_Soldier5_01","I_Idgrfaction19_Soldier5_01","I_Idgrfaction19_Soldier5_01"};
    			divers[] = {""};
    			cars[] = {"dgr_offroad_army19","dgr_truck_army19","dgr_apc_army19"};
    			tanks[] = {"dgr_apc_army19"};
    			helicopters[] = {"dgr_heli_army19"};
    			planes[] = {"dgr_heli_army19"};
    			ships[] = {"dgr_boat_army19"};
    		};

    And then I have used on the game logic:

     

    nul = [this,3,true,1,100,100,"default",nil,nil,nil,["customClass2"]] execVM "LV\fillHouse.sqf";

    I have also tried other options but only ["ALL"] seems to work.


  9. hahahah, yeah it would be nice man!

     

    I have started a multiplayer's world's sniper competition mission but i gave up. I don't want to invest time on mission creation but I can share my progress with anyone willing to take an effort on it.

     

    I think it deserves some scripting like accounting points for every range, some travel between ranges, etc. 

     

    You just pm me and I send you the base mission right away.

    • Like 1

  10. Yeah, same thing here. It was possible to change zero before and it is not possible anymore :(

     

    Quote

    sadly that is the reason why most of the old modders have given up on arma...

     

    Yup, I know a couple of guys, even more, who gave up because of that.

     

    Now they are changing the game's shader ... again. It means all my textures are appearing darker and red-ish now ... and I will not change them.

     

×